-
Notifications
You must be signed in to change notification settings - Fork 0
feat: throughput-adaptive ceremony scheduling strategy #973
Copy link
Copy link
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.9Patch release v0.5.9Patch release v0.5.9
Description
Summary
Implement the ThroughputAdaptiveStrategy for the pluggable ceremony scheduling system.
Ceremonies fire when the team's throughput rate changes significantly. Not "every N tasks" but "when pace anomaly detected." Like an automated burndown chart monitor.
Design Reference
See Ceremony Scheduling design page -- "Throughput-Adaptive" strategy section.
Key Behaviors
should_fire_ceremony: checks if rolling throughput rate has dropped below or spiked above configured thresholds (e.g., standup when velocity drops 30% from rolling average)should_transition_sprint: uses task completion threshold (like task-driven) -- no anomaly-based transitionon_sprint_activated: initializes throughput rate tracking windowon_task_completed: updates rolling rate measurement (tasks per unit time over a configurable window)on_task_blocked: may indicate throughput stall -- factor into rate calculation- Default velocity calculator:
TaskDrivenVelocityCalculatorwith rate-of-change as secondary metric
Strategy Config
strategy_config:
velocity_drop_threshold_pct: 30 # fire standup when velocity drops 30%
velocity_spike_threshold_pct: 50 # fire review when velocity spikes 50%
measurement_window_tasks: 10 # rolling window size for rate calculationImplementation
- New:
src/synthorg/engine/workflow/strategies/throughput_adaptive.py - New:
tests/unit/engine/workflow/strategies/test_throughput_adaptive.py - Implement
CeremonySchedulingStrategyprotocol from feat: sprint ceremony runtime scheduler with task-driven cadence support #961 - This is a stateful strategy (uses lifecycle hooks to track rate)
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.9Patch release v0.5.9Patch release v0.5.9