@openlife/cli 1.8.3 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.catalog/agents/test-agent/AGENT.md +1 -1
- package/.catalog/mcps/test-mcp/mcp.json +1 -1
- package/.catalog/skills/sample-from-url/IMPORTED_REFERENCE.md +2 -2
- package/.catalog/skills/test-skill/REFERENCE.md +1 -1
- package/.catalog/squads/00-governance-advisory-board/workflows/wf-board-meeting.yaml +25 -0
- package/.catalog/squads/00-governance-advisory-board/workflows/wf-decision-framework.yaml +25 -0
- package/.catalog/squads/00-governance-c-level-squad/workflows/wf-board-presentation.yaml +25 -0
- package/.catalog/squads/00-governance-c-level-squad/workflows/wf-strategic-planning.yaml +25 -0
- package/.catalog/squads/00-governance-project-ops-squad/workflows/mission-to-project.yaml +25 -0
- package/.catalog/squads/00-governance-project-ops-squad/workflows/sprint-planning.yaml +25 -0
- package/.catalog/squads/00-governance-project-ops-squad/workflows/weekly-review.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-analysis-flow.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-execution-flow.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-planning-flow.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-resume-flow.yaml +25 -0
- package/.catalog/squads/02-product-growth-brand-squad/workflows/wf-brand-creation.yaml +25 -0
- package/.catalog/squads/02-product-growth-brand-squad/workflows/wf-rebrand.yaml +25 -0
- package/.catalog/squads/02-product-growth-copy-squad/workflows/wf-copy-review-cycle.yaml +25 -0
- package/.catalog/squads/02-product-growth-copy-squad/workflows/wf-full-copy-project.yaml +25 -0
- package/.catalog/squads/02-product-growth-design-squad/workflows/wf-design-system-creation.yaml +25 -0
- package/.catalog/squads/02-product-growth-design-squad/workflows/wf-feature-design.yaml +25 -0
- package/.catalog/squads/02-product-growth-hormozi-squad/workflows/wf-business-turnaround.yaml +25 -0
- package/.catalog/squads/02-product-growth-hormozi-squad/workflows/wf-offer-creation.yaml +25 -0
- package/.catalog/squads/02-product-growth-movement/workflows/wf-movement-launch.yaml +25 -0
- package/.catalog/squads/02-product-growth-saas-onboarding-activator/workflows/full-onboarding-activation-workflow.yaml +25 -0
- package/.catalog/squads/02-product-growth-saas-onboarding-activator/workflows/quick-engagement-boost-workflow.yaml +25 -0
- package/.catalog/squads/02-product-growth-sales-squad/workflows/followup-sequence.yaml +25 -0
- package/.catalog/squads/02-product-growth-sales-squad/workflows/full-sales-cycle.yaml +25 -0
- package/.catalog/squads/02-product-growth-sales-squad/workflows/proposal-flow.yaml +25 -0
- package/.catalog/squads/02-product-growth-storytelling/workflows/wf-brand-narrative.yaml +25 -0
- package/.catalog/squads/02-product-growth-storytelling/workflows/wf-story-development.yaml +25 -0
- package/.catalog/squads/02-product-growth-traffic-masters/workflows/wf-account-audit.yaml +25 -0
- package/.catalog/squads/02-product-growth-traffic-masters/workflows/wf-campaign-launch.yaml +25 -0
- package/.catalog/squads/03-engineering-quality-automated-code-review-squad/workflows/full-code-review-workflow.yaml +25 -0
- package/.catalog/squads/03-engineering-quality-automated-code-review-squad/workflows/quick-security-check-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-cybersecurity/workflows/wf-incident-response.yaml +25 -0
- package/.catalog/squads/04-data-security-cybersecurity/workflows/wf-pentest-engagement.yaml +25 -0
- package/.catalog/squads/04-data-security-data-quality-guardian/workflows/full-data-quality-audit-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-data-quality-guardian/workflows/quick-data-check-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-data-squad/workflows/wf-analytics-setup.yaml +25 -0
- package/.catalog/squads/04-data-security-data-squad/workflows/wf-growth-sprint.yaml +25 -0
- package/.catalog/squads/04-data-security-incident-response-squad/workflows/full-incident-response-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-incident-response-squad/workflows/rapid-triage-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-soc-alert-triage/workflows/full-alert-triage-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-soc-alert-triage/workflows/rapid-classification-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-adaptive-tutor-k12/workflows/full-tutoring-cycle-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-adaptive-tutor-k12/workflows/quick-practice-session-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-ambient-clinical-scribe/workflows/full-documentation-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-ambient-clinical-scribe/workflows/quick-note-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-contract-review-squad/workflows/full-contract-review-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-contract-review-squad/workflows/quick-risk-assessment-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-crypto-token-forge/workflows/full-token-launch-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-crypto-token-forge/workflows/memecoin-express-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-crypto-token-forge/workflows/utility-token-launch-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-resume-screener-squad/workflows/full-resume-screening-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-resume-screener-squad/workflows/quick-skills-match-workflow.yaml +25 -0
- package/.catalog/squads/test-squad/SQUAD.md +1 -1
- package/.openlife/method/agents/atlas.md +102 -0
- package/.openlife/method/agents/builder.md +92 -0
- package/.openlife/method/agents/conductor.md +93 -0
- package/.openlife/method/agents/forge.md +96 -0
- package/.openlife/method/agents/genesis.md +115 -0
- package/.openlife/method/agents/lyra.md +85 -0
- package/.openlife/method/agents/maestro.md +92 -0
- package/.openlife/method/agents/mesh.md +101 -0
- package/.openlife/method/agents/prism.md +85 -0
- package/.openlife/method/agents/sentinel.md +115 -0
- package/.openlife/method/agents/steward.md +93 -0
- package/.openlife/method/agents/vortex.md +94 -0
- package/dist/cli/CommandFlowRunner.js +167 -0
- package/dist/cli/install/Phases.js +43 -0
- package/dist/index.js +118 -0
- package/dist/orchestrator/ProjectMetadata.js +183 -0
- package/dist/test_flow_run_cli.js +183 -0
- package/dist/test_host_uninstaller.js +12 -2
- package/dist/test_openlife_method_inventory.js +183 -0
- package/dist/test_workflow_e2e.js +10 -3
- package/dist-templates/claude-code/agents/openlife-atlas.md +12 -44
- package/dist-templates/claude-code/agents/openlife-builder.md +20 -0
- package/dist-templates/claude-code/agents/openlife-conductor.md +20 -0
- package/dist-templates/claude-code/agents/openlife-forge.md +12 -34
- package/dist-templates/claude-code/agents/openlife-genesis.md +12 -51
- package/dist-templates/claude-code/agents/openlife-lyra.md +12 -32
- package/dist-templates/claude-code/agents/openlife-maestro.md +27 -41
- package/dist-templates/claude-code/agents/openlife-mesh.md +20 -0
- package/dist-templates/claude-code/agents/openlife-prism.md +20 -0
- package/dist-templates/claude-code/agents/openlife-sentinel.md +20 -0
- package/dist-templates/claude-code/agents/openlife-steward.md +20 -0
- package/dist-templates/claude-code/agents/openlife-vortex.md +20 -0
- package/dist-templates/claude-code/commands/openlife/agents/atlas.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/builder.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/conductor.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/forge.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/genesis.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/lyra.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/maestro.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/mesh.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/prism.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/sentinel.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/steward.md +24 -0
- package/dist-templates/claude-code/commands/openlife/agents/vortex.md +24 -0
- package/dist-templates/claude-code/commands/openlife/ask.md +13 -7
- package/dist-templates/claude-code/commands/openlife/audit.md +14 -0
- package/dist-templates/claude-code/commands/openlife/doctor.md +11 -14
- package/dist-templates/claude-code/commands/openlife/dream.md +10 -16
- package/dist-templates/claude-code/commands/openlife/explore.md +14 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-discovery.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-fullstack.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-service.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-ui.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/epic.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/greenfield-fullstack.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/greenfield-service.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/greenfield-ui.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/qa-loop.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/release.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/spec-pipeline.md +20 -0
- package/dist-templates/claude-code/commands/openlife/flow/story-cycle.md +20 -0
- package/dist-templates/claude-code/commands/openlife/health.md +14 -0
- package/dist-templates/claude-code/commands/openlife/plan.md +14 -0
- package/dist-templates/claude-code/commands/openlife/review.md +14 -0
- package/dist-templates/claude-code/commands/openlife/ship.md +14 -0
- package/dist-templates/claude-code/commands/openlife/start.md +25 -0
- package/dist-templates/claude-code/commands/openlife/status.md +10 -10
- package/dist-templates/claude-code/commands/openlife/story.md +18 -0
- package/dist-templates/codex/agents/openlife-atlas.md +12 -44
- package/dist-templates/codex/agents/openlife-builder.md +20 -0
- package/dist-templates/codex/agents/openlife-conductor.md +20 -0
- package/dist-templates/codex/agents/openlife-forge.md +12 -34
- package/dist-templates/codex/agents/openlife-genesis.md +12 -51
- package/dist-templates/codex/agents/openlife-lyra.md +12 -32
- package/dist-templates/codex/agents/openlife-maestro.md +27 -41
- package/dist-templates/codex/agents/openlife-mesh.md +20 -0
- package/dist-templates/codex/agents/openlife-prism.md +20 -0
- package/dist-templates/codex/agents/openlife-sentinel.md +20 -0
- package/dist-templates/codex/agents/openlife-steward.md +20 -0
- package/dist-templates/codex/agents/openlife-vortex.md +20 -0
- package/dist-templates/codex/commands/openlife/agents/atlas.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/builder.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/conductor.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/forge.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/genesis.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/lyra.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/maestro.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/mesh.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/prism.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/sentinel.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/steward.md +24 -0
- package/dist-templates/codex/commands/openlife/agents/vortex.md +24 -0
- package/dist-templates/codex/commands/openlife/ask.md +13 -7
- package/dist-templates/codex/commands/openlife/audit.md +14 -0
- package/dist-templates/codex/commands/openlife/doctor.md +11 -14
- package/dist-templates/codex/commands/openlife/dream.md +10 -16
- package/dist-templates/codex/commands/openlife/explore.md +14 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-discovery.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-fullstack.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-service.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-ui.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/epic.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/greenfield-fullstack.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/greenfield-service.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/greenfield-ui.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/qa-loop.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/release.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/spec-pipeline.md +20 -0
- package/dist-templates/codex/commands/openlife/flow/story-cycle.md +20 -0
- package/dist-templates/codex/commands/openlife/health.md +14 -0
- package/dist-templates/codex/commands/openlife/plan.md +14 -0
- package/dist-templates/codex/commands/openlife/review.md +14 -0
- package/dist-templates/codex/commands/openlife/ship.md +14 -0
- package/dist-templates/codex/commands/openlife/start.md +25 -0
- package/dist-templates/codex/commands/openlife/status.md +10 -10
- package/dist-templates/codex/commands/openlife/story.md +18 -0
- package/dist-templates/gemini-cli/agents/openlife-atlas.md +12 -44
- package/dist-templates/gemini-cli/agents/openlife-builder.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-conductor.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-forge.md +12 -34
- package/dist-templates/gemini-cli/agents/openlife-genesis.md +12 -51
- package/dist-templates/gemini-cli/agents/openlife-lyra.md +12 -32
- package/dist-templates/gemini-cli/agents/openlife-maestro.md +27 -41
- package/dist-templates/gemini-cli/agents/openlife-mesh.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-prism.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-sentinel.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-steward.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-vortex.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/atlas.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/builder.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/conductor.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/forge.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/genesis.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/lyra.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/maestro.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/mesh.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/prism.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/sentinel.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/steward.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/vortex.md +24 -0
- package/dist-templates/gemini-cli/commands/openlife/ask.md +13 -7
- package/dist-templates/gemini-cli/commands/openlife/audit.md +14 -0
- package/dist-templates/gemini-cli/commands/openlife/doctor.md +11 -14
- package/dist-templates/gemini-cli/commands/openlife/dream.md +10 -16
- package/dist-templates/gemini-cli/commands/openlife/explore.md +14 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-discovery.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-fullstack.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-service.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-ui.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/epic.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-fullstack.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-service.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-ui.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/qa-loop.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/release.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/spec-pipeline.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/story-cycle.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/health.md +14 -0
- package/dist-templates/gemini-cli/commands/openlife/plan.md +14 -0
- package/dist-templates/gemini-cli/commands/openlife/review.md +14 -0
- package/dist-templates/gemini-cli/commands/openlife/ship.md +14 -0
- package/dist-templates/gemini-cli/commands/openlife/start.md +25 -0
- package/dist-templates/gemini-cli/commands/openlife/status.md +10 -10
- package/dist-templates/gemini-cli/commands/openlife/story.md +18 -0
- package/dist-templates/workflows/brownfield-fullstack.yaml +131 -0
- package/dist-templates/workflows/brownfield-service.yaml +111 -0
- package/dist-templates/workflows/brownfield-ui.yaml +115 -0
- package/dist-templates/workflows/continuous-deployment.yaml +139 -0
- package/dist-templates/workflows/epic-orchestration.yaml +101 -0
- package/dist-templates/workflows/greenfield-service.yaml +154 -0
- package/dist-templates/workflows/greenfield-ui.yaml +140 -0
- package/dist-templates/workflows/spec-pipeline.yaml +135 -0
- package/package.json +5 -2
- package/scripts/generate-slash-commands.js +220 -0
- package/scripts/generate-squad-workflow-stubs.js +144 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
workflow:
|
|
2
|
+
id: brownfield-fullstack
|
|
3
|
+
name: Brownfield Full-Stack Enhancement
|
|
4
|
+
description: >-
|
|
5
|
+
Enhance an existing full-stack application. Assumes brownfield-discovery
|
|
6
|
+
has already produced the technical-debt-assessment.md and frontend-spec.md.
|
|
7
|
+
This workflow takes a specific enhancement request and drives it through
|
|
8
|
+
architecture review → impact analysis → story creation → SDC.
|
|
9
|
+
type: brownfield
|
|
10
|
+
version: "1.0"
|
|
11
|
+
framework: openlife-method
|
|
12
|
+
project_types:
|
|
13
|
+
- existing-fullstack
|
|
14
|
+
- legacy-modernization
|
|
15
|
+
- feature-addition
|
|
16
|
+
|
|
17
|
+
metadata:
|
|
18
|
+
elicit: true
|
|
19
|
+
confirmation_required: true
|
|
20
|
+
requires_prior_workflow: brownfield-discovery
|
|
21
|
+
|
|
22
|
+
phases:
|
|
23
|
+
- phase_0: Context Load
|
|
24
|
+
- phase_1: Impact Analysis
|
|
25
|
+
- phase_2: Story Slicing
|
|
26
|
+
- phase_3: Development Cycle
|
|
27
|
+
|
|
28
|
+
success_criteria:
|
|
29
|
+
- id: impact-on-existing-code-schema-ui-is-doc
|
|
30
|
+
description: "Impact on existing code/schema/UI is documented"
|
|
31
|
+
- id: no-regression-on-existing-test-suite
|
|
32
|
+
description: "No regression on existing test suite"
|
|
33
|
+
- id: schema-migrations-are-reversible
|
|
34
|
+
description: "Schema migrations are reversible"
|
|
35
|
+
- id: performance-baseline-maintained-or-impro
|
|
36
|
+
description: "Performance baseline maintained or improved"
|
|
37
|
+
|
|
38
|
+
failure_handling:
|
|
39
|
+
on_phase_failure: escalate_to_maestro
|
|
40
|
+
on_regression_detected: rollback_via_vortex
|
|
41
|
+
|
|
42
|
+
tools:
|
|
43
|
+
allowed:
|
|
44
|
+
- terminal
|
|
45
|
+
- git
|
|
46
|
+
- schema-migration
|
|
47
|
+
- browser-testing
|
|
48
|
+
restricted:
|
|
49
|
+
- drop-table
|
|
50
|
+
- delete-component
|
|
51
|
+
|
|
52
|
+
sequence:
|
|
53
|
+
- phase: 0
|
|
54
|
+
name: Context Load
|
|
55
|
+
|
|
56
|
+
- id: load-context
|
|
57
|
+
agent: openlife-maestro
|
|
58
|
+
action: route
|
|
59
|
+
creates:
|
|
60
|
+
- .openlife/brownfield-context.json
|
|
61
|
+
notes: |
|
|
62
|
+
Load technical-debt-assessment.md + frontend-spec.md + SCHEMA.md.
|
|
63
|
+
Confirm prior brownfield-discovery completed. If not, halt and route
|
|
64
|
+
user to brownfield-discovery workflow.
|
|
65
|
+
|
|
66
|
+
- phase: 1
|
|
67
|
+
name: Impact Analysis
|
|
68
|
+
|
|
69
|
+
- id: impact-arch
|
|
70
|
+
agent: openlife-atlas
|
|
71
|
+
action: analyze_impact
|
|
72
|
+
requires: load-context
|
|
73
|
+
creates:
|
|
74
|
+
- docs/impact/architecture.md
|
|
75
|
+
duration_estimate: "1-2 hours"
|
|
76
|
+
notes: What architectural surfaces are touched? What ADRs need updating?
|
|
77
|
+
|
|
78
|
+
- id: impact-data
|
|
79
|
+
agent: openlife-mesh
|
|
80
|
+
action: db_schema_audit
|
|
81
|
+
requires: impact-arch
|
|
82
|
+
creates:
|
|
83
|
+
- docs/impact/schema-delta.md
|
|
84
|
+
optional: true
|
|
85
|
+
notes: Only if enhancement touches data layer.
|
|
86
|
+
|
|
87
|
+
- id: impact-ui
|
|
88
|
+
agent: openlife-prism
|
|
89
|
+
action: ux_ds_scan_artifact
|
|
90
|
+
requires: impact-arch
|
|
91
|
+
creates:
|
|
92
|
+
- docs/impact/ui-delta.md
|
|
93
|
+
optional: true
|
|
94
|
+
notes: Only if enhancement touches UI.
|
|
95
|
+
|
|
96
|
+
- phase: 2
|
|
97
|
+
name: Story Slicing
|
|
98
|
+
|
|
99
|
+
- id: brownfield-epic
|
|
100
|
+
agent: openlife-genesis
|
|
101
|
+
action: brownfield_create_epic
|
|
102
|
+
requires: impact-arch
|
|
103
|
+
creates:
|
|
104
|
+
- docs/epics/brownfield-*.md
|
|
105
|
+
elicit: true
|
|
106
|
+
notes: Epic explicitly references the brownfield context.
|
|
107
|
+
|
|
108
|
+
- id: brownfield-stories
|
|
109
|
+
agent: openlife-conductor
|
|
110
|
+
action: brownfield_create_story
|
|
111
|
+
requires: brownfield-epic
|
|
112
|
+
creates:
|
|
113
|
+
- docs/stories/*.story.md
|
|
114
|
+
notes: Stories include "what NOT to break" in their scope/AC.
|
|
115
|
+
|
|
116
|
+
- phase: 3
|
|
117
|
+
name: Development Cycle
|
|
118
|
+
|
|
119
|
+
- id: story-loop
|
|
120
|
+
agent: openlife-conductor
|
|
121
|
+
action: story_development_cycle
|
|
122
|
+
requires: brownfield-stories
|
|
123
|
+
notes: |
|
|
124
|
+
Each story flows through story-development-cycle.
|
|
125
|
+
Sentinel's QA gate includes regression-suite verification.
|
|
126
|
+
Vortex's push includes a feature-flag fallback when applicable.
|
|
127
|
+
|
|
128
|
+
handoff_prompts:
|
|
129
|
+
phase_0_to_1: "Context loaded. Atlas, run impact analysis."
|
|
130
|
+
phase_1_to_2: "Impact mapped. Genesis, draft the brownfield epic."
|
|
131
|
+
phase_2_to_3: "Stories sliced. Conductor, drive through SDC."
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
workflow:
|
|
2
|
+
id: brownfield-service
|
|
3
|
+
name: Brownfield Service / API Modification
|
|
4
|
+
description: >-
|
|
5
|
+
Modify an existing service or API. No UI phase. Focus on architectural
|
|
6
|
+
impact, data-layer compatibility (RLS, migrations, query plans), and
|
|
7
|
+
integration-pattern preservation.
|
|
8
|
+
type: brownfield
|
|
9
|
+
version: "1.0"
|
|
10
|
+
framework: openlife-method
|
|
11
|
+
project_types:
|
|
12
|
+
- existing-api
|
|
13
|
+
- existing-microservice
|
|
14
|
+
- existing-worker
|
|
15
|
+
|
|
16
|
+
metadata:
|
|
17
|
+
elicit: true
|
|
18
|
+
requires_prior_workflow: brownfield-discovery
|
|
19
|
+
|
|
20
|
+
phases:
|
|
21
|
+
- phase_0: Context Load
|
|
22
|
+
- phase_1: Service Impact
|
|
23
|
+
- phase_2: Story Slicing
|
|
24
|
+
- phase_3: Development Cycle
|
|
25
|
+
|
|
26
|
+
success_criteria:
|
|
27
|
+
- id: api-contract-is-preserved-or-versioned-n
|
|
28
|
+
description: "API contract is preserved OR versioned (no silent break)"
|
|
29
|
+
- id: integration-tests-cover-the-changed-endp
|
|
30
|
+
description: "Integration tests cover the changed endpoint(s)"
|
|
31
|
+
- id: database-migrations-have-rollback-script
|
|
32
|
+
description: "Database migrations have rollback scripts"
|
|
33
|
+
- id: performance-regression-10-on-hot-paths
|
|
34
|
+
description: "Performance regression < 10% on hot paths"
|
|
35
|
+
|
|
36
|
+
failure_handling:
|
|
37
|
+
on_phase_failure: escalate_to_maestro
|
|
38
|
+
on_regression_detected: rollback_via_vortex
|
|
39
|
+
|
|
40
|
+
sequence:
|
|
41
|
+
- phase: 0
|
|
42
|
+
name: Context Load
|
|
43
|
+
|
|
44
|
+
- id: load-context
|
|
45
|
+
agent: openlife-maestro
|
|
46
|
+
action: route
|
|
47
|
+
creates:
|
|
48
|
+
- .openlife/brownfield-context.json
|
|
49
|
+
|
|
50
|
+
- phase: 1
|
|
51
|
+
name: Service Impact
|
|
52
|
+
|
|
53
|
+
- id: impact-arch
|
|
54
|
+
agent: openlife-atlas
|
|
55
|
+
action: analyze_impact
|
|
56
|
+
requires: load-context
|
|
57
|
+
creates:
|
|
58
|
+
- docs/impact/service-architecture.md
|
|
59
|
+
notes: Which endpoints, which integration patterns, which contracts.
|
|
60
|
+
|
|
61
|
+
- id: impact-schema
|
|
62
|
+
agent: openlife-mesh
|
|
63
|
+
action: db_schema_audit
|
|
64
|
+
requires: impact-arch
|
|
65
|
+
creates:
|
|
66
|
+
- docs/impact/schema-delta.md
|
|
67
|
+
notes: Schema changes, indexes affected, query plan delta.
|
|
68
|
+
|
|
69
|
+
- id: api-contract-check
|
|
70
|
+
agent: openlife-atlas
|
|
71
|
+
action: analyze_cross_artifact
|
|
72
|
+
requires: impact-arch
|
|
73
|
+
creates:
|
|
74
|
+
- docs/impact/api-contract-delta.md
|
|
75
|
+
notes: |
|
|
76
|
+
Detect breaking API changes. If breaking, REQUIRE either versioning
|
|
77
|
+
strategy or deprecation timeline before proceeding.
|
|
78
|
+
|
|
79
|
+
- phase: 2
|
|
80
|
+
name: Story Slicing
|
|
81
|
+
|
|
82
|
+
- id: brownfield-epic
|
|
83
|
+
agent: openlife-genesis
|
|
84
|
+
action: brownfield_create_epic
|
|
85
|
+
requires: api-contract-check
|
|
86
|
+
creates:
|
|
87
|
+
- docs/epics/brownfield-service-*.md
|
|
88
|
+
|
|
89
|
+
- id: brownfield-stories
|
|
90
|
+
agent: openlife-conductor
|
|
91
|
+
action: brownfield_create_story
|
|
92
|
+
requires: brownfield-epic
|
|
93
|
+
creates:
|
|
94
|
+
- docs/stories/*.story.md
|
|
95
|
+
|
|
96
|
+
- phase: 3
|
|
97
|
+
name: Development Cycle
|
|
98
|
+
|
|
99
|
+
- id: story-loop
|
|
100
|
+
agent: openlife-conductor
|
|
101
|
+
action: story_development_cycle
|
|
102
|
+
requires: brownfield-stories
|
|
103
|
+
notes: |
|
|
104
|
+
Sentinel's QA gate emphasizes integration tests + regression suite.
|
|
105
|
+
Mesh runs migrations in dry-run mode first.
|
|
106
|
+
Vortex's release uses canary / blue-green when infrastructure supports it.
|
|
107
|
+
|
|
108
|
+
handoff_prompts:
|
|
109
|
+
phase_0_to_1: "Context loaded. Atlas, scope the service impact."
|
|
110
|
+
phase_1_to_2: "Impact analyzed. Genesis, draft the brownfield epic."
|
|
111
|
+
phase_2_to_3: "Stories ready. Conductor, drive through SDC."
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
workflow:
|
|
2
|
+
id: brownfield-ui
|
|
3
|
+
name: Brownfield UI Refactor / Enhancement
|
|
4
|
+
description: >-
|
|
5
|
+
Modify an existing UI. Focus on design-system compliance, accessibility
|
|
6
|
+
regression, and component-tree impact. Assumes brownfield-discovery
|
|
7
|
+
produced frontend-spec.md.
|
|
8
|
+
type: brownfield
|
|
9
|
+
version: "1.0"
|
|
10
|
+
framework: openlife-method
|
|
11
|
+
project_types:
|
|
12
|
+
- existing-spa
|
|
13
|
+
- existing-web-app
|
|
14
|
+
- legacy-ui-modernization
|
|
15
|
+
|
|
16
|
+
metadata:
|
|
17
|
+
elicit: true
|
|
18
|
+
requires_prior_workflow: brownfield-discovery
|
|
19
|
+
|
|
20
|
+
phases:
|
|
21
|
+
- phase_0: Context Load
|
|
22
|
+
- phase_1: UI Impact
|
|
23
|
+
- phase_2: Design System Reconciliation
|
|
24
|
+
- phase_3: Story Slicing
|
|
25
|
+
- phase_4: Development Cycle
|
|
26
|
+
|
|
27
|
+
success_criteria:
|
|
28
|
+
- id: existing-user-flows-still-pass-e2e-suite
|
|
29
|
+
description: "Existing user flows still pass e2e suite"
|
|
30
|
+
- id: design-system-tokens-not-violated-or-vio
|
|
31
|
+
description: "Design system tokens not violated (or violations are tracked)"
|
|
32
|
+
- id: accessibility-regression-check-passes
|
|
33
|
+
description: "Accessibility regression check passes"
|
|
34
|
+
- id: bundle-size-delta-within-budget
|
|
35
|
+
description: "Bundle size delta within budget"
|
|
36
|
+
|
|
37
|
+
failure_handling:
|
|
38
|
+
on_phase_failure: escalate_to_maestro
|
|
39
|
+
|
|
40
|
+
sequence:
|
|
41
|
+
- phase: 0
|
|
42
|
+
name: Context Load
|
|
43
|
+
|
|
44
|
+
- id: load-context
|
|
45
|
+
agent: openlife-maestro
|
|
46
|
+
action: route
|
|
47
|
+
creates:
|
|
48
|
+
- .openlife/brownfield-context.json
|
|
49
|
+
|
|
50
|
+
- phase: 1
|
|
51
|
+
name: UI Impact
|
|
52
|
+
|
|
53
|
+
- id: ds-scan
|
|
54
|
+
agent: openlife-prism
|
|
55
|
+
action: ux_ds_scan_artifact
|
|
56
|
+
requires: load-context
|
|
57
|
+
creates:
|
|
58
|
+
- docs/impact/design-system-delta.md
|
|
59
|
+
notes: Detect existing drift; reconcile before adding new.
|
|
60
|
+
|
|
61
|
+
- id: a11y-baseline
|
|
62
|
+
agent: openlife-prism
|
|
63
|
+
action: ux_accessibility_audit
|
|
64
|
+
requires: ds-scan
|
|
65
|
+
creates:
|
|
66
|
+
- docs/impact/accessibility-baseline.md
|
|
67
|
+
|
|
68
|
+
- id: component-impact
|
|
69
|
+
agent: openlife-atlas
|
|
70
|
+
action: analyze_impact
|
|
71
|
+
requires: ds-scan
|
|
72
|
+
creates:
|
|
73
|
+
- docs/impact/component-tree-delta.md
|
|
74
|
+
|
|
75
|
+
- phase: 2
|
|
76
|
+
name: Design System Reconciliation
|
|
77
|
+
|
|
78
|
+
- id: reconcile-tokens
|
|
79
|
+
agent: openlife-prism
|
|
80
|
+
action: ux_design_tokens_extract
|
|
81
|
+
requires: ds-scan
|
|
82
|
+
creates:
|
|
83
|
+
- design-system/tokens.json
|
|
84
|
+
optional: true
|
|
85
|
+
notes: Only if drift is significant enough to warrant a tokens update.
|
|
86
|
+
|
|
87
|
+
- phase: 3
|
|
88
|
+
name: Story Slicing
|
|
89
|
+
|
|
90
|
+
- id: brownfield-epic
|
|
91
|
+
agent: openlife-genesis
|
|
92
|
+
action: brownfield_create_epic
|
|
93
|
+
requires: component-impact
|
|
94
|
+
|
|
95
|
+
- id: brownfield-stories
|
|
96
|
+
agent: openlife-conductor
|
|
97
|
+
action: brownfield_create_story
|
|
98
|
+
requires: brownfield-epic
|
|
99
|
+
creates:
|
|
100
|
+
- docs/stories/*.story.md
|
|
101
|
+
|
|
102
|
+
- phase: 4
|
|
103
|
+
name: Development Cycle
|
|
104
|
+
|
|
105
|
+
- id: story-loop
|
|
106
|
+
agent: openlife-conductor
|
|
107
|
+
action: story_development_cycle
|
|
108
|
+
requires: brownfield-stories
|
|
109
|
+
notes: Sentinel runs a11y + visual-regression checks.
|
|
110
|
+
|
|
111
|
+
handoff_prompts:
|
|
112
|
+
phase_0_to_1: "Context loaded. Prism, scan the UI."
|
|
113
|
+
phase_1_to_2: "UI scanned. Prism, reconcile tokens if needed."
|
|
114
|
+
phase_2_to_3: "Reconciliation done. Genesis, draft the epic."
|
|
115
|
+
phase_3_to_4: "Stories ready. Conductor, drive through SDC."
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
workflow:
|
|
2
|
+
id: continuous-deployment
|
|
3
|
+
name: Continuous Deployment Pipeline
|
|
4
|
+
description: >-
|
|
5
|
+
Release pipeline for shipping completed work. Triggered when one or
|
|
6
|
+
more stories reach status Done (Sentinel verdict PASS). Vortex drives
|
|
7
|
+
the actual push / PR / merge / publish. Maestro logs the release event.
|
|
8
|
+
type: custom
|
|
9
|
+
version: "1.0"
|
|
10
|
+
framework: openlife-method
|
|
11
|
+
project_types:
|
|
12
|
+
- any
|
|
13
|
+
|
|
14
|
+
metadata:
|
|
15
|
+
elicit: false
|
|
16
|
+
confirmation_required: true
|
|
17
|
+
|
|
18
|
+
phases:
|
|
19
|
+
- phase_1: Pre-Release Checks
|
|
20
|
+
- phase_2: PR + Merge
|
|
21
|
+
- phase_3: Release Tag + Publish
|
|
22
|
+
- phase_4: Post-Release
|
|
23
|
+
|
|
24
|
+
success_criteria:
|
|
25
|
+
- id: all-stories-in-release-have-status-done
|
|
26
|
+
description: "All stories in release have status Done"
|
|
27
|
+
- id: pre-release-ci-is-green
|
|
28
|
+
description: "Pre-release CI is green"
|
|
29
|
+
- id: tag-is-semver-valid
|
|
30
|
+
description: "Tag is semver-valid"
|
|
31
|
+
- id: release-event-logged-in-framework-memory
|
|
32
|
+
description: "Release event logged in framework memory"
|
|
33
|
+
|
|
34
|
+
failure_handling:
|
|
35
|
+
on_ci_failure: rollback_via_vortex
|
|
36
|
+
on_publish_failure: investigate_then_retry
|
|
37
|
+
|
|
38
|
+
tools:
|
|
39
|
+
allowed:
|
|
40
|
+
- terminal
|
|
41
|
+
- git
|
|
42
|
+
- github-cli
|
|
43
|
+
- npm-publish
|
|
44
|
+
restricted:
|
|
45
|
+
- main-force-push
|
|
46
|
+
|
|
47
|
+
sequence:
|
|
48
|
+
- phase: 1
|
|
49
|
+
name: Pre-Release Checks
|
|
50
|
+
|
|
51
|
+
- id: gather-done-stories
|
|
52
|
+
agent: openlife-conductor
|
|
53
|
+
action: manage_sprint
|
|
54
|
+
creates:
|
|
55
|
+
- .openlife/releases/<tag>/stories.json
|
|
56
|
+
notes: Collect all stories with status=Done since last release tag.
|
|
57
|
+
|
|
58
|
+
- id: pre-release-qa
|
|
59
|
+
agent: openlife-sentinel
|
|
60
|
+
action: qa_gate
|
|
61
|
+
requires: gather-done-stories
|
|
62
|
+
creates:
|
|
63
|
+
- .openlife/releases/<tag>/qa-summary.md
|
|
64
|
+
notes: Final aggregated QA pass across all stories in the release window.
|
|
65
|
+
|
|
66
|
+
- phase: 2
|
|
67
|
+
name: PR + Merge
|
|
68
|
+
|
|
69
|
+
- id: open-release-pr
|
|
70
|
+
agent: openlife-vortex
|
|
71
|
+
action: open_pr
|
|
72
|
+
requires: pre-release-qa
|
|
73
|
+
creates:
|
|
74
|
+
- .openlife/releases/<tag>/pr-number.txt
|
|
75
|
+
notes: 'Title format: "release: vX.Y.Z — <one-liner summary>"'
|
|
76
|
+
|
|
77
|
+
- id: ci-wait
|
|
78
|
+
agent: openlife-vortex
|
|
79
|
+
action: ci_status
|
|
80
|
+
requires: open-release-pr
|
|
81
|
+
duration_estimate: "5-30 min"
|
|
82
|
+
notes: |
|
|
83
|
+
Wait for green. If CI fails, halt and route to Sentinel for analysis.
|
|
84
|
+
Do not auto-merge.
|
|
85
|
+
|
|
86
|
+
- id: merge-pr
|
|
87
|
+
agent: openlife-vortex
|
|
88
|
+
action: merge_pr
|
|
89
|
+
requires: ci-wait
|
|
90
|
+
elicit: true
|
|
91
|
+
notes: |
|
|
92
|
+
Operator confirms before merge.
|
|
93
|
+
Default: squash-merge for clean history.
|
|
94
|
+
|
|
95
|
+
- phase: 3
|
|
96
|
+
name: Release Tag + Publish
|
|
97
|
+
|
|
98
|
+
- id: version-bump
|
|
99
|
+
agent: openlife-vortex
|
|
100
|
+
action: github_devops_version_management
|
|
101
|
+
requires: merge-pr
|
|
102
|
+
creates:
|
|
103
|
+
- package.json (version bumped)
|
|
104
|
+
notes: 'Semver: patch (default) / minor (new feature) / major (breaking).'
|
|
105
|
+
|
|
106
|
+
- id: tag-and-push
|
|
107
|
+
agent: openlife-vortex
|
|
108
|
+
action: tag
|
|
109
|
+
requires: version-bump
|
|
110
|
+
notes: Annotated tag vX.Y.Z; push triggers publish workflow.
|
|
111
|
+
|
|
112
|
+
- id: verify-published
|
|
113
|
+
agent: openlife-vortex
|
|
114
|
+
action: ci_status
|
|
115
|
+
requires: tag-and-push
|
|
116
|
+
duration_estimate: "2-10 min"
|
|
117
|
+
notes: Watch the publish workflow until success. On failure, rollback.
|
|
118
|
+
|
|
119
|
+
- phase: 4
|
|
120
|
+
name: Post-Release
|
|
121
|
+
|
|
122
|
+
- id: release-notes
|
|
123
|
+
agent: openlife-lyra
|
|
124
|
+
action: write_release_notes
|
|
125
|
+
requires: verify-published
|
|
126
|
+
creates:
|
|
127
|
+
- CHANGELOG.md (entry added)
|
|
128
|
+
|
|
129
|
+
- id: log-event
|
|
130
|
+
agent: openlife-maestro
|
|
131
|
+
action: decision_log
|
|
132
|
+
requires: release-notes
|
|
133
|
+
creates:
|
|
134
|
+
- .openlife/decisions.jsonl (release event appended)
|
|
135
|
+
|
|
136
|
+
handoff_prompts:
|
|
137
|
+
phase_1_to_2: "Done stories collected, QA aggregated. Vortex, open the release PR."
|
|
138
|
+
phase_2_to_3: "Merged. Vortex, bump version and tag."
|
|
139
|
+
phase_3_to_4: "Published. Lyra, write release notes; Maestro, log the event."
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
workflow:
|
|
2
|
+
id: epic-orchestration
|
|
3
|
+
name: Epic Orchestration
|
|
4
|
+
description: >-
|
|
5
|
+
Coordinate multiple dependent stories within an epic. Genesis owns the
|
|
6
|
+
epic-level outcome; Conductor drives per-story execution; Maestro
|
|
7
|
+
arbitrates cross-story decisions.
|
|
8
|
+
type: custom
|
|
9
|
+
version: "1.0"
|
|
10
|
+
framework: openlife-method
|
|
11
|
+
project_types:
|
|
12
|
+
- multi-story-epic
|
|
13
|
+
- feature-set
|
|
14
|
+
- release-train
|
|
15
|
+
|
|
16
|
+
metadata:
|
|
17
|
+
elicit: true
|
|
18
|
+
|
|
19
|
+
phases:
|
|
20
|
+
- phase_1: Epic Setup
|
|
21
|
+
- phase_2: Story Sequencing
|
|
22
|
+
- phase_3: Story-by-Story Execution
|
|
23
|
+
- phase_4: Epic Closure
|
|
24
|
+
|
|
25
|
+
success_criteria:
|
|
26
|
+
- id: every-story-in-epic-completes-via-story-
|
|
27
|
+
description: "Every story in epic completes via story-development-cycle"
|
|
28
|
+
- id: inter-story-dependencies-are-explicit-an
|
|
29
|
+
description: "Inter-story dependencies are explicit and respected"
|
|
30
|
+
- id: epic-outcome-measured-against-original-p
|
|
31
|
+
description: "Epic outcome measured against original PRD success metric"
|
|
32
|
+
- id: retro-captures-cross-story-learnings
|
|
33
|
+
description: "Retro captures cross-story learnings"
|
|
34
|
+
|
|
35
|
+
failure_handling:
|
|
36
|
+
on_story_blocked: escalate_to_maestro
|
|
37
|
+
on_epic_descope: regenerate_remaining_stories
|
|
38
|
+
|
|
39
|
+
sequence:
|
|
40
|
+
- phase: 1
|
|
41
|
+
name: Epic Setup
|
|
42
|
+
|
|
43
|
+
- id: epic-load
|
|
44
|
+
agent: openlife-genesis
|
|
45
|
+
action: create_epic
|
|
46
|
+
creates:
|
|
47
|
+
- docs/epics/<id>/EPIC.md
|
|
48
|
+
- docs/epics/<id>/STORY-INDEX.md
|
|
49
|
+
elicit: true
|
|
50
|
+
notes: |
|
|
51
|
+
Confirms PRD, success metrics, scope boundaries.
|
|
52
|
+
Lists all candidate stories with rough complexity score.
|
|
53
|
+
|
|
54
|
+
- phase: 2
|
|
55
|
+
name: Story Sequencing
|
|
56
|
+
|
|
57
|
+
- id: sequence-stories
|
|
58
|
+
agent: openlife-conductor
|
|
59
|
+
action: manage_sprint
|
|
60
|
+
requires: epic-load
|
|
61
|
+
creates:
|
|
62
|
+
- docs/epics/<id>/sequence.yaml
|
|
63
|
+
notes: |
|
|
64
|
+
Topologically sort stories by dependencies.
|
|
65
|
+
Mark parallel-safe stories for concurrent execution.
|
|
66
|
+
|
|
67
|
+
- phase: 3
|
|
68
|
+
name: Story-by-Story Execution
|
|
69
|
+
|
|
70
|
+
- id: story-cycle-loop
|
|
71
|
+
agent: openlife-conductor
|
|
72
|
+
action: story_development_cycle
|
|
73
|
+
requires: sequence-stories
|
|
74
|
+
notes: |
|
|
75
|
+
For each story in sequence, run story-development-cycle.
|
|
76
|
+
On any story's QA gate FAIL: re-enter qa-loop.
|
|
77
|
+
On any story's epic-level blocker: escalate to maestro.
|
|
78
|
+
|
|
79
|
+
- phase: 4
|
|
80
|
+
name: Epic Closure
|
|
81
|
+
|
|
82
|
+
- id: epic-verify
|
|
83
|
+
agent: openlife-sentinel
|
|
84
|
+
action: qa_gate
|
|
85
|
+
requires: story-cycle-loop
|
|
86
|
+
creates:
|
|
87
|
+
- docs/epics/<id>/CLOSURE.md
|
|
88
|
+
notes: Verify epic-level success metric (not just individual stories' AC).
|
|
89
|
+
|
|
90
|
+
- id: epic-retro
|
|
91
|
+
agent: openlife-maestro
|
|
92
|
+
action: retrospective
|
|
93
|
+
requires: epic-verify
|
|
94
|
+
creates:
|
|
95
|
+
- docs/epics/<id>/RETRO.md
|
|
96
|
+
notes: Capture cross-story learnings into framework memory.
|
|
97
|
+
|
|
98
|
+
handoff_prompts:
|
|
99
|
+
phase_1_to_2: "Epic established. Conductor, sequence the stories."
|
|
100
|
+
phase_2_to_3: "Sequence ready. Conductor, drive each story through SDC."
|
|
101
|
+
phase_3_to_4: "All stories Done. Sentinel, verify epic-level success metric."
|