Skip to content

feat: budget-driven ceremony scheduling strategy #972

@Aureliolo

Description

@Aureliolo

Summary

Implement the BudgetDrivenStrategy for the pluggable ceremony scheduling system.

Ceremonies fire at cost-consumption thresholds. Ties directly into the existing budget module (cost tracking, quota degradation, CFO optimization).

Design Reference

See Ceremony Scheduling design page -- "Budget-Driven" strategy section.

Key Behaviors

  • should_fire_ceremony: checks if context.budget_consumed_fraction has crossed a configured threshold (e.g., 25%, 50%, 75%)
  • should_transition_sprint: returns IN_REVIEW when budget is exhausted (100% consumed) or configured budget threshold is crossed
  • on_budget_updated: tracks budget consumption for threshold evaluation
  • Other hooks: no-op
  • Default velocity calculator: BudgetVelocityCalculator (pts/EUR)

Implementation

Also implement: BudgetVelocityCalculator

Integration Points

  • src/synthorg/budget/ -- cost tracking, budget enforcement
  • CeremonyEvalContext.budget_consumed_fraction and budget_remaining

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:mediumShould do, but not blockingscope:medium1-3 days of workspec:task-workflowDESIGN_SPEC Section 6 - Task & Workflow Enginetype:featureNew feature implementationv0.5Minor version v0.5v0.5.8Patch release v0.5.8

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions