@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.
Files changed (158) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +19 -6
  3. package/docs/en/1-understand/ecosystem-map.md +45 -29
  4. package/docs/en/1-understand/glossary.md +5 -5
  5. package/docs/en/1-understand/what-is-aioson.md +5 -5
  6. package/docs/en/2-start/existing-project.md +7 -7
  7. package/docs/en/2-start/first-project.md +32 -38
  8. package/docs/en/2-start/initial-decisions.md +18 -17
  9. package/docs/en/3-recipes/README.md +2 -2
  10. package/docs/en/3-recipes/continuity-between-sessions.md +2 -2
  11. package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +5 -2
  12. package/docs/en/3-recipes/full-feature-with-sheldon.md +327 -338
  13. package/docs/en/4-agents/README.md +28 -14
  14. package/docs/en/4-agents/discovery-design-doc.md +20 -8
  15. package/docs/en/4-agents/forge-run.md +3 -2
  16. package/docs/en/5-reference/cli-reference.md +51 -48
  17. package/docs/en/5-reference/executable-verification.md +10 -7
  18. package/docs/en/5-reference/parallel.md +2 -0
  19. package/docs/en/5-reference/qa-browser.md +2 -2
  20. package/docs/en/README.md +3 -3
  21. package/docs/pt/1-entender/glossario.md +4 -4
  22. package/docs/pt/1-entender/mapa-do-ecossistema.md +32 -21
  23. package/docs/pt/2-comecar/decisoes-iniciais.md +16 -16
  24. package/docs/pt/2-comecar/primeiro-projeto.md +1 -1
  25. package/docs/pt/3-receitas/README.md +1 -1
  26. package/docs/pt/3-receitas/app-saas-do-zero.md +35 -122
  27. package/docs/pt/3-receitas/feature-completa-com-sheldon.md +289 -338
  28. package/docs/pt/4-agentes/analyst.md +9 -5
  29. package/docs/pt/4-agentes/architect.md +9 -5
  30. package/docs/pt/4-agentes/dev.md +19 -7
  31. package/docs/pt/4-agentes/discovery-design-doc.md +25 -23
  32. package/docs/pt/4-agentes/orchestrator.md +164 -118
  33. package/docs/pt/4-agentes/pentester.md +5 -5
  34. package/docs/pt/4-agentes/pm.md +15 -7
  35. package/docs/pt/4-agentes/sheldon.md +166 -99
  36. package/docs/pt/4-agentes/ux-ui.md +7 -4
  37. package/docs/pt/5-referencia/agent-chain-continuity.md +14 -5
  38. package/docs/pt/5-referencia/comandos-cli.md +1 -1
  39. package/docs/pt/5-referencia/harness-retro.md +2 -1
  40. package/docs/pt/5-referencia/sdd-automation-scripts.md +6 -6
  41. package/docs/pt/5-referencia/sdd-framework.md +53 -16
  42. package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +27 -15
  43. package/docs/pt/README.md +4 -4
  44. package/docs/pt/agentes.md +48 -50
  45. package/package.json +2 -2
  46. package/src/artifact-kinds.js +110 -0
  47. package/src/cli.js +82 -42
  48. package/src/commands/agent-epilogue.js +251 -186
  49. package/src/commands/agents.js +104 -48
  50. package/src/commands/audit-code.js +344 -0
  51. package/src/commands/classify.js +75 -13
  52. package/src/commands/feature-close.js +43 -18
  53. package/src/commands/harness-check.js +259 -175
  54. package/src/commands/harness-retro-promote.js +387 -0
  55. package/src/commands/live.js +24 -0
  56. package/src/commands/prototype-check.js +163 -0
  57. package/src/commands/review-feature.js +189 -0
  58. package/src/commands/runtime.js +81 -66
  59. package/src/commands/sync-agents-copy.js +115 -0
  60. package/src/commands/verification-plan.js +116 -0
  61. package/src/commands/verify-artifact.js +530 -0
  62. package/src/commands/verify-implementation.js +428 -0
  63. package/src/commands/workflow-execute.js +309 -309
  64. package/src/commands/workflow-next.js +361 -19
  65. package/src/commands/workflow-plan.js +5 -5
  66. package/src/constants.js +4 -0
  67. package/src/gateway-pointer-merge.js +7 -1
  68. package/src/handoff-contract.js +267 -172
  69. package/src/harness/contract-integrity-gate.js +172 -0
  70. package/src/harness/contract-integrity.js +111 -0
  71. package/src/harness/contract-schema.js +377 -332
  72. package/src/harness/detect-runtime-feature.js +90 -0
  73. package/src/harness/static-criteria.js +192 -0
  74. package/src/i18n/messages/en.js +8 -4
  75. package/src/i18n/messages/es.js +8 -4
  76. package/src/i18n/messages/fr.js +8 -4
  77. package/src/i18n/messages/pt-BR.js +8 -4
  78. package/src/install-wizard.js +8 -8
  79. package/src/installer.js +13 -6
  80. package/src/lib/retro/retro-render.js +10 -1
  81. package/src/lib/retro/retro-sources.js +45 -27
  82. package/src/lib/retro/verification-reports.js +230 -0
  83. package/src/parser.js +6 -0
  84. package/src/preflight-engine.js +12 -12
  85. package/src/runtime-store.js +13 -9
  86. package/src/verification/evidence-bundle.js +251 -0
  87. package/src/verification/ledger-store.js +221 -0
  88. package/src/verification/path-policy.js +74 -0
  89. package/src/verification/policy-engine.js +95 -0
  90. package/src/verification/prompt-package.js +314 -0
  91. package/src/verification/redaction.js +77 -0
  92. package/src/verification/report-parser.js +132 -0
  93. package/src/verification/report-store.js +97 -0
  94. package/src/verification/result.js +16 -0
  95. package/src/verification/runners/index.js +319 -0
  96. package/src/verification/runtime-telemetry.js +144 -0
  97. package/src/verification/schema.js +276 -0
  98. package/src/verification/source-discovery.js +153 -0
  99. package/src/verification-policy.js +398 -0
  100. package/src/version.js +52 -1
  101. package/template/.aioson/agents/analyst.md +9 -6
  102. package/template/.aioson/agents/architect.md +34 -5
  103. package/template/.aioson/agents/briefing-refiner.md +25 -0
  104. package/template/.aioson/agents/briefing.md +69 -12
  105. package/template/.aioson/agents/committer.md +2 -1
  106. package/template/.aioson/agents/copywriter.md +30 -21
  107. package/template/.aioson/agents/design-hybrid-forge.md +28 -15
  108. package/template/.aioson/agents/dev.md +28 -10
  109. package/template/.aioson/agents/deyvin.md +3 -2
  110. package/template/.aioson/agents/discover.md +12 -3
  111. package/template/.aioson/agents/discovery-design-doc.md +7 -2
  112. package/template/.aioson/agents/genome.md +19 -10
  113. package/template/.aioson/agents/neo.md +30 -30
  114. package/template/.aioson/agents/orache.md +20 -11
  115. package/template/.aioson/agents/orchestrator.md +84 -7
  116. package/template/.aioson/agents/pm.md +8 -8
  117. package/template/.aioson/agents/product.md +15 -11
  118. package/template/.aioson/agents/profiler-enricher.md +20 -11
  119. package/template/.aioson/agents/profiler-forge.md +20 -11
  120. package/template/.aioson/agents/profiler-researcher.md +20 -11
  121. package/template/.aioson/agents/qa.md +87 -17
  122. package/template/.aioson/agents/scope-check.md +19 -5
  123. package/template/.aioson/agents/setup.md +12 -1
  124. package/template/.aioson/agents/sheldon.md +92 -9
  125. package/template/.aioson/agents/site-forge.md +11 -2
  126. package/template/.aioson/agents/squad.md +20 -5
  127. package/template/.aioson/agents/ux-ui.md +4 -2
  128. package/template/.aioson/agents/validator.md +33 -1
  129. package/template/.aioson/config/verification.json +61 -0
  130. package/template/.aioson/config.md +13 -9
  131. package/template/.aioson/docs/LAYERS.md +2 -2
  132. package/template/.aioson/docs/autopilot-handoff.md +10 -10
  133. package/template/.aioson/docs/dev/execution-discipline.md +41 -0
  134. package/template/.aioson/docs/dev/phase-loop.md +47 -0
  135. package/template/.aioson/docs/feature-expansion-taxonomy.md +31 -3
  136. package/template/.aioson/docs/presets/workflow.config.full-merged.json +15 -0
  137. package/template/.aioson/docs/presets/workflow.config.lean.json +15 -0
  138. package/template/.aioson/docs/product/prd-contract.md +12 -12
  139. package/template/.aioson/docs/prototype-contract.md +98 -0
  140. package/template/.aioson/docs/reference-identity.md +94 -0
  141. package/template/.aioson/docs/sheldon/harness-contract.md +155 -28
  142. package/template/.aioson/docs/verification-config.md +82 -0
  143. package/template/.aioson/docs/verify-artifact-gates.md +91 -0
  144. package/template/.aioson/docs/workflow-lean-lane.md +129 -0
  145. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +2 -0
  146. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +16 -14
  147. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +2 -2
  148. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +4 -4
  149. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +15 -15
  150. package/template/.aioson/skills/process/briefing-expansion-scout/SKILL.md +25 -3
  151. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +5 -3
  152. package/template/.aioson/skills/process/design-hybrid-forge/references/external-source-ingestion.md +89 -0
  153. package/template/.aioson/skills/process/product-scope-expansion/SKILL.md +29 -2
  154. package/template/.aioson/skills/process/prototype-forge/SKILL.md +98 -0
  155. package/template/.aioson/skills/process/reference-identity-extract/SKILL.md +164 -0
  156. package/template/.aioson/skills/process/sheldon-expansion-audit/SKILL.md +23 -2
  157. package/template/.aioson/skills/static/multi-agent-patterns.md +5 -5
  158. package/template/CLAUDE.md +15 -11
@@ -1,338 +1,289 @@
1
- # Receita: Feature completa com `@sheldon` (trilha canônica)
2
-
3
- > **Para quem é:** features de média/alta complexidade onde decisões erradas no início custam caro.
4
- > **Tempo de execução:** 2 a 8 horas (varia com escopo), distribuídas em 1–4 sessões.
5
- > **O que você vai ter no fim:** feature implementada, testada, auditada em segurança, e revisada de ponta a ponta — com cada decisão rastreável em disco.
6
- > **Status:** esta é a trilha que o criador do AIOSON usa por padrão para projetos SMALL/MEDIUM com implementação significativa.
7
-
8
- ---
9
-
10
- ## A trilha em uma linha
11
-
12
- ```
13
- @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev
14
-
15
- (@qa ↔ @dev) ← ciclo autônomo
16
-
17
- opcional: @tester (@qa @dev) cobertura extra
18
-
19
- opcional: @pentester @dev ← segurança
20
-
21
- @qa (revisão final geral)
22
- ```
23
-
24
- **Por que essa ordem importa:** cada agente lê os artefatos do anterior. Pular um agente significa o próximo improvisar — e improviso em decisões grandes vira retrabalho.
25
-
26
- ---
27
-
28
- ## Cenário
29
-
30
- Você vai construir uma feature relevante — exemplos típicos: **billing por assinatura com Stripe**, **dashboard do vendedor num marketplace**, **cancelamento de pedido com regras de janela**. Algo que mistura backend + UI + regras de negócio + integração externa.
31
-
32
- Se a feature é trivial (CRUD simples sem regra), pule para a [Receita Landing Page](./landing-page.md) ou [App SaaS do zero](./app-saas-do-zero.md). Esta trilha é desenho de canhão; não atire em pardal.
33
-
34
- ## Pré-requisitos
35
-
36
- - Projeto com `aioson init/install` rodado
37
- - `project.context.md` populado (`@setup` já feito)
38
- - Classificação **SMALL** ou **MEDIUM**
39
- - Cliente AI aberto no projeto
40
-
41
- ---
42
-
43
- ## Passo 1 `@product` define o PRD
44
-
45
- ```
46
- Você > @product
47
-
48
- @product > Vamos definir uma feature. Qual o slug?
49
- Você > billing-assinatura
50
-
51
- @product > Em uma frase, o problema?
52
- Você > Cliente quer assinar plano mensal/anual e gerenciar pagamento
53
-
54
- @product > [perguntas guiadas: ACs, fora-de-escopo, dependências, limites de SLA]
55
- @product > PRD criado em .aioson/context/prd.md (e cópia em features/billing-assinatura/spec.md).
56
- @product > Próximo: @sheldon para validar e enriquecer antes de descer pro técnico.
57
- ```
58
-
59
- **O que ficou:** `prd.md` com seções claras (problema, escopo, ACs, fora-de-escopo).
60
-
61
- > **Variação:** se você já tem material em `/plans/` ou um briefing aprovado, `@product` detecta e oferece para usar como base. Veja [Plans externos para @product](./plans-externos-para-product.md) e [Da ideia ao PRD via @briefing](./da-ideia-ao-prd-via-briefing.md).
62
-
63
- ---
64
-
65
- ## Passo 2 `@sheldon` enriquece o PRD (passo crítico)
66
-
67
- Esse é o passo que mais gente pula — e é onde o AIOSON ganha espessura.
68
-
69
- ```
70
- Você > @sheldon
71
-
72
- @sheldon > Lendo prd.md... varrendo .aioson/context/architecture.md, dependencies, plans/.
73
- @sheldon > Detectei 4 gaps:
74
- 1. PRD não trata downgrade de plano (só upgrade)
75
- 2. Não decisão sobre cobrança proporcional (proration)
76
- 3. Webhook do Stripe sem política de retry/idempotency
77
- 4. Sem ACs para falha de cobrança após 3 tentativas (dunning)
78
-
79
- @sheldon > Tem fontes externas? [URL, arquivo local, "não"]
80
- Você > docs.stripe.com/billing/subscriptions/upgrade-downgrade
81
-
82
- @sheldon > [pesquisa, lê, cita]
83
- @sheldon > Recomendação:
84
- - Enriquecer o PRD in-place (gaps 1, 2 são decisão de produto)
85
- - Criar phased plan em .aioson/plans/billing-assinatura/ para
86
- implementação faseada de webhook+dunning (gaps 3, 4)
87
-
88
- @sheldon > Aplicando enrichment... prd.md atualizado.
89
- @sheldon > Phased plan: .aioson/plans/billing-assinatura/{phase-1.md, phase-2.md, harness-contract.json}
90
- @sheldon > Próximo: @analyst.
91
- ```
92
-
93
- **Por que rodar `@sheldon`:**
94
- - Ele consulta o **código real do projeto** e cruza com o PRD — vê o que falta.
95
- - Pode buscar **fontes externas** (Stripe docs, RFCs, posts técnicos) e **citar**.
96
- - Decide entre **enriquecer in-place** (mexer no `prd.md`) ou **criar phased plan** quando o escopo é grande demais para uma única implementação.
97
-
98
- **Pode rodar múltiplas vezes:** se a primeira passada deixou gaps, você invoca `@sheldon` de novo. Ele detecta `sheldon-enrichment.md` existente e oferece nova rodada de enriquecimento sem refazer do zero.
99
-
100
- > **Quando NÃO rodar `@sheldon`:** features triviais (CRUD básico) ou MICRO. O esforço de enriquecimento não compensa.
101
-
102
- ---
103
-
104
- ## Passo 3 — `@analyst` mapeia o domínio
105
-
106
- ```
107
- Você > @analyst
108
-
109
- @analyst > Lendo prd.md enriquecido + code base.
110
- @analyst > Entidades: Subscription, Plan, Invoice, PaymentMethod, DunningAttempt.
111
- Já existem no código: Customer, Order. Vou estender.
112
- @analyst > Domain map gravado em architecture.md (seção domain).
113
- @analyst > Próximo: @architect.
114
- ```
115
-
116
- ## Passo 4 — `@architect` decide a estrutura técnica
117
-
118
- ```
119
- Você > @architect
120
-
121
- @architect > Decisões:
122
- - Stripe Customer Portal para self-service (reduz UI custom)
123
- - Webhook handler em rota dedicada com idempotency key
124
- - Cron diário de dunning (3 tentativas, intervalos 1d/3d/7d)
125
- - Migração: tabela subscriptions com FK em customers
126
- @architect > Decisões em architecture.md (seção decisions).
127
- @architect > Próximo: @ux-ui.
128
- ```
129
-
130
- ## Passo 5 — `@ux-ui` desenha a UI
131
-
132
- ```
133
- Você > @ux-ui
134
-
135
- @ux-ui > Lendo architecture e PRD. Stack confirmado: React + design skill atual.
136
- @ux-ui > Componentes:
137
- - PlanSelector (3 cards: Free, Pro, Enterprise)
138
- - BillingPortal (link para Stripe Portal)
139
- - InvoiceList
140
- - DunningBanner (alerta de cobrança falhada)
141
- @ux-ui > Specs em design-doc.md. Próximo: @pm.
142
- ```
143
-
144
- > Em projetos **SMALL** sem `@ux-ui` no fluxo, pule este passo.
145
-
146
- ## Passo 6 `@pm` quebra em user stories
147
-
148
- ```
149
- Você > @pm
150
-
151
- @pm > 7 user stories identificadas, agrupadas em 3 epics.
152
- Cada uma com ACs verificáveis (ex: "POST /subscriptions/upgrade
153
- retorna 200 e seta proration_amount > 0").
154
- @pm > tasks.md gravado.
155
- @pm > Próximo: @orchestrator.
156
- ```
157
-
158
- ## Passo 7 — `@orchestrator` define lanes paralelas
159
-
160
- ```
161
- Você > @orchestrator
162
-
163
- @orchestrator > Identifiquei 3 lanes paralelizáveis:
164
- - lane-backend.md (rotas + webhook + cron)
165
- - lane-ui.md (4 componentes + integração)
166
- - lane-migration.md (DB schema + seeds de teste)
167
- @orchestrator > Dependência: lane-ui depende de lane-backend para o contrato de API.
168
- @orchestrator > parallel/ gravado. harness-contract.json criado.
169
- @orchestrator > Próximo: @dev (pode tocar lanes em sessões separadas).
170
- ```
171
-
172
- > Em projetos **SMALL**, pule `@orchestrator` — não há lanes paralelas que valham o overhead.
173
-
174
- ## Passo 8 — `@dev` implementa
175
-
176
- ```
177
- Você > @dev
178
-
179
- @dev > Lendo plano completo. Vou começar pela lane-backend (sem dependência).
180
- @dev > [implementa] Lane-backend done. dev-state.md atualizado.
181
- @dev > Próximo: rodar @qa para esta lane antes de continuar para lane-ui.
182
- ```
183
-
184
- > O `@dev` é **resumível**. Se a sessão cair no meio, na próxima sessão `@deyvin` lê `dev-state.md` e continua exatamente de onde parou. Veja [Continuidade entre sessões](./continuidade-entre-sessoes.md).
185
-
186
- ## Passo 9 — Ciclo `@qa ↔ @dev` (automático, cap 2)
187
-
188
- ```
189
- Você > @qa
190
-
191
- @qa > 18 ACs identificados. Escrevendo testes...
192
- @qa > Falha em AC-12 (proration calculation).
193
- Iteração 1/2 — passando para @dev autonomamente.
194
- @dev > [corrige cálculo, rebatiza variável misleading]
195
- @qa > Re-rodando... 18/18 OK.
196
- @qa > test-plan.md e qa-report.md gravados.
197
- ```
198
-
199
- **Cap 2** significa: o ciclo autônomo só corre 2 iterações. Se ainda assim falhar, o `@qa` para e te chama para revisão humana — evita loops infinitos.
200
-
201
- ---
202
-
203
- ## Passo 10 (opcional) — `@tester` para cobertura sistemática
204
-
205
- Quando ativar:
206
- - Você sabe que a feature vai ter alta carga e quer **mais cobertura** que apenas os ACs do PRD.
207
- - Suspeita de **edge cases** que `@qa` não cobriu (timezones, concorrência, locales).
208
- - O projeto é legacy e a feature toca código sem testes.
209
-
210
- ```
211
- Você > @tester
212
-
213
- @tester > Lendo qa-report. Coverage atual: 78%. Quality tier: MÉDIO.
214
- @tester > Identifiquei 3 zonas com test smell:
215
- - Tests acoplados a fixtures frágeis (3 testes)
216
- - 2 testes só verificam "não throw" (não checam comportamento)
217
- - Falta cobertura de proration em edge dates (29-30-31 do mês)
218
- @tester > Plano de teste adicional gravado em test-inventory.md.
219
- @tester > Próximo: rodar @qa de novo para implementar os testes faltantes.
220
- ```
221
-
222
- Depois do `@tester`, **rode `@qa` novamente** — ciclo `@qa ↔ @dev` se repete sobre os novos testes.
223
-
224
- ## Passo 11 (opcional) — `@pentester ↔ @dev` para segurança
225
-
226
- Quando ativar:
227
- - Feature toca dados sensíveis (pagamento, PII, auth).
228
- - Vai entrar em produção.
229
- - Há requisito regulatório.
230
-
231
- ```
232
- Você > @pentester
233
-
234
- @pentester > Mapeando superfícies de ataque (OWASP + supply chain + tooling).
235
- @pentester > Findings:
236
- - HIGH: webhook Stripe sem validação de signature em modo dev
237
- - MEDIUM: rota /billing/portal sem rate-limit
238
- - LOW: log inclui email do cliente em texto
239
-
240
- @pentester > Iteração 1 — passando para @dev corrigir.
241
- @dev > [corrige signature validation, adiciona rate-limit, redação de log]
242
- @pentester > Re-varredura: HIGH=0, MEDIUM=0, LOW=1 (aceito como risco baixo).
243
- @pentester > security-findings-billing-assinatura.json gravado.
244
- ```
245
-
246
- ## Passo 12 `@qa` final, revisão geral
247
-
248
- Depois de tudo (tester e pentester), rode `@qa` mais uma vez:
249
-
250
- ```
251
- Você > @qa
252
-
253
- @qa > Revisão geral pós-pentester e pós-tester.
254
- @qa > 18 ACs originais + 9 testes adicionais (de @tester) + 3 testes de regressão
255
- de segurança (de @pentester). Total: 30 testes. Todos passando.
256
- @qa > Veredicto: feature pronta. Recomendado @validator antes de fechar.
257
- ```
258
-
259
- Opcional: rodar `@validator` para checagem do contrato de sucesso, e `@committer` para commit final.
260
-
261
- ---
262
-
263
- ## O que ficou em disco (rastreio completo)
264
-
265
- ```
266
- .aioson/context/
267
- ├── prd.md ← @product
268
- ├── sheldon-enrichment.md ← @sheldon (rodadas múltiplas)
269
- ├── architecture.md ← @analyst + @architect
270
- ├── design-doc.md ← @ux-ui
271
- ├── tasks.md ← @pm
272
- ├── parallel/
273
- │ ├── lane-backend.md ← @orchestrator
274
- │ ├── lane-ui.md
275
- │ └── lane-migration.md
276
- ├── dev-state.md ← @dev (atualizado a cada sessão)
277
- ├── test-plan.md ← @qa
278
- ├── qa-report-billing-assinatura.md ← @qa
279
- ├── test-inventory.md ← @tester
280
- ├── security-findings-billing-assinatura.json ← @pentester
281
- └── features/billing-assinatura/
282
- ├── spec.md
283
- └── done/ ← arquivado pelo feature:close
284
-
285
- .aioson/plans/billing-assinatura/
286
- ├── phase-1.md @sheldon (phased plan)
287
- ├── phase-2.md
288
- ├── harness-contract.json ← contrato de sucesso
289
- └── progress.json ← status corrente
290
- ```
291
-
292
- Daqui a 6 meses, qualquer pessoa (ou IA) lê esses arquivos e entende **tudo**: o que foi pensado, por quê, o que foi implementado, o que foi descartado.
293
-
294
- ---
295
-
296
- ## Variações da trilha
297
-
298
- ### MICRO (escopo pequeno)
299
- `@product → @dev → @qa`. Pule `@sheldon`, `@analyst`, `@architect`, `@ux-ui`, `@pm`, `@orchestrator`. A Constitution Article II (*Right-Sized Process*) protege você de cerimônia desnecessária.
300
-
301
- ### SMALL sem UI
302
- `@product → @sheldon → @analyst → @scope-check → @architect → @dev → @qa`. Pule `@ux-ui`, `@pm`, `@orchestrator`.
303
-
304
- ### MEDIUM puro
305
- A trilha completa acima.
306
-
307
- ### Quando você só vai implementar a Lane 1 hoje
308
- Vá até `@orchestrator`, depois invoque `@dev` apenas para `lane-backend.md`. Pause antes do `@qa`. Próxima sessão: `@deyvin` retoma na lane que ficou pendente.
309
-
310
- ---
311
-
312
- ## Solução de problemas
313
-
314
- | Problema | Solução |
315
- |---|---|
316
- | `@sheldon` reclama que PRD está vago | Volte para `@product` e refine. `@sheldon` não inventa o que não está claro. |
317
- | `@orchestrator` cria 1 lane só | Sua feature provavelmente é SMALL disfarçado. Pule lanes paralelas. |
318
- | Ciclo `@qa ↔ @dev` estourou cap 2 | Há defeito de design. Volte ao `@architect` ou `@product` antes de mais código. |
319
- | `@pentester` HIGH não baixa | Não force. Documente como risco aceito ou adie a feature. |
320
- | Sessão caiu no meio do `@dev` | `@deyvin` retoma. Ver [Continuidade entre sessões](./continuidade-entre-sessoes.md). |
321
-
322
- ---
323
-
324
- ## Quando NÃO usar esta trilha
325
-
326
- - **Bugfix pontual** — vá direto para `@dev` (com referência ao bug ID) e `@qa`.
327
- - **Refatoração sem mudança de comportamento** — use [Refatoração grande](./refatoracao-grande.md).
328
- - **Feature MICRO sem regra de negócio nova** — overhead não compensa.
329
-
330
- ---
331
-
332
- ## Próximo passo
333
-
334
- - [SDD: planos e estrutura](../5-referencia/sdd-planos-e-estrutura.md) — entenda a fundo a estrutura que `@pm` e `@orchestrator` criam
335
- - [Da ideia ao PRD via @briefing](./da-ideia-ao-prd-via-briefing.md) — quando a ideia ainda é vaga
336
- - [Plans externos para @product](./plans-externos-para-product.md) — quando você já planejou em outro chat
337
- - [Continuidade entre sessões](./continuidade-entre-sessoes.md) — para retomar a trilha em outra sessão
338
- - [Mapa do ecossistema](../1-entender/mapa-do-ecossistema.md) — visão de todos os agentes
1
+ # Receita: Feature completa (lanes SMALL e MEDIUM)
2
+
3
+ > **Para quem é:** quem quer implementar uma feature de média/alta complexidade com o processo AIOSON v1.35.0.
4
+ > **Tempo de execução:** 1–2 horas (SMALL lean) ou 3–8 horas (MEDIUM maestro), distribuídas em 1–4 sessões.
5
+ > **O que você vai ter no fim:** feature implementada, testada, auditada e com cada decisão rastreável em disco.
6
+
7
+ ---
8
+
9
+ ## As duas lanes principais
10
+
11
+ ### SMALL — lean lane (padrão)
12
+
13
+ ```
14
+ @product → @sheldon → @dev → @qa
15
+ ```
16
+
17
+ `@sheldon` é a autoridade única de spec: em uma passada produz requirements + decisões técnicas + plano faseado + harness-contract (Gates A/B/C aprovados), e passa direto para `@dev`. Nenhum hop intermediário de agente de spec.
18
+
19
+ ### MEDIUM maestro lane
20
+
21
+ ```
22
+ @product → @orchestrator → @dev → @pentester → @qa
23
+ ```
24
+
25
+ `@orchestrator` é o maestro de spec: faz fan-out para `@analyst` + `@architect` + `@pm` (+ `@ux-ui` quando UI-heavy) como sub-agentes, consolida os artefatos, e entrega o pacote de spec aprovado para `@dev`. `@pentester` é inline (entre `@dev` e `@qa`).
26
+
27
+ ---
28
+
29
+ ## SMALL lean — passo a passo
30
+
31
+ ### Passo 1 — `@product` define o PRD
32
+
33
+ ```
34
+ Você > @product
35
+
36
+ @product > Qual o slug da feature?
37
+ Você > billing-assinatura
38
+
39
+ @product > Em uma frase, o problema?
40
+ Você > Cliente quer assinar plano mensal/anual e gerenciar pagamento
41
+
42
+ @product > [perguntas guiadas: ACs, fora-de-escopo, dependências]
43
+ @product > PRD criado em .aioson/context/prd-billing-assinatura.md
44
+ @product > Próximo: @sheldon.
45
+ ```
46
+
47
+ **O que ficou:** `prd-billing-assinatura.md` com problema, escopo, ACs e fora-de-escopo.
48
+
49
+ ---
50
+
51
+ ### Passo 2 `@sheldon` produz o pacote de spec (passo crítico)
52
+
53
+ Este é o passo que condensa o que antes eram 4–5 hops em um.
54
+
55
+ ```
56
+ Você > @sheldon
57
+
58
+ @sheldon > Lendo prd-billing-assinatura.md...
59
+ Varrendo codebase: models, services, routes...
60
+
61
+ Gaps detectados:
62
+ 1. PRD não trata downgrade de plano (só upgrade)
63
+ 2. Sem política de proration na troca de plano
64
+ 3. Webhook Stripe sem política de retry/idempotency
65
+ 4. Sem ACs para falha de cobrança após 3 tentativas (dunning)
66
+
67
+ Fontes externas? [URL / arquivo / "não"]
68
+
69
+ Você > docs.stripe.com/billing/subscriptions/upgrade-downgrade
70
+
71
+ @sheldon > [pesquisa, lê, cita]
72
+ Enriquecendo PRD in-place...
73
+ Produzindo requirements, architecture, implementation-plan...
74
+
75
+ Gate A (requisitos verificáveis):
76
+ Gate B (decisões técnicas):
77
+ Gate C (plano faseado + harness-contract):
78
+
79
+ Pacote de spec:
80
+ .aioson/context/requirements-billing-assinatura.md
81
+ .aioson/context/architecture.md
82
+ .aioson/context/implementation-plan-billing-assinatura.md
83
+ .aioson/context/sheldon-enrichment-billing-assinatura.md
84
+ .aioson/plans/billing-assinatura/harness-contract.json
85
+
86
+ Próximo: @dev.
87
+ ```
88
+
89
+ **Por que rodar `@sheldon`:**
90
+ - Ele cruza o PRD com o **código real** e vê o que falta.
91
+ - Pode buscar **fontes externas** e citar.
92
+ - Decide sozinho entre enriquecer in-place ou criar um phased plan quando o escopo é grande demais.
93
+ - Pode ser re-invocado N vezes no mesmo PRD — cada rodada fecha mais gaps.
94
+
95
+ ---
96
+
97
+ ### Passo 3 — `@dev` implementa (loop de fases)
98
+
99
+ ```
100
+ Você > @dev
101
+
102
+ @dev > Lendo pacote de spec do @sheldon.
103
+ implementation-plan: 2 fases.
104
+
105
+ [Fase 1: core subscription model]
106
+ [implementa...]
107
+ aioson harness:check → verificação por fase → OK
108
+ Compactando contexto...
109
+
110
+ [Fase 2: webhook + dunning]
111
+ [implementa...]
112
+ aioson harness:check verificação por fase OK
113
+
114
+ dev-state.md atualizado. Todas as fases completas.
115
+ Próximo: @qa.
116
+ ```
117
+
118
+ `@dev` auto-continua entre fases, compacta contexto entre elas, e roda verificação leve por fase. Sem "continue?" manual entre fases.
119
+
120
+ ---
121
+
122
+ ### Passo 4 `@qa` valida e fecha
123
+
124
+ ```
125
+ Você > @qa
126
+
127
+ @qa > 18 ACs identificados. Escrevendo testes...
128
+ [runtime smoke gate: build + migrate + boot + happy-path]
129
+ Smoke: ✓
130
+ 18/18 ACs passando.
131
+
132
+ test-plan.md e qa-report.md gravados.
133
+ Veredicto: feature pronta.
134
+ ```
135
+
136
+ **Runtime smoke gate:** `@qa` não fecha sem que build + migrations (aplicadas a um DB real) + boot + Core happy-path passem no stack real. `tsc` + testes unitários é o piso, não o "done".
137
+
138
+ ---
139
+
140
+ ### Passos opcionais pós-QA
141
+
142
+ ```
143
+ @tester → cobertura sistemática extra (legacy, edge cases de timezone/concorrência)
144
+ @pentester revisão adversarial de segurança (dados sensíveis, auth, produção)
145
+ @validator → verificação contra harness-contract em contexto isolado
146
+ @committer commit final com mensagem profissional
147
+ ```
148
+
149
+ ---
150
+
151
+ ## MEDIUM maestro passo a passo
152
+
153
+ ### Passo 1 `@product` define o PRD (igual ao SMALL)
154
+
155
+ ### Passo 2 — `@sheldon` endurece o PRD (opcional, recomendado)
156
+
157
+ Se o PRD tem decisões difíceis (billing por uso vs. por assento, multi-tenant vs. single-tenant, auth externa), rode `@sheldon` antes de `@orchestrator` para fechar gaps antes do fan-out.
158
+
159
+ ### Passo 3 — `@orchestrator` produz o pacote de spec
160
+
161
+ ```
162
+ Você > @orchestrator
163
+
164
+ @orchestrator > Classificação MEDIUM confirmada.
165
+ Lendo prd-mvp.md...
166
+
167
+ Fan-out de spec:
168
+ ├── @analyst → mapeamento de domínio e entidades
169
+ ├── @architect estrutura técnica, libs, integração
170
+ └── @pm → backlog, user stories, plano de implementação
171
+ (+ @ux-ui — feature tem UI pesada)
172
+
173
+ [sub-agentes executados]
174
+
175
+ Consolidando e verificando consistência...
176
+ Gates A/B/C aprovados.
177
+
178
+ Pacote de spec:
179
+ requirements-mvp.md · architecture.md
180
+ design-doc-mvp.md · implementation-plan-mvp.md
181
+ parallel/harness-contract.json
182
+
183
+ Lanes de execução criadas (3 lanes paralelizáveis):
184
+ parallel/lane-backend.md
185
+ parallel/lane-ui.md
186
+ parallel/lane-migration.md
187
+
188
+ Próximo: @dev.
189
+ ```
190
+
191
+ ### Passo 4 `@dev` implementa (por lane ou sequencial)
192
+
193
+ ```
194
+ Você > @dev
195
+
196
+ @dev > Lendo pacote de spec e lane-backend.md...
197
+ [implementa lane por fase]
198
+ Próximo: @pentester.
199
+ ```
200
+
201
+ ### Passo 5 — `@pentester` (inline no MEDIUM)
202
+
203
+ ```
204
+ Você > @pentester
205
+
206
+ @pentester > [mapeia superfícies de ataque, gera findings]
207
+ @pentester > HIGH: webhook sem validação de signature
208
+ @pentester > Passando para @dev corrigir...
209
+ @dev > [corrige]
210
+ @pentester > HIGH=0. security-findings gravado.
211
+ Próximo: @qa.
212
+ ```
213
+
214
+ ### Passo 6 `@qa` valida e fecha (igual ao SMALL)
215
+
216
+ ---
217
+
218
+ ## O que ficou em disco
219
+
220
+ ### SMALL
221
+
222
+ ```
223
+ .aioson/context/
224
+ ├── prd-billing-assinatura.md ← @product + @sheldon (enriquecido)
225
+ ├── sheldon-enrichment-billing.md ← @sheldon (histórico)
226
+ ├── requirements-billing-assinatura.md ← @sheldon
227
+ ├── architecture.md ← @sheldon
228
+ ├── implementation-plan-billing.md ← @sheldon
229
+ ├── dev-state.md ← @dev
230
+ ├── test-plan.md ← @qa
231
+ └── qa-report-billing-assinatura.md ← @qa
232
+
233
+ .aioson/plans/billing-assinatura/
234
+ ├── harness-contract.json ← @sheldon
235
+ └── progress.json ← @dev (status)
236
+ ```
237
+
238
+ ### MEDIUM
239
+
240
+ ```
241
+ .aioson/context/
242
+ ├── prd-mvp.md ← @product
243
+ ├── requirements-mvp.md ← @analyst via @orchestrator
244
+ ├── architecture.md ← @architect via @orchestrator
245
+ ├── design-doc-mvp.md ← @ux-ui via @orchestrator
246
+ ├── implementation-plan-mvp.md ← @pm via @orchestrator
247
+ ├── parallel/
248
+ │ ├── lane-backend.md ← @orchestrator
249
+ │ ├── lane-ui.md
250
+ │ ├── lane-migration.md
251
+ │ └── harness-contract.json
252
+ ├── dev-state.md ← @dev
253
+ ├── security-findings-mvp.json ← @pentester
254
+ ├── test-plan.md ← @qa
255
+ └── qa-report-mvp.md ← @qa
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Variações e escape hatches
261
+
262
+ | Situação | O que fazer |
263
+ |---|---|
264
+ | **MICRO** (escopo pequeno, CRUD simples) | `@product → @dev → @qa`. Pule `@sheldon` e `@orchestrator`. |
265
+ | **SMALL com UI complexa** | Rode `@ux-ui` como detour após `@sheldon` antes de `@dev`. |
266
+ | **SMALL com decisões de domínio pesadas** | Rode `@analyst` como detour para discovery mais profundo antes de `@sheldon`. |
267
+ | **MEDIUM, você quer gerenciar a spec manualmente** | `@product → @analyst → @architect → @ux-ui → @pm → @orchestrator (lanes only) → @dev → @pentester → @qa` — o "escape hatch" full-merged. |
268
+ | **Sessão caiu no meio do `@dev`** | `@deyvin` retoma. Ver [Continuidade entre sessões](./continuidade-entre-sessoes.md). |
269
+ | **`@sheldon` reclama que PRD está vago** | Volte ao `@product` e refine. `@sheldon` não inventa o que não está claro. |
270
+ | **Ciclo `@qa ↔ @dev` estourou cap 2** | Há defeito de design. Volte ao `@sheldon` (SMALL) ou `@orchestrator` (MEDIUM) antes de mais código. |
271
+ | **`@pentester` HIGH não baixa** | Não force. Documente como risco aceito ou adie a feature. |
272
+
273
+ ---
274
+
275
+ ## Quando NÃO usar esta receita
276
+
277
+ - **Bugfix pontual** — vá direto para `@dev` (com referência ao bug ID) e `@qa`.
278
+ - **Refatoração sem mudança de comportamento** — use [Refatoração grande](./refatoracao-grande.md).
279
+ - **Feature MICRO sem regra de negócio nova** — overhead não compensa.
280
+
281
+ ---
282
+
283
+ ## Próximo passo
284
+
285
+ - [SDD: planos e estrutura](../5-referencia/sdd-planos-e-estrutura.md) — mapa de todos os artefatos
286
+ - [Da ideia ao PRD via @briefing](./da-ideia-ao-prd-via-briefing.md) quando a ideia ainda é vaga
287
+ - [Plans externos para @product](./plans-externos-para-product.md) — quando você já planejou em outro chat
288
+ - [Continuidade entre sessões](./continuidade-entre-sessoes.md) para retomar a receita em outra sessão
289
+ - [Mapa do ecossistema](../1-entender/mapa-do-ecossistema.md) visão de todos os agentes