-
Notifications
You must be signed in to change notification settings - Fork 0
feat: budget-driven ceremony scheduling strategy #972
Copy link
Copy link
Closed
Labels
prio:mediumShould do, but not blockingShould do, but not blockingscope:medium1-3 days of work1-3 days of workspec:task-workflowDESIGN_SPEC Section 6 - Task & Workflow EngineDESIGN_SPEC Section 6 - Task & Workflow Enginetype:featureNew feature implementationNew feature implementationv0.5Minor version v0.5Minor version v0.5v0.5.8Patch release v0.5.8Patch release v0.5.8
Description
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 ifcontext.budget_consumed_fractionhas crossed a configured threshold (e.g., 25%, 50%, 75%)should_transition_sprint: returnsIN_REVIEWwhen budget is exhausted (100% consumed) or configured budget threshold is crossedon_budget_updated: tracks budget consumption for threshold evaluation- Other hooks: no-op
- Default velocity calculator:
BudgetVelocityCalculator(pts/EUR)
Implementation
- New:
src/synthorg/engine/workflow/strategies/budget_driven.py - New:
tests/unit/engine/workflow/strategies/test_budget_driven.py - Implement
CeremonySchedulingStrategyprotocol from feat: sprint ceremony runtime scheduler with task-driven cadence support #961
Also implement: BudgetVelocityCalculator
- New:
src/synthorg/engine/workflow/velocity_calculators/budget.py - New:
tests/unit/engine/workflow/velocity_calculators/test_budget.py - Primary unit:
pts/EUR(uses default display currency from budget config) - Requires
VelocityRecord.budget_consumedfield (added in feat: sprint ceremony runtime scheduler with task-driven cadence support #961)
Integration Points
src/synthorg/budget/-- cost tracking, budget enforcementCeremonyEvalContext.budget_consumed_fractionandbudget_remaining
Dependencies
- feat: sprint ceremony runtime scheduler with task-driven cadence support #961 (protocol interfaces + reference implementation)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
prio:mediumShould do, but not blockingShould do, but not blockingscope:medium1-3 days of work1-3 days of workspec:task-workflowDESIGN_SPEC Section 6 - Task & Workflow EngineDESIGN_SPEC Section 6 - Task & Workflow Enginetype:featureNew feature implementationNew feature implementationv0.5Minor version v0.5Minor version v0.5v0.5.8Patch release v0.5.8Patch release v0.5.8