@jaimevalasek/aioson 1.30.2 → 1.36.0
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 +75 -0
- package/README.md +19 -6
- package/docs/en/1-understand/ecosystem-map.md +45 -29
- package/docs/en/1-understand/glossary.md +5 -5
- package/docs/en/1-understand/what-is-aioson.md +5 -5
- package/docs/en/2-start/existing-project.md +7 -7
- package/docs/en/2-start/first-project.md +32 -38
- package/docs/en/2-start/initial-decisions.md +18 -17
- package/docs/en/3-recipes/README.md +2 -2
- package/docs/en/3-recipes/continuity-between-sessions.md +2 -2
- package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +5 -2
- package/docs/en/3-recipes/full-feature-with-sheldon.md +327 -338
- package/docs/en/4-agents/README.md +28 -14
- package/docs/en/4-agents/discovery-design-doc.md +20 -8
- package/docs/en/4-agents/forge-run.md +3 -2
- package/docs/en/5-reference/cli-reference.md +51 -48
- package/docs/en/5-reference/executable-verification.md +10 -7
- package/docs/en/5-reference/parallel.md +2 -0
- package/docs/en/5-reference/qa-browser.md +2 -2
- package/docs/en/README.md +3 -3
- package/docs/pt/1-entender/glossario.md +4 -4
- package/docs/pt/1-entender/mapa-do-ecossistema.md +32 -21
- package/docs/pt/2-comecar/decisoes-iniciais.md +16 -16
- package/docs/pt/2-comecar/primeiro-projeto.md +1 -1
- package/docs/pt/3-receitas/README.md +1 -1
- package/docs/pt/3-receitas/app-saas-do-zero.md +35 -122
- package/docs/pt/3-receitas/feature-completa-com-sheldon.md +289 -338
- package/docs/pt/4-agentes/analyst.md +9 -5
- package/docs/pt/4-agentes/architect.md +9 -5
- package/docs/pt/4-agentes/dev.md +19 -7
- package/docs/pt/4-agentes/discovery-design-doc.md +25 -23
- package/docs/pt/4-agentes/orchestrator.md +164 -118
- package/docs/pt/4-agentes/pentester.md +5 -5
- package/docs/pt/4-agentes/pm.md +15 -7
- package/docs/pt/4-agentes/sheldon.md +166 -99
- package/docs/pt/4-agentes/ux-ui.md +7 -4
- package/docs/pt/5-referencia/agent-chain-continuity.md +14 -5
- package/docs/pt/5-referencia/comandos-cli.md +1 -1
- package/docs/pt/5-referencia/harness-retro.md +2 -1
- package/docs/pt/5-referencia/sdd-automation-scripts.md +6 -6
- package/docs/pt/5-referencia/sdd-framework.md +53 -16
- package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +27 -15
- package/docs/pt/README.md +4 -4
- package/docs/pt/agentes.md +48 -50
- package/package.json +2 -2
- package/src/artifact-kinds.js +110 -0
- package/src/cli.js +82 -42
- package/src/commands/agent-epilogue.js +251 -186
- package/src/commands/agents.js +104 -48
- package/src/commands/audit-code.js +344 -0
- package/src/commands/classify.js +75 -13
- package/src/commands/feature-close.js +43 -18
- package/src/commands/harness-check.js +259 -175
- package/src/commands/harness-retro-promote.js +387 -0
- package/src/commands/live.js +24 -0
- package/src/commands/prototype-check.js +163 -0
- package/src/commands/review-feature.js +189 -0
- package/src/commands/runtime.js +81 -66
- package/src/commands/sync-agents-copy.js +115 -0
- package/src/commands/verification-plan.js +116 -0
- package/src/commands/verify-artifact.js +530 -0
- package/src/commands/verify-implementation.js +428 -0
- package/src/commands/workflow-execute.js +309 -309
- package/src/commands/workflow-next.js +361 -19
- package/src/commands/workflow-plan.js +5 -5
- package/src/constants.js +4 -0
- package/src/gateway-pointer-merge.js +7 -1
- package/src/handoff-contract.js +267 -172
- package/src/harness/contract-integrity-gate.js +172 -0
- package/src/harness/contract-integrity.js +111 -0
- package/src/harness/contract-schema.js +377 -332
- package/src/harness/detect-runtime-feature.js +90 -0
- package/src/harness/static-criteria.js +192 -0
- package/src/i18n/messages/en.js +8 -4
- package/src/i18n/messages/es.js +8 -4
- package/src/i18n/messages/fr.js +8 -4
- package/src/i18n/messages/pt-BR.js +8 -4
- package/src/install-wizard.js +8 -8
- package/src/installer.js +13 -6
- package/src/lib/retro/retro-render.js +10 -1
- package/src/lib/retro/retro-sources.js +45 -27
- package/src/lib/retro/verification-reports.js +230 -0
- package/src/parser.js +6 -0
- package/src/preflight-engine.js +12 -12
- package/src/runtime-store.js +13 -9
- package/src/verification/evidence-bundle.js +251 -0
- package/src/verification/ledger-store.js +221 -0
- package/src/verification/path-policy.js +74 -0
- package/src/verification/policy-engine.js +95 -0
- package/src/verification/prompt-package.js +314 -0
- package/src/verification/redaction.js +77 -0
- package/src/verification/report-parser.js +132 -0
- package/src/verification/report-store.js +97 -0
- package/src/verification/result.js +16 -0
- package/src/verification/runners/index.js +319 -0
- package/src/verification/runtime-telemetry.js +144 -0
- package/src/verification/schema.js +276 -0
- package/src/verification/source-discovery.js +153 -0
- package/src/verification-policy.js +398 -0
- package/src/version.js +52 -1
- package/template/.aioson/agents/analyst.md +9 -6
- package/template/.aioson/agents/architect.md +34 -5
- package/template/.aioson/agents/briefing-refiner.md +25 -0
- package/template/.aioson/agents/briefing.md +69 -12
- package/template/.aioson/agents/committer.md +2 -1
- package/template/.aioson/agents/copywriter.md +30 -21
- package/template/.aioson/agents/design-hybrid-forge.md +28 -15
- package/template/.aioson/agents/dev.md +28 -10
- package/template/.aioson/agents/deyvin.md +3 -2
- package/template/.aioson/agents/discover.md +12 -3
- package/template/.aioson/agents/discovery-design-doc.md +7 -2
- package/template/.aioson/agents/genome.md +19 -10
- package/template/.aioson/agents/neo.md +30 -30
- package/template/.aioson/agents/orache.md +20 -11
- package/template/.aioson/agents/orchestrator.md +84 -7
- package/template/.aioson/agents/pm.md +8 -8
- package/template/.aioson/agents/product.md +15 -11
- package/template/.aioson/agents/profiler-enricher.md +20 -11
- package/template/.aioson/agents/profiler-forge.md +20 -11
- package/template/.aioson/agents/profiler-researcher.md +20 -11
- package/template/.aioson/agents/qa.md +87 -17
- package/template/.aioson/agents/scope-check.md +19 -5
- package/template/.aioson/agents/setup.md +12 -1
- package/template/.aioson/agents/sheldon.md +92 -9
- package/template/.aioson/agents/site-forge.md +11 -2
- package/template/.aioson/agents/squad.md +20 -5
- package/template/.aioson/agents/ux-ui.md +4 -2
- package/template/.aioson/agents/validator.md +33 -1
- package/template/.aioson/config/verification.json +61 -0
- package/template/.aioson/config.md +13 -9
- package/template/.aioson/docs/LAYERS.md +2 -2
- package/template/.aioson/docs/autopilot-handoff.md +10 -10
- package/template/.aioson/docs/dev/execution-discipline.md +41 -0
- package/template/.aioson/docs/dev/phase-loop.md +47 -0
- package/template/.aioson/docs/feature-expansion-taxonomy.md +31 -3
- package/template/.aioson/docs/presets/workflow.config.full-merged.json +15 -0
- package/template/.aioson/docs/presets/workflow.config.lean.json +15 -0
- package/template/.aioson/docs/product/prd-contract.md +12 -12
- package/template/.aioson/docs/prototype-contract.md +98 -0
- package/template/.aioson/docs/reference-identity.md +94 -0
- package/template/.aioson/docs/sheldon/harness-contract.md +155 -28
- package/template/.aioson/docs/verification-config.md +82 -0
- package/template/.aioson/docs/verify-artifact-gates.md +91 -0
- package/template/.aioson/docs/workflow-lean-lane.md +129 -0
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +2 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +16 -14
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +2 -2
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +4 -4
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +15 -15
- package/template/.aioson/skills/process/briefing-expansion-scout/SKILL.md +25 -3
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +5 -3
- package/template/.aioson/skills/process/design-hybrid-forge/references/external-source-ingestion.md +89 -0
- package/template/.aioson/skills/process/product-scope-expansion/SKILL.md +29 -2
- package/template/.aioson/skills/process/prototype-forge/SKILL.md +98 -0
- package/template/.aioson/skills/process/reference-identity-extract/SKILL.md +164 -0
- package/template/.aioson/skills/process/sheldon-expansion-audit/SKILL.md +23 -2
- package/template/.aioson/skills/static/multi-agent-patterns.md +5 -5
- package/template/CLAUDE.md +15 -11
|
@@ -1,338 +1,327 @@
|
|
|
1
|
-
# Recipe: Full feature with `@sheldon` (canonical trail)
|
|
2
|
-
|
|
3
|
-
> **Who this is for:**
|
|
4
|
-
> **Time to run:**
|
|
5
|
-
> **What you'll have at the end:** a feature implemented, tested,
|
|
6
|
-
> **Status:** this is the
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## The trail in one line
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@product >
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
@sheldon >
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
@
|
|
113
|
-
@
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
@
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
@
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
##
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
@
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
@
|
|
195
|
-
@
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
@
|
|
214
|
-
@
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
.
|
|
267
|
-
├──
|
|
268
|
-
├──
|
|
269
|
-
├──
|
|
270
|
-
├──
|
|
271
|
-
├──
|
|
272
|
-
├──
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
├──
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
.
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
- **MICRO feature without new business logic** — overhead not worth it.
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## Next step
|
|
333
|
-
|
|
334
|
-
- [SDD: plans and structure](../5-reference/sdd-planos-e-estrutura.md) — deep dive into the structure `@pm` and `@orchestrator` create
|
|
335
|
-
- [From idea to PRD via @briefing](./from-idea-to-prd-via-briefing.md) — when the idea is still vague
|
|
336
|
-
- [External plans for @product](./external-plans-for-product.md) — when you already planned in another chat
|
|
337
|
-
- [Continuity between sessions](./continuity-between-sessions.md) — to resume the trail in another session
|
|
338
|
-
- [Ecosystem map](../1-understand/ecosystem-map.md) — view all agents
|
|
1
|
+
# Recipe: Full feature with `@sheldon` (canonical SMALL trail)
|
|
2
|
+
|
|
3
|
+
> **Who this is for:** SMALL features where wrong early decisions are costly.
|
|
4
|
+
> **Time to run:** 1–4 hours, spread across 1–2 sessions.
|
|
5
|
+
> **What you'll have at the end:** a feature implemented, tested, and reviewed — spec + code + tests traceable on disk.
|
|
6
|
+
> **Status:** this is the DEFAULT lean lane for SMALL projects (v1.35.0+).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## The trail in one line
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
@product → @sheldon → @dev → @qa
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
`@sheldon` is the **single spec authority** for SMALL: in one pass it produces requirements + spec (Gates A/B/C approved) + design-doc + readiness + implementation-plan + harness-contract, then hands directly to `@dev`.
|
|
17
|
+
|
|
18
|
+
> **MEDIUM?** Use the maestro variant: `@product → @orchestrator → @dev → @pentester → @qa` — `@orchestrator` fans out `@analyst`/`@architect`/`@pm` (+ `@ux-ui` for UI-heavy) as sub-agents, consolidates the gated spec package, then hands to `@dev`. See [MEDIUM maestro variant](#medium-maestro-variant).
|
|
19
|
+
|
|
20
|
+
**Why order matters:** each agent reads the artifacts left by the previous one. Skipping the spec authority means `@dev` improvises — improvisation on big decisions becomes rework.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Scenario
|
|
25
|
+
|
|
26
|
+
You are building a meaningful SMALL feature — typical examples: **subscription billing with Stripe**, **seller dashboard in a marketplace**, **order cancellation with time-window rules**. Something that mixes backend + business rules + optional UI.
|
|
27
|
+
|
|
28
|
+
If the feature is truly trivial (simple CRUD, no business logic), skip this trail — go straight to `@product → @dev → @qa` (MICRO). This trail is a cannon; don't use it to shoot sparrows.
|
|
29
|
+
|
|
30
|
+
## Prerequisites
|
|
31
|
+
|
|
32
|
+
- Project with `aioson init/install` already run
|
|
33
|
+
- `project.context.md` populated (`@setup` already done)
|
|
34
|
+
- Classification **SMALL**
|
|
35
|
+
- AI client open in the project
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 1 — `@product` defines the PRD
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
You > @product
|
|
43
|
+
|
|
44
|
+
@product > Let's define a feature. What's the slug?
|
|
45
|
+
You > billing-subscription
|
|
46
|
+
|
|
47
|
+
@product > In one sentence, the problem?
|
|
48
|
+
You > Customer wants to subscribe to monthly/annual plan and manage payment
|
|
49
|
+
|
|
50
|
+
@product > [guided questions: ACs, out-of-scope, dependencies, SLA limits]
|
|
51
|
+
@product > PRD created at .aioson/context/prd.md (copy at features/billing-subscription/spec.md).
|
|
52
|
+
@product > Next: @sheldon to close the spec and produce the implementation package.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**What was left on disk:** `prd.md` with clear sections (problem, scope, ACs, out-of-scope).
|
|
56
|
+
|
|
57
|
+
> **Variation:** if you already have material in `/plans/` or an approved briefing, `@product` detects it and offers to use it as a base. See [External plans for @product](./external-plans-for-product.md) and [From idea to PRD via @briefing](./from-idea-to-prd-via-briefing.md).
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Step 2 — `@sheldon` closes the spec (single spec authority)
|
|
62
|
+
|
|
63
|
+
This is the step that replaces the old multi-hop chain (`@analyst → @scope-check → @architect → ...`). `@sheldon` does it all in one pass.
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
You > @sheldon
|
|
67
|
+
|
|
68
|
+
@sheldon > Reading prd.md... scanning architecture.md, dependencies, plans/.
|
|
69
|
+
@sheldon > Detected 4 gaps:
|
|
70
|
+
1. PRD does not cover plan downgrade (only upgrade)
|
|
71
|
+
2. No decision on proportional billing (proration)
|
|
72
|
+
3. Stripe webhook has no retry/idempotency policy
|
|
73
|
+
4. No ACs for billing failure after 3 attempts (dunning)
|
|
74
|
+
|
|
75
|
+
@sheldon > Do you have external sources? [URL, local file, "no"]
|
|
76
|
+
You > docs.stripe.com/billing/subscriptions/upgrade-downgrade
|
|
77
|
+
|
|
78
|
+
@sheldon > [researches, reads, cites]
|
|
79
|
+
@sheldon > Closing spec — producing single-spec-authority package:
|
|
80
|
+
✓ requirements-billing-subscription.md (gaps resolved, ACs hardened)
|
|
81
|
+
✓ design-doc-billing-subscription.md (technical structure + reuse decisions)
|
|
82
|
+
✓ readiness-billing-subscription.md (Gate B: ready_with_warnings → cleared)
|
|
83
|
+
✓ implementation-plan.md (3 phases, file-disjoint waves)
|
|
84
|
+
✓ harness-contract.json (RG-smoke criteria + verification commands)
|
|
85
|
+
|
|
86
|
+
@sheldon > Gates A/B/C: approved.
|
|
87
|
+
@sheldon > Next: @dev — implementation-plan.md is the input.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**What `@sheldon` produces in one pass:**
|
|
91
|
+
- Closes all PRD gaps (with web research when needed)
|
|
92
|
+
- Creates the design-doc + readiness verdict (Gate B)
|
|
93
|
+
- Writes the phased implementation-plan
|
|
94
|
+
- Authors the harness-contract with binary success criteria + `verification` commands
|
|
95
|
+
- Signs off Gates A/B/C before handing to `@dev`
|
|
96
|
+
|
|
97
|
+
**Can run multiple times:** if the first pass left gaps, invoke `@sheldon` again. It detects existing artifacts and offers a new round without starting over.
|
|
98
|
+
|
|
99
|
+
> **When NOT to run `@sheldon`:** trivial features (basic CRUD) or MICRO. The spec effort does not pay off.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Step 3 — `@dev` implements (phase loop)
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
You > @dev
|
|
107
|
+
|
|
108
|
+
@dev > Reading implementation-plan.md. 3 phases detected. Starting Phase 1.
|
|
109
|
+
|
|
110
|
+
── Phase 1/3: DB migrations + webhook handler ──
|
|
111
|
+
@dev > [implements]
|
|
112
|
+
@dev > aioson harness:check → OK. Verification sub-agent: pass.
|
|
113
|
+
@dev > Compacting context for Phase 2...
|
|
114
|
+
|
|
115
|
+
── Phase 2/3: billing routes + dunning cron ──
|
|
116
|
+
@dev > [implements]
|
|
117
|
+
@dev > aioson harness:check → OK. Verification sub-agent: pass.
|
|
118
|
+
@dev > Compacting context for Phase 3...
|
|
119
|
+
|
|
120
|
+
── Phase 3/3: UI components ──
|
|
121
|
+
@dev > [implements]
|
|
122
|
+
@dev > aioson harness:check → OK.
|
|
123
|
+
@dev > dev-state.md updated. All phases complete. Next: @qa.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**The `@dev` phase loop:**
|
|
127
|
+
- Implements phase-by-phase, **auto-continues between phases** (no "continue?" prompts)
|
|
128
|
+
- Runs `aioson harness:check` after each phase (deterministic exit-code check)
|
|
129
|
+
- Runs a light per-phase verification sub-agent; fixes in-phase if needed
|
|
130
|
+
- Compacts context between phases to maintain a clean context window
|
|
131
|
+
- The expensive full **Runtime smoke** runs **once at end-of-feature** (inside `@qa`), never per phase
|
|
132
|
+
|
|
133
|
+
> `@dev` is **resumable**. If the session drops midway, next session `@deyvin` reads `dev-state.md` and continues exactly where it left off. See [Continuity between sessions](./continuity-between-sessions.md).
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Step 4 — `@qa` + Runtime smoke gate
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
You > @qa
|
|
141
|
+
|
|
142
|
+
@qa > 18 ACs identified. Writing tests...
|
|
143
|
+
@qa > Failure on AC-12 (proration calculation).
|
|
144
|
+
Iteration 1/2 — passing to @dev autonomously.
|
|
145
|
+
@dev > [fixes calculation, renames misleading variable]
|
|
146
|
+
@qa > Re-running... 18/18 OK.
|
|
147
|
+
@qa > Runtime smoke gate: build + migrations (applied to real DB) + boot + Core happy-path...
|
|
148
|
+
@qa > Runtime smoke: PASS.
|
|
149
|
+
@qa > test-plan.md and qa-report.md saved. Feature ready.
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**`@qa` owns Gate D:** the feature does NOT close until the Runtime smoke gate passes — build + migrations applied to a real DB + boot + Core happy-path on the REAL stack. Passing unit tests + `tsc` is the floor, not "done."
|
|
153
|
+
|
|
154
|
+
**Cap 2 autonomous loop:** `@qa ↔ @dev` runs at most 2 iterations automatically. If it still fails, `@qa` stops and calls you for human review — prevents infinite loops.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Optional steps — security and coverage
|
|
159
|
+
|
|
160
|
+
### Optional: `@pentester ↔ @dev` for security-sensitive features
|
|
161
|
+
|
|
162
|
+
When to activate:
|
|
163
|
+
- Feature touches sensitive data (payment, PII, auth)
|
|
164
|
+
- Going to production
|
|
165
|
+
- There is a regulatory requirement
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
You > @pentester
|
|
169
|
+
|
|
170
|
+
@pentester > Mapping attack surfaces (OWASP + supply chain + tooling).
|
|
171
|
+
@pentester > Findings:
|
|
172
|
+
- HIGH: Stripe webhook without signature validation in dev mode
|
|
173
|
+
- MEDIUM: /billing/portal route without rate-limit
|
|
174
|
+
- LOW: log includes customer email in plaintext
|
|
175
|
+
|
|
176
|
+
@pentester > Iteration 1 — passing to @dev to fix.
|
|
177
|
+
@dev > [fixes signature validation, adds rate-limit, redacts log]
|
|
178
|
+
@pentester > Re-scan: HIGH=0, MEDIUM=0, LOW=1 (accepted as low risk).
|
|
179
|
+
@pentester > security-findings-billing-subscription.json saved.
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
> **Note:** in MEDIUM, `@pentester` is inline (not optional — it runs between `@dev` and `@qa`).
|
|
183
|
+
|
|
184
|
+
### Optional: `@tester` for systematic coverage
|
|
185
|
+
|
|
186
|
+
When to activate:
|
|
187
|
+
- High-load feature needing coverage beyond PRD ACs
|
|
188
|
+
- Suspected edge cases (timezones, concurrency, locales)
|
|
189
|
+
- Legacy code touched by the feature
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
You > @tester
|
|
193
|
+
|
|
194
|
+
@tester > Reading qa-report. Current coverage: 78%. Quality tier: MEDIUM.
|
|
195
|
+
@tester > Identified 3 zones with test smell:
|
|
196
|
+
- Tests coupled to brittle fixtures (3 tests)
|
|
197
|
+
- 2 tests only verify "no throw" (don't check behavior)
|
|
198
|
+
- Missing proration coverage on edge dates (29th–31st of month)
|
|
199
|
+
@tester > Additional test plan saved to test-inventory.md.
|
|
200
|
+
@tester > Next: run @qa again to implement missing tests.
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
After `@tester`, **run `@qa` again** — the `@qa ↔ @dev` loop repeats on the new tests.
|
|
204
|
+
|
|
205
|
+
### Optional: `@validator` — contract verification in fresh context
|
|
206
|
+
|
|
207
|
+
When to activate: a `harness-contract.json` exists and you want a binary verdict before closing.
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
You > @validator
|
|
211
|
+
|
|
212
|
+
@validator > Running harness:check first... 18/18 criteria pass.
|
|
213
|
+
@validator > LLM-judging non-executable criteria (2 criteria)...
|
|
214
|
+
@validator > Verdict: all criteria met. Feature ready for feature:close.
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
`@validator` always runs in a **fresh, isolated context** — never inline in the implementing session.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Opt-in detours — when to add more spec agents
|
|
222
|
+
|
|
223
|
+
The SMALL lean trail (`@product → @sheldon → @dev → @qa`) is the default. The agents below are **NOT default hops** — none are deleted; invoke them explicitly when the need arises, or use the MEDIUM trail which fans them out automatically.
|
|
224
|
+
|
|
225
|
+
| Agent | When to invoke explicitly |
|
|
226
|
+
|---|---|
|
|
227
|
+
| **`@analyst`** | Deep brownfield domain mapping, complex entity relationships |
|
|
228
|
+
| **`@architect`** | Sensitive technical decision requiring a dedicated review (microservices boundary, library choice) |
|
|
229
|
+
| **`@pm`** | Large feature needing formal user stories + backlog management |
|
|
230
|
+
| **`@ux-ui`** | UI-heavy feature needing a formal design system spec before `@dev` |
|
|
231
|
+
| **`@discovery-design-doc`** | Exploratory mode (vague idea → clarity checkpoint); or an explicit pre-dev design contract |
|
|
232
|
+
| **`@scope-check`** | Explicit drift audit (intent vs plan vs diff) — `spec:analyze` also runs automatically at the `@dev`/`@qa` done gate |
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## MEDIUM maestro variant
|
|
237
|
+
|
|
238
|
+
**Trail:** `@product → @orchestrator → @dev → @pentester → @qa`
|
|
239
|
+
|
|
240
|
+
`@orchestrator` is the **single spec authority** for MEDIUM (horizontal / fan-out): it spawns `@analyst` + `@architect` + `@pm` (+ `@ux-ui` when UI-heavy) as sub-agents, then **consolidates / verifies / redoes** their output into one gated spec package, then hands to `@dev`. Optionally `@sheldon` hardens the PRD as a pre-step.
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
You > @orchestrator
|
|
244
|
+
|
|
245
|
+
@orchestrator > Starting MEDIUM spec phase. Fanning out sub-agents...
|
|
246
|
+
[spawns @analyst → maps domain: Subscription, Plan, Invoice, PaymentMethod]
|
|
247
|
+
[spawns @architect → structures modules: webhook handler, dunning cron, migrations]
|
|
248
|
+
[spawns @pm → implementation plan + user stories]
|
|
249
|
+
@orchestrator > Consolidating output... verifying cross-agent consistency...
|
|
250
|
+
@orchestrator > Gated spec package ready:
|
|
251
|
+
- requirements.md (consolidated + ACs hardened)
|
|
252
|
+
- architecture.md (decisions)
|
|
253
|
+
- tasks.md (user stories + implementation plan)
|
|
254
|
+
- harness-contract.json (RG-smoke criteria + verifications)
|
|
255
|
+
@orchestrator > Gates A/B/C: approved. Next: @dev.
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
After `@orchestrator`, `@dev` runs the same phase loop as SMALL. `@pentester` then runs inline (not optional in MEDIUM), and `@qa` closes with the Runtime smoke gate.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## What was left on disk (SMALL audit trail)
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
.aioson/context/
|
|
266
|
+
├── prd.md ← @product
|
|
267
|
+
├── requirements-billing-subscription.md ← @sheldon (closed gaps, ACs)
|
|
268
|
+
├── design-doc-billing-subscription.md ← @sheldon (technical structure)
|
|
269
|
+
├── readiness-billing-subscription.md ← @sheldon (Gate B)
|
|
270
|
+
├── implementation-plan.md ← @sheldon (phases + waves)
|
|
271
|
+
├── dev-state.md ← @dev (phase log, updated each session)
|
|
272
|
+
├── test-plan.md ← @qa
|
|
273
|
+
├── qa-report-billing-subscription.md ← @qa
|
|
274
|
+
├── test-inventory.md ← @tester (optional)
|
|
275
|
+
├── security-findings-billing-subscription.json ← @pentester (optional)
|
|
276
|
+
└── features/billing-subscription/
|
|
277
|
+
├── spec.md
|
|
278
|
+
└── done/ ← archived by feature:close
|
|
279
|
+
|
|
280
|
+
.aioson/plans/billing-subscription/
|
|
281
|
+
├── harness-contract.json ← @sheldon (success contract)
|
|
282
|
+
└── progress.json ← current status
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Six months from now, anyone (or any AI) reads these files and understands **everything**: what was planned, why, what was implemented, what was discarded.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Trail variations
|
|
290
|
+
|
|
291
|
+
### MICRO (no spec phase)
|
|
292
|
+
`@product → @dev → @qa`. Skip everything else. The Constitution's Article II (*Right-Sized Process*) protects you from unnecessary ceremony.
|
|
293
|
+
|
|
294
|
+
### SMALL lean (this trail — default)
|
|
295
|
+
`@product → @sheldon → @dev → @qa`. `@sheldon` is the single spec authority. Add opt-in detours (`@analyst`, `@architect`, `@ux-ui`, etc.) when explicitly needed.
|
|
296
|
+
|
|
297
|
+
### MEDIUM maestro
|
|
298
|
+
`@product → @orchestrator → @dev → @pentester → @qa`. `@orchestrator` fans out `@analyst`/`@architect`/`@pm`/`@ux-ui` as sub-agents automatically. `@pentester` is inline (not opt-in).
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Troubleshooting
|
|
303
|
+
|
|
304
|
+
| Problem | Solution |
|
|
305
|
+
|---|---|
|
|
306
|
+
| `@sheldon` complains the PRD is vague | Go back to `@product` and refine. `@sheldon` does not invent what is not clear. |
|
|
307
|
+
| `@dev` phase loop stalls mid-phase | `@deyvin` picks up via `dev-state.md`. See [Continuity between sessions](./continuity-between-sessions.md). |
|
|
308
|
+
| `@qa ↔ @dev` loop hit cap 2 | There is a design defect. Return to `@sheldon` or `@product` before writing more code. |
|
|
309
|
+
| `@pentester` HIGH finding won't clear | Don't force it. Document as accepted risk or defer the feature. |
|
|
310
|
+
| `@orchestrator` creates only 1 lane | Your feature is probably SMALL in disguise. Use the `@sheldon` trail instead. |
|
|
311
|
+
| Session dropped mid-`@dev` | `@deyvin` picks up. See [Continuity between sessions](./continuity-between-sessions.md). |
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## When NOT to use this trail
|
|
316
|
+
|
|
317
|
+
- **Isolated bug fix** — go straight to `@dev` (with bug ID reference) and `@qa`.
|
|
318
|
+
- **Refactor without behavior change** — use [Large refactor](./large-refactor.md).
|
|
319
|
+
- **MICRO feature without new business logic** — overhead not worth it.
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Next step
|
|
324
|
+
|
|
325
|
+
- [From idea to PRD via @briefing](./from-idea-to-prd-via-briefing.md) — when the idea is still vague
|
|
326
|
+
- [Continuity between sessions](./continuity-between-sessions.md) — to resume the trail in another session
|
|
327
|
+
- [Ecosystem map](../1-understand/ecosystem-map.md) — view all agents
|