Skip to content

feat: external-trigger ceremony scheduling strategy #974

@Aureliolo

Description

@Aureliolo

Summary

Implement the ExternalTriggerStrategy for the pluggable ceremony scheduling system.

Ceremonies fire on external signals: webhooks, CI/CD events, git events, MCP tool invocations. Bridges the synthetic org with real-world development workflows.

Design Reference

See Ceremony Scheduling design page -- "External-Trigger" strategy section.

Key Behaviors

  • should_fire_ceremony: checks if a matching external event has been received (via context.external_events)
  • should_transition_sprint: returns target status on configured external signal (e.g., deploy_complete)
  • on_sprint_activated: registers external event listeners/subscriptions
  • on_sprint_deactivated: unregisters listeners
  • on_external_event: receives and buffers external signals for evaluation
  • Default velocity calculator: PointsPerSprintVelocityCalculator

Strategy Config

strategy_config:
  sources:
    - type: webhook
      endpoint: /hooks/ceremony
    - type: git_event
      events: [push, tag]

Per-ceremony config:

policy_override:
  strategy_config:
    on_external: pr_merged

Implementation

Integration Points

  • MCP bridge (src/synthorg/tools/) for MCP tool invocation events
  • API layer for webhook endpoint registration
  • CeremonyEvalContext.external_events tuple

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:mediumShould do, but not blockingscope:medium1-3 days of workspec:task-workflowDESIGN_SPEC Section 6 - Task & Workflow Enginetype:featureNew feature implementationv0.5Minor version v0.5v0.5.9Patch release v0.5.9

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions