@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
|
@@ -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
|
-
-
|
|
24
|
-
-
|
|
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
|
|
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:** `@
|
|
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
|
-
-
|
|
24
|
-
-
|
|
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
|
-
|
|
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 `@
|
|
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
|
|
package/docs/pt/4-agentes/dev.md
CHANGED
|
@@ -10,9 +10,19 @@
|
|
|
10
10
|
|
|
11
11
|
## Para que serve
|
|
12
12
|
|
|
13
|
-
Você passou
|
|
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 `@
|
|
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
|
|
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:** `@
|
|
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
|
-
|
|
52
|
+
**Detour opt-in no SMALL** (quando você quer consolidar artefatos de spec antes do `@dev`):
|
|
53
53
|
|
|
54
54
|
```
|
|
55
|
-
@product -> @
|
|
55
|
+
@product -> @sheldon -> @discovery-design-doc (opt-in) -> @dev -> @qa
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
|
|
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 -> @
|
|
61
|
+
@product -> @orchestrator -> @discovery-design-doc (opt-in) -> @dev -> @pentester -> @qa
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
> **Nota (v1.35.0):** nas lanes padrão, `@discovery-design-doc` não é um hop obrigatório. No SMALL, `@sheldon` já 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 —
|
|
2
|
-
|
|
3
|
-
> **Para quem é:** quem trabalha em projetos MEDIUM e precisa
|
|
4
|
-
> **Tempo de leitura:**
|
|
5
|
-
> **O que você vai sair sabendo:**
|
|
6
|
-
> -
|
|
7
|
-
> -
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
aioson
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
aioson
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
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
|
-
-
|
|
39
|
-
-
|
|
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:**
|
|
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
|
|
package/docs/pt/4-agentes/pm.md
CHANGED
|
@@ -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
|
|
22
|
+
### 1. Feature workflow MEDIUM — sub-agente do `@orchestrator` (v1.35.0)
|
|
23
23
|
|
|
24
|
-
No workflow
|
|
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
|
-
@
|
|
27
|
+
@orchestrator fan-out: @analyst + @architect + @pm + @ux-ui → consolida → @dev
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
O Gate C
|
|
30
|
+
O Gate C (plano de implementação aprovado) é verificado pelo `@orchestrator` antes do handoff.
|
|
31
31
|
|
|
32
|
-
### 2.
|
|
32
|
+
### 2. Detour opt-in (qualquer tamanho)
|
|
33
33
|
|
|
34
|
-
|
|
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`
|