-
Notifications
You must be signed in to change notification settings - Fork 0
feat: hybrid (first-wins) ceremony scheduling strategy #970
Copy link
Copy link
Closed
Labels
prio:mediumShould do, but not blockingShould do, but not blockingscope:smallLess than 1 day of workLess than 1 day 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.7Patch release v0.5.7Patch release v0.5.7
Description
Summary
Implement the HybridStrategy for the pluggable ceremony scheduling system.
Both calendar and task-driven triggers exist on each ceremony. Whichever fires first wins and resets the cadence. Calendar provides a heartbeat floor; task counts provide a throughput ceiling.
Design Reference
See Ceremony Scheduling design page -- "Hybrid (First Wins)" strategy section.
Key Behaviors
should_fire_ceremony: checks BOTH calendar elapsed time AND task completion count -- returns true if either condition is met, then resets both countersshould_transition_sprint: returnsIN_REVIEWon task completion threshold OR calendar duration boundary -- whichever comes first- Lifecycle hooks: no-op (stateless, combines calendar + task-driven logic)
- Default velocity calculator:
MultiDimensionalVelocityCalculator(pts/sprintprimary + secondary dimensions)
Implementation
- New:
src/synthorg/engine/workflow/strategies/hybrid.py - New:
tests/unit/engine/workflow/strategies/test_hybrid.py - Implement
CeremonySchedulingStrategyprotocol from feat: sprint ceremony runtime scheduler with task-driven cadence support #961
Also implement: MultiDimensionalVelocityCalculator
- New:
src/synthorg/engine/workflow/velocity_calculators/multi_dimensional.py - New:
tests/unit/engine/workflow/velocity_calculators/test_multi_dimensional.py - Primary:
pts/sprint, secondary:pts/task,pts/day,completion_ratio
Dependencies
- feat: sprint ceremony runtime scheduler with task-driven cadence support #961 (protocol interfaces + reference implementation)
- feat: calendar ceremony scheduling strategy #969 (CalendarStrategy -- shares calendar-interval logic)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
prio:mediumShould do, but not blockingShould do, but not blockingscope:smallLess than 1 day of workLess than 1 day 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.7Patch release v0.5.7Patch release v0.5.7