@jaimevalasek/aioson 1.21.6 → 1.21.8

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 (91) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/docs/en/1-understand/ecosystem-map.md +1 -1
  3. package/docs/en/1-understand/glossary.md +1 -1
  4. package/docs/en/2-start/initial-decisions.md +8 -8
  5. package/docs/en/4-agents/README.md +8 -7
  6. package/docs/en/4-agents/discovery-design-doc.md +150 -0
  7. package/docs/en/5-reference/cli-reference.md +42 -16
  8. package/docs/en/5-reference/squad-dashboard.md +5 -5
  9. package/docs/en/README.md +2 -2
  10. package/docs/pt/1-entender/glossario.md +1 -1
  11. package/docs/pt/1-entender/mapa-do-ecossistema.md +1 -1
  12. package/docs/pt/2-comecar/decisoes-iniciais.md +6 -6
  13. package/docs/pt/4-agentes/README.md +5 -2
  14. package/docs/pt/4-agentes/briefing-refiner.md +122 -0
  15. package/docs/pt/4-agentes/dev.md +4 -4
  16. package/docs/pt/4-agentes/discovery-design-doc.md +133 -74
  17. package/docs/pt/4-agentes/scope-check.md +65 -0
  18. package/docs/pt/4-agentes/squad.md +10 -10
  19. package/docs/pt/5-referencia/README.md +1 -0
  20. package/docs/pt/5-referencia/comandos-cli.md +5 -4
  21. package/docs/pt/5-referencia/feature-archive.md +1 -0
  22. package/docs/pt/5-referencia/feature-export.md +155 -0
  23. package/docs/pt/5-referencia/fluxo-artefatos.md +15 -11
  24. package/docs/pt/5-referencia/squad-dashboard.md +5 -5
  25. package/docs/pt/README.md +2 -2
  26. package/docs/pt/agentes.md +11 -8
  27. package/docs/pt/living-memory/troubleshooting.md +1 -1
  28. package/package.json +1 -1
  29. package/src/agent-manifests.js +14 -3
  30. package/src/cli.js +57 -52
  31. package/src/commands/briefing.js +28 -150
  32. package/src/commands/commit-prepare.js +5 -2
  33. package/src/commands/feature-archive.js +48 -12
  34. package/src/commands/feature-export.js +242 -0
  35. package/src/commands/live.js +108 -14
  36. package/src/commands/parallel-doctor.js +2 -1
  37. package/src/commands/pulse-update.js +2 -2
  38. package/src/commands/scan-project.js +12 -2
  39. package/src/commands/workflow-next.js +416 -357
  40. package/src/constants.js +21 -11
  41. package/src/context-search.js +3 -0
  42. package/src/dossier/schema.js +4 -3
  43. package/src/handoff-contract.js +49 -41
  44. package/src/i18n/messages/en.js +22 -21
  45. package/src/i18n/messages/pt-BR.js +22 -21
  46. package/src/lib/briefing-refiner/apply-feedback.js +134 -0
  47. package/src/lib/briefing-refiner/briefing-paths.js +41 -0
  48. package/src/lib/briefing-refiner/briefing-registry.js +204 -0
  49. package/src/lib/briefing-refiner/briefing-sections.js +110 -0
  50. package/src/lib/briefing-refiner/feedback-schema.js +122 -0
  51. package/src/lib/briefing-refiner/refinement-report.js +39 -0
  52. package/src/lib/briefing-refiner/review-html.js +230 -0
  53. package/src/parser.js +8 -5
  54. package/src/runtime-store.js +2 -0
  55. package/src/sandbox.js +17 -3
  56. package/template/.aioson/agents/analyst.md +23 -23
  57. package/template/.aioson/agents/architect.md +3 -3
  58. package/template/.aioson/agents/briefing-refiner.md +121 -0
  59. package/template/.aioson/agents/briefing.md +83 -74
  60. package/template/.aioson/agents/committer.md +8 -0
  61. package/template/.aioson/agents/copywriter.md +19 -7
  62. package/template/.aioson/agents/design-hybrid-forge.md +16 -5
  63. package/template/.aioson/agents/dev.md +66 -66
  64. package/template/.aioson/agents/deyvin.md +97 -90
  65. package/template/.aioson/agents/discover.md +2 -2
  66. package/template/.aioson/agents/discovery-design-doc.md +30 -30
  67. package/template/.aioson/agents/genome.md +80 -69
  68. package/template/.aioson/agents/neo.md +11 -3
  69. package/template/.aioson/agents/orache.md +10 -0
  70. package/template/.aioson/agents/orchestrator.md +68 -68
  71. package/template/.aioson/agents/pentester.md +15 -6
  72. package/template/.aioson/agents/pm.md +22 -22
  73. package/template/.aioson/agents/product.md +108 -108
  74. package/template/.aioson/agents/profiler-enricher.md +10 -0
  75. package/template/.aioson/agents/profiler-forge.md +10 -0
  76. package/template/.aioson/agents/profiler-researcher.md +11 -0
  77. package/template/.aioson/agents/qa.md +6 -6
  78. package/template/.aioson/agents/scope-check.md +8 -0
  79. package/template/.aioson/agents/setup.md +11 -1
  80. package/template/.aioson/agents/sheldon.md +38 -38
  81. package/template/.aioson/agents/site-forge.md +15 -6
  82. package/template/.aioson/agents/squad.md +12 -0
  83. package/template/.aioson/agents/tester.md +209 -209
  84. package/template/.aioson/agents/ux-ui.md +2 -2
  85. package/template/.aioson/agents/validator.md +10 -2
  86. package/template/.aioson/docs/dossier/agent-templates.md +191 -0
  87. package/template/.aioson/docs/dossier/schema.md +218 -0
  88. package/template/.aioson/rules/agent-structural-contract.md +21 -2
  89. package/template/.claude/commands/aioson/agent/briefing-refiner.md +17 -0
  90. package/template/AGENTS.md +10 -7
  91. package/template/CLAUDE.md +6 -4
package/CHANGELOG.md CHANGED
@@ -2,7 +2,30 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [Unreleased]
5
+ ## [1.21.8] - 2026-06-08
6
+
7
+ ### Added
8
+ - **`feature:export` — copy a feature's artefacts to a clean output directory.** Non-destructive sibling of `feature:archive`: instead of *moving* artefacts into `.aioson/context/done/{slug}/`, it *copies* the full surface (root `*-{slug}.{md,yaml,yml,json}` minus global files, the per-slug `dossier/`/`plans/`/`briefings/` directories, and `context/done/{slug}/` when archived) into an arbitrary `--out` (default `<target>/{slug}-export`), leaving the source tree untouched. Flags: `--flatten` (collapse to one level), `--no-index` (skip the generated `INDEX.md` manifest), `--dry-run`, `--json`. Reuses the archive's slug-collision guard via the new exported `collectFeatureArtifacts` helper, so a sibling slug (`checkout-v2`) never leaks into a `checkout` export. No `features.md` status guard — works on in-progress features too. Turns AIOSON's markdown output into a portable deliverable. Docs: `docs/pt/5-referencia/feature-export.md` + `docs/en/5-reference/cli-reference.md`.
9
+
10
+ ### Fixed
11
+ - **`briefing:list` no longer re-surfaces PRD-generated briefings.** The "approved" filter ignored `prd_generated`, so a briefing already converted to a PRD could be picked up again and reverted to draft. It now filters `status === 'approved' && !prd_generated`.
12
+ - **`briefing-refiner` `returnedToDraft` is computed before mutation.** The return flag was read from the entry *after* the status was rewritten, reporting the post-mutation state instead of whether the refinement actually returned an approved/non-PRD briefing to draft.
13
+ - **`workflow:next` no longer false-flags substantiated stages as unsubstantiated.** `detectUnsubstantiatedCompletions` queried the wrong table/columns (`agent_events.agent` instead of `execution_events.agent_name`) and destructured `openRuntimeDb` incorrectly, so the completion-evidence check silently found nothing; it now reads `execution_events` and only reports `missing` stages when at least one stage *was* substantiated (no false positives on an empty event log). `discovery-design-doc` added to the inferable-stage set.
14
+ - **`pulse:update` is CRLF-safe.** The "## Recent Activity" parser matched LF-only (`\n`), so on Windows (CRLF) line endings it failed to capture history and clobbered the existing activity list. Regex and line-split now accept `\r?\n`.
15
+ - **`commit:prepare` reads unicode/spaced paths correctly.** `git status --short` ran without `core.quotePath=false`, so non-ASCII paths came back octal-escaped. Also removed a dead no-op ternary in the pattern builder.
16
+ - **`parallel:doctor --dry-run` is recognized.** The handler read only `options.dryRun`, missing the kebab `--dry-run` form; it now accepts both.
17
+ - **`scan:project` guards malformed LLM responses.** Direct `data.choices[0].message.content` / `data.content[0].text` dereferences could throw an opaque `TypeError` on an unexpected provider payload; both now validate the shape and throw a descriptive `Unexpected … response shape` error.
18
+ - **`agent:manifest` validation now whitelists `check_modes`.** `sanitizeManifest` filters `check_modes` against `ALLOWED_CHECK_MODES` (`pre-dev`, `post-dev`, `post-fix`, `final`), mirroring the existing autonomy-mode guard.
19
+ - **`runtime:emit` standalone-event line is localized.** The standalone path logged a hard-coded English string; it now uses the `live.standalone_event_recorded` i18n key (added in all locales).
20
+
21
+ ### Changed
22
+ - **Agent structural-contract enforcement swept across all agent prompts.** Added the mandatory `## Required input` section to 18 agents that lacked it, a `## Observability` section with the `aioson agent:done … 2>/dev/null || true` call to 9 agents, the §5 best-effort suffix to `agent:done` calls that were missing it (pentester/discover/site-forge), per-slug `dossier:*` flags where required (discovery-design-doc/validator), and the `/clear` handoff cue to `product`. The previously-missing dossier templates (`agent-templates.md`, `schema.md` — referenced by 10 agents) are now shipped under `template/.aioson/docs/dossier/`, closing a packaging gap.
23
+ - **Transient SQLite locks now wait instead of failing.** Added `busy_timeout = 5000` to the runtime store (`runtime-store.js`) and context-search index (`context-search.js`), so a WAL checkpoint or AV file-lock retries for up to 5s rather than throwing `SQLITE_BUSY` immediately — a production-robustness improvement that also stabilizes the suite under parallel load.
24
+
25
+ ### Tests
26
+ - New `tests/agent-structural-contract.test.js` pins the §1–§6 structural contract (LANGUAGE BOUNDARY, mandatory sections, `Required input`, `agent:done`, §5 best-effort suffix, dossier flag integrity).
27
+ - New `tests/feature-export.test.js` (8 cases: mirrored/flatten/no-index/done-inclusion/dry-run/noop/validation/default-out).
28
+ - Windows file-lock hardening: recursive `fs.rm` cleanups in 14 SQLite-touching test files now pass `maxRetries: 5, retryDelay: 50`; over-tight latency ceilings in `telemetry-foundation` and `qa-feature-close-distillation` loosened to hang-guards (full suite: 2993 pass, 0 fail, 1 skip).
6
29
 
7
30
  ## [1.21.3] - 2026-05-28
8
31
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Who this is for:** anyone who wants to see the full team at once.
4
4
  > **Reading time:** 8 min
5
- > **What you'll know after:** who the 28 agents are, when each one enters, and how they communicate.
5
+ > **What you'll know after:** who the 29 agents are, when each one enters, and how they communicate.
6
6
 
7
7
  ---
8
8
 
@@ -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
 
@@ -99,7 +99,7 @@ You can mark **more than one** in the wizard — they coexist in the same projec
99
99
 
100
100
  ### Development (default)
101
101
 
102
- Includes the 28 official agents (product, analyst, dev, qa, etc.). Sufficient for 95% of projects.
102
+ Includes the 29 official agents (product, analyst, dev, qa, etc.; `@pair` is alias of `@deyvin`). Sufficient for 95% of projects.
103
103
 
104
104
  ### Development + Squads
105
105
 
@@ -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
@@ -1,12 +1,12 @@
1
1
  # Agent cards — AIOSON (EN)
2
2
 
3
- This layer will hold one card per AIOSON agent (28 total), translated from [`docs/pt/4-agentes/`](../../pt/4-agentes/README.md).
3
+ This layer will hold one card per AIOSON agent (29 total), translated from [`docs/pt/4-agentes/`](../../pt/4-agentes/README.md).
4
4
 
5
5
  Cards are being translated progressively. Until a card is available here, the PT version is the canonical reference — it follows the same format and covers the same agents.
6
6
 
7
7
  ---
8
8
 
9
- ## The 28 agents
9
+ ## The 29 agents (plus @pair alias)
10
10
 
11
11
  ### Workflow core (pipeline order)
12
12
 
@@ -14,10 +14,11 @@ Cards are being translated progressively. Until a card is available here, the PT
14
14
  |---|---|
15
15
  | `@setup` | Project onboarding — detect stack, classify MICRO/SMALL/MEDIUM, write `project.context.md` |
16
16
  | `@briefing` | Pre-PRD framing — turn `plans/` sketches into structured briefings with gap analysis |
17
- | `@product` | PRD — vision, problem, users, scope, acceptance criteria |
18
- | `@sheldon` | PRD quality guardian — gap detection, web research, sizing, in-place enrichment or phased plan |
19
- | `@analyst` | Domain discovery — entities, flows, brownfield mapping |
20
- | `@architect` | Technical decisionsstructure, libraries, integration boundaries |
17
+ | `@product` | PRD — vision, problem, users, scope, acceptance criteria |
18
+ | `@sheldon` | PRD quality guardian — gap detection, web research, sizing, in-place enrichment or phased plan |
19
+ | `@analyst` | Domain discovery — entities, flows, brownfield mapping |
20
+ | `@scope-check` | Alignment gate before implementation validates intent vs plan and catches scope drift |
21
+ | `@architect` | Technical decisions — structure, libraries, integration boundaries |
21
22
  | `@ux-ui` | Design system and UI component specs (MEDIUM) |
22
23
  | `@pm` | Backlog and user stories (MEDIUM) |
23
24
  | `@orchestrator` | Parallel lane coordination (MEDIUM) |
@@ -49,7 +50,7 @@ Cards are being translated progressively. Until a card is available here, the PT
49
50
  | `@design-hybrid-forge` | Combine two design skills into a hybrid |
50
51
  | `@orache` | Domain investigation and strategic research |
51
52
  | `@copywriter` | Conversion copy — landing pages, VSL scripts |
52
- | `@discovery-design-doc` | Combined discovery + design doc generation |
53
+ | [`@discovery-design-doc`](./discovery-design-doc.md) | Discovery, readiness, and design doc package |
53
54
 
54
55
  ---
55
56
 
@@ -0,0 +1,150 @@
1
+ # @discovery-design-doc - Discovery, readiness, and design doc
2
+
3
+ > **For whom:** people who need to turn a vague idea into initial clarity, or consolidate PRD, requirements, and architecture into a technical contract before `@dev`.
4
+ > **Reading time:** 3 min.
5
+ > **What you will learn:**
6
+ > - The two correct usage modes: exploratory and pre-dev
7
+ > - Why this agent can appear after `@analyst` and `@architect` in the workflow
8
+ > - What the design doc and readiness note provide to downstream agents
9
+
10
+ ---
11
+
12
+ ## What it is for
13
+
14
+ `@discovery-design-doc` has two valid uses:
15
+
16
+ - **Exploratory mode:** when a request is still vague, such as a ticket, feature idea, or meeting note. It normalizes the problem, identifies ambiguities, and recommends the next agent.
17
+ - **Pre-dev workflow mode:** when a SMALL/MEDIUM project has already passed through `@analyst` and `@architect`. In this case, it consolidates PRD, requirements, spec, and architecture into a living `design-doc` and a `readiness` note with a concrete technical plan for `@dev`.
18
+
19
+ So it can be either a shortcut before the full cycle **or** a safety stage between architecture and implementation. In the current workflow, the second use is expected for SMALL/MEDIUM.
20
+
21
+ ---
22
+
23
+ ## When to invoke
24
+
25
+ - You have a ticket, briefing, or idea and want to turn it into a structured document quickly
26
+ - You want to know what is defined vs ambiguous before invoking `@product` or `@dev`
27
+ - You are in exploratory mode and want a clarity checkpoint without committing to the full workflow
28
+ - You are in the SMALL/MEDIUM workflow after `@architect` and need the pre-dev technical contract
29
+ - `@dev` needs exact paths, modules, reuse decisions, and file-size risks before editing code
30
+
31
+ ---
32
+
33
+ ## When not to invoke
34
+
35
+ - To redo broad discovery when PRD, requirements, spec, and architecture are already clear
36
+ - You need deep domain discovery and entity mapping - use `@analyst` inside the SMALL/MEDIUM workflow
37
+ - You want pre-PRD framing with framing frameworks - use `@briefing`
38
+ - The task is MICRO and already has a simple plan that is enough for `@dev`
39
+
40
+ > Having PRD/spec defined does **not** block this agent. In the SMALL/MEDIUM workflow, those artifacts are inputs for the pre-dev `design-doc` and `readiness` package.
41
+
42
+ ---
43
+
44
+ ## Where it fits in the workflow
45
+
46
+ Manual exploratory flow:
47
+
48
+ ```text
49
+ @setup -> @discovery-design-doc -> recommended next agent
50
+ ```
51
+
52
+ Current SMALL flow:
53
+
54
+ ```text
55
+ @product -> @analyst -> @scope-check(pre-dev) -> @architect -> @discovery-design-doc -> @dev -> @qa
56
+ ```
57
+
58
+ Current MEDIUM flow:
59
+
60
+ ```text
61
+ @product -> @analyst -> @architect -> @discovery-design-doc -> @ux-ui -> @pm -> @orchestrator -> @scope-check(pre-dev) -> @dev -> @qa
62
+ ```
63
+
64
+ Its role in the middle of a feature is not to replace `@analyst` or `@architect`. It turns those artifacts into an executable implementation package.
65
+
66
+ ---
67
+
68
+ ## Typical dialogue - exploratory mode
69
+
70
+ ```text
71
+ You > @discovery-design-doc
72
+ I want to add offline mode to the mobile app so users can read
73
+ content without internet access.
74
+
75
+ @discovery-design-doc > Normalizing request...
76
+ Problem: users lose content access without connection
77
+ Scope: offline reading mode, not offline creation
78
+
79
+ Ambiguities:
80
+ - How much content can be stored offline?
81
+ - Automatic or manual sync?
82
+ - What happens when offline and online versions diverge?
83
+
84
+ Already defined:
85
+ - Stack: React Native + local SQLite available
86
+ - Auth: token can survive offline usage
87
+
88
+ @discovery-design-doc > Design doc created at: .aioson/context/design-doc.md
89
+ Readiness: MEDIUM - 3 ambiguities need decisions.
90
+ Recommendation: @product to close scope before @dev.
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Typical dialogue - pre-dev mode
96
+
97
+ ```text
98
+ You > @discovery-design-doc
99
+ Consolidate the checkout feature after architecture.
100
+
101
+ @discovery-design-doc > Reading PRD, requirements, spec, and architecture...
102
+ Scope: checkout with one-time payment
103
+ Readiness: ready_with_warnings
104
+
105
+ Technical plan:
106
+ - Reuse the existing orders module
107
+ - Create payment service under src/lib/payments/
108
+ - Avoid changing cart flow outside checkout
109
+ - Risk: controller may exceed 500 lines; split into service + validator
110
+
111
+ @discovery-design-doc > Design doc created at: .aioson/context/design-doc-checkout.md
112
+ Readiness created at: .aioson/context/readiness-checkout.md
113
+ Recommendation: proceed to @dev when Gate B is approved.
114
+ ```
115
+
116
+ ---
117
+
118
+ ## Disk outputs
119
+
120
+ ```text
121
+ .aioson/context/design-doc.md <- project design doc
122
+ .aioson/context/readiness.md <- project readiness
123
+ .aioson/context/design-doc-{slug}.md <- feature design doc
124
+ .aioson/context/readiness-{slug}.md <- feature readiness
125
+ ```
126
+
127
+ ---
128
+
129
+ ## How it reads your project
130
+
131
+ - `.aioson/context/project.context.md`
132
+ - Existing artifacts: `prd.md`, `prd-{slug}.md`, `requirements-{slug}.md`, `spec.md`, `spec-{slug}.md`, `discovery.md`, `architecture.md` when relevant
133
+ - Existing design docs: `design-doc.md`, `design-doc-{slug}.md`, `readiness.md`, `readiness-{slug}.md`
134
+ - `.aioson/context/project-map.md` when present, to resolve canonical paths
135
+ - Direct input: briefing, ticket, screenshots, files you provide
136
+
137
+ ---
138
+
139
+ ## Typical handoff
140
+
141
+ - **Comes from:** direct request with a vague idea or ticket
142
+ - **Also comes from:** `@architect` in the SMALL/MEDIUM workflow, as pre-dev consolidation
143
+ - **Goes to:** the agent recommended in `readiness.md` - usually `@product` when scope is still open, or `@dev` when readiness is high
144
+
145
+ ---
146
+
147
+ ## Next step
148
+
149
+ - For pre-PRD framing with discovery frameworks: use `@briefing`
150
+ - For the full cycle: see [First project from scratch](../2-start/first-project.md)
@@ -17,7 +17,7 @@ aioson init my-app --no-interactive
17
17
 
18
18
  **Options:**
19
19
  - `--lang=en|pt-BR|es|fr` — sets `conversation_language` in the generated context and applies the matching agent locale pack. Default: `en`.
20
- - `--tool=codex|claude|opencode` — configures the primary AI client. Affects which gateway file is used. Default: `codex`.
20
+ - `--tool=codex|claude|opencode` — configures the primary AI client. Affects which gateway file is used. Default: `codex`.
21
21
  - `--no-interactive` — skip the wizard and install all files (CI / automation).
22
22
  - `--json` — prints structured JSON result instead of human-readable output.
23
23
 
@@ -44,8 +44,8 @@ aioson install --no-interactive
44
44
 
45
45
  **Options:**
46
46
  - `--lang=en|pt-BR|es|fr` — sets locale pack.
47
- - `--tool=codex|claude|opencode` — configures AI client.
48
- - `--reconfigure` — re-run the wizard even if a profile already exists (e.g. to add another supported tool later).
47
+ - `--tool=codex|claude|opencode` — configures AI client.
48
+ - `--reconfigure` — re-run the wizard even if a profile already exists (e.g. to add another supported tool later).
49
49
  - `--no-interactive` — skip the wizard and install all files.
50
50
  - `--force` — overwrite existing files.
51
51
  - `--dry-run` — preview without writing.
@@ -248,25 +248,25 @@ The locale shown reflects the active agent locale pack (from `project.context.md
248
248
  Print the activation prompt for a specific agent, ready to paste into any AI CLI that does not support slash commands.
249
249
 
250
250
  ```bash
251
- aioson agent:prompt setup
252
- aioson agent:prompt setup --tool=codex
253
- aioson agent:prompt ux-ui --tool=claude
254
- aioson agent:prompt dev --tool=opencode --json
251
+ aioson agent:prompt setup
252
+ aioson agent:prompt setup --tool=codex
253
+ aioson agent:prompt ux-ui --tool=claude
254
+ aioson agent:prompt dev --tool=opencode --json
255
255
  ```
256
256
 
257
257
  **Arguments:**
258
- - `<agent>` — agent id: `setup`, `product`, `analyst`, `scope-check`, `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
- - `--tool=codex|claude|opencode` — formats the prompt for the target CLI. Default: `codex`.
261
+ - `--tool=codex|claude|opencode` — formats the prompt for the target CLI. Default: `codex`.
262
262
  - `--json` — returns structured JSON with the prompt string.
263
263
 
264
264
  **When to use:** if you're using an AI CLI that doesn't support `/aioson:agent:setup` slash commands, run this to get the exact text to paste into the chat.
265
265
 
266
266
  ```bash
267
- # Copy the prompt for @analyst in OpenCode
268
- aioson agent:prompt analyst --tool=opencode
269
- # → paste the output into OpenCode
267
+ # Copy the prompt for @analyst in OpenCode
268
+ aioson agent:prompt analyst --tool=opencode
269
+ # → paste the output into OpenCode
270
270
  ```
271
271
 
272
272
  ---
@@ -302,18 +302,18 @@ Notes:
302
302
 
303
303
  **Sequences by classification:**
304
304
  - `MICRO`: `@setup → @product (optional) → @dev`
305
- - `SMALL`: `@setup → @product → @analyst → @scope-check → @architect → @dev → @qa`
306
- - `MEDIUM`: `@setup → @product → @analyst → @architect → @ux-ui → @pm → @orchestrator → @scope-check → @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 → @scope-check → @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`. `@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}/`.
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
 
@@ -400,6 +400,32 @@ aioson feature:archive . --feature=checkout --force
400
400
 
401
401
  ---
402
402
 
403
+ ## feature:export
404
+
405
+ **Copy** all artefacts of a feature into a clean output directory, leaving the source tree untouched. Sibling of `feature:archive`, but a non-destructive copy to an arbitrary `--out` — turns AIOSON's markdown output into a portable deliverable. Use it to analyse a feature's specs outside the project, hand them to a client, or use AIOSON purely as a spec generator.
406
+
407
+ ```bash
408
+ aioson feature:export . --feature=checkout
409
+ aioson feature:export . --feature=checkout --out=../checkout-specs
410
+ aioson feature:export . --feature=checkout --flatten
411
+ aioson feature:export . --feature=checkout --no-index
412
+ aioson feature:export . --feature=checkout --dry-run --json
413
+ ```
414
+
415
+ **Options:**
416
+ - `--feature=<slug>` — feature identifier (required).
417
+ - `--out=<dir>` — destination directory. Default: `<target>/{slug}-export`.
418
+ - `--flatten` — collapse the mirrored structure into a single level; nested files become `label-...-file.ext` (collision-free). Default: mirrored (`dossier/`, `plans/`, `briefings/`, `done/`).
419
+ - `--no-index` — skip the generated `INDEX.md`. Default: an `INDEX.md` manifest is written listing every exported file and its source.
420
+ - `--dry-run` — preview what would be copied without writing anything.
421
+ - `--json` — structured JSON output with `outDir`, `count`, `copied`, and `index`.
422
+
423
+ **What it copies:** the same surface `feature:archive` enumerates — root `*-{slug}.{md,yaml,yml,json}` files (minus global files), the per-slug `dossier/`, `plans/`, and `briefings/` directories, plus `context/done/{slug}/` when the feature is already archived. The slug-collision guard is honoured, so a sibling slug (`checkout-v2`) never leaks into a `checkout` export.
424
+
425
+ **Non-destructive:** the source artefacts are never moved or deleted. Re-running overwrites files in the out dir but does not remove stale ones. Unlike `feature:archive`, there is no `features.md` status guard — you can export an in-progress feature.
426
+
427
+ ---
428
+
403
429
  ## test:smoke
404
430
 
405
431
  End-to-end integration test that installs AIOSON in a temporary directory, runs all major commands, and verifies the output. Used for CI and release validation.
@@ -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
@@ -40,7 +40,7 @@ This is the entry door to the English documentation. It is not an alphabetical i
40
40
  See [3-recipes/README.md](./3-recipes/README.md) for the full list.
41
41
 
42
42
  ### I want the technical reference for an agent or command
43
- - **[Agent cards (in progress)](./4-agents/README.md)** — stub today; full set is in [docs/pt/4-agentes/](../pt/4-agentes/README.md) (28 cards)
43
+ - **[Agent cards (in progress)](./4-agents/README.md)** — stub today; full set is in [docs/pt/4-agentes/](../pt/4-agentes/README.md) (29 cards)
44
44
  - **[Technical reference](./5-reference/README.md)** — 11 docs migrated from the previous flat structure (CLI, MCP, parallel, QA browser, squad dashboard, web3, i18n, JSON schemas, release flow)
45
45
 
46
46
  ### Highlights of `5-reference/`
@@ -109,7 +109,7 @@ This English portal is being **incrementally translated** from `docs/pt/`. The p
109
109
  - 4-agents (stub README; full agent cards pending)
110
110
 
111
111
  **Phase 2 (next)** — remaining 8 scenario recipes in 3-recipes/.
112
- **Phase 3 (next)** — 28 agent cards in 4-agents/.
112
+ **Phase 3 (next)** — 29 agent cards in 4-agents/.
113
113
  **Phase 4 (next)** — remaining ~18 reference docs in 5-reference/ (feature-dossier, agent-chain-continuity, sdd-framework, live-sessions, secure-by-default, aioson-com-store, etc.).
114
114
 
115
115
  For anything not yet in English, the PT version is current and authoritative — the AIOSON behaviors, agent prompts, and CLI commands are language-agnostic.
@@ -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
 
@@ -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:**
@@ -1,7 +1,8 @@
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 com 29 agentes e 1 alias, com situação de uso e saída esperada.
4
4
  > Cada agente tem sua ficha — clique no nome para detalhes.
5
+ > `@pair` é alias de `@deyvin` e não possui ficha separada.
5
6
 
6
7
  ---
7
8
 
@@ -11,6 +12,7 @@
11
12
  |---|---|---|---|
12
13
  | [@product](./product.md) | Define visão, PRD e escopo da feature | Início de projeto ou nova feature | `prd.md`, `spec.md` |
13
14
  | [@analyst](./analyst.md) | Descobre domínio, entidades, fluxos | Após `@product`, antes de `@architect` | `architecture.md` (domínio) |
15
+ | [@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` |
14
16
  | [@architect](./architect.md) | Decide stack, estrutura, integração técnica | Após `@analyst` | `architecture.md` (técnico) |
15
17
  | [@ux-ui](./ux-ui.md) | Design system e specs de componentes | MEDIUM, após `@architect` | `design-doc.md`, `discovery.md` |
16
18
  | [@pm](./pm.md) | Backlog, user stories, ACs detalhados | MEDIUM, após `@ux-ui` | `tasks.md` |
@@ -30,6 +32,7 @@
30
32
  | [@setup](./setup.md) | Onboarding: detecta stack, classifica projeto | Sempre primeiro num projeto novo | `project.context.md` |
31
33
  | [@neo](./neo.md) | Roteador: diz qual agente é o próximo | Quando você está perdido | Orientação verbal |
32
34
  | [@briefing](./briefing.md) | Transforma anotações soltas em briefing pré-PRD | Antes de `@product`, quando ideia ainda vaga | `briefing.md` |
35
+ | [@briefing-refiner](./briefing-refiner.md) | Revisa e refina um briefing existente via superfície HTML local | Após `@briefing`, antes de `@product` | `review.html`, `refinement-report.md` |
33
36
  | [@deyvin](./deyvin.md) | Pair-programming e continuidade de sessão | Retomar feature interrompida | continuação do trabalho |
34
37
  | [@pair](./deyvin.md) | Alias de `@deyvin` | — | — |
35
38
  | [@sheldon](./sheldon.md) | Análise técnica profunda, revisão de arquitetura | Decisões grandes, código legado | relatório de revisão |
@@ -51,7 +54,7 @@
51
54
  | [@design-hybrid-forge](./design-hybrid-forge.md) | Combina dois design skills num híbrido | Quer visual que não existe nos padrões | novo design skill |
52
55
  | [@orache](./orache.md) | Investigação de domínio e pesquisa estratégica | Antes de entrar num mercado novo | relatório de domínio |
53
56
  | [@copywriter](./copywriter.md) | Copy de conversão: landing pages, emails | Quando precisa de texto que converte | copy entregável |
54
- | [@discovery-design-doc](./discovery-design-doc.md) | Discovery + design doc combinados | Projetos que precisam dos dois de uma vez | `discovery.md` + `design-doc.md` |
57
+ | [@discovery-design-doc](./discovery-design-doc.md) | Consolida discovery, readiness e design doc | Escopo vago ou etapa pré-dev SMALL/MEDIUM | `design-doc*.md` + `readiness*.md` |
55
58
 
56
59
  ---
57
60
 
@@ -0,0 +1,122 @@
1
+ # @briefing-refiner — Revisa e refina um briefing antes do PRD
2
+
3
+ > **Para quem é:** quem já tem um briefing gerado pelo `@briefing` e quer revisá-lo, anotar e refinar antes de comprometer um PRD.
4
+ > **Tempo de leitura:** 4 min.
5
+ > **O que você vai sair sabendo:**
6
+ > - O que o `@briefing-refiner` faz e onde ele entra no fluxo.
7
+ > - Como funciona a superfície de revisão local em HTML e por que o feedback é estruturado (JSON), não o DOM.
8
+
9
+ ## Para que serve
10
+
11
+ Entre o briefing gerado e o PRD há uma etapa que costuma ser pulada: **revisar o briefing com olhar crítico**. Ambiguidades, redundâncias, decisões faltando, riscos vagos e gaps de impacto de implementação passam direto para o `@product` e viram dívida no PRD.
12
+
13
+ O `@briefing-refiner` preenche essa etapa. Ele audita um briefing existente, gera uma **superfície de revisão local** (`review.html`) onde você edita cada seção, marca status e deixa notas, e depois aplica de volta ao briefing **apenas o feedback estruturado que você confirmar** — preservando o contrato do briefing (todas as seções obrigatórias).
14
+
15
+ É o complemento do [`@briefing`](./briefing.md): um gera, o outro refina.
16
+
17
+ ## Quando invocar
18
+
19
+ - Você já tem um briefing em `.aioson/briefings/{slug}/briefings.md` e quer revisá-lo antes do PRD.
20
+ - O briefing está `draft`, ou `approved` mas ainda **sem PRD gerado** (`prd_generated: null`).
21
+ - Quer registrar comentários, pedir mudanças por seção ou marcar bloqueios antes de seguir para `@product`.
22
+
23
+ ## Quando NÃO invocar
24
+
25
+ - Ainda não existe briefing — vá primeiro para [`@briefing`](./briefing.md).
26
+ - O briefing já gerou PRD (`prd_generated` preenchido) — refinar exigiria uma rota nova de PRD/enrichment, fora deste agente.
27
+ - A ideia mudou tanto que vale regerar do zero — volte ao `@briefing`.
28
+
29
+ ## Dois modos de operação
30
+
31
+ ### 1. Gerar revisão
32
+
33
+ Quando ainda não há feedback pendente. O agente audita o briefing e escreve a superfície de revisão:
34
+
35
+ ```
36
+ Você > @briefing-refiner
37
+
38
+ @briefing-refiner > Briefing refinável encontrado: marketplace-v1 (draft).
39
+
40
+ Auditando seções... ambiguidades: 3, redundâncias: 1,
41
+ gaps de implementação: 2, riscos vagos: 1.
42
+
43
+ Gerei a revisão:
44
+ - .aioson/briefings/marketplace-v1/review.html
45
+ - .aioson/briefings/marketplace-v1/refinement-feedback.json
46
+ - .aioson/briefings/marketplace-v1/refinement-report.md
47
+
48
+ Abra o review.html, edite as seções, marque status/notas,
49
+ salve/exporte o refinement-feedback.json e me reative.
50
+ ```
51
+
52
+ ### 2. Aplicar feedback pendente
53
+
54
+ Quando existe um `refinement-feedback.json` com mudanças não aplicadas. O agente valida, resume o que vai mudar e **pede confirmação explícita** antes de tocar o briefing:
55
+
56
+ ```
57
+ Você > @briefing-refiner
58
+
59
+ @briefing-refiner > Feedback pendente em marketplace-v1:
60
+ - 4 seções com mudança aceita
61
+ - 2 comentários não resolvidos
62
+ - 1 item bloqueante (modelo de comissão)
63
+
64
+ Aplico as 4 mudanças confirmadas? (o item bloqueante
65
+ impede o handoff para @product até ser resolvido)
66
+ Você > Sim.
67
+
68
+ @briefing-refiner > Aplicado. Como o briefing estava `approved` sem PRD,
69
+ voltei para `draft`. Relatório: refinement-report.md.
70
+ ```
71
+
72
+ Se você recusar, o `briefings.md` fica intacto e as mudanças puladas são registradas no relatório.
73
+
74
+ ## A superfície de revisão (review.html)
75
+
76
+ O diferencial deste agente. O `review.html` é **estático, local e self-contained**:
77
+
78
+ - sem servidor, sem scripts ou serviços externos;
79
+ - seções editáveis em texto puro, com layout denso de revisão;
80
+ - controles de status por seção: `unchanged`, `accepted`, `change_requested`, `remove_requested`, `blocked`;
81
+ - notas/comentários por seção e um resumo do que será feito, do que é incerto e do que bloqueia o PRD;
82
+ - filtros por ambiguidade, redundância, gap, risco, decisão pendente e sugestão de escopo;
83
+ - **exportar/baixar/copiar o JSON sempre disponível** (a File System Access API é só um plus opcional, após ação explícita).
84
+
85
+ > **Por que JSON e não o HTML editado?** O agente nunca trata o DOM/HTML editado como feedback canônico — só o `refinement-feedback.json` estruturado. Isso evita aplicar mudanças inferidas e mantém o processo auditável.
86
+
87
+ ## Saídas em disco
88
+
89
+ | Arquivo | O que contém |
90
+ |---|---|
91
+ | `.aioson/briefings/{slug}/review.html` | Superfície de revisão local e editável |
92
+ | `.aioson/briefings/{slug}/refinement-feedback.json` | Feedback estruturado (a única fonte que o agente aplica) |
93
+ | `.aioson/briefings/{slug}/refinement-report.md` | Relatório do que foi aplicado, pulado ou bloqueado |
94
+ | `.aioson/briefings/{slug}/briefings.md` | Atualizado **apenas** após confirmação |
95
+ | `.aioson/briefings/config.md` | Índice/registro de briefings atualizado |
96
+
97
+ ## Como ele lê seu projeto
98
+
99
+ 1. `.aioson/config.md`
100
+ 2. `.aioson/context/project.context.md`
101
+ 3. `.aioson/briefings/config.md` — resolve o slug refinável (se ausente, roteia para `@briefing`).
102
+ 4. `.aioson/briefings/{slug}/briefings.md` — lido antes de escrever qualquer artefato de revisão.
103
+
104
+ ## Limites importantes (hard constraints)
105
+
106
+ - Nunca cria ou edita `prd*.md`.
107
+ - Nunca aprova um briefing automaticamente.
108
+ - Nunca roteia para `@product` enquanto houver itens bloqueantes.
109
+ - Nunca trata HTML/DOM editado como feedback canônico — só o JSON estruturado.
110
+ - Nunca descarta seções obrigatórias do briefing.
111
+ - Em V1, não há comando CLI dedicado de refinement — tudo passa pelo agente.
112
+
113
+ ## Handoff típico
114
+
115
+ - **Vem de:** [`@briefing`](./briefing.md) (briefing gerado) ou de você, retomando uma revisão.
116
+ - **Vai para:** depois de aplicar as mudanças e sem bloqueios → `aioson briefing:approve . --slug={slug}` → [`@product`](./product.md). Se sobrar bloqueio, você resolve no review e reativa o `@briefing-refiner`.
117
+
118
+ ## Próximo passo
119
+
120
+ - Gerar o briefing antes de refinar → [@briefing](./briefing.md)
121
+ - Fluxo completo até o PRD → [Da ideia ao PRD via briefing](../3-receitas/da-ideia-ao-prd-via-briefing.md)
122
+ - Termos como "gap" e "PRD" → [Glossário](../1-entender/glossario.md)