Milestone Lifecycle Coordinator¶
Overview and Purpose¶
The MilestoneLifecycleCoordinator is a core orchestrator in the ConnectSoft AI Software Factory.
It governs the lifecycle, validation, and promotion of milestones by coordinating:
- Feature delivery across one or more sprints
- Validation of output artifacts, coverage, traceability
- Emission of milestone status events (e.g.,
MilestoneReached,MilestoneBlocked) - CI/CD and release integration based on milestone success
Milestones in the Factory are not deadlines β they are delivery gates defined by traceable, testable, and reviewable criteria.
π― Key Responsibilities¶
| Function | Description |
|---|---|
| Monitor Sprint Results | Wait for all sprints mapped to the milestone to emit SprintClosed |
| Validate Gates | Check test coverage, artifact presence, trace completion, and QA status |
| Emit Lifecycle Events | Signal milestone state: MilestoneReady, MilestoneBlocked, MilestoneReached |
| Trigger Downstream Steps | When gates are passed, emit promotion signals to ReleaseCoordinator, PipelineGenerator, etc. |
| Support Manual Override | Allow Studio users to force-close or pause milestones with full trace context |
π¦ Core Input¶
The coordinator watches the Factoryβs milestones.yaml for all milestone definitions:
milestones:
- id: mvp-ready
requiredFeatures:
- BookingFlow
- Notification.Email.Send
- Auth.Login
gateConditions:
- allSprintsClosed
- testCoverageAbove: 90
- traceMatrixComplete
versionTag: mvp-v1
````
---
### π Relationship to Other Orchestrators
| Related Component | Integration Point |
| -------------------------------- | ---------------------------------------------------------------------------- |
| `SprintExecutionCoordinator` | Provides `SprintClosed` events and trace matrix |
| `QAAgent` / `TestGeneratorAgent` | Contribute coverage and test validation |
| `CI/CD Coordinators` | Triggered when milestone is declared `Reached` |
| `Studio UI` | Allows governance users to approve, override, or pause milestone transitions |
---
### π§ Value in the Factory
The `MilestoneLifecycleCoordinator` ensures that:
* Every release gate is tied to verifiable output
* Features across parallel sprints are **logically grouped and validated**
* Manual and automated decision points are both **traceable and auditable**
It enables **incremental, modular, and observable delivery** across hundreds of services and teams.
---
## Position in the Execution Flow
The `MilestoneLifecycleCoordinator` sits at the **critical junction between sprint execution and promotion to release**.
It governs **when a milestone can be declared complete**, based on validated outputs from one or more sprints.
> It transforms sprint outputs into a milestone-level decision β acting as a delivery gatekeeper and orchestrated promotion controller.
---
### π§ Execution Phase Role
| Factory Phase | Role of MilestoneLifecycleCoordinator |
|-----------------------------|----------------------------------------|
| π¦ **Sprint Execution** | Listens for `SprintClosed` events from all sprints tied to this milestone |
| π **Trace Validation** | Gathers outputs and trace matrix from each sprint to verify feature coverage |
| β
**Gate Evaluation** | Enforces milestone gate rules (e.g., `qaCoverageAbove`, `traceMatrixComplete`) |
| π **Release Trigger** | If all gates pass, emits `MilestoneReached` and notifies release orchestrators |
| π **Blocking State** | Emits `MilestoneBlocked` if any sprint is missing, invalid, or test-incomplete |
| π§ **Manual Review Support** | Allows override or deferment from Studio for milestone approval gates |
---
### π Timeline Placement
```mermaid
flowchart TD
Vision --> MilestonePlanning
MilestonePlanning --> SprintExecutionCoordinator
SprintExecutionCoordinator -->|SprintClosed| MilestoneLifecycleCoordinator
MilestoneLifecycleCoordinator -->|MilestoneReached| ReleaseCoordinator
````
---
### π Triggers and Outputs
| Trigger Event | Produced By | Consumed By |
| ------------------ | ------------------------------- | ---------------------------- |
| `SprintClosed` | `SprintExecutionCoordinator` | This Coordinator |
| `SprintBlocked` | `SprintExecutionCoordinator` | This Coordinator |
| `MilestoneBlocked` | This Coordinator | Studio, QA, DevOps |
| `MilestoneReached` | This Coordinator | `ReleaseCoordinator`, Studio |
| `MilestoneResumed` | Manual input or system recovery | This Coordinator |
---
### π Impact on Studio Dashboards
* **Milestone Board View** shows current status per milestone (`Pending`, `Blocked`, `Reached`)
* **Gate Matrix** shows required features, coverage, test counts, and trace status
* **Promotion Log** captures all milestone transitions, overrides, and validations
---
### β
Summary
The `MilestoneLifecycleCoordinator` serves as the **final validator of milestone readiness**, translating distributed sprint outputs into a **single verifiable delivery decision**.
It ensures that milestones are only declared complete when all constituent work is:
* β
Executed
* π§ͺ Tested
* π Traceable
* π Audited
---
## Responsibilities
The `MilestoneLifecycleCoordinator` is the Factoryβs **milestone-level execution governor**. It consolidates sprint outputs, validates completion gates, emits milestone status events, and determines when downstream steps (e.g., deployment, tagging, freeze) can proceed.
This coordinator operates with a **delivery-first, trace-aligned mindset** β prioritizing completion only when all conditions are verifiably met.
---
### β
Core Responsibilities
| Responsibility | Description |
|----------------------------------|-------------|
| **Monitor Required Sprints** | Wait for `SprintClosed` events from all sprints assigned to the milestoneβs features |
| **Track Feature Completion** | Cross-check `sprint-trace-matrix.json` with `milestones.yaml.requiredFeatures[]` |
| **Validate Milestone Gates** | Ensure all conditions in `gateConditions[]` are met (e.g., coverage, trace integrity, security validation) |
| **Emit Milestone Events** | `MilestoneReady`, `MilestoneReached`, `MilestoneBlocked`, `MilestoneEscalated` |
| **Support Manual Escalation** | Enable Studio users to override gate failures via `MilestoneOverrideRequested` |
| **Trigger Promotion** | On success, emit trigger event for downstream release/deploy/pipeline flows |
---
### π§© Milestone FSM Lifecycle
| State | Transition Trigger |
|---------------|----------------------------------|
| `Planned` | Created from `milestones.yaml` or `MilestonePlanned` |
| `Pending` | Waiting for required `SprintClosed` events |
| `Verifying` | Evaluating trace matrices and QA metrics |
| `Reached` | All gates satisfied, milestone completed |
| `Blocked` | One or more unmet gates or missing outputs |
| `Escalated` | Human action required to resolve exception |
| `Closed` | Final state after promotion completes |
---
### π Example: Gate Conditions Enforced
```yaml
milestones:
- id: mvp-ready
requiredFeatures:
- BookingFlow
- Notification.Email.Send
gateConditions:
- allSprintsClosed
- qaCoverageAbove: 90
- traceMatrixComplete
- noManualOverridesActive
````
β All conditions must be met before `MilestoneReached` can be emitted.
---
### π Additional Responsibilities
| Responsibility | Description |
| -------------------------------------- | -------------------------------------------------------------------------------------- |
| **Validate CI/CD Readiness** | Check if image tags, version metadata, and release markers exist in each sprint output |
| **Emit Observability Logs** | Push milestone-level logs and metrics for dashboards and compliance views |
| **Manage Timeouts / Orphaned Sprints** | Flag long-running or unclosed sprints tied to a milestone |
---
### β
Summary
The `MilestoneLifecycleCoordinator` ensures that milestones:
* Represent **fully validated delivery boundaries**
* Are only advanced when all **features, sprints, and outputs** are accounted for
* Serve as **promotion gates** for downstream orchestration
It acts as the **quality and completeness enforcer** of the AI Software Factory.
---
## Triggering Events
The `MilestoneLifecycleCoordinator` operates as an **event-driven state machine**, responding to upstream sprint completions and triggering downstream milestone transitions.
It listens for lifecycle events emitted by sprints, agents, and Studio β and emits milestone-specific signals to orchestrate promotion, block progression, or request review.
---
### π₯ Events Consumed (Triggers)
| Event | Emitted By | Purpose |
|------------------------|-------------------------------|---------|
| `MilestonePlanned` | `ProductOwnerAgent`, Studio | Creates milestone context and activates milestone tracking |
| `SprintClosed` | `SprintExecutionCoordinator` | Triggers gate validation if feature is part of current milestone |
| `SprintBlocked` | `SprintExecutionCoordinator` | Pauses milestone progress and logs unmet sprint |
| `PlanningResumed` | Human or system trigger | Restarts milestone progression after pause or recovery |
| `MilestoneOverrideRequested` | Studio UI | Allows manual closure or gate skipping |
| `MilestoneEscalated` | Internal or Studio | Triggers intervention when milestone cannot proceed automatically |
---
### π€ Events Emitted by This Coordinator
| Event | When Emitted |
|--------------------------|--------------|
| `MilestoneReady` | Initial milestone tracking setup completed |
| `MilestoneBlocked` | One or more conditions unmet (e.g., sprint missing, test failure) |
| `MilestoneReached` | All gate conditions satisfied β milestone successfully completed |
| `MilestoneResumed` | Execution resumed after a pause or manual correction |
| `MilestoneForceClosed` | Human override bypassed gate checks |
| `MilestonePromotionTriggered` | Signals `ReleaseCoordinator`, `CI/CDRunner`, or `VersionTagger` to proceed |
---
### π¦ Event Example: `MilestoneReached`
```json
{
"event": "MilestoneReached",
"milestone_id": "mvp-ready",
"trace_id": "trace-xyz-123",
"version_tag": "mvp-v1",
"qa_coverage": 92.5,
"features_completed": ["BookingFlow", "SendEmail"],
"timestamp": "2025-05-14T18:35:00Z"
}
````
β Triggers:
* `PipelineGenerator` for version promotion
* `Studio` milestone card to show β
* Audit log for governance and trace review
---
### π§ Event Routing
All events include:
* `trace_id`
* `milestone_id`
* `gate_status[]`
* `manual_override` (if applicable)
* Timestamps
β Ensures events are **machine-readable**, **trace-linked**, and **Studio-compatible**.
---
### π Studio Dashboard Updates
Triggered events feed into:
* Milestone board state (`Pending`, `Blocked`, `Reached`)
* Gate matrix completion checks
* Approval request notifications (if escalation triggered)
---
### β
Summary
The `MilestoneLifecycleCoordinator` reacts to:
* π― Planning decisions (`MilestonePlanned`)
* β
Sprint completions (`SprintClosed`)
* π Errors or blockers (`SprintBlocked`)
* π§ Human intervention (`OverrideRequested`)
β¦and emits **clear, traceable milestone lifecycle events** for release orchestration and governance.
---
## Inputs
The `MilestoneLifecycleCoordinator` operates by consuming a defined set of structured inputs.
These include declarative milestone plans, dynamically emitted sprint outputs, and optional override signals β all used to determine when a milestone can progress, pause, or be promoted.
---
### π Required Inputs
| Input File / Event | Description |
|----------------------------------|-------------|
| `milestones.yaml` | Primary definition of all milestone IDs, required features, gate conditions, and triggers |
| `SprintClosed` events | Used to track which features and sprints are complete |
| `sprint-trace-matrix.json[]` | Captures artifact-to-feature linkage and QA coverage metrics |
| `qa-validation-report.md` | Test coverage summary per sprint, used to validate milestone coverage gate |
| `execution-metadata.json[]` | Agent-generated trace outputs, used for artifact verification |
| `override-context.json` | (Optional) Used to bypass gates manually or force milestone promotion |
| `manual-gate-status.yaml` | (Optional) Human-reviewed checklist to satisfy non-automatable conditions |
---
### π Example: `milestones.yaml`
```yaml
milestones:
- id: mvp-ready
description: Core services ready for internal testing and release
requiredFeatures:
- BookingFlow
- Notification.Email.Send
gateConditions:
- allSprintsClosed
- qaCoverageAbove: 90
- traceMatrixComplete
versionTag: mvp-v1
governedBy: product-owner
triggers:
- event: MilestoneReached
next: trigger-release-pipeline
````
---
### π Example Sprint Artifacts Consumed
**`sprint-trace-matrix.json`** (from SprintExecutionCoordinator):
```json
{
"sprint_id": "sprint-2025-05-MVP1",
"milestone_id": "mvp-ready",
"features": [
{
"id": "BookingFlow",
"tests": ["BookingTests.cs"],
"coverage": "93%",
"trace_id": "trace-123"
}
]
}
qa-validation-report.md (optional, QAAgent-generated):
## QA Validation Summary β sprint-2025-05-MVP1
- BookingFlow: 93.2%
- Notification.Email.Send: 91.0%
- Auth.Login: 88.5%
π Dynamic Inputs via Events¶
| Event | Purpose |
|---|---|
SprintClosed |
Indicates a sprint has finished and is ready for milestone validation |
SprintBlocked |
Signals that milestone scope may be incomplete |
PlanningResumed |
Allows re-evaluation of paused milestone |
MilestoneOverrideRequested |
Flags that Studio user manually approves milestone completion |
π§ Input Validation Checks¶
- All
requiredFeatures[]have at least oneSprintClosedreference qaCoverageAbovemet across aggregate sprint reports- All listed artifacts in trace matrix exist and pass formatting
- (Optional)
override-context.jsonexplicitly allows gate bypass
β Summary¶
The MilestoneLifecycleCoordinator relies on:
- Static input (
milestones.yaml) to define milestone contracts - Dynamic input (
SprintClosed,trace-matrix,QA reports) to validate delivery - Optional manual input (Studio or override) to resolve exceptions
This ensures milestone advancement is data-driven, policy-bound, and reviewable.
Outputs¶
The MilestoneLifecycleCoordinator emits structured outputs to:
- Report milestone state
- Enable downstream orchestration (e.g., release triggers)
- Update Studio dashboards
- Drive audit and compliance flows
These outputs include both event signals and artifact files, all tagged with traceable metadata.
π€ Core Events Emitted¶
| Event Name | Purpose |
|---|---|
MilestoneReady |
Milestone is being tracked and monitored for completion |
MilestoneBlocked |
One or more gate conditions unmet or sprints incomplete |
MilestoneReached |
All milestone conditions met β ready for release |
MilestoneEscalated |
Manual intervention required; Studio notified |
MilestoneForceClosed |
Manual override used to force milestone progression |
MilestonePromotionTriggered |
Emitted when CI/CD promotion is authorized |
π Example: MilestoneReached Event¶
{
"event": "MilestoneReached",
"milestone_id": "mvp-ready",
"trace_id": "trace-7482bfa3",
"version_tag": "mvp-v1",
"features_verified": ["BookingFlow", "SendEmail"],
"qa_coverage": 91.4,
"timestamp": "2025-05-15T17:05:32Z"
}
````
π’ This event is consumed by:
* `ReleaseCoordinator`
* `Studio` milestone boards
* `PipelineGenerator` for CI/CD steps
---
### π¦ Artifact Outputs
| File | Contents |
| -------------------------------- | ---------------------------------------------------------- |
| `milestone-status.json` | Final milestone report: status, coverage, blocking reasons |
| `milestone-validation-report.md` | Human-readable summary of what passed/failed |
| `promotion-trigger.yaml` | CI/CD-ready version and scope definition |
| `intervention-events.json` | Manual override logs (if used) |
---
### π Example: `milestone-status.json`
```json
{
"milestone_id": "mvp-ready",
"status": "reached",
"trace_id": "trace-xyz-456",
"qa_coverage_avg": 91.4,
"sprints_contributing": ["sprint-1", "sprint-2"],
"features_covered": ["BookingFlow", "SendEmail"],
"gates_passed": ["allSprintsClosed", "qaCoverageAbove", "traceMatrixComplete"]
}
π§Ύ Logs and Telemetry¶
- Structured logs:
log.milestone.{milestone_id}.json - Spans:
MilestoneGateEvaluation,MilestonePromotionEmitted - Metrics: coverage %, time-to-completion, retries, manual escalations
π Studio Dashboard Integration¶
Outputs drive:
- Milestone status boards
- Gate-by-gate visual checklists
- Coverage progress bars
- Intervention logs
- Promotion readiness indicators
β Summary¶
The MilestoneLifecycleCoordinator emits:
- π Events for downstream orchestration
- π Files for traceability and governance
- π Metrics for observability and Studio feedback
This ensures milestones are visible, auditable, and actionable across the Factoryβs delivery chain.
Collaborating Agents and Coordinators¶
The MilestoneLifecycleCoordinator does not operate in isolation β it collaborates with a range of agents and orchestrators to collect results, evaluate readiness, and trigger promotion.
Each component plays a specific role in feeding data into, or acting on decisions from, the milestone orchestration flow.
π€ Key Collaborating Coordinators¶
| Coordinator | Role |
|---|---|
SprintExecutionCoordinator |
Emits SprintClosed and sprint-trace-matrix.json per scoped sprint |
QAOrchestrator |
Validates QA status and forwards coverage reports |
ReleaseCoordinator |
Listens for MilestoneReached to trigger build promotion or deployment |
CI/CD Tagger / PipelineGenerator |
Uses milestone metadata to inject version tags and trigger build stages |
π§ Collaborating Agents¶
| Agent | Role in Milestone Completion |
|---|---|
QAAgent |
Ensures test coverage, outputs qa-validation-report.md |
TestGeneratorAgent |
Generates tests needed to meet milestone test gate |
SecurityEngineerAgent |
Validates security gates (e.g., JWT enabled, span templates injected) |
ProductOwnerAgent |
Initiates milestone plan and can manually intervene on blocked gates |
HumanApprovalEscalator |
Triggered if MilestoneEscalated requires human resolution |
StudioUserAgent |
Represents manual governance actors via Studio UI |
π§© Coordination Flow Example¶
sequenceDiagram
SprintExecutionCoordinator->>MilestoneLifecycleCoordinator: Emit SprintClosed
QAAgent->>MilestoneLifecycleCoordinator: Emit QAValidationReport
MilestoneLifecycleCoordinator->>ReleaseCoordinator: Emit MilestoneReached
StudioUserAgent->>MilestoneLifecycleCoordinator: Emit MilestoneOverrideRequested
MilestoneLifecycleCoordinator->>PipelineGenerator: Emit MilestonePromotionTriggered
````
---
### π Bidirectional Integrations
| Integration Target | Mode | Purpose |
| ---------------------------- | ----------------- | ---------------------------------------------- |
| `Studio` | Event β UI | Milestone boards, gate progress, approval UI |
| `SprintExecutionCoordinator` | Event β FSM | Block milestone if sprint fails |
| `ReleaseCoordinator` | Event β Trigger | Begin build, deploy, tagging |
| `SecurityPolicyValidator` | Artifact + Status | Block milestone if trace or policy checks fail |
---
### π§ Trace and Role Awareness
Each agent receives milestone-aware context such as:
```json
{
"milestone_id": "mvp-ready",
"requiredFeatures": ["BookingFlow", "SendEmail"],
"trace_id": "trace-abc-999",
"qaCoverageThreshold": 90,
"manualOverrideAllowed": true
}
Agents then report back status that affects milestone gate transitions.
β Summary¶
The MilestoneLifecycleCoordinator depends on a network of agents and orchestrators to:
- π Validate conditions
- π€ Emit signals
- π React to failures or escalations
- π Promote delivery after successful validation
This makes milestone management modular, distributed, and policy-aware β consistent with the Factoryβs event-driven design.
System Prompt¶
The MilestoneLifecycleCoordinator, like other orchestrators in the Factory, generates structured prompts when it interacts with agents or skills that support AI-driven execution (e.g., QA validation, security checks, documentation generation).
These prompts are context-rich, trace-anchored, and milestone-specific β guiding agents or plugins to perform scoped validation or reporting tasks.
π§ Purpose of the Prompt¶
To instruct agents to:
- Validate milestone completion conditions
- Report trace coverage, test metrics, or missing elements
- Emit summary documentation for traceability or audit
- Inject promotion tags if the milestone is complete
π Prompt Template (Generic)¶
You are operating within the ConnectSoft AI Software Factory as a milestone governance agent.
Your current context:
- milestone_id: {{milestone_id}}
- version_tag: {{version_tag}}
- sprint_ids: {{sprint_ids}}
- trace_id: {{trace_id}}
- requiredFeatures: {{features}}
- gateConditions: {{gates}}
Please verify the following:
- All required features have completed trace-linked outputs
- Test coverage meets or exceeds the required threshold
- Security and trace metadata are present in all artifacts
- CI/CD promotion is authorized only if gates are met
Respond with a summary object and status.
````
---
### π Example Prompt for `QAAgent` Plugin
```text
Milestone ID: mvp-ready
Required Features: BookingFlow, Notification.Send
Sprint IDs: sprint-1, sprint-2
QA Threshold: 90%
Please analyze:
- QA coverage per feature from `qa-validation-report.md`
- Confirm that all required features are present in `sprint-trace-matrix.json`
Respond with:
{
"milestone_id": "mvp-ready",
"coverage": 91.3,
"missing_features": [],
"status": "passed"
}
π Variables Injected into the Prompt¶
| Variable | Source |
|---|---|
milestone_id |
From milestones.yaml |
sprint_ids[] |
From received SprintClosed events |
requiredFeatures[] |
From milestone definition |
trace_id |
Latest milestone session or dominant sprint |
version_tag |
From milestone metadata |
gates[] |
Gate conditions like coverage, trace completeness, etc. |
π§ Used By¶
| Target Agent or Skill | Use Case |
|---|---|
QAAgent |
Validate feature-test linkage and coverage |
SecurityEngineerAgent |
Confirm trace span injection and policy gates |
DocumentationAgent |
Generate milestone summary report |
StudioAuditSkill |
Provide audit digest for milestone promotion |
π§Ύ Output Consumption¶
Structured JSON responses from these prompts are written to:
milestone-status.jsonmilestone-validation-report.mdpromotion-trigger.yaml
β¦and used to trigger milestone state transitions (Reached, Blocked, Escalated).
β Summary¶
System prompts generated by the MilestoneLifecycleCoordinator are:
- π§ Intelligent β include full milestone and sprint scope
- π§Ύ Structured β machine-parseable and traceable
- π Reusable β same prompt schema works across QA, Docs, Security
This ensures coordinated, AI-augmented milestone validation within trace boundaries.
Execution Flow (Steps)¶
The MilestoneLifecycleCoordinator operates through a structured, event-driven execution sequence, evaluating whether a milestone can progress from planning to promotion.
This flow is designed to be modular, retry-safe, and trace-anchored.
π Step-by-Step Execution Flow¶
1. Receive MilestonePlanned¶
- Load
milestones.yaml - Initialize milestone FSM with
status: Planned - Set required feature list, gate conditions, trace anchor, and version tag
2. Wait for All SprintClosed Events¶
- Monitor sprints associated with
requiredFeatures[] - For each closed sprint:
- Parse
sprint-trace-matrix.json - Validate feature-to-artifact linkage
- Parse
3. Enter Verifying State¶
- Aggregate QA reports (
qa-validation-report.md) - Aggregate
execution-metadata.jsonfrom all sprints - Evaluate milestone
gateConditions[]
4. Evaluate Each Gate Condition¶
Examples:
- β
allSprintsClosed: Match all requiredFeatures to completed sprints
- β
qaCoverageAbove: 90: Aggregate coverage and compare
- β
traceMatrixComplete: Check for feature-to-file + test mapping
If any gate fails:
- Transition FSM to
Blocked - Emit
MilestoneBlocked
5. Optional Escalation or Override¶
- Wait for
MilestoneOverrideRequestedfrom Studio - If override approved, proceed to close manually
6. Milestone Promotion¶
- Emit
MilestoneReached - Write
milestone-status.json - Trigger
MilestonePromotionTriggeredfor CI/CD coordination
7. Finalize State¶
- Emit logs and metrics (duration, coverage, trace results)
- Transition FSM to
Closed - Notify Studio for dashboard update
π Generated Artifacts Per Step¶
| Step | Artifacts |
|---|---|
| 2 | milestone-sprint-map.json |
| 3 | milestone-gate-status.json |
| 5 | intervention-events.json |
| 6 | milestone-status.json, promotion-trigger.yaml |
π Execution Characteristics¶
| Feature | Enabled |
|---|---|
| Parallel Sprint Watch | β |
| Partial Validation | β (Fails gate if incomplete) |
| FSM State Persistence | β |
| Retry & Resume | β |
| Manual Intervention | β |
| Trace Anchoring | β |
β Summary¶
The milestone execution flow ensures that milestones are only reached if all functional and quality conditions are met, with options for:
- π§ Autonomous validation
- π Resumption after pause or failure
- π§ Manual override with trace justification
This makes milestone lifecycle management both automatable and governable.
Execution Flow (Diagram)¶
The following diagrams visualize how the MilestoneLifecycleCoordinator interacts with sprints, agents, and promotion targets across its lifecycle.
This provides a clear picture of its state transitions, event flow, and decision checkpoints.
𧬠Sequence Diagram: End-to-End Milestone Lifecycle¶
sequenceDiagram
participant Planner as ProductOwnerAgent
participant Sprint as SprintExecutionCoordinator
participant Milestone as MilestoneLifecycleCoordinator
participant QA as QAAgent
participant Studio as StudioUser
participant Release as ReleaseCoordinator
Planner->>Milestone: Emit MilestonePlanned
Sprint->>Milestone: Emit SprintClosed (with features)
QA->>Milestone: Submit QAValidationReport
Milestone->>Milestone: Validate gates + features
alt All Gates Passed
Milestone-->>Release: Emit MilestoneReached
else Any Gate Failed
Milestone-->>Studio: Emit MilestoneBlocked
Studio->>Milestone: Emit MilestoneOverrideRequested (optional)
Milestone-->>Release: Emit MilestoneForceClosed
end
````
---
### π FSM Diagram: Milestone State Transitions
```mermaid
stateDiagram-v2
[*] --> Planned
Planned --> Pending: MilestonePlanned
Pending --> Verifying: AllSprintClosed
Verifying --> Reached: AllGatesPassed
Verifying --> Blocked: AnyGateFailed
Blocked --> Escalated: ManualInterventionRequested
Escalated --> Reached: OverrideApproved
Reached --> Closed: PromotionCompleted
Blocked --> [*]: MilestoneTerminated
π Gate Evaluation Process¶
graph TD
A[Start Verification] --> B{All Sprints Closed?}
B -->|No| Z[Blocked]
B -->|Yes| C{Trace Matrix Complete?}
C -->|No| Z
C -->|Yes| D{QA Coverage > Threshold?}
D -->|No| Z
D -->|Yes| E[MilestoneReached]
π§ Summary¶
These diagrams show:
- π¦ How milestone validation is linked to sprint outputs
- π How gate checks are evaluated in stages
- π§ Where human oversight may be required
- π How promotion is gated and triggered safely
This makes the milestone lifecycle transparent, auditable, and extensible.
Required Blueprints and Trace Inputs¶
The MilestoneLifecycleCoordinator requires structured, machine-readable inputs to operate effectively. These include milestone blueprints, trace matrices, test coverage reports, and agent execution metadata.
Together, these inputs allow the coordinator to determine:
- Which features must be delivered
- Which sprints have satisfied their scope
- Whether traceability and QA conditions are met
- When a milestone can be marked as complete
π Primary Blueprint: milestones.yaml¶
This file defines all milestone metadata and is the main input to initialize milestone tracking.
milestones:
- id: mvp-ready
description: MVP milestone for booking and notifications
requiredFeatures:
- BookingFlow
- Notification.Email.Send
gateConditions:
- allSprintsClosed
- qaCoverageAbove: 90
- traceMatrixComplete
versionTag: mvp-v1
governedBy: product-owner
````
β
Each milestone entry includes:
* ID and human-readable description
* Required feature list
* Gate conditions
* Optional promotion triggers
---
### π Required Trace Inputs (Runtime)
| File | Description |
| --------------------------- | ------------------------------------------------------------------------- |
| `sprint-trace-matrix.json` | Maps features to artifacts, test cases, and agent outputs |
| `qa-validation-report.md` | Summarizes test coverage by feature or sprint |
| `execution-metadata.json[]` | Logs per agent execution, trace-tagged |
| `intervention-events.json` | Manual overrides and decision trails |
| `promotion-trigger.yaml` | Optional β links version tag to promotion artifact (used post-validation) |
---
### π Example: `sprint-trace-matrix.json`
```json
{
"sprint_id": "sprint-2025-06-mvp2",
"milestone_id": "mvp-ready",
"trace_id": "trace-abc123",
"features": [
{
"id": "BookingFlow",
"tests": ["BookingTests.cs"],
"artifacts": ["BookingHandler.cs"],
"agent": "BackendDeveloperAgent"
}
],
"coverage": "92.1%"
}
π§© Trace Input Roles¶
| Input | Purpose |
|---|---|
trace_id |
Common ID across all logs, spans, and artifacts |
feature_id[] |
Ensures feature completeness per milestone |
agent_id, skill_id |
Used to attribute output and validate responsibility |
qaCoverage |
Compared against qaCoverageAbove gate |
status |
complete, incomplete, blocked, etc. for decision logic |
π Optional Blueprint Extensions¶
You may enrich milestones.yaml with additional fields:
autoPromotion: true
promotionTriggerEvent: deploy-to-staging
manualOverrideAllowed: true
observabilityTags:
- trace
- sprint
- qa
β Summary¶
To function reliably, the MilestoneLifecycleCoordinator depends on:
- π― Blueprints β define scope and gate logic (
milestones.yaml) - π Trace inputs β validate delivery, coverage, and completion
- π§Ύ Audit artifacts β track overrides and manual transitions
This guarantees data-driven, traceable, and consistent milestone decisions.
Semantic Kernel Skills and Plugins¶
The MilestoneLifecycleCoordinator can invoke Semantic Kernel skills and plugins to validate, report, summarize, or escalate milestone states using structured AI-powered workflows.
These skills operate on structured inputs (e.g., trace matrices, QA reports, milestone configs) and emit traceable, verifiable outputs.
They augment automation and reduce manual effort in milestone analysis.
π§ Common Skills Used¶
| Skill Name | Purpose |
|---|---|
MilestoneGateEvaluatorSkill |
Validates milestone gate conditions based on dynamic sprint + QA inputs |
TraceMatrixAnalyzerSkill |
Scans trace matrices for missing files, unlinked tests, or coverage gaps |
QACoverageSummarySkill |
Aggregates coverage percentages across sprints and flags failures |
SecurityGateValidationSkill |
Checks for span injection, JWT policies, or open endpoints |
MilestoneSummarySkill |
Generates a summary Markdown or JSON report for Studio |
OverrideJustificationEvaluator |
Interacts with Studio user input to assess if manual override is permitted |
π Example Prompt to MilestoneGateEvaluatorSkill¶
{
"milestone_id": "mvp-ready",
"requiredFeatures": ["BookingFlow", "Notification.Email.Send"],
"trace_id": "trace-7482bfa3",
"gateConditions": [
"allSprintsClosed",
"qaCoverageAbove: 90",
"traceMatrixComplete"
],
"inputs": {
"coverage": 91.2,
"allSprintsClosed": true,
"traceMatrixStatus": "complete"
}
}
````
Expected Response:
```json
{
"status": "pass",
"validatedGates": ["allSprintsClosed", "qaCoverageAbove", "traceMatrixComplete"],
"message": "All milestone gates passed successfully."
}
π§© Skill Integration Points¶
| Coordinator Step | Skill Invoked |
|---|---|
| Step 3 (Verifying) | TraceMatrixAnalyzerSkill, QACoverageSummarySkill |
| Step 4 (Evaluate Gates) | MilestoneGateEvaluatorSkill |
| Step 5 (Escalation) | OverrideJustificationEvaluator |
| Step 6 (Reporting) | MilestoneSummarySkill |
π§ Plugin Execution Context¶
Each skill receives:
milestone_idtrace_idsprint_ids[]gateConditions[]coverage valuesmissing_features[](if any)
β¦and produces machine-readable JSON + optional Markdown reports.
π Artifact Outputs from Skills¶
| File | Contents |
|---|---|
milestone-validation-report.md |
Summary of gates and test results |
milestone-summary.json |
Structured snapshot of milestone outcome |
promotion-trigger.yaml |
Version and tag for next CI/CD stage |
β Summary¶
Semantic Kernel skills and plugins used by the MilestoneLifecycleCoordinator provide:
- π§ AI-assisted validation
- π§Ύ Automated milestone summaries
- π Controlled override evaluation
- π Trace-linked output for promotion
This empowers the Factory to execute governed, explainable, and extensible milestone workflows.
Human Intervention Hooks¶
While the MilestoneLifecycleCoordinator is built for full automation, it includes structured intervention points where Studio users, approvers, or compliance officers can review, override, or resolve milestone states manually.
These hooks support governance, accountability, and trace-aligned decision-making β particularly in high-risk, QA-blocked, or compliance-sensitive deliveries.
π§βπΌ Manual Review Scenarios¶
| Scenario | Trigger |
|---|---|
| One or more required features not completed | SprintClosed missing or failed |
| QA coverage below required threshold | qaCoverage < gateCondition |
| Security validation failed | SecurityGateValidationSkill β fail |
| Trace matrix missing or incomplete | traceMatrixStatus != complete |
| Manual gate present (e.g., legal approval) | manualGateStatus: pending |
π¨ Key Manual Hook Events¶
| Event | Source / Target |
|---|---|
MilestoneBlocked |
Emitted by coordinator upon failed gate |
MilestoneEscalated |
Coordinator requests manual intervention |
MilestoneOverrideRequested |
Emitted by StudioUserAgent to request gate bypass |
MilestoneForceClosed |
Coordinator emits after manual override approved |
MilestoneResumed |
Allows milestone to re-enter validation after fix or retry |
π§Ύ Override Context Format¶
{
"milestone_id": "mvp-ready",
"trace_id": "trace-xyz123",
"overridden_gates": ["qaCoverageAbove"],
"reason": "All tests passed except edge case not relevant to current customer.",
"approver": "product-owner",
"timestamp": "2025-05-15T18:44:00Z"
}
````
Logged in:
* `intervention-events.json`
* Studio audit panel
* Milestone promotion history
---
### ποΈ Studio Control Panel
| Control | Function |
| ----------------------- | ---------------------------------------- |
| π View Gate Failures | Show failed gates and unmet requirements |
| π Submit Justification | Provide reason for override |
| β
Approve Override | Emit `MilestoneOverrideRequested` |
| π« Reject Promotion | Block further attempts until fix |
| π Resume Evaluation | Re-run milestone check after correction |
---
### π Approval Roles and Policy Tags
Milestones may specify allowed override roles in `milestones.yaml`:
```yaml
governedBy: product-owner
manualOverrideAllowed: true
approvalRoles:
- qa-lead
- domain-architect
β Ensures only authorized users can intervene and that all actions are fully traceable.
π Observability Integration¶
- Manual overrides appear as special span events (
MilestoneOverride) -
Interventions increment metrics:
-
milestone_override_count milestone_manual_promotion- Trigger UI alerts and compliance flags in dashboards
β Summary¶
The MilestoneLifecycleCoordinator provides robust, trace-linked human intervention points, ensuring:
- π Reviewable milestone blockages
- β Authorized and auditable overrides
- π Re-execution after manual fixes
- π Full governance compatibility
These hooks empower the Factory to deliver governed autonomy β fast where possible, controlled where necessary.
Observability and Traceability¶
The MilestoneLifecycleCoordinator is deeply integrated with the Factoryβs observability-first model.
All its lifecycle events, validations, failures, overrides, and promotions are trace-tagged, logged, and visualized in real time.
This ensures that every milestone decision is:
- π Inspectable
- π§Ύ Auditable
- π§ Debuggable
- π Measurable
π‘ Trace Context Fields¶
All milestone-related telemetry and artifacts include the following identifiers:
| Field | Description |
|---|---|
milestone_id |
The logical identifier of the milestone being tracked |
trace_id |
Root trace anchor across sprints, QA, and Studio events |
version_tag |
Tag emitted upon promotion trigger (e.g., mvp-v1) |
sprint_ids[] |
List of contributing sprints linked to required features |
gate_status[] |
Pass/fail per milestone gate condition |
coverage_percent |
Aggregated from all sprint QA reports |
intervention_id |
Optional β used when override is manually approved |
π Emitted Metrics¶
| Metric Name | Description |
|---|---|
milestone_gate_success_total |
# of milestones that passed all gates |
milestone_gate_failure_total |
# of blocked milestones |
milestone_manual_override_total |
# of milestones closed via human approval |
milestone_duration_seconds |
Time from MilestonePlanned to MilestoneReached |
milestone_trace_matrix_validated_total |
# of milestones with complete trace linkage |
milestone_qa_coverage_percent |
Aggregated QA coverage across linked features |
β Exposed via Prometheus, Azure Monitor, or OpenTelemetry pipelines
π§΅ Trace Spans¶
Every major operation emits an OpenTelemetry span:
| Span Name | Trigger |
|---|---|
MilestonePlanned |
On first registration |
MilestoneGateEvaluation |
During trace + QA validation |
MilestoneBlocked |
On gate failure |
MilestoneReached |
On promotion event |
MilestoneOverrideAccepted |
On manual approval |
MilestonePromotionTriggered |
When version promotion begins |
π Logged Artifacts¶
| File Name | Description |
|---|---|
milestone-status.json |
Final outcome (reached, blocked, escalated), gates, trace IDs |
milestone-validation-report.md |
Human-readable summary of pass/fail results |
intervention-events.json |
Logs of manual overrides with approvers, timestamps |
promotion-trigger.yaml |
Output to deployment system with version, tags, and approval state |
π§ Studio Dashboard Integration¶
Milestone trace data drives:
- Status indicators (
Pending,Blocked,Reached,Escalated) - Gate condition matrix (per milestone)
- QA progress meters (feature Γ coverage)
- Trace explorer (milestone β sprint β agent β artifact)
- Audit timeline (event logs with trace IDs and roles)
β Summary¶
The MilestoneLifecycleCoordinator makes milestone delivery:
- π§ Trace-aware
- π Fully visible across systems
- π Metrics-rich for analytics and optimization
- π§Ύ Ready for audit and rollback when needed
Every decision β auto or manual β is anchored in trace context and observable across the Factory.
Configuration Options¶
The MilestoneLifecycleCoordinator is highly configurable, allowing it to adapt to various governance models, delivery patterns, and compliance requirements.
Configuration options can be defined:
- Globally (via
orchestration-config.yaml) - Per milestone (inside
milestones.yaml) - Dynamically (via Studio override panel or event payloads)
These settings govern how gates are enforced, how strict trace validation is, and whether manual overrides are allowed.
βοΈ Global Configuration Example¶
MilestoneLifecycleCoordinator:
autoPromotion: true
defaultQACoverageThreshold: 90
allowManualOverrides: true
traceValidationRequired: true
promotionTriggers:
- deploy-to-staging
- create-release-notes
defaultGateTimeoutSeconds: 300
retryOnFailure: true
observability:
emitSpans: true
logLevel: info
````
---
### π§© Key Config Fields
| Config Key | Description |
| ---------------------------- | ------------------------------------------------------------------------------------- |
| `autoPromotion` | Automatically emit `MilestonePromotionTriggered` if all gates pass |
| `defaultQACoverageThreshold` | If not overridden in `milestones.yaml`, this value is enforced |
| `allowManualOverrides` | Enables Studio users to force-close milestones |
| `traceValidationRequired` | If true, `traceMatrixComplete` is enforced as a gate |
| `retryOnFailure` | If true, milestone will retry validation after cooldown (FSM-controlled) |
| `defaultGateTimeoutSeconds` | Max time to wait for gate resolution (e.g., sprint closure) before emitting `Blocked` |
| `promotionTriggers[]` | Events to emit upon successful milestone (e.g., deploy, notify, tag) |
---
### π Per-Milestone Override Example
In `milestones.yaml`:
```yaml
milestones:
- id: auth-preview
gateConditions:
- allSprintsClosed
- qaCoverageAbove: 85
autoPromotion: false
allowManualOverrides: false
versionTag: v0.9-preview
governedBy: qa-lead
Overrides global settings for this specific milestone, making promotion manual-only.
π§ Dynamic Config via Studio¶
Studio UI can override live milestone state with:
- QA thresholds
- Coverage deferral
- Manual intervention justification
- Escalation trigger selection
Changes are persisted to:
intervention-events.jsonmilestone-status.json- Coordinator FSM checkpoint
π Governance Role Control¶
β Only users with these roles can:
- Approve overrides
- Force promotion
- Adjust milestone parameters live
β Summary¶
Configuration options make the MilestoneLifecycleCoordinator:
- ποΈ Flexible across delivery styles (autonomous vs. controlled)
- π Governable via roles and thresholds
- π§Ύ Policy-compliant via traceable overrides
- π Retry-safe for real-world execution
Milestones become programmable delivery gates, customizable per project and governance need.
Error Handling & Resilience¶
The MilestoneLifecycleCoordinator is built for robust operation in dynamic environments β where agent delays, partial outputs, or QA failures are expected.
It uses a resilient state machine, retry policies, and clear escalation paths to ensure milestone delivery remains stable and traceable.
π§― Error Categories and Recovery Strategies¶
| Error Type | Coordinator Behavior |
|---|---|
| Missing Sprint | FSM enters Blocked; waits for retry or override |
| QA Coverage Below Threshold | Triggers Blocked β Escalated state |
| Trace Matrix Incomplete | Logs error, disables promotion, and alerts Studio |
| Skill/Agent Timeout | Emits telemetry + MilestoneBlocked; retries if enabled |
| Unexpected File Format | Fails current validation step, logs parse error, requests re-run |
| CI/CD Promotion Trigger Fails | Emits MilestonePromotionFailed, retries or halts pipeline trigger |
π Retry Logic¶
| Trigger Condition | Retry Behavior |
|---|---|
| Temporary file load failure | Retries up to 3 times (configurable) |
Late SprintClosed event |
Re-evaluates gates automatically |
| Agent/QA timeout | FSM waits for configurable delay, then reattempts |
| Promotion trigger failure | Retries promotion trigger via PromotionRetry span |
Retries are tracked per milestone in:
- retry-history.json
- FSM checkpoint logs
- Prometheus metrics (milestone_retry_count)
π FSM Recovery Path¶
stateDiagram-v2
Verifying --> Blocked: GateFailure
Blocked --> Verifying: RetryTriggered or ManualFix
Blocked --> Escalated: Timeout or StudioEscalation
Escalated --> Reached: OverrideApproved
Blocked --> Terminated: MaxRetriesExceeded
````
---
### π§Ύ Error Artifact Logging
| File | Purpose |
| -------------------------- | -------------------------------------------------------- |
| `milestone-status.json` | Updated with `status: blocked`, failed gates, timestamps |
| `milestone-error-log.json` | Details for each failure: gate, reason, recovery path |
| `intervention-events.json` | Logs override attempts and escalation resolutions |
| `promotion-trigger.yaml` | Removed or marked `pending` if milestone not eligible |
---
### π§ Escalation Support
If all retries fail or human approval is needed:
* Coordinator emits `MilestoneEscalated`
* Studio is notified with reason and next steps
* Human roles (e.g., `qa-lead`) can issue `MilestoneOverrideRequested` to proceed
---
### π Observability Metrics
| Metric | Description |
| ---------------------------- | -------------------------------------------------------- |
| `milestone_retry_count` | Total retry attempts per milestone |
| `milestone_blocked_total` | Cumulative blocked milestone count |
| `milestone_escalation_count` | Count of manual escalations required |
| `milestone_timeout_seconds` | Time spent in `Blocked` or `Escalated` before resolution |
---
### β
Summary
The `MilestoneLifecycleCoordinator` is **resilient-by-design**.
It handles transient failures gracefully, supports retry logic, and integrates human review paths when needed β ensuring milestone delivery is:
* π Recoverable
* π Governed
* π Measurable
* π§Ύ Trace-linked
---
## Integration with SprintExecutionCoordinator
The `MilestoneLifecycleCoordinator` works in tandem with the `SprintExecutionCoordinator` to ensure **sprints contribute meaningfully to milestone delivery**.
This integration guarantees that only **validated**, **QA-complete**, and **trace-linked** sprints advance milestones toward release.
---
### π Event-Based Coordination
| From `SprintExecutionCoordinator` | Consumed by `MilestoneLifecycleCoordinator` |
|--------------------------------------|----------------------------------------------|
| `SprintPlanned` | Optional, used to prepare tracking context |
| `SprintClosed` | Triggers milestone validation for mapped features |
| `SprintBlocked` | Halts milestone verification; emits `MilestoneBlocked` |
| `execution-metadata.json` (per agent)| Used to validate trace span injection and artifact readiness |
| `sprint-trace-matrix.json` | Parsed to verify feature completion, test coverage, and gate input |
---
### π Flow: From Sprint Closure to Milestone Progress
1. **SprintExecutionCoordinator emits `SprintClosed`**
1. `MilestoneLifecycleCoordinator` receives event and:
- Validates features covered in that sprint
- Checks `qa-validation-report.md` and coverage %
- Updates internal gate condition tracker
1. If all required features and QA gates are met:
- Emits `MilestoneReached`
- Triggers `MilestonePromotionTriggered`
If any gates fail:
- Enters `Blocked`
- Awaits retry, override, or further sprint input
---
### π¦ Shared Artifacts
| Artifact | Originating Coordinator | Used By |
|-----------------------------|--------------------------|---------|
| `sprint-trace-matrix.json` | SprintExecutionCoordinator | Milestone gate evaluation |
| `execution-metadata.json[]` | Sprint agents | Milestone trace span and artifact validation |
| `qa-validation-report.md` | QAAgent | Gate evaluation (`qaCoverageAbove`) |
| `milestone-status.json` | MilestoneLifecycleCoordinator | Studio, CI/CD, auditors |
---
### π§ Feature-Sprint-Milestone Mapping
| Feature | Sprint ID | Milestone ID |
|----------------------|----------------------|----------------|
| `BookingFlow` | `sprint-2025-06-core` | `mvp-ready` |
| `SendEmail` | `sprint-2025-06-core` | `mvp-ready` |
| `RetryQueue` | `sprint-2025-07-edge` | `stability-pass1` |
This mapping is used to ensure all milestone-required features have been delivered via one or more valid sprints.
---
### π Reusability
If a sprint contributes to multiple milestones (e.g., `core` and `stability`):
- Each milestone checks trace matrix independently
- Artifacts and tests are reused but revalidated in context
---
### π§© FSM Transition Trigger
```mermaid
stateDiagram-v2
Pending --> Verifying: SprintClosed (feature matched)
Verifying --> Reached: All gates passed
Verifying --> Blocked: Any gate failed
````
---
### β
Summary
The `MilestoneLifecycleCoordinator` depends on `SprintExecutionCoordinator` to:
* Deliver feature-ready artifacts
* Emit validation signals
* Provide complete trace and QA data
This creates a **closed loop of sprint-driven milestone advancement**, ensuring all promotions are:
* β
Verified
* π Traceable
* π QA-covered
* π¦ CI/CD-ready
---
## Release Coordination and CI/CD Integration
The `MilestoneLifecycleCoordinator` is the **final gatekeeper** before release workflows are triggered.
Once a milestone passes all validation gates, this coordinator emits structured outputs and events to **initiate CI/CD pipelines**, **version tagging**, and **deployment orchestration**.
It ensures that only trace-verified, QA-passed, and milestone-scoped artifacts are promoted into release.
---
### π Triggered Components
| Downstream Component | Triggered By Event | Purpose |
|------------------------------|----------------------------------|---------|
| `PipelineGenerator` | `MilestoneReached`, `promotion-trigger.yaml` | Builds and releases tagged artifacts |
| `ReleaseCoordinator` | `MilestonePromotionTriggered` | Deploys promoted version to target environment |
| `CI/CD Tagger` | `MilestoneReached` with `versionTag` | Applies sprint/milestone-based image and Git tags |
| `NotificationAgent` | Optional β sends Slack/Teams/email summary |
| `DocumentationAgent` | Generates milestone changelog, feature matrix |
---
### π Example: `promotion-trigger.yaml`
```yaml
milestone_id: mvp-ready
version_tag: mvp-v1
trace_id: trace-xyz123
approved_by: qa-lead
promotion_targets:
- deploy-to-staging
- tag-image: booking-service:1.0.0-mvp-v1
- generate-release-notes
````
---
### π CI/CD Integration Points
| Pipeline Phase | Source |
| -------------------- | ---------------------------------------------------- |
| Build + Tagging | `version_tag` from milestone |
| Test Reporting | `qa-validation-report.md` |
| Artifact Promotion | `MilestoneReached` event |
| Deployment Approval | Optional manual approval flag from `milestones.yaml` |
| Changelog Generation | `MilestoneSummarySkill` or `DocumentationAgent` |
---
### π¦ Tags and Metadata Emitted
| Artifact | Tag/Label |
| -------------------- | ---------------------------------------------------------------- |
| Docker Image | `booking:1.0.0-mvp-v1` |
| Git Commit | `[milestone:mvp-ready] [version:mvp-v1]` |
| Helm Chart / Release | `milestone=mvp-ready`, `trace_id=xyz123` |
| Release Notes | Markdown file with features, agent IDs, QA coverage, trace links |
---
### π§© Example Event Emitted
```json
{
"event": "MilestonePromotionTriggered",
"milestone_id": "mvp-ready",
"version_tag": "mvp-v1",
"trace_id": "trace-abc789",
"targets": ["deploy-to-staging"],
"status": "pending"
}
β Used to trigger Azure DevOps pipeline or GitHub Actions workflow.
π Studio Integration¶
- β βPromotedβ badge on milestone card
- π Link to CI pipeline run summary
- π Markdown changelog preview
- π View trace-tagged release metadata
β Summary¶
The MilestoneLifecycleCoordinator closes the planning-to-release loop by:
- π¦ Validating delivery gates
- π Tagging versions
- π Triggering CI/CD actions
- π§Ύ Logging all promotions via trace + audit records
This makes every release repeatable, explainable, and aligned to milestone scope.
Studio Visualizations: Milestone Board, Gate Progress¶
The ConnectSoft Studio provides rich visualizations of milestone status, progress, and traceability.
These views are powered by data emitted by the MilestoneLifecycleCoordinator β including events, trace matrices, QA reports, overrides, and promotion outputs.
Studio visualizations make milestone health, readiness, and risk clearly observable by humans, even in massively parallel factories.
π§© Milestone Board View¶
Each tracked milestone is shown as a card with real-time status indicators:
| Field | Source |
|---|---|
| Milestone ID | milestones.yaml |
| Status | Derived from FSM state: Planned, Pending, Verifying, Blocked, Reached, Escalated |
| Required Features | From milestone scope definition |
| Sprint Contribution | From SprintClosed events |
| QA Coverage | Aggregated from all sprints |
| Manual Overrides | From intervention-events.json |
| Version Tag | version_tag from milestone |
β Clicking opens detail panel with full gate matrix and trace links.
π Gate Matrix Visualization¶
A table showing gate-by-gate evaluation results:
| Gate Condition | Status | Detail |
|---|---|---|
| All Sprints Closed | β Passed | sprint-1, sprint-2 complete |
| QA Coverage > 90% | β οΈ 91.2% | BookingFlow: 92%, Email: 89% |
| Trace Matrix Complete | β Confirmed | All features mapped |
| Security Validated | β Missing span template in Email API | |
| Manual Approval Required | Pending | Awaiting product-owner |
π QA Coverage Progress Bar¶
Rendered from qa-validation-report.md and sprint-trace-matrix.json:
gantt
title QA Coverage by Feature
dateFormat YYYY-MM-DD
section Coverage
BookingFlow :done, a1, 2025-05-12,1d
SendEmail :done, a2, 2025-05-12,1d
RetryQueue :active, a3, 2025-05-13,2d
````
---
### π§Ύ Audit Timeline
Automatically built from milestone events:
| Timestamp | Event | Triggered By |
| -------------------- | ---------------------------- | ----------------- |
| 2025-05-12T10:00:00Z | `MilestonePlanned` | ProductOwnerAgent |
| 2025-05-13T14:45:00Z | `SprintClosed` | SprintCoordinator |
| 2025-05-13T16:10:00Z | `MilestoneBlocked` | QA coverage < 90% |
| 2025-05-13T17:22:00Z | `MilestoneOverrideRequested` | StudioUserAgent |
| 2025-05-13T17:40:00Z | `MilestoneReached` | Coordinator |
---
### π Trace Explorer Integration
From any milestone:
* Navigate to contributing `sprint-trace-matrix.json`
* Inspect feature β artifact β test linkage
* View agent logs and span IDs
* Diff trace coverage by sprint or feature
---
### π€ Promotion Snapshot
If milestone was promoted:
* β
Version shown (e.g., `v1.0.0-mvp`)
* π¦ CI/CD pipeline link
* π Changelog summary
* π Git commit tag reference
---
### β
Summary
Studio visualizations make milestone delivery:
* π Transparent for technical and non-technical stakeholders
* π§ Navigable across agents, artifacts, and sprints
* π Auditable with full trace history
* π Governable with manual overrides and QA alerts
The result: **confidence in every milestone, every time**.
---
## Real-World Example Milestone: `mvp-ready`
This example illustrates how the `MilestoneLifecycleCoordinator` validated and promoted the `mvp-ready` milestone in a real ConnectSoft Factory execution. It demonstrates:
- Full trace-driven milestone evaluation
- QA and sprint integration
- Manual override handling
- CI/CD promotion
---
### π Milestone Definition (`milestones.yaml`)
```yaml
milestones:
- id: mvp-ready
description: Final internal milestone for booking and notification MVP
requiredFeatures:
- BookingFlow
- Notification.Email.Send
gateConditions:
- allSprintsClosed
- qaCoverageAbove: 90
- traceMatrixComplete
versionTag: mvp-v1
governedBy: product-owner
autoPromotion: true
````
---
### π§© Contributing Sprints
| Sprint ID | Features Delivered |
| --------------------- | ------------------------- |
| `sprint-2025-06-core` | `BookingFlow` |
| `sprint-2025-06-comm` | `Notification.Email.Send` |
β Both sprints emitted `SprintClosed` and included complete trace matrices.
---
### π QA Validation Result
* `BookingFlow`: 93.1%
* `Notification.Email.Send`: 89.6%
* **Weighted average**: 91.3% β
β Passed gate `qaCoverageAbove: 90`
---
### π Generated Artifacts
* `sprint-trace-matrix.json` (per sprint)
* `execution-metadata.json` (per agent)
* `qa-validation-report.md`
* `milestone-status.json`
* `milestone-validation-report.md`
* `promotion-trigger.yaml`
---
### π Flow of Events
```mermaid
sequenceDiagram
SprintExecutionCoordinator->>MilestoneCoordinator: Emit SprintClosed
QAAgent->>MilestoneCoordinator: Emit QAValidationReport
MilestoneCoordinator->>MilestoneCoordinator: Evaluate Gates
MilestoneCoordinator-->>PipelineGenerator: Emit MilestonePromotionTriggered
MilestoneCoordinator-->>Studio: Update Milestone Dashboard
π¦ CI/CD Results¶
| Tag | Value |
|---|---|
| Git Tag | mvp-v1 |
| Docker Image | booking-service:1.0.0-mvp-v1 |
| Helm Chart | notification-chart:0.1.0-mvp |
| Release Notes | docs/releases/mvp-v1.md |
β Built, tagged, and deployed automatically based on milestone success.
π§Ύ Final Studio Status¶
| Field | Value |
|---|---|
| Status | β Reached |
| QA Coverage | 91.3% |
| Manual Overrides | None |
| Promotion Triggered | Yes |
| Duration | 2d 4h |
| Trace ID | trace-xyz-123 |
β Outcome¶
- Milestone gates passed automatically
- No manual intervention required
- CI/CD triggered with full trace linkage
- Promotion was logged and visualized
π― Summary¶
This real-world milestone execution shows how the MilestoneLifecycleCoordinator:
- Coordinated cross-sprint delivery
- Enforced QA gates and trace validation
- Emitted promotion events
- Enabled Studio visibility
It demonstrates the Factoryβs power to deliver governed, traceable, and auditable outcomes β fast.