Summary
Implement the MilestoneStrategy for the pluggable ceremony scheduling system.
Ceremonies fire at semantic project milestones rather than task counts or time. Milestones are defined as tags on tasks or task groups.
Design Reference
See Ceremony Scheduling design page -- "Milestone-Driven" strategy section.
Key Behaviors
should_fire_ceremony: checks if all tasks tagged with a configured milestone are complete
should_transition_sprint: at a configured milestone (e.g., all tasks tagged release_candidate complete)
on_task_completed: evaluates milestone completion state
on_task_added: re-evaluates milestone membership
- Default velocity calculator:
PointsPerSprintVelocityCalculator
Strategy Config
strategy_config:
milestones:
- name: feature_complete
ceremony: sprint_review
- name: code_freeze
ceremony: retrospective
- name: release_candidate
ceremony: sprint_planning
Prerequisites
Requires a task tagging/grouping mechanism to define milestone membership. This may need a small extension to the Task model or a separate milestone registry.
Implementation
Dependencies
Summary
Implement the
MilestoneStrategyfor the pluggable ceremony scheduling system.Ceremonies fire at semantic project milestones rather than task counts or time. Milestones are defined as tags on tasks or task groups.
Design Reference
See Ceremony Scheduling design page -- "Milestone-Driven" strategy section.
Key Behaviors
should_fire_ceremony: checks if all tasks tagged with a configured milestone are completeshould_transition_sprint: at a configured milestone (e.g., all tasks taggedrelease_candidatecomplete)on_task_completed: evaluates milestone completion stateon_task_added: re-evaluates milestone membershipPointsPerSprintVelocityCalculatorStrategy Config
Prerequisites
Requires a task tagging/grouping mechanism to define milestone membership. This may need a small extension to the Task model or a separate milestone registry.
Implementation
src/synthorg/engine/workflow/strategies/milestone_driven.pytests/unit/engine/workflow/strategies/test_milestone_driven.pyCeremonySchedulingStrategyprotocol from feat: sprint ceremony runtime scheduler with task-driven cadence support #961Dependencies