@jaimevalasek/aioson 1.21.5 → 1.21.7

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 (61) hide show
  1. package/docs/en/1-understand/ecosystem-map.md +2 -2
  2. package/docs/en/1-understand/glossary.md +2 -2
  3. package/docs/en/2-start/initial-decisions.md +8 -8
  4. package/docs/en/3-recipes/README.md +1 -1
  5. package/docs/en/3-recipes/full-feature-with-sheldon.md +2 -2
  6. package/docs/en/5-reference/cli-reference.md +5 -5
  7. package/docs/en/5-reference/squad-dashboard.md +5 -5
  8. package/docs/en/README.md +1 -1
  9. package/docs/pt/1-entender/glossario.md +2 -2
  10. package/docs/pt/1-entender/mapa-do-ecossistema.md +3 -3
  11. package/docs/pt/2-comecar/decisoes-iniciais.md +7 -7
  12. package/docs/pt/3-receitas/README.md +1 -1
  13. package/docs/pt/3-receitas/feature-completa-com-sheldon.md +2 -2
  14. package/docs/pt/4-agentes/README.md +5 -4
  15. package/docs/pt/4-agentes/dev.md +4 -4
  16. package/docs/pt/4-agentes/squad.md +10 -10
  17. package/docs/pt/5-referencia/comandos-cli.md +4 -4
  18. package/docs/pt/5-referencia/fluxo-artefatos.md +15 -11
  19. package/docs/pt/5-referencia/squad-dashboard.md +5 -5
  20. package/docs/pt/README.md +2 -2
  21. package/docs/pt/agentes.md +8 -7
  22. package/docs/pt/living-memory/troubleshooting.md +1 -1
  23. package/package.json +1 -1
  24. package/src/commands/agents.js +48 -12
  25. package/src/commands/live.js +115 -26
  26. package/src/commands/workflow-next.js +189 -55
  27. package/src/commands/workflow-plan.js +5 -5
  28. package/src/commands/workflow-status.js +14 -5
  29. package/src/constants.js +36 -19
  30. package/src/dossier/schema.js +5 -4
  31. package/src/handoff-contract.js +67 -49
  32. package/src/i18n/messages/en.js +2 -2
  33. package/src/i18n/messages/es.js +2 -2
  34. package/src/i18n/messages/fr.js +2 -2
  35. package/src/i18n/messages/pt-BR.js +2 -2
  36. package/src/install-wizard.js +1 -1
  37. package/src/session-handoff.js +50 -20
  38. package/template/.aioson/agents/analyst.md +4 -4
  39. package/template/.aioson/agents/dev.md +7 -3
  40. package/template/.aioson/agents/discover.md +1 -1
  41. package/template/.aioson/agents/genome.md +9 -9
  42. package/template/.aioson/agents/manifests/scope-check.manifest.json +61 -0
  43. package/template/.aioson/agents/neo.md +2 -2
  44. package/template/.aioson/agents/pentester.md +3 -1
  45. package/template/.aioson/agents/product.md +3 -3
  46. package/template/.aioson/agents/qa.md +5 -4
  47. package/template/.aioson/agents/scope-check.md +164 -0
  48. package/template/.aioson/agents/sheldon.md +1 -1
  49. package/template/.aioson/agents/tester.md +5 -3
  50. package/template/.aioson/config.md +16 -7
  51. package/template/.aioson/docs/product/prd-contract.md +1 -1
  52. package/template/.aioson/rules/agent-structural-contract.md +21 -2
  53. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +5 -4
  54. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +1 -1
  55. package/template/.aioson/skills/process/prompt-sharpener/SKILL.md +116 -0
  56. package/template/.aioson/skills/process/prompt-sharpener/agents/openai.yaml +4 -0
  57. package/template/.aioson/skills/process/prompt-sharpener/references/prompt-diagnostics.md +51 -0
  58. package/template/.claude/commands/aioson/agent/scope-check.md +20 -0
  59. package/template/AGENTS.md +23 -12
  60. package/template/CLAUDE.md +4 -3
  61. package/template/OPENCODE.md +3 -2
@@ -71,8 +71,8 @@
71
71
  The default order depends on the classification:
72
72
 
73
73
  **MICRO:** `@setup → @product (optional) → @dev`
74
- **SMALL:** `@setup → @product → @sheldon (optional) → @analyst → @architect → @dev → @qa`
75
- **MEDIUM:** `@setup → @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa`
74
+ **SMALL:** `@setup → @product → @sheldon (optional) → @analyst → @scope-check → @architect → @dev → @qa`
75
+ **MEDIUM:** `@setup → @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa`
76
76
 
77
77
  > **Why does `@sheldon` appear so early?** It is the **PRD quality guardian** — it runs *between* `@product` and `@analyst` to detect gaps, validate technical assumptions with web research, and decide between enriching the PRD in-place or creating a phased plan in `.aioson/plans/{slug}/`. Can be invoked N times on the same PRD. Skipping this step on serious features is expensive later.
78
78
 
@@ -73,7 +73,7 @@ Terms in alphabetical order. Each entry has a **short definition** + **concrete
73
73
 
74
74
  **How it works:**
75
75
  - 0–1 points → **MICRO** (`@setup → @product → @dev`)
76
- - 2–3 points → **SMALL** (`@setup → @product → @analyst → @architect → @dev → @qa`)
76
+ - 2–3 points → **SMALL** (`@setup → @product → @analyst → @scope-check → @architect → @dev → @qa`)
77
77
  - 4–6 points → **MEDIUM** (full workflow, all gates, all artifacts)
78
78
 
79
79
  **Where it appears:** `classification:` in the `project.context.md` frontmatter.
@@ -255,7 +255,7 @@ Terms in alphabetical order. Each entry has a **short definition** + **concrete
255
255
 
256
256
  **Example:** a "legal compliance" squad with agents `@regulator`, `@attorney`, `@auditor`, under the command of `@squad`.
257
257
 
258
- **Commands:** `aioson squad:assemble`, `squad:agent-create`, `squad:refresh`.
258
+ **Commands:** `aioson squad:scaffold`, `squad:agent-create`, `squad:doctor`.
259
259
 
260
260
  ---
261
261
 
@@ -41,7 +41,7 @@ The sum of three factors (each worth 0, 1, or 2 points):
41
41
  - Static portfolio page
42
42
  - Mini API with 3 endpoints
43
43
 
44
- #### SMALL — `@setup → @product → @analyst → @architect → @dev → @qa`
44
+ #### SMALL — `@setup → @product → @analyst → @scope-check → @architect → @dev → @qa`
45
45
 
46
46
  - For: most real apps.
47
47
  - Full discovery+development+QA cycle.
@@ -110,13 +110,13 @@ Adds the squad system — you can create custom squads for domains outside the s
110
110
  - `@attorney` — interprets clauses
111
111
  - `@auditor` — checks conformity
112
112
 
113
- ```bash
114
- # Inside the AI client
115
- > @squad assemble compliance
116
-
117
- # Or via CLI
118
- npx @jaimevalasek/aioson squad:assemble compliance
119
- ```
113
+ ```bash
114
+ # Inside the AI client
115
+ > @squad scaffold compliance
116
+
117
+ # Or via CLI
118
+ npx @jaimevalasek/aioson squad:scaffold . --slug=compliance --name="Compliance" --mode=mixed
119
+ ```
120
120
 
121
121
  **When to activate Squads:**
122
122
  - You know you'll need specialization outside the standard
@@ -8,7 +8,7 @@ These three trails show **how features reach development** in AIOSON. You almost
8
8
 
9
9
  | Trail | When to use | Key agents |
10
10
  |---|---|---|
11
- | **[Full feature with @sheldon](./full-feature-with-sheldon.md)** | You have a PRD in mind and want the complete canonical trail (most used) | @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa |
11
+ | **[Full feature with @sheldon](./full-feature-with-sheldon.md)** | You have a PRD in mind and want the complete canonical trail (most used) | @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa |
12
12
  | [From idea to PRD via @briefing](./from-idea-to-prd-via-briefing.md) | Your idea is still vague, several loose notes | @briefing → @product |
13
13
  | [External plans for @product](./external-plans-for-product.md) *(coming soon)* | You already planned in another chat (ChatGPT, Claude.io Web) | @product (reads `/plans/`) |
14
14
 
@@ -10,7 +10,7 @@
10
10
  ## The trail in one line
11
11
 
12
12
  ```
13
- /aioson:agent:product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev
13
+ /aioson:agent:product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev
14
14
 
15
15
  (@qa ↔ @dev) ← autonomous loop
16
16
 
@@ -299,7 +299,7 @@ Six months from now, anyone (or any AI) reads these files and understands **ever
299
299
  `@product → @dev → @qa`. Skip `@sheldon`, `@analyst`, `@architect`, `@ux-ui`, `@pm`, `@orchestrator`. The Constitution Article II (*Right-Sized Process*) protects you from unnecessary ceremony.
300
300
 
301
301
  ### SMALL without UI
302
- `@product → @sheldon → @analyst → @architect → @dev → @qa`. Skip `@ux-ui`, `@pm`, `@orchestrator`.
302
+ `@product → @sheldon → @analyst → @scope-check → @architect → @dev → @qa`. Skip `@ux-ui`, `@pm`, `@orchestrator`.
303
303
 
304
304
  ### Full MEDIUM
305
305
  The complete trail above.
@@ -255,7 +255,7 @@ aioson agent:prompt dev --tool=opencode --json
255
255
  ```
256
256
 
257
257
  **Arguments:**
258
- - `<agent>` — agent id: `setup`, `product`, `analyst`, `architect`, `ux-ui`, `pm`, `dev`, `qa`, `orchestrator`.
258
+ - `<agent>` — agent id: `setup`, `product`, `analyst`, `scope-check`, `architect`, `ux-ui`, `pm`, `dev`, `qa`, `orchestrator`.
259
259
 
260
260
  **Options:**
261
261
  - `--tool=codex|claude|opencode` — formats the prompt for the target CLI. Default: `codex`.
@@ -302,18 +302,18 @@ Notes:
302
302
 
303
303
  **Sequences by classification:**
304
304
  - `MICRO`: `@setup → @product (optional) → @dev`
305
- - `SMALL`: `@setup → @product → @analyst → @architect → @dev → @qa`
306
- - `MEDIUM`: `@setup → @product → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa`
305
+ - `SMALL`: `@setup → @product → @analyst → @scope-check → @architect → @dev → @qa`
306
+ - `MEDIUM`: `@setup → @product → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa`
307
307
 
308
308
  **Feature development workflow (after initial setup):**
309
309
 
310
310
  Once the project is set up, each new feature follows a shorter sequence — no `@setup` required:
311
311
 
312
312
  ```
313
- /aioson:agent:product → @analyst → @dev → @qa
313
+ /aioson:agent:product → @analyst → @scope-check → @dev → @qa
314
314
  ```
315
315
 
316
- `@product` creates a feature-scoped `prd-{slug}.md` and registers the feature in `features.md`. `@analyst` produces `requirements-{slug}.md` and `spec-{slug}.md`. `@dev` reads the feature spec. `@qa` closes the feature by running `feature:close --verdict=PASS`, which updates `spec-{slug}.md` with a QA sign-off, marks it `done` in `features.md`, and automatically archives all feature artefacts to `.aioson/context/done/{slug}/`.
316
+ `@product` creates a feature-scoped `prd-{slug}.md` and registers the feature in `features.md`. `@analyst` produces `requirements-{slug}.md` and `spec-{slug}.md`. `@scope-check` compares intent against the planned implementation before coding. `@dev` reads the feature spec. `@qa` closes the feature by running `feature:close --verdict=PASS`, which updates `spec-{slug}.md` with a QA sign-off, marks it `done` in `features.md`, and automatically archives all feature artefacts to `.aioson/context/done/{slug}/`.
317
317
 
318
318
  The `SMALL` and MEDIUM outputs include a note reminding you of this sequence.
319
319
 
@@ -9,7 +9,7 @@ No additional installation required. It ships with aioson.
9
9
  ## Prerequisites
10
10
 
11
11
  - aioson installed globally (`npm install -g @jaimevalasek/aioson`)
12
- - At least one squad created in the project (`aioson squad:create`)
12
+ - At least one squad created in the project (`aioson squad:scaffold . --slug=<slug>`)
13
13
  - Node.js ≥ 18 (already required by aioson)
14
14
  - A modern browser (Chrome, Firefox, Safari, Edge)
15
15
 
@@ -330,10 +330,10 @@ Check that the manifest exists:
330
330
  ls .aioson/squads/*/squad.manifest.json
331
331
  ```
332
332
 
333
- If not, create the squad first:
334
- ```bash
335
- aioson squad:create . --squad=my-squad
336
- ```
333
+ If not, create the squad first:
334
+ ```bash
335
+ aioson squad:scaffold . --slug=my-squad --name="My Squad" --mode=mixed
336
+ ```
337
337
 
338
338
  ### Panels appear empty
339
339
 
package/docs/en/README.md CHANGED
@@ -23,7 +23,7 @@ This is the entry door to the English documentation. It is not an alphabetical i
23
23
  ### I want a recipe ready for my case
24
24
 
25
25
  **Canonical trails — how features reach the dev:**
26
- 1. **[Full feature with @sheldon](./3-recipes/full-feature-with-sheldon.md)** — the main trail: `@product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa` (with optional gates from `@tester` and `@pentester`)
26
+ 1. **[Full feature with @sheldon](./3-recipes/full-feature-with-sheldon.md)** — the main trail: `@product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa` (with optional gates from `@tester` and `@pentester`)
27
27
  2. [From idea to PRD via @briefing](./3-recipes/from-idea-to-prd-via-briefing.md) — when the idea is still vague
28
28
  3. [Continuity between sessions](./3-recipes/continuity-between-sessions.md) — feature dossier, dev-resume, drift detection
29
29
 
@@ -73,7 +73,7 @@ Termos em ordem alfabética. Cada um tem **definição curta** + **exemplo concr
73
73
 
74
74
  **Como funciona:**
75
75
  - 0–1 ponto → **MICRO** (`@setup → @product → @dev`)
76
- - 2–3 pontos → **SMALL** (`@setup → @product → @analyst → @architect → @dev → @qa`)
76
+ - 2–3 pontos → **SMALL** (`@setup → @product → @analyst → @scope-check → @architect → @dev → @qa`)
77
77
  - 4–6 pontos → **MEDIUM** (workflow completo, todos os gates, todos os artefatos)
78
78
 
79
79
  **Onde aparece:** `classification:` no frontmatter do `project.context.md`.
@@ -255,7 +255,7 @@ Termos em ordem alfabética. Cada um tem **definição curta** + **exemplo concr
255
255
 
256
256
  **Exemplo:** squad "compliance jurídico" com agentes `@regulator`, `@attorney`, `@auditor`, sob comando do `@squad`.
257
257
 
258
- **Comandos:** `aioson squad:assemble`, `squad:agent-create`, `squad:refresh`.
258
+ **Comandos:** `aioson squad:scaffold`, `squad:agent-create`, `squad:doctor`.
259
259
 
260
260
  ---
261
261
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Para quem é:** quem quer ver o time inteiro de uma vez.
4
4
  > **Tempo de leitura:** 8 min.
5
- > **O que você vai sair sabendo:** quem são os 28 agentes, em que momento cada um entra, e como eles se conversam.
5
+ > **O que você vai sair sabendo:** quem são os 29 agentes, em que momento cada um entra, e como eles se conversam.
6
6
 
7
7
  ---
8
8
 
@@ -71,8 +71,8 @@
71
71
  A ordem padrão depende da classificação:
72
72
 
73
73
  **MICRO:** `@setup → @product (opcional) → @dev`
74
- **SMALL:** `@setup → @product → @sheldon (opcional) → @analyst → @architect → @dev → @qa`
75
- **MEDIUM:** `@setup → @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa`
74
+ **SMALL:** `@setup → @product → @sheldon (opcional) → @analyst → @scope-check → @architect → @dev → @qa`
75
+ **MEDIUM:** `@setup → @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa`
76
76
 
77
77
  > **Por que `@sheldon` aparece tão cedo?** Ele é o **PRD quality guardian** — roda *entre* `@product` e `@analyst` para detectar gaps, validar premissas técnicas com pesquisa web, e decidir entre enriquecer o PRD in-place ou criar um phased plan em `.aioson/plans/{slug}/`. Pode ser invocado N vezes no mesmo PRD. Pular essa etapa em features sérias custa caro lá na frente.
78
78
 
@@ -41,7 +41,7 @@ Soma de três fatores (cada um vale 0, 1 ou 2 pontos):
41
41
  - Página estática de portfólio
42
42
  - Mini-API de 3 endpoints
43
43
 
44
- #### SMALL — `@setup → @product → @analyst → @architect → @dev → @qa`
44
+ #### SMALL — `@setup → @product → @analyst → @scope-check → @architect → @dev → @qa`
45
45
 
46
46
  - Para: a maioria dos apps reais.
47
47
  - Tem o ciclo completo de discovery+desenvolvimento+QA.
@@ -99,7 +99,7 @@ Você pode marcar **mais de um** no wizard — eles convivem no mesmo projeto.
99
99
 
100
100
  ### Development (padrão)
101
101
 
102
- Inclui os 28 agentes oficiais (product, analyst, dev, qa, etc.). Suficiente para 95% dos projetos.
102
+ Inclui os 29 agentes oficiais (product, analyst, dev, qa, etc.). Suficiente para 95% dos projetos.
103
103
 
104
104
  ### Development + Squads
105
105
 
@@ -111,11 +111,11 @@ Adiciona o sistema de squads — você pode criar squads customizados para domí
111
111
  - `@auditor` — checa conformidade
112
112
 
113
113
  ```bash
114
- # Dentro do cliente AI
115
- > @squad assemble compliance
116
-
117
- # Ou via CLI
118
- npx @jaimevalasek/aioson squad:assemble compliance
114
+ # Dentro do cliente AI
115
+ > @squad montar compliance
116
+
117
+ # Ou via CLI
118
+ npx @jaimevalasek/aioson squad:scaffold compliance
119
119
  ```
120
120
 
121
121
  **Quando ativar Squads:**
@@ -8,7 +8,7 @@ Estas três trilhas mostram **como features chegam ao desenvolvimento** no AIOSO
8
8
 
9
9
  | Trilha | Quando usar | Agentes-chave |
10
10
  |---|---|---|
11
- | **[Feature completa com @sheldon](./feature-completa-com-sheldon.md)** | Você tem PRD em mente e quer a trilha canônica completa (a mais usada) | @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa |
11
+ | **[Feature completa com @sheldon](./feature-completa-com-sheldon.md)** | Você tem PRD em mente e quer a trilha canônica completa (a mais usada) | @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa |
12
12
  | [Da ideia ao PRD via @briefing](./da-ideia-ao-prd-via-briefing.md) | Sua ideia ainda é vaga, várias anotações soltas | @briefing → @product |
13
13
  | [Plans externos para @product](./plans-externos-para-product.md) | Você já planejou em outro chat (ChatGPT, Claude.io Web) | @product (lê `/plans/`) |
14
14
 
@@ -10,7 +10,7 @@
10
10
  ## A trilha em uma linha
11
11
 
12
12
  ```
13
- @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev
13
+ @product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev
14
14
 
15
15
  (@qa ↔ @dev) ← ciclo autônomo
16
16
 
@@ -299,7 +299,7 @@ Daqui a 6 meses, qualquer pessoa (ou IA) lê esses arquivos e entende **tudo**:
299
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
300
 
301
301
  ### SMALL sem UI
302
- `@product → @sheldon → @analyst → @architect → @dev → @qa`. Pule `@ux-ui`, `@pm`, `@orchestrator`.
302
+ `@product → @sheldon → @analyst → @scope-check → @architect → @dev → @qa`. Pule `@ux-ui`, `@pm`, `@orchestrator`.
303
303
 
304
304
  ### MEDIUM puro
305
305
  A trilha completa acima.
@@ -1,6 +1,6 @@
1
1
  # Guia de Agentes AIOSON
2
2
 
3
- > Índice completo dos 28 agentes, com situação de uso e saída esperada.
3
+ > Índice completo dos 29 agentes, com situação de uso e saída esperada.
4
4
  > Cada agente tem sua ficha — clique no nome para detalhes.
5
5
 
6
6
  ---
@@ -9,9 +9,10 @@
9
9
 
10
10
  | Agente | Para que serve | Quando invocar | Saída principal |
11
11
  |---|---|---|---|
12
- | [@product](./product.md) | Define visão, PRD e escopo da feature | Início de projeto ou nova feature | `prd.md`, `spec.md` |
13
- | [@analyst](./analyst.md) | Descobre domínio, entidades, fluxos | Após `@product`, antes de `@architect` | `architecture.md` (domínio) |
14
- | [@architect](./architect.md) | Decide stack, estrutura, integração técnica | Após `@analyst` | `architecture.md` (técnico) |
12
+ | [@product](./product.md) | Define visão, PRD e escopo da feature | Início de projeto ou nova feature | `prd.md`, `spec.md` |
13
+ | [@analyst](./analyst.md) | Descobre domínio, entidades, fluxos | Após `@product`, antes de `@architect` | `architecture.md` (domínio) |
14
+ | [@scope-check](./scope-check.md) | Confronta intenção, plano e artefatos antes do código | Antes de `@dev` e após fixes relevantes | `scope-check.md` |
15
+ | [@architect](./architect.md) | Decide stack, estrutura, integração técnica | Após `@analyst` | `architecture.md` (técnico) |
15
16
  | [@ux-ui](./ux-ui.md) | Design system e specs de componentes | MEDIUM, após `@architect` | `design-doc.md`, `discovery.md` |
16
17
  | [@pm](./pm.md) | Backlog, user stories, ACs detalhados | MEDIUM, após `@ux-ui` | `tasks.md` |
17
18
  | [@orchestrator](./orchestrator.md) | Coordena lanes paralelas de implementação | MEDIUM, após `@pm` | `.aioson/context/parallel/` |
@@ -10,7 +10,7 @@
10
10
 
11
11
  ## Para que serve
12
12
 
13
- Você passou por `@product`, `@analyst`, `@architect`. 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 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?".
14
14
 
15
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.
16
16
 
@@ -20,7 +20,7 @@ Você passou por `@product`, `@analyst`, `@architect`. A spec existe, as decisõ
20
20
 
21
21
  ## Quando invocar
22
22
 
23
- - Após `@architect` (SMALL/MEDIUM) ou `@product` (MICRO).
23
+ - Após `@scope-check` (SMALL/MEDIUM) ou `@product` (MICRO).
24
24
  - Para retomar uma feature interrompida — `@dev` lê `dev-state.md` e sabe onde parou.
25
25
  - Para correções apontadas pelo `@qa` (ciclo autônomo, até 2 iterações).
26
26
 
@@ -43,7 +43,7 @@ Você > @dev
43
43
  Lendo project.context.md... Node.js, SMALL, checkout-stripe.
44
44
  Lendo spec-checkout-stripe.md e implementation-plan-checkout-stripe.md...
45
45
 
46
- Plano aprovado. Implementando:
46
+ Scope-check aprovado. Implementando:
47
47
 
48
48
  1. db/migrations/add-payment-table.sql ← Payment schema
49
49
  2. src/models/payment.js ← model com validação básica
@@ -124,7 +124,7 @@ aioson memory:summary . --last=5
124
124
 
125
125
  ## Handoff típico
126
126
 
127
- - **Vem de:** `@architect` (SMALL/MEDIUM) ou `@product` (MICRO)
127
+ - **Vem de:** `@scope-check` (SMALL/MEDIUM) ou `@product` (MICRO)
128
128
  - **Vai para:** `@qa`
129
129
 
130
130
  ---
@@ -93,16 +93,16 @@ Antes de criar, o `@squad` lê:
93
93
 
94
94
  ## Comandos CLI relacionados
95
95
 
96
- ```bash
97
- # Criar squad via CLI
98
- aioson squad:assemble <slug>
99
-
100
- # Atualizar squad existente (breadth-aware)
101
- aioson squad:refresh <slug>
102
-
103
- # Publicar no aioson.com
104
- aioson system:publish --type=squad --slug=<slug>
105
- ```
96
+ ```bash
97
+ # Criar squad via CLI
98
+ aioson squad:scaffold . --slug=<slug> --name="Meu Squad" --mode=mixed
99
+
100
+ # Diagnosticar squad existente
101
+ aioson squad:doctor . --squad=<slug>
102
+
103
+ # Publicar no aioson.com
104
+ aioson system:publish --type=squad --slug=<slug>
105
+ ```
106
106
 
107
107
  ---
108
108
 
@@ -521,8 +521,8 @@ Importante:
521
521
  - `scan:project` sozinho nao gera `discovery.md`
522
522
  - `scan:project` nunca gera `architecture.md`
523
523
  - se `discovery.md` e `skeleton-system.md` ja existirem e voce rodar com `--with-llm`, o scanner agora entra em modo de atualizacao por padrao: usa os arquivos atuais como memoria base, gera a nova versao consolidada e cria backup automatico em `.aioson/backups/` antes de sobrescrever
524
- - em projetos SMALL brownfield, o fluxo tipico depois do scan completo e `@analyst` -> `@architect` -> `@dev`
525
- - sem API LLM configurada, o fluxo local tambem e valido: `scan:project --folder=...` -> `@analyst` no seu Codex/Claude -> `@architect` -> `@dev`
524
+ - em projetos SMALL brownfield, o fluxo tipico depois do scan completo e `@analyst` -> `@scope-check` -> `@architect` -> `@dev`
525
+ - sem API LLM configurada, o fluxo local tambem e valido: `scan:project --folder=...` -> `@analyst` no seu Codex/Claude -> `@scope-check` -> `@architect` -> `@dev`
526
526
 
527
527
  O parâmetro `--folder` agora é obrigatório. Ele define quais pastas do projeto devem ganhar um mapa completo com pastas e arquivos. Você pode informar uma pasta ou várias separadas por vírgula.
528
528
 
@@ -574,8 +574,8 @@ Quando usar cada modo:
574
574
 
575
575
  Fluxos recomendados:
576
576
 
577
- - **Com API no aioson:** `scan:project --folder=src --with-llm --provider=...` -> `@analyst` -> `@architect` -> `@dev`
578
- - **Sem API no aioson:** `scan:project --folder=src` -> abrir seu AI CLI -> `@analyst` -> `@architect` -> `@dev`
577
+ - **Com API no aioson:** `scan:project --folder=src --with-llm --provider=...` -> `@analyst` -> `@scope-check` -> `@architect` -> `@dev`
578
+ - **Sem API no aioson:** `scan:project --folder=src` -> abrir seu AI CLI -> `@analyst` -> `@scope-check` -> `@architect` -> `@dev`
579
579
  - **Com contexto mínimo para tarefa específica:** `scan:project --folder=src` -> `context:pack --agent=dev --goal="..." --module=src`
580
580
  - Se o seu cliente nao entender `@analyst`, gere um prompt pronto com `aioson agent:prompt analyst --tool=codex` ou troque `--tool` para o cliente correto
581
581
 
@@ -11,12 +11,15 @@ Cada agente produz arquivos que os agentes subsequentes leem. Nenhum agente lê
11
11
  ```
12
12
  @product → prd.md / prd-{slug}.md
13
13
 
14
- @sheldon (N rodadas) → enriquece PRD + gera sheldon-enrichment-{slug}.md
15
- pode criar .aioson/plans/{slug}/manifest.md + plan-{fase}.md
16
-
17
- @analyst → lê sheldon-enrichment → discovery.md / requirements-{slug}.md + spec-{slug}.md
18
-
19
- @devcarrega minimum context package implementa fase por fase
14
+ @sheldon (N rodadas) → enriquece PRD + gera sheldon-enrichment-{slug}.md
15
+ pode criar .aioson/plans/{slug}/manifest.md + plan-{fase}.md
16
+
17
+ @analyst → lê sheldon-enrichment → discovery.md / requirements-{slug}.md + spec-{slug}.md
18
+
19
+ @scope-checkconfronta intenção, plano e artefatos antes do código
20
+ gera scope-check-{slug}.md quando a feature é nomeada
21
+
22
+ @dev → carrega minimum context package → implementa fase por fase
20
23
  ```
21
24
 
22
25
  ---
@@ -86,7 +89,7 @@ O `spec-{slug}.md` é o **artefato de handoff para @dev** — ele inclui as deci
86
89
  | Modo | O que @dev carrega |
87
90
  |---|---|
88
91
  | Feature MICRO | `project.context.md` + `prd-{slug}.md` |
89
- | Feature SMALL/MEDIUM | `project.context.md` + `spec-{slug}.md` + `implementation-plan-{slug}.md` |
92
+ | Feature SMALL/MEDIUM | `project.context.md` + `spec-{slug}.md` + `scope-check-{slug}.md` + `implementation-plan-{slug}.md` |
90
93
  | Feature com plano do Sheldon | `project.context.md` + `spec-{slug}.md` + `.aioson/plans/{slug}/manifest.md` + arquivo da fase atual |
91
94
  | Modo projeto | `project.context.md` + `spec.md` + `skeleton-system.md` |
92
95
 
@@ -157,9 +160,10 @@ Esta é a lista completa de arquivos que @dev pode consultar em qualquer sessão
157
160
  |---|---|
158
161
  | `project.context.md` | Sempre |
159
162
  | `dev-state.md` | Sempre (se existir — define o restante) |
160
- | `features.md` | Cold start apenas |
161
- | `spec-{slug}.md` | Feature ativa |
162
- | `implementation-plan-{slug}.md` | Se plano existe |
163
+ | `features.md` | Cold start apenas |
164
+ | `spec-{slug}.md` | Feature ativa |
165
+ | `scope-check-{slug}.md` | Antes da primeira implementação e após fixes relevantes |
166
+ | `implementation-plan-{slug}.md` | Se plano existe |
163
167
  | `.aioson/plans/{slug}/manifest.md` + fase atual | Se plano Sheldon existe |
164
168
  | `skeleton-system.md` | Só ao navegar estrutura do projeto |
165
169
  | `design-doc.md` | Só se listado no plano |
@@ -173,7 +177,7 @@ Esta é a lista completa de arquivos que @dev pode consultar em qualquer sessão
173
177
 
174
178
  ## Veja também
175
179
 
176
- - [Fichas dos 28 agentes](../4-agentes/README.md) — quando usar cada agente e o que ele entrega
180
+ - [Fichas dos 29 agentes](../4-agentes/README.md) — quando usar cada agente e o que ele entrega
177
181
  - [Receitas práticas](../3-receitas/README.md) — exemplos end-to-end por cenário
178
182
  - [Continuidade entre sessões](../3-receitas/continuidade-entre-sessoes.md) — feature dossier, dev-resume, drift detection
179
183
  - [Feature Archive](./feature-archive.md) — o que acontece com os artefatos quando a feature fecha
@@ -9,7 +9,7 @@ Não requer instalação adicional. Vem incluso quando você instala o aioson.
9
9
  ## Pré-requisitos
10
10
 
11
11
  - aioson instalado globalmente (`npm install -g @jaimevalasek/aioson`)
12
- - Pelo menos um squad criado no projeto (`aioson squad:create`)
12
+ - Pelo menos um squad criado no projeto (`aioson squad:scaffold . --slug=<slug>`)
13
13
  - Node.js ≥ 18 (já exigido pelo aioson)
14
14
  - Browser moderno (Chrome, Firefox, Safari, Edge)
15
15
 
@@ -331,10 +331,10 @@ Verifique se o manifest existe:
331
331
  ls .aioson/squads/*/squad.manifest.json
332
332
  ```
333
333
 
334
- Se não existir, crie o squad primeiro:
335
- ```bash
336
- aioson squad:create . --squad=meu-squad
337
- ```
334
+ Se não existir, crie o squad primeiro:
335
+ ```bash
336
+ aioson squad:scaffold . --slug=meu-squad --name="Meu Squad" --mode=mixed
337
+ ```
338
338
 
339
339
  ### Painéis aparecem vazios
340
340
 
package/docs/pt/README.md CHANGED
@@ -22,7 +22,7 @@ Esta é a porta de entrada da documentação em português. Não é um índice a
22
22
  ### Quero uma receita pronta para o meu caso
23
23
 
24
24
  **Trilhas canônicas — como features chegam ao dev:**
25
- 1. **[Feature completa com @sheldon](./3-receitas/feature-completa-com-sheldon.md)** — a trilha principal: `@product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa` (com gates opcionais de `@tester` e `@pentester`)
25
+ 1. **[Feature completa com @sheldon](./3-receitas/feature-completa-com-sheldon.md)** — a trilha principal: `@product → @sheldon → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @dev → @qa` (com gates opcionais de `@tester` e `@pentester`)
26
26
  2. [Da ideia ao PRD via @briefing](./3-receitas/da-ideia-ao-prd-via-briefing.md) — quando a ideia ainda é vaga
27
27
  3. [Plans externos para @product](./3-receitas/plans-externos-para-product.md) — quando você planejou em ChatGPT/Claude.io e quer trazer
28
28
 
@@ -37,7 +37,7 @@ Esta é a porta de entrada da documentação em português. Não é um índice a
37
37
  11. [Continuidade entre sessões](./3-receitas/continuidade-entre-sessoes.md) — feature dossier, dev-resume, drift detection
38
38
 
39
39
  ### Quero a referência técnica de um agente ou comando
40
- - **[Fichas dos 28 agentes](./4-agentes/README.md)** — uma ficha por agente, com diálogo típico, saídas em disco e handoff
40
+ - **[Fichas dos 29 agentes](./4-agentes/README.md)** — uma ficha por agente, com diálogo típico, saídas em disco e handoff
41
41
  - **[Referência técnica completa](./5-referencia/README.md)** — 32 docs organizados em 5 categorias (novos 2026, artefatos, CLI/config, agentes/squads, skills/design)
42
42
  - [Guia de agentes (legado)](./agentes.md) — visão tabular alternativa
43
43
 
@@ -13,10 +13,11 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
13
13
  ```
14
14
  @setup ← sempre o primeiro
15
15
  @product ← gera o PRD base vivo e roteia o fluxo
16
- @deyvin ← companheiro tecnico para continuidade e pequenas implementacoes
17
- @discovery-design-doc ← quando precisa clarear escopo e gerar design doc vivo
18
- @analyst ← projetos SMALL e MEDIUM
19
- @architect projetos SMALL e MEDIUM
16
+ @deyvin ← companheiro tecnico para continuidade e pequenas implementacoes
17
+ @discovery-design-doc ← quando precisa clarear escopo e gerar design doc vivo
18
+ @analyst ← projetos SMALL e MEDIUM
19
+ @scope-check valida alinhamento antes de codar ou depois de fix relevante
20
+ @architect ← projetos SMALL e MEDIUM
20
21
  @ux-ui ← UI/UX quando há interfaces (SMALL e MEDIUM)
21
22
  @pm ← apenas MEDIUM
22
23
  @orchestrator ← apenas MEDIUM
@@ -52,9 +53,9 @@ O AIOSON tem agentes oficiais de projeto e também pode criar agentes de squad.
52
53
 
53
54
  Quando o projeto ja existe e voce roda `scan:project`, o handoff correto agora e:
54
55
 
55
- ```text
56
- scan:project -> @analyst -> @architect -> @dev
57
- ```
56
+ ```text
57
+ scan:project -> @analyst -> @scope-check -> @architect -> @dev
58
+ ```
58
59
 
59
60
  Regras do fluxo:
60
61
  - os artefatos locais do scan (`scan-index.md`, `scan-folders.md`, `scan-<pasta>.md`, `scan-aioson.md`) servem como mapas brutos do codigo
@@ -44,7 +44,7 @@ aioson memory:status .
44
44
 
45
45
  ```
46
46
  [FAIL] Bootstrap coverage: 4/4
47
- Hint: Run /discover to refresh the bootstrap files (or `aioson memory:refresh` if implemented).
47
+ Hint: Run /discover to refresh the bootstrap files (or `aioson memory:reflect-prepare . --agent=dev` for manual reflection).
48
48
  ```
49
49
 
50
50
  (Repare: cobertura 4/4 mas advisório por estar antigo — a hint detecta via `generated_at`.)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaimevalasek/aioson",
3
- "version": "1.21.5",
3
+ "version": "1.21.7",
4
4
  "description": "AI operating framework for hyper-personalized software.",
5
5
  "keywords": [
6
6
  "ai",
@@ -20,17 +20,51 @@ const { readAutonomyProtocol, resolveEffectiveMode } = require('../autonomy-poli
20
20
  const { readAgentManifest, buildAgentCapabilitySummary } = require('../agent-manifests');
21
21
  const { emitSecurityRuntimeEvent } = require('../lib/security/runtime-events');
22
22
 
23
- const WORKFLOW_AGENT_IDS = new Set([
24
- 'setup',
25
- 'product',
26
- 'analyst',
27
- 'architect',
23
+ const WORKFLOW_AGENT_IDS = new Set([
24
+ 'setup',
25
+ 'product',
26
+ 'analyst',
27
+ 'scope-check',
28
+ 'architect',
28
29
  'ux-ui',
29
30
  'pm',
30
31
  'orchestrator',
31
32
  'dev',
32
- 'qa'
33
- ]);
33
+ 'qa'
34
+ ]);
35
+ const SCOPE_CHECK_MODES = new Set(['pre-dev', 'post-dev', 'post-fix', 'final']);
36
+
37
+ function normalizeScopeCheckMode(input) {
38
+ const mode = String(input || '').trim().toLowerCase();
39
+ return SCOPE_CHECK_MODES.has(mode) ? mode : null;
40
+ }
41
+
42
+ function getScopeCheckModeOption(options = {}) {
43
+ return normalizeScopeCheckMode(
44
+ options.scopeMode ||
45
+ options['scope-mode'] ||
46
+ options.checkMode ||
47
+ options['check-mode'] ||
48
+ options.mode
49
+ );
50
+ }
51
+
52
+ function buildScopeCheckActivationContext(options = {}) {
53
+ const mode = getScopeCheckModeOption(options) || 'pre-dev';
54
+ const lines = [`Scope-check mode: ${mode}.`];
55
+ const featureSlug = String(options.feature || options.slug || '').trim();
56
+ if (featureSlug) lines.push(`Feature slug: ${featureSlug}.`);
57
+ if (mode === 'pre-dev') {
58
+ lines.push('Compare user intent against planning artifacts before implementation.');
59
+ } else if (mode === 'post-dev') {
60
+ lines.push('Compare the approved planning artifacts against the actual implementation diff and changed files before QA.');
61
+ } else if (mode === 'post-fix') {
62
+ lines.push('Compare approved scope, QA/tester/pentester findings, and correction diff; confirm the fix did not change product intent.');
63
+ } else if (mode === 'final') {
64
+ lines.push('Reconcile intent, plan, delivered behavior, and remaining exclusions before close/commit/release.');
65
+ }
66
+ return lines.join('\n');
67
+ }
34
68
 
35
69
  function normalizePentesterTargetMode(input) {
36
70
  const mode = String(input || '').trim().toLowerCase();
@@ -173,10 +207,12 @@ async function runAgentPrompt({ args, options, logger, t }) {
173
207
 
174
208
  if (!prompt) {
175
209
  instructionPath = await resolveExistingInstructionPath(targetDir, promptAgent, locale);
176
- if (promptAgent.id === 'pentester') {
177
- pentesterTargetMode = normalizePentesterTargetMode(options.mode);
178
- activationContext = buildPentesterActivationContext(options, t);
179
- }
210
+ if (promptAgent.id === 'pentester') {
211
+ pentesterTargetMode = normalizePentesterTargetMode(options.mode);
212
+ activationContext = buildPentesterActivationContext(options, t);
213
+ } else if (promptAgent.id === 'scope-check') {
214
+ activationContext = buildScopeCheckActivationContext(options);
215
+ }
180
216
  const autonomyProtocol = await readAutonomyProtocol(targetDir);
181
217
  const manifest = await readAgentManifest(targetDir, promptAgent.id);
182
218
  effectiveMode = resolveEffectiveMode({
@@ -184,7 +220,7 @@ async function runAgentPrompt({ args, options, logger, t }) {
184
220
  tool,
185
221
  agentId: promptAgent.id,
186
222
  manifest,
187
- requestedMode: options.mode || null
223
+ requestedMode: promptAgent.id === 'scope-check' && getScopeCheckModeOption(options) ? null : options.mode || null
188
224
  });
189
225
  prompt = buildAgentPrompt(promptAgent, tool, {
190
226
  instructionPath,