bmad-overlay 0.1.1
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/CHANGELOG.md +24 -0
- package/LICENSE +21 -0
- package/PUBLISH.md +82 -0
- package/QUICKSTART.md +69 -0
- package/README.md +84 -0
- package/agents/orchestrator.md +94 -0
- package/config/agent-map.yaml +40 -0
- package/customizations/bmm-dev.customize.yaml +25 -0
- package/customizations/bmm-pm.customize.yaml +24 -0
- package/customizations/bmm-qa.customize.yaml +23 -0
- package/install/INSTALL.md +151 -0
- package/install/check-package.mjs +21 -0
- package/install/install-overlay.mjs +279 -0
- package/install/install-overlay.sh +14 -0
- package/install/merge-bmad-customizations.mjs +179 -0
- package/package.json +32 -0
- package/policies/routing-policy.md +60 -0
- package/runtime/README.md +112 -0
- package/runtime/STAGE_RUNNER.md +53 -0
- package/runtime/codex-orchestrator.js +922 -0
- package/runtime/codex-stage-runner.js +747 -0
- package/skills/README.md +38 -0
- package/skills/orchestrator-advance-stage/SKILL.md +55 -0
- package/skills/orchestrator-advance-stage/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-advance-stage/workflow.md +47 -0
- package/skills/orchestrator-block-stage/SKILL.md +44 -0
- package/skills/orchestrator-block-stage/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-block-stage/workflow.md +44 -0
- package/skills/orchestrator-close-run/SKILL.md +59 -0
- package/skills/orchestrator-close-run/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-close-run/workflow.md +47 -0
- package/skills/orchestrator-execute-active-stage/SKILL.md +50 -0
- package/skills/orchestrator-execute-active-stage/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-execute-active-stage/workflow.md +42 -0
- package/skills/orchestrator-launch-council/SKILL.md +53 -0
- package/skills/orchestrator-launch-council/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-launch-council/workflow.md +43 -0
- package/skills/orchestrator-resume-stage/SKILL.md +47 -0
- package/skills/orchestrator-resume-stage/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-resume-stage/workflow.md +45 -0
- package/skills/orchestrator-start-run/SKILL.md +62 -0
- package/skills/orchestrator-start-run/bmad-skill-manifest.yaml +1 -0
- package/skills/orchestrator-start-run/workflow.md +47 -0
- package/templates/CLAUDE.md +51 -0
- package/templates/analysis-synthesis.md +25 -0
- package/templates/analyst-seat-output.yaml +7 -0
- package/templates/architecture-handoff.yaml +8 -0
- package/templates/architecture-seat-output.yaml +7 -0
- package/templates/architecture-synthesis.md +23 -0
- package/templates/current-stage.yaml +26 -0
- package/templates/delivery-seat-output.yaml +7 -0
- package/templates/delivery-synthesis.md +27 -0
- package/templates/docs-index.md +19 -0
- package/templates/docs-studio-layout.md +88 -0
- package/templates/feature-index.md +21 -0
- package/templates/intake-request.yaml +12 -0
- package/templates/pm-handoff.yaml +11 -0
- package/templates/pm-seat-output.yaml +7 -0
- package/templates/pm-synthesis.md +25 -0
- package/templates/qa-review-findings.yaml +7 -0
- package/templates/qa-review-handoff.yaml +10 -0
- package/templates/qa-review-seat-output.yaml +7 -0
- package/templates/qa-review-summary.md +21 -0
- package/templates/run-manifest.md +46 -0
- package/templates/stage-handoff.yaml +8 -0
- package/workflows/councils/analyst-council.md +229 -0
- package/workflows/councils/architecture-council.md +240 -0
- package/workflows/councils/delivery-council.md +379 -0
- package/workflows/councils/orchestrator-governance.md +474 -0
- package/workflows/councils/pm-council.md +241 -0
- package/workflows/councils/qa-review-council.md +241 -0
- package/workflows/new-saas.md +51 -0
- package/workflows/orchestrated-saas-studio.md +155 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Council Spec: Analyst Council
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Convert a vague or partially defined product request into an analysis synthesis that a PM council can use without rereading raw discovery.
|
|
6
|
+
|
|
7
|
+
## Entry Conditions
|
|
8
|
+
|
|
9
|
+
Run when:
|
|
10
|
+
|
|
11
|
+
- the request is net-new
|
|
12
|
+
- the product framing is weak
|
|
13
|
+
- the ICP is unclear
|
|
14
|
+
- the value proposition is still fuzzy
|
|
15
|
+
- the orchestrator confidence is not high
|
|
16
|
+
|
|
17
|
+
## Inputs
|
|
18
|
+
|
|
19
|
+
### Required
|
|
20
|
+
|
|
21
|
+
- orchestrator intake brief
|
|
22
|
+
|
|
23
|
+
### Optional but preferred
|
|
24
|
+
|
|
25
|
+
- `docs/index.md`
|
|
26
|
+
- existing feature docs
|
|
27
|
+
- `product-brief.md`
|
|
28
|
+
- `PRD.md`
|
|
29
|
+
- existing research docs
|
|
30
|
+
- `_bmad-output/project-context.md`
|
|
31
|
+
|
|
32
|
+
## Seats
|
|
33
|
+
|
|
34
|
+
### Lead Analyst
|
|
35
|
+
|
|
36
|
+
Owns convergence and synthesis.
|
|
37
|
+
|
|
38
|
+
Prompt contract:
|
|
39
|
+
|
|
40
|
+
- read the orchestrator intake first
|
|
41
|
+
- read any existing authoritative docs before reacting
|
|
42
|
+
- identify the key tensions between the other seats
|
|
43
|
+
- force a single recommendation, not a vague summary
|
|
44
|
+
- write the final synthesis and handoff
|
|
45
|
+
|
|
46
|
+
Must produce:
|
|
47
|
+
|
|
48
|
+
- council synthesis
|
|
49
|
+
- council handoff
|
|
50
|
+
|
|
51
|
+
### Market Analyst
|
|
52
|
+
|
|
53
|
+
Owns competitors, substitutes, positioning, monetization clues.
|
|
54
|
+
|
|
55
|
+
Prompt contract:
|
|
56
|
+
|
|
57
|
+
- analyze the market category
|
|
58
|
+
- identify substitutes even if direct competitors are unknown
|
|
59
|
+
- infer where willingness to pay might exist
|
|
60
|
+
- avoid pretending certainty when evidence is weak
|
|
61
|
+
|
|
62
|
+
Must produce:
|
|
63
|
+
|
|
64
|
+
- alternatives today
|
|
65
|
+
- positioning notes
|
|
66
|
+
- market risks
|
|
67
|
+
|
|
68
|
+
### User Problem Analyst
|
|
69
|
+
|
|
70
|
+
Owns ICP, JTBD, pain points, outcomes, value proposition clues.
|
|
71
|
+
|
|
72
|
+
Prompt contract:
|
|
73
|
+
|
|
74
|
+
- define the most likely first user
|
|
75
|
+
- identify the concrete pain they experience today
|
|
76
|
+
- translate that pain into desired outcomes
|
|
77
|
+
- prefer one primary ICP over a broad list
|
|
78
|
+
|
|
79
|
+
Must produce:
|
|
80
|
+
|
|
81
|
+
- primary ICP
|
|
82
|
+
- top pains
|
|
83
|
+
- desired outcomes
|
|
84
|
+
- early value proposition framing
|
|
85
|
+
|
|
86
|
+
### Feasibility Analyst
|
|
87
|
+
|
|
88
|
+
Owns technical, data, workflow, and operational constraints.
|
|
89
|
+
|
|
90
|
+
Prompt contract:
|
|
91
|
+
|
|
92
|
+
- identify hidden complexity
|
|
93
|
+
- detect integration or data dependencies
|
|
94
|
+
- call out operational realities that may change MVP shape
|
|
95
|
+
- bias toward constraints that affect scope immediately
|
|
96
|
+
|
|
97
|
+
Must produce:
|
|
98
|
+
|
|
99
|
+
- feasibility constraints
|
|
100
|
+
- implementation complexity notes
|
|
101
|
+
- operational risks
|
|
102
|
+
|
|
103
|
+
### Adversarial Analyst
|
|
104
|
+
|
|
105
|
+
Owns failure analysis, weak assumptions, fake differentiation, and false demand.
|
|
106
|
+
|
|
107
|
+
Prompt contract:
|
|
108
|
+
|
|
109
|
+
- attack the strongest assumption, not the weakest one
|
|
110
|
+
- challenge fake novelty and vanity scope
|
|
111
|
+
- identify why the product may not be compelling enough
|
|
112
|
+
- keep criticism actionable
|
|
113
|
+
|
|
114
|
+
Must produce:
|
|
115
|
+
|
|
116
|
+
- adversarial findings
|
|
117
|
+
- weak assumptions
|
|
118
|
+
- reasons to narrow or reject
|
|
119
|
+
|
|
120
|
+
## Output Files
|
|
121
|
+
|
|
122
|
+
- `docs/studio/runs/<run_id>/analysis-synthesis.md`
|
|
123
|
+
- `docs/studio/runs/<run_id>/analysis-handoff.yaml`
|
|
124
|
+
- `docs/studio/runs/<run_id>/analysis-market-analyst.yaml`
|
|
125
|
+
- `docs/studio/runs/<run_id>/analysis-user-problem-analyst.yaml`
|
|
126
|
+
- `docs/studio/runs/<run_id>/analysis-feasibility-analyst.yaml`
|
|
127
|
+
- `docs/studio/runs/<run_id>/analysis-adversarial-analyst.yaml`
|
|
128
|
+
|
|
129
|
+
These are overlay-owned artifacts and are intentionally kept under `docs/studio/runs/<run_id>/`.
|
|
130
|
+
|
|
131
|
+
## Per-Seat Output Contract
|
|
132
|
+
|
|
133
|
+
Each seat should return a concise structured note:
|
|
134
|
+
|
|
135
|
+
```yaml
|
|
136
|
+
seat: ""
|
|
137
|
+
focus: ""
|
|
138
|
+
key_findings: []
|
|
139
|
+
risks: []
|
|
140
|
+
assumptions: []
|
|
141
|
+
recommendation: ""
|
|
142
|
+
confidence: "high|medium|low"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
These seat outputs are persistent files in `docs/studio/runs/<run_id>/`, not ephemeral intermediate results.
|
|
146
|
+
|
|
147
|
+
## Lead Analyst Synthesis Contract
|
|
148
|
+
|
|
149
|
+
The Lead Analyst must produce one synthesis document with these sections:
|
|
150
|
+
|
|
151
|
+
1. Request Summary
|
|
152
|
+
2. Problem Statement
|
|
153
|
+
3. Primary ICP
|
|
154
|
+
4. Top Pains and Outcomes
|
|
155
|
+
5. Alternatives Today
|
|
156
|
+
6. Value Proposition
|
|
157
|
+
7. V1 Scope Boundary
|
|
158
|
+
8. Assumptions To Validate
|
|
159
|
+
9. Feasibility Constraints
|
|
160
|
+
10. Adversarial Findings
|
|
161
|
+
11. Council Decision
|
|
162
|
+
12. Recommended Input To PM Council
|
|
163
|
+
|
|
164
|
+
## Lead Analyst Writing Rules
|
|
165
|
+
|
|
166
|
+
- do not dump all seat notes verbatim
|
|
167
|
+
- resolve contradictions explicitly
|
|
168
|
+
- if confidence is low, say why
|
|
169
|
+
- convert analysis into PM-ready framing
|
|
170
|
+
- name what is still unknown, but do not block for trivia
|
|
171
|
+
|
|
172
|
+
## Handoff To PM Council
|
|
173
|
+
|
|
174
|
+
The analyst handoff must answer these PM-facing questions:
|
|
175
|
+
|
|
176
|
+
- what exact product opportunity should PM shape?
|
|
177
|
+
- who is the first user and why them?
|
|
178
|
+
- what should PM keep out of MVP?
|
|
179
|
+
- what assumptions must PM preserve or validate?
|
|
180
|
+
- what major risks should influence prioritization?
|
|
181
|
+
|
|
182
|
+
## PM Handoff Contract
|
|
183
|
+
|
|
184
|
+
Suggested structure:
|
|
185
|
+
|
|
186
|
+
```yaml
|
|
187
|
+
stage: "analyst-council"
|
|
188
|
+
decision: "continue|narrow|reject"
|
|
189
|
+
why: ""
|
|
190
|
+
must_read_next:
|
|
191
|
+
- "docs/studio/runs/<run_id>/analysis-synthesis.md"
|
|
192
|
+
artifacts_updated:
|
|
193
|
+
- "docs/studio/runs/<run_id>/analysis-synthesis.md"
|
|
194
|
+
- "docs/studio/runs/<run_id>/analysis-handoff.yaml"
|
|
195
|
+
open_questions: []
|
|
196
|
+
blocked_by: []
|
|
197
|
+
recommended_next_stage: "pm-council|orchestrator"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Minimum Required Synthesis
|
|
201
|
+
|
|
202
|
+
- problem statement
|
|
203
|
+
- primary ICP
|
|
204
|
+
- top pains
|
|
205
|
+
- value proposition
|
|
206
|
+
- V1 scope boundary
|
|
207
|
+
- assumptions to validate
|
|
208
|
+
- continue/narrow/reject decision
|
|
209
|
+
|
|
210
|
+
## Escalation Threshold
|
|
211
|
+
|
|
212
|
+
Escalate only for:
|
|
213
|
+
|
|
214
|
+
- multiple equally plausible product directions
|
|
215
|
+
- no inferable ICP
|
|
216
|
+
- conflict with existing authoritative docs
|
|
217
|
+
- external business decision required
|
|
218
|
+
|
|
219
|
+
## Next Consumer
|
|
220
|
+
|
|
221
|
+
- `PM Council`
|
|
222
|
+
|
|
223
|
+
## Suggested Execution Order
|
|
224
|
+
|
|
225
|
+
1. Market Analyst
|
|
226
|
+
2. User Problem Analyst
|
|
227
|
+
3. Feasibility Analyst
|
|
228
|
+
4. Adversarial Analyst
|
|
229
|
+
5. Lead Analyst synthesis
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# Council Spec: Architecture Council
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Translate a PM-ready product plan into implementation strategy, system boundaries, technical decisions, and delivery constraints that the Delivery Council can execute without reopening product discovery.
|
|
6
|
+
|
|
7
|
+
## Entry Conditions
|
|
8
|
+
|
|
9
|
+
Run when:
|
|
10
|
+
|
|
11
|
+
- a product brief or PRD exists
|
|
12
|
+
- the MVP scope is stable enough to design against
|
|
13
|
+
- the implementation path needs explicit technical decisions
|
|
14
|
+
- the request is not just a trivial copy change or content tweak
|
|
15
|
+
- the orchestrator confidence is not low on product framing
|
|
16
|
+
|
|
17
|
+
## Skip Conditions
|
|
18
|
+
|
|
19
|
+
The orchestrator may skip or shorten the Architecture Council when all of the following are true:
|
|
20
|
+
|
|
21
|
+
- the change is fully bounded and uses an already established pattern
|
|
22
|
+
- no new system boundary, data model, or integration is introduced
|
|
23
|
+
- the Delivery Council can implement from existing project context and stories
|
|
24
|
+
- the request is clearly a minor follow-up to an already-approved slice
|
|
25
|
+
|
|
26
|
+
If skipped, the orchestrator must record a short rationale in the handoff path and point to the authoritative architecture source already in force.
|
|
27
|
+
|
|
28
|
+
## Inputs
|
|
29
|
+
|
|
30
|
+
### Required
|
|
31
|
+
|
|
32
|
+
- PM council synthesis
|
|
33
|
+
- orchestrator intake brief
|
|
34
|
+
|
|
35
|
+
### Optional but preferred
|
|
36
|
+
|
|
37
|
+
- `docs/index.md`
|
|
38
|
+
- feature-local docs
|
|
39
|
+
- `_bmad-output/project-context.md`
|
|
40
|
+
- `_bmad-output/planning-artifacts/product-brief.md`
|
|
41
|
+
- `_bmad-output/planning-artifacts/PRD.md`
|
|
42
|
+
- any existing architecture docs
|
|
43
|
+
- any existing stories or epic breakdowns
|
|
44
|
+
|
|
45
|
+
## Seats
|
|
46
|
+
|
|
47
|
+
### Lead Architect
|
|
48
|
+
|
|
49
|
+
Owns convergence and the final architecture synthesis.
|
|
50
|
+
|
|
51
|
+
Prompt contract:
|
|
52
|
+
|
|
53
|
+
- read PM synthesis before forming any architectural position
|
|
54
|
+
- identify the minimum safe implementation shape
|
|
55
|
+
- resolve contradictions between seats explicitly
|
|
56
|
+
- turn architecture choices into deployable constraints
|
|
57
|
+
- write the final synthesis and handoff
|
|
58
|
+
|
|
59
|
+
Must produce:
|
|
60
|
+
|
|
61
|
+
- architecture synthesis
|
|
62
|
+
- architecture handoff
|
|
63
|
+
|
|
64
|
+
### Application Architect
|
|
65
|
+
|
|
66
|
+
Owns application boundaries, API shape, module structure, and service seams.
|
|
67
|
+
|
|
68
|
+
Prompt contract:
|
|
69
|
+
|
|
70
|
+
- identify the simplest app structure that preserves clarity
|
|
71
|
+
- define boundaries that keep implementation from becoming tangled
|
|
72
|
+
- call out API and module decisions that developers must follow
|
|
73
|
+
- avoid over-architecting if a monolith suffices
|
|
74
|
+
|
|
75
|
+
Must produce:
|
|
76
|
+
|
|
77
|
+
- application structure notes
|
|
78
|
+
- API and boundary risks
|
|
79
|
+
- module boundary recommendations
|
|
80
|
+
|
|
81
|
+
### Data Architect
|
|
82
|
+
|
|
83
|
+
Owns schema, persistence, tenancy, state, migration, and reporting concerns.
|
|
84
|
+
|
|
85
|
+
Prompt contract:
|
|
86
|
+
|
|
87
|
+
- identify the minimal durable data model
|
|
88
|
+
- call out migration and tenancy implications
|
|
89
|
+
- flag places where data shape will constrain delivery
|
|
90
|
+
- keep schema decisions explicit and avoid ambiguity
|
|
91
|
+
|
|
92
|
+
Must produce:
|
|
93
|
+
|
|
94
|
+
- data model notes
|
|
95
|
+
- persistence risks
|
|
96
|
+
- migration concerns
|
|
97
|
+
|
|
98
|
+
### Delivery Architect
|
|
99
|
+
|
|
100
|
+
Owns decomposition into implementation slices and sequencing for execution.
|
|
101
|
+
|
|
102
|
+
Prompt contract:
|
|
103
|
+
|
|
104
|
+
- break architecture into buildable slices
|
|
105
|
+
- identify dependencies between slices
|
|
106
|
+
- protect the Delivery Council from vague scope
|
|
107
|
+
- prefer slices that can be implemented and tested independently
|
|
108
|
+
|
|
109
|
+
Must produce:
|
|
110
|
+
|
|
111
|
+
- delivery slices
|
|
112
|
+
- sequencing notes
|
|
113
|
+
- dependency map
|
|
114
|
+
|
|
115
|
+
### Constraint Reviewer
|
|
116
|
+
|
|
117
|
+
Owns hidden coupling, scaling traps, edge cases, and feasibility friction.
|
|
118
|
+
|
|
119
|
+
Prompt contract:
|
|
120
|
+
|
|
121
|
+
- attack assumptions that would leak into implementation
|
|
122
|
+
- identify risks that only appear under load or with real users
|
|
123
|
+
- challenge architecture choices that create avoidable fragility
|
|
124
|
+
- keep feedback actionable and scoped
|
|
125
|
+
|
|
126
|
+
Must produce:
|
|
127
|
+
|
|
128
|
+
- constraint risks
|
|
129
|
+
- edge cases
|
|
130
|
+
- rejection or caution notes
|
|
131
|
+
|
|
132
|
+
## Output Files
|
|
133
|
+
|
|
134
|
+
- `docs/studio/runs/<run_id>/architecture-synthesis.md`
|
|
135
|
+
- `docs/studio/runs/<run_id>/architecture-handoff.yaml`
|
|
136
|
+
- `docs/studio/runs/<run_id>/architecture-application-architect.yaml`
|
|
137
|
+
- `docs/studio/runs/<run_id>/architecture-data-architect.yaml`
|
|
138
|
+
- `docs/studio/runs/<run_id>/architecture-delivery-architect.yaml`
|
|
139
|
+
- `docs/studio/runs/<run_id>/architecture-constraint-reviewer.yaml`
|
|
140
|
+
|
|
141
|
+
These are overlay-owned artifacts and are intentionally kept in `docs/studio/runs/<run_id>/`.
|
|
142
|
+
|
|
143
|
+
## Per-Seat Output Contract
|
|
144
|
+
|
|
145
|
+
Each seat should return a concise structured note:
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
seat: ""
|
|
149
|
+
focus: ""
|
|
150
|
+
key_findings: []
|
|
151
|
+
risks: []
|
|
152
|
+
assumptions: []
|
|
153
|
+
recommendation: ""
|
|
154
|
+
confidence: "high|medium|low"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
These seat outputs are persistent files in `docs/studio/runs/<run_id>/`, not ephemeral intermediate results.
|
|
158
|
+
|
|
159
|
+
## Lead Architect Synthesis Contract
|
|
160
|
+
|
|
161
|
+
The Lead Architect must produce one synthesis document with these sections:
|
|
162
|
+
|
|
163
|
+
1. Request Summary
|
|
164
|
+
2. Product and Scope Anchors
|
|
165
|
+
3. Key Technical Decisions
|
|
166
|
+
4. System Boundaries
|
|
167
|
+
5. Data and State Decisions
|
|
168
|
+
6. API and Module Decisions
|
|
169
|
+
7. Delivery Slices
|
|
170
|
+
8. Constraints and Risks
|
|
171
|
+
9. Deferred Decisions
|
|
172
|
+
10. Council Decision
|
|
173
|
+
11. Recommended Input To Delivery Council
|
|
174
|
+
|
|
175
|
+
## Lead Architect Writing Rules
|
|
176
|
+
|
|
177
|
+
- do not restate PM content unless it affects implementation
|
|
178
|
+
- make decisions explicit and citable
|
|
179
|
+
- prefer boring, safe patterns when they fit
|
|
180
|
+
- identify what must stay stable for the Delivery Council
|
|
181
|
+
- do not introduce unnecessary abstraction
|
|
182
|
+
|
|
183
|
+
## Handoff To Delivery Council
|
|
184
|
+
|
|
185
|
+
The architecture handoff must answer these delivery-facing questions:
|
|
186
|
+
|
|
187
|
+
- what implementation slices should be built first?
|
|
188
|
+
- what boundaries must developers not cross?
|
|
189
|
+
- what data or API decisions are locked?
|
|
190
|
+
- what risks should shape ordering and tests?
|
|
191
|
+
- what should the Delivery Council treat as non-negotiable?
|
|
192
|
+
|
|
193
|
+
## Delivery Handoff Contract
|
|
194
|
+
|
|
195
|
+
Suggested structure:
|
|
196
|
+
|
|
197
|
+
```yaml
|
|
198
|
+
stage: "architecture-council"
|
|
199
|
+
decision: "continue|narrow|reject"
|
|
200
|
+
why: ""
|
|
201
|
+
must_read_next:
|
|
202
|
+
- "docs/studio/runs/<run_id>/architecture-synthesis.md"
|
|
203
|
+
artifacts_updated:
|
|
204
|
+
- "docs/studio/runs/<run_id>/architecture-synthesis.md"
|
|
205
|
+
- "docs/studio/runs/<run_id>/architecture-handoff.yaml"
|
|
206
|
+
open_questions: []
|
|
207
|
+
blocked_by: []
|
|
208
|
+
recommended_next_stage: "delivery-council|orchestrator"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Minimum Required Synthesis
|
|
212
|
+
|
|
213
|
+
- product and scope anchors
|
|
214
|
+
- key technical decisions
|
|
215
|
+
- system boundaries
|
|
216
|
+
- data and state decisions
|
|
217
|
+
- delivery slices
|
|
218
|
+
- constraints and risks
|
|
219
|
+
- continue/narrow/reject decision
|
|
220
|
+
|
|
221
|
+
## Escalation Threshold
|
|
222
|
+
|
|
223
|
+
Escalate only for:
|
|
224
|
+
|
|
225
|
+
- product scope that is still unstable enough to invalidate architecture
|
|
226
|
+
- architectural directions that are materially incompatible
|
|
227
|
+
- missing critical information that cannot be inferred from docs or code
|
|
228
|
+
- external infrastructure, security, or cost decisions that require the user
|
|
229
|
+
|
|
230
|
+
## Next Consumer
|
|
231
|
+
|
|
232
|
+
- `Delivery Council`
|
|
233
|
+
|
|
234
|
+
## Suggested Execution Order
|
|
235
|
+
|
|
236
|
+
1. Application Architect
|
|
237
|
+
2. Data Architect
|
|
238
|
+
3. Delivery Architect
|
|
239
|
+
4. Constraint Reviewer
|
|
240
|
+
5. Lead Architect synthesis
|