@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
@@ -20,18 +20,22 @@ Em projetos com `@discover` já rodado, o `@analyst` usa o cache semântico em v
20
20
 
21
21
  ## Quando invocar
22
22
 
23
- - Logo após `@product`, em fluxos SMALL e MEDIUM.
24
- - Quando uma nova feature toca entidades existentes e você quer garantir que não conflito.
23
+ - **No MEDIUM:** `@orchestrator` o dispara automaticamente como sub-agente no fan-out de spec — você não precisa invocar manualmente.
24
+ - **Detour explícito:** quando uma nova feature toca entidades existentes e você quer mapeamento de domínio independente antes de qualquer implementação.
25
25
  - Quando alguém novo entra no projeto e precisa entender o domínio rapidamente.
26
26
  - Quando a spec mudou e você quer sincronizar o mapeamento de domínio.
27
+ - Para classificação de complexidade (`aioson classify`) — `@analyst` produz o score MICRO/SMALL/MEDIUM.
28
+
29
+ > **SMALL:** na lane lean padrão (`@product → @sheldon → @dev → @qa`), `@analyst` não é um hop padrão — o `@sheldon` cobre o mapeamento de domínio sozinho. Invoque `@analyst` explicitamente apenas se precisar de discovery de domínio mais aprofundado como detour.
27
30
 
28
31
  ---
29
32
 
30
33
  ## Quando NÃO invocar
31
34
 
32
35
  - Projeto MICRO sem novas entidades → o `@dev` lê o contexto direto.
36
+ - Projeto SMALL em lane padrão → `@sheldon` já cobre o domínio; `@analyst` só se necessário como detour.
33
37
  - Você quer rever decisões técnicas (não de domínio) → invoke `@architect`.
34
- - A feature não toca modelo de dados e não tem fluxos novos → pule direto para `@architect`.
38
+ - A feature não toca modelo de dados e não tem fluxos novos → pule direto para o próximo passo.
35
39
 
36
40
  ---
37
41
 
@@ -99,8 +103,8 @@ aioson workflow:status .
99
103
 
100
104
  ## Handoff típico
101
105
 
102
- - **Vem de:** `@product`
103
- - **Vai para:** `@architect`
106
+ - **Vem de:** `@orchestrator` (como sub-agente no MEDIUM) ou invocação explícita como detour
107
+ - **Vai para:** `@architect` (quando usado como detour); o resultado consolida para `@orchestrator` quando em sub-agente
104
108
 
105
109
  ---
106
110
 
@@ -20,16 +20,20 @@ Ele também contribui no `dossier` da feature, registrando os arquivos-chave no
20
20
 
21
21
  ## Quando invocar
22
22
 
23
- - Após `@analyst`, em fluxos SMALL e MEDIUM.
24
- - Quando a feature envolve decisões de integração com APIs externas ou novos módulos.
23
+ - **No MEDIUM:** `@orchestrator` o dispara automaticamente como sub-agente no fan-out de spec — você não precisa invocar manualmente.
24
+ - **Detour explícito:** quando a feature envolve decisões de integração com APIs externas ou novos módulos e você quer decisões técnicas separadas da análise de domínio.
25
25
  - Quando você quer garantir consistência com o padrão de pastas do projeto antes de implementar.
26
- - Quando há um plano Sheldon (`@sheldon` foi invocado antes) — `@architect` lê o plano por fases.
26
+
27
+ > **SMALL:** na lane lean padrão (`@product → @sheldon → @dev → @qa`), `@architect` não é um hop padrão — o `@sheldon` cobre as decisões técnicas sozinho. Invoque `@architect` explicitamente apenas como detour se precisar de estrutura técnica mais detalhada.
28
+
29
+ > **Modo merged:** quando `@architect` é invocado sem `@discovery-design-doc` no fluxo, ele entra em **modo merged** — além das decisões técnicas padrão, produz também o design-doc e o readiness, absorvendo o papel que seria do `@discovery-design-doc`.
27
30
 
28
31
  ---
29
32
 
30
33
  ## Quando NÃO invocar
31
34
 
32
35
  - Feature MICRO sem decisões novas → `@dev` infere do contexto existente.
36
+ - Projeto SMALL em lane padrão → `@sheldon` já cobre as decisões técnicas; `@architect` só se necessário como detour.
33
37
  - Você só quer adicionar um campo a uma entidade existente → `@dev` lida sozinho.
34
38
  - Você quer revisar a arquitetura geral do projeto (não de uma feature) → use `@sheldon`.
35
39
 
@@ -101,8 +105,8 @@ aioson dossier:add-codemap . --slug=checkout-stripe \
101
105
 
102
106
  ## Handoff típico
103
107
 
104
- - **Vem de:** `@analyst`
105
- - **Vai para:** `@ux-ui` (MEDIUM) ou `@dev` (SMALL/MICRO)
108
+ - **Vem de:** `@orchestrator` (como sub-agente no MEDIUM) ou `@analyst` (quando usado como detour)
109
+ - **Vai para:** `@ux-ui` (detour MEDIUM com UI pesada) ou resultado consolida para `@orchestrator` quando em sub-agente
106
110
 
107
111
  ---
108
112
 
@@ -10,9 +10,19 @@
10
10
 
11
11
  ## Para que serve
12
12
 
13
- Você passou por `@product`, `@analyst`, `@architect` e, nos fluxos SMALL/MEDIUM atuais, por `@scope-check` antes de abrir implementação. A spec existe, as decisões técnicas estão em disco. Agora é hora de escrever código — mas de forma que o próximo agente (`@qa`, `@validator`) consiga verificar o que foi feito sem perguntar "o que você implementou?".
13
+ Você passou pela autoridade única de spec (`@sheldon` no SMALL ou `@orchestrator` no MEDIUM) a spec existe, as decisões técnicas estão em disco, o plano de implementação está faseado e o contrato de harness está aprovado. Agora é hora de escrever código — mas de forma que o próximo agente (`@qa`, `@validator`) consiga verificar o que foi feito sem perguntar "o que você implementou?".
14
14
 
15
- `@dev` lê os artefatos, implementa, e grava um `dev-state.md` com o resumo do que foi feito, quais arquivos foram tocados, e qual é o próximo passo. Isso é o que permite continuar de onde parou em outra sessão, sem depender do histórico de chat.
15
+ `@dev` lê os artefatos, implementa fase por fase, e grava um `dev-state.md` com o resumo do que foi feito, quais arquivos foram tocados, e qual é o próximo passo. Isso é o que permite continuar de onde parou em outra sessão, sem depender do histórico de chat.
16
+
17
+ **Loop de fases:** `@dev` executa o plano faseado como um loop automático:
18
+ 1. Implementa a fase atual.
19
+ 2. Roda `aioson harness:check` (gate por fase).
20
+ 3. Executa **verificação por fase** (sub-agente leve, ex.: `qa` num modelo barato) — o relatório substitui o "continue?".
21
+ 4. Corrige os pontos encontrados dentro da mesma fase.
22
+ 5. **Compacta o contexto** antes de avançar.
23
+ 6. Passa para a próxima fase sem precisar de aprovação manual.
24
+
25
+ O **Runtime smoke completo** (build + migrations em DB real + boot + happy-path) roda **uma vez ao fim da feature** — não por fase. Verificação por fase é suprimida no MICRO para economizar tokens.
16
26
 
17
27
  **Regra dura de contexto:** ele carrega no máximo 5 arquivos antes de escrever a primeira linha de código. Se precisar de mais, para e pergunta o que priorizar. Isso evita "contexto inchado" que leva a decisões confusas.
18
28
 
@@ -20,7 +30,8 @@ Você passou por `@product`, `@analyst`, `@architect` e, nos fluxos SMALL/MEDIUM
20
30
 
21
31
  ## Quando invocar
22
32
 
23
- - Após `@scope-check` (SMALL/MEDIUM) ou `@product` (MICRO).
33
+ - Após `@sheldon` (SMALL — lane lean padrão) ou `@orchestrator` (MEDIUM — lane maestro).
34
+ - Após `@product` (MICRO — sem fase de spec).
24
35
  - Para retomar uma feature interrompida — `@dev` lê `dev-state.md` e sabe onde parou.
25
36
  - Para correções apontadas pelo `@qa` (ciclo autônomo, até 2 iterações).
26
37
 
@@ -43,7 +54,7 @@ Você > @dev
43
54
  Lendo project.context.md... Node.js, SMALL, checkout-stripe.
44
55
  Lendo spec-checkout-stripe.md e implementation-plan-checkout-stripe.md...
45
56
 
46
- Scope-check aprovado. Implementando:
57
+ Scope-check aprovado. Implementando:
47
58
 
48
59
  1. db/migrations/add-payment-table.sql ← Payment schema
49
60
  2. src/models/payment.js ← model com validação básica
@@ -91,7 +102,8 @@ Depende do modo:
91
102
  | Modo | O que carrega (máx. 5 arquivos) |
92
103
  |---|---|
93
104
  | MICRO | `project.context.md` + `prd-{slug}.md` |
94
- | SMALL/MEDIUM | `project.context.md` + `spec-{slug}.md` + `implementation-plan-{slug}.md` |
105
+ | SMALL | `project.context.md` + pacote de spec do `@sheldon` (`requirements-{slug}.md` + `implementation-plan-{slug}.md`) |
106
+ | MEDIUM | `project.context.md` + pacote de spec do `@orchestrator` (`implementation-plan-{slug}.md` + `harness-contract.json`) |
95
107
  | Retomada | Apenas o `context_package` do `dev-state.md` |
96
108
 
97
109
  **Nunca carrega** arquivos de outros agentes (`.aioson/agents/`), specs de outras features, ou mais de 5 arquivos antes do primeiro código.
@@ -124,8 +136,8 @@ aioson memory:summary . --last=5
124
136
 
125
137
  ## Handoff típico
126
138
 
127
- - **Vem de:** `@scope-check` (SMALL/MEDIUM) ou `@product` (MICRO)
128
- - **Vai para:** `@qa`
139
+ - **Vem de:** `@sheldon` (SMALL) · `@orchestrator` (MEDIUM) · `@product` (MICRO)
140
+ - **Vai para:** `@pentester` (MEDIUM, inline) → `@qa`; ou direto `@qa` (SMALL/MICRO)
129
141
 
130
142
  ---
131
143
 
@@ -43,25 +43,27 @@ Ou seja: ele pode ser um atalho antes do ciclo completo **ou** uma etapa de segu
43
43
 
44
44
  ## Onde entra no workflow
45
45
 
46
- Fluxo exploratório manual:
46
+ **Fluxo exploratório manual (qualquer tamanho):**
47
47
 
48
48
  ```
49
49
  @setup -> @discovery-design-doc -> próximo agente recomendado
50
50
  ```
51
51
 
52
- Fluxo SMALL atual:
52
+ **Detour opt-in no SMALL** (quando você quer consolidar artefatos de spec antes do `@dev`):
53
53
 
54
54
  ```
55
- @product -> @analyst -> @scope-check(pre-dev) -> @architect -> @discovery-design-doc -> @dev -> @qa
55
+ @product -> @sheldon -> @discovery-design-doc (opt-in) -> @dev -> @qa
56
56
  ```
57
57
 
58
- Fluxo MEDIUM atual:
58
+ **Sub-agente ou detour no MEDIUM** (absorvido pelo `@architect` em merged mode, ou invocável como detour entre `@orchestrator` e `@dev`):
59
59
 
60
60
  ```
61
- @product -> @analyst -> @architect -> @discovery-design-doc -> @ux-ui -> @pm -> @orchestrator -> @scope-check(pre-dev) -> @dev -> @qa
61
+ @product -> @orchestrator -> @discovery-design-doc (opt-in) -> @dev -> @pentester -> @qa
62
62
  ```
63
63
 
64
- O papel dele no meio da feature não é substituir `@analyst` nem `@architect`. Ele transforma esses artefatos em um pacote executável para implementação.
64
+ > **Nota (v1.35.0):** nas lanes padrão, `@discovery-design-doc` não é um hop obrigatório. No SMALL, `@sheldon` produz design-doc e readiness. No MEDIUM, `@architect` em modo merged também os produz. `@discovery-design-doc` continua disponível como detour quando você quer consolidação explícita pré-dev ou quando o request chegou vago e precisa de normalização antes de entrar no workflow.
65
+
66
+ O papel dele no meio da feature não é substituir `@sheldon` nem `@orchestrator`. Ele transforma artefatos existentes em um pacote executável para implementação, ou normaliza um request vago antes de chamar o próximo agente.
65
67
 
66
68
  ---
67
69
 
@@ -70,23 +72,23 @@ O papel dele no meio da feature não é substituir `@analyst` nem `@architect`.
70
72
  ```
71
73
  Você > @discovery-design-doc
72
74
  Quero adicionar modo offline ao app mobile para que usuários possam
73
- ver conteúdos sem internet.
74
-
75
- @discovery-design-doc > Normalizando request...
76
- Problema: usuários perdem acesso ao conteúdo sem conexão
77
- Escopo: modo leitura offline (não criação)
78
-
79
- Ambiguidades identificadas:
80
- - Quanto conteúdo cabe offline? (sem limite definido)
81
- - Sincronização automática ou manual?
82
- - Conflitos de versão se offline e online divergirem?
83
-
84
- Já definido:
85
- - Stack: React Native + SQLite local disponível
86
- - Auth: token pode sobreviver offline (não expira em 24h)
87
-
88
- @discovery-design-doc > Design doc criado em: .aioson/context/design-doc.md
89
- Readiness: MÉDIO — 3 ambiguidades precisam de decisão.
75
+ ver conteúdos sem internet.
76
+
77
+ @discovery-design-doc > Normalizando request...
78
+ Problema: usuários perdem acesso ao conteúdo sem conexão
79
+ Escopo: modo leitura offline (não criação)
80
+
81
+ Ambiguidades identificadas:
82
+ - Quanto conteúdo cabe offline? (sem limite definido)
83
+ - Sincronização automática ou manual?
84
+ - Conflitos de versão se offline e online divergirem?
85
+
86
+ Já definido:
87
+ - Stack: React Native + SQLite local disponível
88
+ - Auth: token pode sobreviver offline (não expira em 24h)
89
+
90
+ @discovery-design-doc > Design doc criado em: .aioson/context/design-doc.md
91
+ Readiness: MÉDIO — 3 ambiguidades precisam de decisão.
90
92
  Recomendação: @product para fechar escopo antes de @dev.
91
93
  ```
92
94
 
@@ -1,118 +1,164 @@
1
- # @orchestrator — Coordene lanes paralelas em projetos MEDIUM
2
-
3
- > **Para quem é:** quem trabalha em projetos MEDIUM e precisa dividir a implementação em frentes paralelas.
4
- > **Tempo de leitura:** 4 min.
5
- > **O que você vai sair sabendo:**
6
- > - O que é uma "lane" e quando paralelizar faz sentido
7
- > - Comandos CLI do sistema de lanes
8
-
9
- ---
10
-
11
- ## Para que serve
12
-
13
- Em projetos MEDIUM, a implementação pode ser grande o suficiente para ter partes independentes — backend de autenticação e frontend de listagem, por exemplo — que podem acontecer em paralelo sem conflito. Tentar fazer isso manualmente sem coordenação é receita para conflitos de merge e arquivos sobrescritos.
14
-
15
- `@orchestrator` divide o trabalho em **lanes** (faixas de execução): cada lane tem seu escopo, seus arquivos permitidos, e seu estado independente. Ele garante que as lanes não escrevam nos mesmos arquivos e coordena o merge no final.
16
-
17
- **Regra dura:** `@orchestrator` só ativa em projetos MEDIUM. Para MICRO e SMALL, execução sequencial é o suficiente.
18
-
19
- ---
20
-
21
- ## Quando invocar
22
-
23
- - Projetos MEDIUM, após `@pm`, quando há implementação paralelizável.
24
- - Quando você tem múltiplos devs (humanos ou IAs) trabalhando na mesma feature.
25
- - Quando uma feature tem frentes claramente independentes (ex: API + UI + migrations).
26
-
27
- ---
28
-
29
- ## Quando NÃO invocar
30
-
31
- - Projeto MICRO ou SMALLele mesmo recusa e te avisa.
32
- - A feature tem dependências lineares fortes → implemente sequencialmente com `@dev`.
33
-
34
- ---
35
-
36
- ## Diálogo típico
37
-
38
- ```
39
- Você > @orchestrator
40
-
41
- @orchestrator > Verificando classificação... MEDIUM. OK.
42
- Lendo architecture.md, tasks.md, ui-spec.md...
43
-
44
- Dividindo em 3 lanes:
45
- Lane 1 — backend
46
- Escopo: src/models/payment.js, src/services/payment-service.js, src/routes/checkout.js
47
- Lane 2 — frontend
48
- Escopo: src/views/checkout/, src/components/PaymentForm/
49
- Lane 3 migrations
50
- Escopo: db/migrations/add-payment-table.sql
51
-
52
- Guard configurado: lanes não podem escrever fora do próprio escopo.
53
-
54
- $ aioson parallel:init . ✓
55
- $ aioson parallel:assign . ✓
56
- Workspace pronto em .aioson/context/parallel/
57
-
58
- Quando terminar cada lane, rode:
59
- aioson parallel:status .
60
- aioson parallel:merge . --apply
61
- ```
62
-
63
- ---
64
-
65
- ## Saídas em disco
66
-
67
- | Arquivo/Diretório | Conteúdo |
68
- |---|---|
69
- | `.aioson/context/parallel/lane-1.md` | Escopo e estado da lane 1 |
70
- | `.aioson/context/parallel/lane-2.md` | Escopo e estado da lane 2 |
71
- | `.aioson/context/parallel/lane-N.md` | ... |
72
-
73
- ---
74
-
75
- ## Como ele lê seu projeto
76
-
77
- - `.aioson/context/project.context.md` confirma `classification: MEDIUM`
78
- - `.aioson/context/discovery.md`, `architecture.md`, `prd.md`, `ui-spec.md`
79
- - `.aioson/context/implementation-plan-{slug}.md` se existir
80
- - `.aioson/context/parallel/` — ao retomar sessão
81
-
82
- ---
83
-
84
- ## Comandos CLI relacionados
85
-
86
- ```bash
87
- # Inicializar workspace de lanes
88
- aioson parallel:init .
89
-
90
- # Distribuir escopos
91
- aioson parallel:assign .
92
-
93
- # Ver progresso de cada lane
94
- aioson parallel:status .
95
-
96
- # Validar que uma lane está autorizada a escrever num arquivo
97
- aioson parallel:guard . --lane=1 --paths=src/models/payment.js
98
-
99
- # Merge final (só quando todas as lanes estão prontas)
100
- aioson parallel:merge . --apply
101
-
102
- # Corrigir workspace quebrado
103
- aioson parallel:doctor . --fix
104
- ```
105
-
106
- ---
107
-
108
- ## Handoff típico
109
-
110
- - **Vem de:** `@pm`
111
- - **Vai para:** `@dev` (em cada lane)
112
-
113
- ---
114
-
115
- ## Próximo passo
116
-
117
- - [Ficha do @dev](./dev.md) — executa dentro de cada lane
118
- - [Decisões iniciais: MEDIUM](../2-comecar/decisoes-iniciais.md#medium--workflow-completo)
1
+ # @orchestrator — Maestro de spec para projetos MEDIUM
2
+
3
+ > **Para quem é:** quem trabalha em projetos MEDIUM e precisa de uma autoridade única de spec que coordene a fase de descoberta e planejamento.
4
+ > **Tempo de leitura:** 5 min.
5
+ > **O que você vai sair sabendo:**
6
+ > - Por que `@orchestrator` é o maestro do MEDIUM (não apenas coordenador de execução)
7
+ > - Como funciona o fan-out para sub-agentes e a consolidação do pacote de spec
8
+ > - Quando (e como) usar lanes paralelas pós-spec
9
+
10
+ ---
11
+
12
+ ## Para que serve
13
+
14
+ Em projetos MEDIUM, a especificação envolve múltiplas dimensões — domínio, arquitetura, UX, backlog — que precisam ser coordenadas e verificadas antes que o `@dev` comece. Tentar gerenciar cada agente de spec manualmente, em sequência, é lento e sujeito a drift entre artefatos.
15
+
16
+ `@orchestrator` assume o papel de **maestro de spec**: ele dispara `@analyst`, `@architect` e `@pm` (e `@ux-ui` quando a feature tem UI pesada) como **sub-agentes em fan-out**, depois **consolida, verifica e retrabaha** os artefatos deles num único pacote de spec validado — com Gates A/B/C aprovados — e só então passa o bastão para o `@dev`.
17
+
18
+ **Regra dura:** `@orchestrator` só ativa em projetos MEDIUM. Para MICRO e SMALL, o `@sheldon` cobre a spec sozinho.
19
+
20
+ > SMALL = `@sheldon` (vertical, solo). MEDIUM = `@orchestrator` (horizontal, fan-out). Mesma ideia — uma autoridade única de spec — formas diferentes.
21
+
22
+ ---
23
+
24
+ ## O papel duplo do `@orchestrator`
25
+
26
+ ### 1. Maestro de spec (papel principal no MEDIUM)
27
+
28
+ Sequência padrão da lane MEDIUM:
29
+
30
+ ```
31
+ @product @orchestrator @dev@pentester @qa
32
+ ```
33
+
34
+ O `@orchestrator`:
35
+ 1. Lê o PRD e confirma classificação MEDIUM.
36
+ 2. (Opcional) Dispara `@sheldon` como pré-etapa para endurecer o PRD antes do fan-out.
37
+ 3. Fan-out: dispara `@analyst` + `@architect` + `@pm` como sub-agentes (+ `@ux-ui` se UI-heavy).
38
+ 4. Consolida os artefatos recebidos.
39
+ 5. Verifica consistência entre eles (detecta drift, gaps, conflitos).
40
+ 6. Retrabaha as inconsistências detectadas.
41
+ 7. Produz o pacote de spec consolidado (Gates A/B/C + plano de implementação faseado + harness-contract).
42
+ 8. Passa para `@dev`.
43
+
44
+ ### 2. Coordenador de lanes paralelas (papel secundário, pós-spec)
45
+
46
+ Quando a implementação de uma feature MEDIUM tem frentes genuinamente independentes — backend, UI, migrations — o `@orchestrator` pode dividir o trabalho em **lanes** após o pacote de spec estar consolidado:
47
+
48
+ - Cada lane tem escopo próprio, arquivos permitidos e estado independente.
49
+ - `@dev` implementa uma lane por sessão.
50
+ - `aioson parallel:merge` faz o merge determinístico no final.
51
+
52
+ ---
53
+
54
+ ## Quando invocar
55
+
56
+ - Projetos MEDIUM, após `@product` (pacote de spec ainda não existe).
57
+ - Quando você quer que a fase de spec rode de forma coordenada, com verificação cruzada entre sub-agentes, sem gerenciar cada um manualmente.
58
+
59
+ ---
60
+
61
+ ## Quando NÃO invocar
62
+
63
+ - Projeto MICRO ou SMALL → `@sheldon` cobre sozinho; `@orchestrator` recusa e avisa.
64
+ - Feature com pacote de spec já consolidado e você só quer dividir a implementação em lanes → use `aioson parallel:init` diretamente.
65
+
66
+ ---
67
+
68
+ ## Diálogo típico
69
+
70
+ ```
71
+ Você > @orchestrator
72
+
73
+ @orchestrator > Verificando classificação... MEDIUM. Confirmado.
74
+ Lendo prd-mvp.md...
75
+
76
+ Iniciando fan-out de spec:
77
+ ├── @analyst → mapeamento de domínio e entidades
78
+ ├── @architect estrutura técnica, libs, integração
79
+ └── @pm → backlog, user stories, plano de implementação
80
+
81
+ (+ @ux-ui — feature tem UI pesada, adicionando ao fan-out)
82
+
83
+ [sub-agentes executados]
84
+
85
+ Consolidando artefatos...
86
+ Verificando consistência:
87
+ Entidades do @analyst alinhadas com as decisões do @architect
88
+ @pm criou US-07 (notificação SMS) sem AC verificável — retrabalhando
89
+ ✓ @ux-ui spec alinhada com componentes declarados em architecture.md
90
+
91
+ Gates A/B/C aprovados.
92
+ Pacote de spec consolidado:
93
+ .aioson/context/requirements-mvp.md
94
+ .aioson/context/architecture.md
95
+ .aioson/context/design-doc-mvp.md
96
+ .aioson/context/implementation-plan-mvp.md
97
+ .aioson/context/parallel/harness-contract.json
98
+
99
+ Próximo: @dev.
100
+ ```
101
+
102
+ ---
103
+
104
+ ## `@sheldon` como pré-etapa (opcional)
105
+
106
+ Se o PRD tiver gaps ou decisões técnicas difíceis, rode `@sheldon` antes de `@orchestrator` para endurecer o PRD. Também é possível configurar `@orchestrator` para disparar `@sheldon` como um stream do fan-out.
107
+
108
+ ```
109
+ @product → @sheldon (endurecimento de PRD) → @orchestrator → @dev → @pentester → @qa
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Saídas em disco
115
+
116
+ | Arquivo/Diretório | Conteúdo |
117
+ |---|---|
118
+ | `.aioson/context/requirements-{slug}.md` | Domínio consolidado (de @analyst) |
119
+ | `.aioson/context/architecture.md` | Decisões técnicas (de @architect) |
120
+ | `.aioson/context/design-doc-{slug}.md` | Spec de UI/UX (de @ux-ui, quando UI-heavy) |
121
+ | `.aioson/context/implementation-plan-{slug}.md` | Plano faseado (de @pm) |
122
+ | `.aioson/context/parallel/harness-contract.json` | Contrato de sucesso (Gates A/B/C) |
123
+ | `.aioson/context/parallel/lane-*.md` | Lanes de execução (quando paralelização é usada) |
124
+
125
+ ---
126
+
127
+ ## Como ele lê seu projeto
128
+
129
+ - `.aioson/context/project.context.md` — confirma `classification: MEDIUM`
130
+ - `.aioson/context/prd-{slug}.md` — entrada para o fan-out de spec
131
+ - `.aioson/context/parallel/` — ao retomar sessão com lanes já criadas
132
+
133
+ ---
134
+
135
+ ## Comandos CLI relacionados
136
+
137
+ ```bash
138
+ # Ver progresso de cada lane
139
+ aioson parallel:status .
140
+
141
+ # Validar que uma lane está autorizada a escrever num arquivo
142
+ aioson parallel:guard . --lane=1 --paths=src/models/payment.js
143
+
144
+ # Merge final (quando todas as lanes estão prontas)
145
+ aioson parallel:merge . --apply
146
+
147
+ # Corrigir workspace quebrado
148
+ aioson parallel:doctor . --fix
149
+ ```
150
+
151
+ ---
152
+
153
+ ## Handoff típico
154
+
155
+ - **Vem de:** `@product`
156
+ - **Vai para:** `@dev`
157
+
158
+ ---
159
+
160
+ ## Próximo passo
161
+
162
+ - [Ficha do @dev](./dev.md) — executa o plano produzido pelo orchestrator
163
+ - [Ficha do @sheldon](./sheldon.md) — autoridade de spec para SMALL; pré-etapa opcional no MEDIUM
164
+ - [Decisões iniciais: MEDIUM](../2-comecar/decisoes-iniciais.md#medium--maestro-lane)
@@ -35,10 +35,10 @@ Os dois modos produzem `security-findings-{slug}.json` com a mesma estrutura, ma
35
35
 
36
36
  ## Quando invocar
37
37
 
38
- - Antes de publicar uma feature para produção.
39
- - Quando a feature toca autenticação, pagamentos, upload de arquivos, ou dados sensíveis.
40
- - Quando você quer um audit point de segurança antes de uma release.
38
+ - **MEDIUM (padrão):** `@pentester` é **inline** na lane MEDIUM — entra entre `@dev` e `@qa` como etapa padrão, não apenas opt-in.
39
+ - **SMALL/MICRO (opt-in):** ative manualmente quando a feature toca autenticação, pagamentos, upload de arquivos, ou dados sensíveis.
41
40
  - Quando o `@tester` encontrou indícios de problemas de segurança.
41
+ - Quando você quer um audit point de segurança antes de uma release em qualquer tamanho.
42
42
 
43
43
  ---
44
44
 
@@ -119,8 +119,8 @@ Você > checkout-stripe
119
119
 
120
120
  ## Handoff típico
121
121
 
122
- - **Vem de:** você diretamente, ou `@tester` (que encontrou indício)
123
- - **Vai para:** `@dev` (para corrigir findings HIGH/MEDIUM) → `@qa` (re-validação)
122
+ - **Vem de:** `@dev` (na lane MEDIUM, onde é inline) — ou você diretamente / `@tester` (detour em SMALL/MICRO)
123
+ - **Vai para:** `@dev` (para corrigir findings HIGH/MEDIUM) → `@qa` (re-validação final)
124
124
 
125
125
  ---
126
126
 
@@ -19,19 +19,27 @@ Sua regra interna de ouro: máximo 2 páginas. Se o output excede isso, ele est
19
19
 
20
20
  ## Dois contextos de ativação
21
21
 
22
- ### 1. Feature workflow MEDIUM (pré-dev — v1.22.0+)
22
+ ### 1. Feature workflow MEDIUM — sub-agente do `@orchestrator` (v1.35.0)
23
23
 
24
- No workflow de feature MEDIUM, `@pm` aparece logo antes do `@dev` após `@discovery-design-doc` e antes do `@scope-check` pré-dev. Aqui sua responsabilidade é produzir o `implementation-plan-{slug}.md` (Gate C) que o `@dev` precisa para começar.
24
+ No workflow MEDIUM padrão (maestro lane), `@pm` é disparado pelo `@orchestrator` como parte do fan-out de spec. O `@orchestrator` consolida e verifica o plano produzido pelo `@pm` antes de passar para `@dev`.
25
25
 
26
26
  ```
27
- @analyst @scope-check @architect @discovery-design-doc @pmSTOP/dev
27
+ @orchestrator fan-out: @analyst + @architect + @pm + @ux-uiconsolida@dev
28
28
  ```
29
29
 
30
- O Gate C é aprovado com o plano pronto. Se o `@pm` for pulado em features MEDIUM, o `gate:check --gate=C` vai bloquear o `@dev`.
30
+ O Gate C (plano de implementação aprovado) é verificado pelo `@orchestrator` antes do handoff.
31
31
 
32
- ### 2. Projeto MEDIUM (modo tradicional)
32
+ ### 2. Detour opt-in (qualquer tamanho)
33
33
 
34
- Para o projeto completo (configuração inicial), `@pm` entra após `@ux-ui` e antes de `@orchestrator` priorizando e sequenciando as histórias do backlog.
34
+ Quando você quer criar o backlog e plano de implementação manualmente, sem passar pelo `@orchestrator`, pode invocar `@pm` diretamente após a fase de spec. Útil quando o `@sheldon` (SMALL) produziu o plano mas você quer expandir as user stories.
35
+
36
+ ### 3. Fluxo legado (escape hatch full-merged)
37
+
38
+ Para quem prefere gerenciar cada sub-agente manualmente no MEDIUM:
39
+
40
+ ```
41
+ @analyst → @architect → @discovery-design-doc → @pm → @orchestrator (lanes only) → @dev
42
+ ```
35
43
 
36
44
  ---
37
45
 
@@ -117,7 +125,7 @@ aioson workflow:status .
117
125
  **Feature MEDIUM (pré-dev):**
118
126
  - **Vem de:** `@discovery-design-doc`
119
127
  - **Produz:** `implementation-plan-{slug}.md` (Gate C)
120
- - **Vai para:** STOP — desenvolvedor faz `/compact` e ativa `/dev` quando continuar a mesma feature; usa `/clear` só para reset forte
128
+ - **Vai para:** STOP — desenvolvedor faz `/compact` e ativa `/dev` quando continuar a mesma feature; usa `/clear` só para reset forte
121
129
 
122
130
  **Projeto MEDIUM (modo completo):**
123
131
  - **Vem de:** `@ux-ui`