-
Notifications
You must be signed in to change notification settings - Fork 0
feat: event-driven ceremony scheduling strategy #971
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.8Patch release v0.5.8Patch release v0.5.8
Description
Summary
Implement the EventDrivenStrategy for the pluggable ceremony scheduling system.
Ceremonies subscribe to engine events with configurable debounce. No fixed schedule -- ceremonies fire reactively based on event subscriptions.
Design Reference
See Ceremony Scheduling design page -- "Event-Driven" strategy section.
Key Behaviors
should_fire_ceremony: checks if the configured event has fired and debounce threshold is met (e.g., fire standup once per 5task_completedevents)should_transition_sprint: returns target status on configured event (e.g.,sprint_backlog_emptytriggersIN_REVIEW)on_sprint_activated: subscribes to relevant engine events via lifecycle hookson_sprint_deactivated: unsubscribes from eventson_task_completed,on_task_blocked, etc.: count events for debounce tracking- Default velocity calculator:
PointsPerSprintVelocityCalculator
Implementation
- New:
src/synthorg/engine/workflow/strategies/event_driven.py - New:
tests/unit/engine/workflow/strategies/test_event_driven.py - Implement
CeremonySchedulingStrategyprotocol from feat: sprint ceremony runtime scheduler with task-driven cadence support #961
Also implement: PointsPerSprintVelocityCalculator
- New:
src/synthorg/engine/workflow/velocity_calculators/points_per_sprint.py - New:
tests/unit/engine/workflow/velocity_calculators/test_points_per_sprint.py - Simplest calculator:
pts/sprintwith no time or task normalization
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