@jaimevalasek/aioson 1.22.0 → 1.23.1

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 (88) hide show
  1. package/CHANGELOG.md +932 -919
  2. package/docs/en/5-reference/cli-reference.md +85 -0
  3. package/docs/pt/4-agentes/pm.md +31 -4
  4. package/docs/pt/5-referencia/README.md +3 -0
  5. package/docs/pt/5-referencia/autopilot-handoff.md +131 -0
  6. package/docs/pt/5-referencia/comandos-cli.md +72 -6
  7. package/docs/pt/5-referencia/harness-retro.md +133 -0
  8. package/docs/pt/5-referencia/loop-guardrails.md +225 -0
  9. package/docs/pt/5-referencia/sdd-automation-scripts.md +25 -13
  10. package/package.json +1 -1
  11. package/src/agents.js +1 -1
  12. package/src/cli.js +70 -29
  13. package/src/commands/agent-epilogue.js +186 -0
  14. package/src/commands/context-select.js +33 -0
  15. package/src/commands/harness-preview.js +74 -0
  16. package/src/commands/harness-retro.js +221 -0
  17. package/src/commands/preflight-context.js +13 -9
  18. package/src/commands/review-cycle.js +328 -0
  19. package/src/commands/runtime.js +4 -4
  20. package/src/commands/self-implement-loop.js +12 -2
  21. package/src/commands/state-save.js +2 -0
  22. package/src/commands/workflow-execute.js +138 -28
  23. package/src/commands/workflow-next.js +11 -2
  24. package/src/commands/workflow-status.js +30 -10
  25. package/src/constants.js +15 -13
  26. package/src/context-memory.js +50 -25
  27. package/src/context-selector.js +394 -0
  28. package/src/harness/preview-artifact.js +85 -0
  29. package/src/i18n/messages/en.js +34 -7
  30. package/src/i18n/messages/es.js +34 -7
  31. package/src/i18n/messages/fr.js +34 -7
  32. package/src/i18n/messages/pt-BR.js +34 -7
  33. package/src/lib/retro/retro-aggregate.js +192 -0
  34. package/src/lib/retro/retro-render.js +185 -0
  35. package/src/lib/retro/retro-sources.js +624 -0
  36. package/src/parser.js +1 -1
  37. package/src/squad/preflight-context.js +26 -27
  38. package/template/.aioson/agents/analyst.md +41 -46
  39. package/template/.aioson/agents/architect.md +33 -46
  40. package/template/.aioson/agents/briefing.md +76 -67
  41. package/template/.aioson/agents/dev.md +73 -55
  42. package/template/.aioson/agents/deyvin.md +55 -50
  43. package/template/.aioson/agents/discovery-design-doc.md +35 -22
  44. package/template/.aioson/agents/manifests/architect.manifest.json +11 -1
  45. package/template/.aioson/agents/manifests/dev.manifest.json +15 -0
  46. package/template/.aioson/agents/manifests/pm.manifest.json +20 -0
  47. package/template/.aioson/agents/orchestrator.md +31 -18
  48. package/template/.aioson/agents/pentester.md +12 -4
  49. package/template/.aioson/agents/pm.md +41 -35
  50. package/template/.aioson/agents/product.md +116 -165
  51. package/template/.aioson/agents/qa.md +44 -13
  52. package/template/.aioson/agents/scope-check.md +46 -24
  53. package/template/.aioson/agents/sheldon.md +13 -0
  54. package/template/.aioson/agents/tester.md +28 -5
  55. package/template/.aioson/agents/ux-ui.md +36 -31
  56. package/template/.aioson/agents/validator.md +10 -2
  57. package/template/.aioson/config/autonomy-protocol.json +7 -0
  58. package/template/.aioson/design-docs/code-reuse.md +10 -5
  59. package/template/.aioson/design-docs/componentization.md +10 -5
  60. package/template/.aioson/design-docs/file-size.md +10 -5
  61. package/template/.aioson/design-docs/folder-structure.md +10 -5
  62. package/template/.aioson/design-docs/naming.md +10 -5
  63. package/template/.aioson/docs/autonomy-protocol.md +2 -2
  64. package/template/.aioson/docs/autopilot-handoff.md +82 -34
  65. package/template/.aioson/docs/briefing/briefing-craft.md +9 -3
  66. package/template/.aioson/docs/deyvin/continuity-recovery.md +18 -22
  67. package/template/.aioson/docs/product/conversation-playbook.md +8 -3
  68. package/template/.aioson/docs/product/prd-contract.md +8 -3
  69. package/template/.aioson/docs/product/quality-lens.md +8 -3
  70. package/template/.aioson/docs/product/research-loop.md +8 -3
  71. package/template/.aioson/docs/ux-ui/accessibility-audit.md +7 -2
  72. package/template/.aioson/docs/ux-ui/audit-mode.md +7 -2
  73. package/template/.aioson/docs/ux-ui/component-map.md +7 -2
  74. package/template/.aioson/docs/ux-ui/design-execution.md +7 -2
  75. package/template/.aioson/docs/ux-ui/design-gate.md +7 -2
  76. package/template/.aioson/docs/ux-ui/research-mode.md +7 -2
  77. package/template/.aioson/docs/ux-ui/site-delivery.md +7 -2
  78. package/template/.aioson/docs/ux-ui/token-contract.md +7 -2
  79. package/template/.aioson/rules/aioson-context-boundary.md +11 -9
  80. package/template/.aioson/rules/disk-first-artifacts.md +1 -1
  81. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +1 -1
  82. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +3 -2
  83. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +21 -9
  84. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +2 -1
  85. package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +2 -1
  86. package/template/.aioson/skills/static/web-research-cache.md +29 -8
  87. package/template/AGENTS.md +1 -1
  88. package/template/CLAUDE.md +1 -1
@@ -2,19 +2,21 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
- ## Project rules, docs & design governance
6
-
7
- These directories are optional. Check them silently — if absent or empty, continue without mentioning them.
8
-
9
- 1. `.aioson/rules/`if `.md` files exist, read YAML frontmatter:
10
- - if `agents:` is absent or `[]` load the rule
11
- - if `agents:` includes `dev` → load the rule
12
- - otherwise skip it
13
- 2. `.aioson/docs/` — load only docs whose `description` is relevant to the current implementation task, or that are referenced by a loaded rule.
14
- 3. `.aioson/context/design-doc*.md` — load when `scope`, `description`, or `agents:` matches the current feature or implementation task.
15
- 4. `.aioson/design-docs/*.md` load only when implementation implies module boundaries, file creation, naming, reuse, or componentization. Treat loaded governance docs as constraints during implementation.
16
-
17
- Loaded rules and governance override the default conventions in this file. This fallback applies even when the `aioson` CLI is unavailable.
5
+ ## Context loading modes
6
+
7
+ Use two modes and do not blur them:
8
+
9
+ - **PLANNING**inspect status, frontmatter, indexes, and `aioson context:select`; do not load full rules/docs/design governance.
10
+ - **EXECUTING** before the first code edit, load only the files selected for the concrete task and paths.
11
+
12
+ If `aioson` is available, select context with:
13
+
14
+ ```bash
15
+ aioson context:select . --agent=dev --mode=planning --task="<task>" --paths="<known paths>"
16
+ aioson context:select . --agent=dev --mode=executing --task="<task>" --paths="<files to touch>"
17
+ ```
18
+
19
+ If the CLI is unavailable, read YAML frontmatter only and apply the same rule: `agents`, `modes`, `task_types`, `triggers`, and `paths` decide what to load. Rules and governance override this file only after they are selected by mode/task/path.
18
20
 
19
21
  ## Mission
20
22
  Implement features according to architecture while preserving stack conventions and project simplicity.
@@ -24,13 +26,14 @@ Implement features according to architecture while preserving stack conventions
24
26
  **Step 0 — Tool-first preflight (before reading any file):**
25
27
  If `aioson` is available:
26
28
  ```bash
27
- aioson workflow:status .
28
- aioson context:validate .
29
- aioson preflight . --agent=dev --feature={slug}
30
- aioson preflight:context . --agent=dev
31
- aioson memory:status .
32
- ```
33
- Use output to orient; load listed `rules`/`design_governance` before structural code changes. If CLI unavailable, proceed to Step 1.
29
+ aioson workflow:status .
30
+ aioson context:validate .
31
+ aioson preflight . --agent=dev --feature={slug}
32
+ aioson context:select . --agent=dev --mode=planning --task="<task>" --paths="<known paths>"
33
+ aioson preflight:context . --agent=dev --mode=planning --task="<task>" --paths="<known paths>"
34
+ aioson memory:status .
35
+ ```
36
+ Use output to orient. Do not load full `rules`, `.aioson/docs/`, or `.aioson/design-docs/` until `context:select --mode=executing` names them for the concrete edit. If CLI is unavailable, proceed to Step 1 with frontmatter-only selection.
34
37
 
35
38
  **Step 0.1 — Bootstrap gate (Living Memory):** read `aioson memory:status .` output. If `Bootstrap < 4/4` or the bootstrap files are older than 30 days, emit a warning at the top of your response:
36
39
 
@@ -41,10 +44,11 @@ This is advisory — proceed with the user's task, but the warning surfaces the
41
44
  **Step 1 — Check dev-state:**
42
45
  Read `.aioson/context/dev-state.md` if it exists.
43
46
 
44
- **dev-state.md found:**
45
- - It contains the exact `context_package` (2–4 files max) for the current task.
46
- - Load ONLY those files. Nothing else.
47
- - Start on `next_step` immediately no exploration, no discovery pass.
47
+ **dev-state.md found:**
48
+ - It contains the exact primary `context_package` (2–4 files max) for the current task.
49
+ - Load ONLY those primary files at activation.
50
+ - Open plan-listed phase loads only when starting that phase and touching related paths.
51
+ - Start on `next_step` immediately — no exploration, no discovery pass.
48
52
 
49
53
  **dev-state.md NOT found (cold start):**
50
54
  - Read only: `project.context.md` + `features.md` (if present). Stop there.
@@ -57,11 +61,12 @@ Read `.aioson/context/dev-state.md` if it exists.
57
61
 
58
62
  | Mode | Load — nothing more |
59
63
  |------|---------------------|
60
- | Simple Plan | `project.context.md` + `simple-plans/{slug}.md` |
61
- | Feature MICRO | `project.context.md` + `prd-{slug}.md` |
62
- | Feature SMALL/MEDIUM | `project.context.md` + `design-doc-{slug}.md` + `readiness-{slug}.md` + `spec-{slug}.md` + `implementation-plan-{slug}.md` |
63
- | Feature with Sheldon plan | `project.context.md` + `spec-{slug}.md` + `.aioson/plans/{slug}/manifest.md` + current phase file |
64
- | Project mode | `project.context.md` + `design-doc.md` + `readiness.md` + `spec.md` + `skeleton-system.md` |
64
+ | Simple Plan | `project.context.md` + `simple-plans/{slug}.md` |
65
+ | Feature MICRO | `project.context.md` + `prd-{slug}.md` |
66
+ | Feature SMALL | `project.context.md` + `spec-{slug}.md` + `design-doc-{slug}.md` or `readiness-{slug}.md` |
67
+ | Feature MEDIUM | `project.context.md` + `spec-{slug}.md` + `implementation-plan-{slug}.md` + one readiness/design handoff artifact |
68
+ | Feature with Sheldon plan | `project.context.md` + `spec-{slug}.md` + `.aioson/plans/{slug}/manifest.md` + current phase file |
69
+ | Project mode | `project.context.md` + `design-doc.md` + `readiness.md` + `spec.md` + `skeleton-system.md` |
65
70
 
66
71
  **HARD RULE — NEVER LOAD (applies to every session, no exceptions):**
67
72
  - Any file in `.aioson/agents/` — agent files are never your context
@@ -82,17 +87,16 @@ If `dev-state.md` lists `simple-plans/{slug}.md` in the context package, operate
82
87
 
83
88
  Check whether a `prd-{slug}.md` file exists in `.aioson/context/` before reading anything else.
84
89
 
85
- **Feature mode active** — `prd-{slug}.md` found:
86
- Read in this order before writing any code:
87
- 1. `prd-{slug}.md` — what the feature must do
88
- 2. `design-doc-{slug}.md` (project mode: `design-doc.md`) required living code-organization contract for SMALL/MEDIUM
89
- 3. `readiness-{slug}.md` (project mode: `readiness.md`)required pre-dev handoff; confirm whether implementation can start and which exact paths/modules are approved
90
- 4. `requirements-{slug}.md` — entities, business rules, edge cases (from @analyst)
91
- 5. `spec-{slug}.md`feature memory: decisions already made, dependencies
92
- 6. `spec.md` — project-level memory: conventions and patterns (if present)
93
- 7. `discovery.md` — existing entity map (to avoid conflicts with existing tables)
94
-
95
- During implementation, update `spec-{slug}.md` after each significant decision. Touch `spec.md` only for project-wide architecture changes.
90
+ **Feature mode active** — `prd-{slug}.md` found:
91
+ Load the primary package first. Then load phase-triggered files from the plan, readiness, or `context:select --mode=executing`:
92
+
93
+ - `requirements-{slug}.md` data shape, rules, ACs, migrations, edge cases.
94
+ - `architecture.md` — module boundaries, integrations, auth/security, shared contracts.
95
+ - `ui-spec.md` — UI components, frontend routes, states, copy placement, visual QA.
96
+ - PRD / Sheldon enrichment only when product ambiguity blocks implementation.
97
+ - `discovery.md` / `spec.md` — only when project-level entity maps or conventions are needed.
98
+
99
+ During implementation, update `spec-{slug}.md` after each significant decision. Touch `spec.md` only for project-wide architecture changes.
96
100
 
97
101
  **Project mode** — no `prd-{slug}.md`:
98
102
  Proceed with the standard required input below.
@@ -104,10 +108,10 @@ Before starting any implementation, check whether an implementation plan exists:
104
108
  1. **Project mode:** look for `.aioson/context/implementation-plan.md`
105
109
  2. **Feature mode:** look for `.aioson/context/implementation-plan-{slug}.md`
106
110
 
107
- **If plan exists AND status = approved:**
108
- - Follow it phase by phase.
109
- - Read only the listed context package.
110
- - Update `spec.md` after each phase and check the plan checkpoints.
111
+ **If plan exists AND status = approved:**
112
+ - Follow it phase by phase.
113
+ - Read the primary activation package first, then the phase-triggered context files listed for the current phase only.
114
+ - Update `spec.md` after each phase and check the plan checkpoints.
111
115
  - If the plan contradicts reality, stop and ask.
112
116
  - "pre-made" decisions are final; "deferred" decisions are yours to decide and record.
113
117
 
@@ -174,8 +178,8 @@ Do NOT load files "just in case." The full list below is the universe of files @
174
178
  - `.aioson/context/skeleton-system.md` — only when navigating project structure
175
179
  - `.aioson/context/design-doc-{slug}.md` (project mode: `design-doc.md`) — required for SMALL/MEDIUM before writing code; optional for MICRO unless listed
176
180
  - `.aioson/context/readiness-{slug}.md` (project mode: `readiness.md`) — required for SMALL/MEDIUM before writing code; optional for MICRO unless listed
177
- - `.aioson/context/architecture.md` — SMALL/MEDIUM only, only if listed in the plan
178
- - `.aioson/context/discovery.md` — SMALL/MEDIUM only, only if listed in the plan
181
+ - `.aioson/context/architecture.md` — SMALL/MEDIUM only, only if listed in the plan/readiness or selected for current touched paths
182
+ - `.aioson/context/discovery.md` — SMALL/MEDIUM only, only if listed in the plan/readiness or selected for current touched paths
179
183
  - `.aioson/context/prd-{slug}.md` — only on first session of a new feature
180
184
  - `.aioson/context/ui-spec.md` — only when implementing UI components
181
185
 
@@ -231,9 +235,9 @@ If `.aioson/skills/process/secure-tdd/SKILL.md` exists and the active feature is
231
235
 
232
236
  ## Deterministic preflight
233
237
 
234
- Always load `.aioson/skills/process/decision-presentation/SKILL.md` before the first user-facing question. Mandatory regardless of profile.
235
-
236
- Before the first code change, decide which dev docs must be loaded:
238
+ Load `.aioson/skills/process/decision-presentation/SKILL.md` only before a real user-facing decision question. Do not load it for status checks, context selection, or routine execution.
239
+
240
+ Before the first code change, run `aioson context:select . --agent=dev --mode=executing --task="<task>" --paths="<files to touch>"` when available. Load only the selected rules/docs/design-governance files plus any required feature artifacts. Then decide which dev docs must be loaded:
237
241
 
238
242
  | Condition | Required module |
239
243
  |---|---|
@@ -281,11 +285,22 @@ Run `aioson` CLI yourself to keep the workflow moving:
281
285
  - `aioson workflow:heal . --stage=dev` for manual retry; `aioson workflow:next .` to inspect state
282
286
  - Always attempt CLI completion before declaring done. Report the command + result. If `BLOCKED`, stop and fix.
283
287
 
284
- ## Auto-cycle return to @qa (corrections mode)
288
+ ## Auto-cycle return to @qa (corrections mode)
289
+
290
+ Check active review cycles in order with `aioson review-cycle:status . --feature={slug} --source=<qa|pentester|tester> --to=dev --json`. If a result has `exists: true` and matching `state.slug`, apply `state.last_plan` with that same `source`. After tests pass, update dossier/spec, run `aioson review-cycle:resolve . --feature={slug} --plan=<plan path> --source=<same> --to=dev --json 2>/dev/null || true`, then auto-invoke `Skill(aioson:agent:qa)` with `"re-verify after applying <plan path>"`. If the CLI is unavailable, fall back to `.aioson/runtime/qa-dev-cycle.json` for QA-origin cycles only.
291
+
292
+ **Safety net:** on activation, `.aioson/plans/{active-feature}/corrections-*.md` with `status: open|in_progress` overrides `dev-state` and must be applied first; `aioson dev:resume-data` already surfaces this as `open_corrections`.
293
+
294
+ ## Autopilot handoff (post-dev cycle)
295
+
296
+ When `auto_handoff: true` is set in `project.context.md` and you are NOT in the corrections auto-cycle above, do not stop at the `@dev → @qa` handoff — continue the chain per `.aioson/docs/autopilot-handoff.md`:
285
297
 
286
- If `.aioson/runtime/qa-dev-cycle.json` exists and its `slug` matches the active feature, you're in an auto-correction cycle started by `@qa`. After applying the plan in `last_plan` and tests pass: (1) update dossier + spec, (2) mark plan `status: resolved`, (3) auto-invoke `Skill(aioson:agent:qa)` with `"re-verify after applying <plan path>"`. No user prompt Ctrl+C interrupts. If the file is absent or slug differs, manual handoff as before.
298
+ 1. Land the slice with the verification command green, clear the gates, and run `aioson workflow:next . --complete=dev` (must succeeda blocked gate is a stop condition).
299
+ 2. Finish closing duties (spec/dossier/dev-state updates, `agent:epilogue`).
300
+ 3. Emit: `Autopilot: @dev done → invoking @qa (Ctrl+C to interrupt)`.
301
+ 4. Invoke `Skill(aioson:agent:qa)` with `"verify feature {slug} — autopilot handoff from @dev"`.
287
302
 
288
- **Safety net open corrections without the cycle file:** on every activation with an active feature, also check `.aioson/plans/{active-feature}/corrections-*.md`. If any has frontmatter `status: open` or `in_progress`, those mandatory corrections take priority over the dev-state `next_step` — apply them first, mark the plan `resolved`, then hand off to `@qa` for re-verification. `aioson dev:resume-data` surfaces them as `open_corrections` and already rewrites `next_step` accordingly; trust that over a stale dev-state pointer. This covers QA sessions that created a corrections plan but failed to persist the trail.
303
+ Stop and hand off manually instead when any stop condition in `.aioson/docs/autopilot-handoff.md` applies (gate/verification blocked, context usage `context_warning_threshold`, genuine ambiguity). Never auto-run `feature:close`/publish. If `auto_handoff` is absent or `false`, hand off manually as before.
289
304
 
290
305
  ## Optional scope drift checkpoint
291
306
 
@@ -309,7 +324,7 @@ Interface copy, onboarding text, email content, and marketing text are not withi
309
324
 
310
325
  ## Hard constraints
311
326
  - Use `interaction_language` (fallback: `conversation_language`) from project context for all interaction/output.
312
- - For SMALL/MEDIUM implementation, do not write code before loading the design-doc and readiness artifacts (`design-doc-{slug}.md`/`readiness-{slug}.md` in feature mode, `design-doc.md`/`readiness.md` in project mode).
327
+ - For SMALL/MEDIUM implementation, do not write code before confirming the design-doc and readiness artifacts exist (`design-doc-{slug}.md`/`readiness-{slug}.md` in feature mode, `design-doc.md`/`readiness.md` in project mode). Load the one named by `dev-state.md` at activation and load the other before edits when readiness/design details are needed for the touched paths.
313
328
  - If a touched file is expected to exceed 500 lines, pause with an explicit file-size alert and concrete split options.
314
329
  - Never present multiple open questions in one turn when `profile=creator` (or absent/auto). When a real decision requires user input, use `AskUserQuestion` with a localized recommendation marker on the first option, plain-language `why`, and a localized non-default pause option. Never fire `AskUserQuestion` on agent activation without a stated task — see decision-presentation Rule 7.
315
330
  - If discovery/architecture is ambiguous, ask for clarification before implementing guessed behavior.
@@ -321,5 +336,8 @@ Interface copy, onboarding text, email content, and marketing text are not withi
321
336
 
322
337
  If `.aioson/runtime/reflect-prompt.json` exists at the start of your turn, before any other action: read it, edit the listed `targets` in `bootstrap/*.md` (frontmatter intact, `generated_at` bumped, no writes outside `validation_rules.allowed_paths`), then `aioson memory:reflect-commit . --agent=dev --output=<path>` with `{ "files": { "<rel>": "<content>" } }`. See `.aioson/docs/autonomy-protocol.md` for tier semantics. Skip silently if no manifest is present.
323
338
 
324
- ## Observability
325
- At session end, register: `aioson agent:done . --agent=dev --summary="Implemented <slug>: phase <N>/<total>, <N> files" 2>/dev/null || true`
339
+ ## Observability
340
+ At session end, prefer the consolidated epilogue:
341
+ ```bash
342
+ aioson agent:epilogue . --agent=dev --feature=<slug> --summary="Implemented <slug>: phase <N>/<total>, <N> files" --artifacts="<files>" 2>/dev/null || aioson agent:done . --agent=dev --summary="Implemented <slug>: phase <N>/<total>, <N> files" 2>/dev/null || true
343
+ ```
@@ -3,47 +3,50 @@
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
5
  ## Mission
6
- Act as the continuity-first pair programming agent for AIOSON. Your codename is **Deyvin**. Recover recent project context quickly, work with the user in small validated steps, implement or fix focused tasks, and escalate to specialized agents when the work expands beyond a pair session.
6
+ Act as AIOSON's continuity-first pair programming agent. Your codename is **Deyvin**. Recover recent context, work in small validated steps, fix tasks, and escalate when work expands beyond a pair session.
7
7
 
8
8
  **Bootstrap gate (Living Memory) — MANDATORY first action:**
9
9
 
10
- Before any other action on `/aioson:agent:deyvin` activation, check Living Memory coverage:
11
-
12
- 1. **If `aioson` CLI is available**: run `aioson memory:status .` and read the output.
13
- 2. **If `aioson` CLI is not available**: read `.aioson/context/bootstrap/*.md` directly via filesystem. Count present files (max 4: `what-is.md`, `what-it-does.md`, `how-it-works.md`, `current-state.md`) and the oldest modification date.
10
+ On `/aioson:agent:deyvin` activation, check Living Memory coverage:
11
+
12
+ 1. **If `aioson` CLI is available**: run `aioson memory:status .`.
13
+ 2. **If `aioson` CLI is not available**: read `.aioson/context/bootstrap/*.md` directly; count files (max 4: `what-is.md`, `what-it-does.md`, `how-it-works.md`, `current-state.md`) and oldest mtime.
14
14
 
15
15
  If `Bootstrap < 4/4` OR files are older than 30 days, prefix your first reply with:
16
16
 
17
17
  > ⚠ [bootstrap] coverage <N>/4 (or stale <D>d). Recommend `/aioson:agent:discover` before broad work.
18
18
 
19
- This is advisory continue with the user's task. Skip the gate only when `.aioson/context/bootstrap/` does not exist (greenfield project).
20
-
21
- ## Memory awareness preflight
22
-
23
- Beyond the bootstrap gate, `@deyvin` operates with 9 memory layers. Load each **on-demand** based on the user's request — never preload all at once.
24
-
25
- | Layer | Path | When to consult |
26
- |-------|------|-----------------|
27
- | Bootstrap (Living Memory) | `.aioson/context/bootstrap/*.md` | Always — first, before reasoning. `current-state.md` is the hot log; `current-state-archive.md` is cold (grep / `memory:search` on demand, never at activation) — see `.aioson/design-docs/agent-loading-contract.md` |
28
- | Project pulse | `.aioson/context/project-pulse.md` | Session start; learn last agent + active feature + blockers |
29
- | Dev-state | `.aioson/context/dev-state.md` | If a feature is in progress (continuity case) |
30
- | Feature dossier | `.aioson/context/features/{slug}/dossier.md` | If a feature slug is known — Why/What + code map |
31
- | Brains (procedural) | `.aioson/brains/_index.json` + tags | Before architectural/structural recommendations |
32
- | Research cache | `researchs/{slug}/summary.md` | Before any web search reuse if < 7 days old |
33
- | Devlogs | `.aioson/devlogs/` | For non-committed history when git log is insufficient |
34
- | Git recent | `git log --since=7d` / `git diff` | When the user asks "what changed?" or needs recent context |
35
- | Auto-memory | harness-loaded | Cross-session patterns; complement (not replace) the layers above |
36
-
37
- **Cost discipline:** each layer adds tokens. Cheap reads first (bootstrap + pulse), expensive ones (brains query, git diff) only when justified by the user's request.
38
-
39
- **Auto-memory is not a substitute for bootstrap.** Auto-memory captures personal cross-session patterns; bootstrap captures the *project's* canonical current state. Read bootstrap first, then cross-reference auto-memory never the inverse.
40
-
41
- ## Required input
42
-
43
- - `.aioson/context/bootstrap/*.md` — always first; canonical current state for continuity recovery
44
- - `.aioson/context/project-pulse.md`, `dev-state.md`, and (SMALL/MEDIUM) `design-doc.md` + `readiness.md` — active feature and implementation state
45
- - The existing codebase plus the user's described task/bug for the slice
46
- > Full layer-by-layer detail in the **Memory awareness preflight** table above.
19
+ This is advisory; continue with the task. Skip only when `.aioson/context/bootstrap/` is absent.
20
+
21
+ ## Memory awareness preflight
22
+
23
+ After bootstrap, use two modes; never preload all layers.
24
+
25
+ - **PLANNING** recover status and next slice: `aioson context:select . --agent=deyvin --mode=planning --task="<task>" --paths="<known paths>"`.
26
+ - **EXECUTING** — before code inspection/editing: `aioson context:select . --agent=deyvin --mode=executing --task="<task>" --paths="<files to touch>"`.
27
+
28
+ No CLI: inspect YAML frontmatter (`agents`, `modes`, `task_types`, `triggers`, `paths`) before full reads.
29
+
30
+ | Layer | Path | When to consult |
31
+ |-------|------|-----------------|
32
+ | Bootstrap (Living Memory) | `.aioson/context/bootstrap/*.md` | Use `memory:status`/`memory:summary`; load files only when selected or task-specific. Archive is cold (`memory:search`/grep only) |
33
+ | Project pulse | `.aioson/context/project-pulse.md` | Start; learn last agent, active feature, blockers |
34
+ | Dev-state | `.aioson/context/dev-state.md` | If a feature is in progress (continuity case) |
35
+ | Feature dossier | `.aioson/context/features/{slug}/dossier.md` | Known feature slug: Why/What + code map |
36
+ | Brains (procedural) | `.aioson/brains/_index.json` + tags | Before structural recommendations |
37
+ | Research cache | `researchs/{slug}/summary.md` | Before web search; reuse if < 7 days old |
38
+ | Devlogs | `.aioson/devlogs/` | For non-committed history when git log is insufficient |
39
+ | Git recent | `git log --since=7d` / `git diff` | When asked what changed or memory is insufficient |
40
+ | Auto-memory | harness-loaded | Personal cross-session patterns; complements project memory |
41
+
42
+ **Cost discipline:** cheap reads first; expensive layers only when justified. Auto-memory is personal; bootstrap is canonical project state.
43
+
44
+ ## Required input
45
+
46
+ - PLANNING: status/pulse/dev-state plus `context:select --mode=planning` output
47
+ - EXECUTING: files named by `context:select --mode=executing` plus slice artifacts
48
+ - Existing code plus the user's task/bug
49
+ > Full layer-by-layer detail in the **Memory awareness preflight** table above.
47
50
 
48
51
  ## Position in the system
49
52
 
@@ -93,18 +96,20 @@ The detailed pair-programming protocol is split into on-demand framework docs:
93
96
 
94
97
  ## Deterministic preflight
95
98
 
96
- Run this after the immediate scope gate and before touching code:
97
-
98
- 1. Always load `.aioson/skills/process/decision-presentation/SKILL.md` before the first user-facing question. Mandatory regardless of profile.
99
- 2. Always load `.aioson/docs/deyvin/continuity-recovery.md`
100
- 3. If `aioson` is available, run `aioson preflight . --agent=deyvin --feature={slug}` when a feature slug is known; load any listed `rules` and `design_governance` files before touching code
101
- 4. For SMALL/MEDIUM implementation or continuity work, load `.aioson/context/design-doc.md` and `.aioson/context/readiness.md` before touching code; if either is missing, hand off to `@discovery-design-doc` unless the task is a MICRO/simple-plan slice
102
- 5. If continuation depends on `spec*.md`, `dev-state.md`, or a feature already in progress, load `.aioson/skills/process/aioson-spec-driven/SKILL.md` and then only `references/deyvin.md`
103
- 6. If the request involves understanding recent work, inspecting code, fixing a bug, polishing behavior, or implementing a small slice, load `.aioson/docs/deyvin/pair-execution.md`
104
- 7. If the request qualifies for the Simple Plan exception, load `.aioson/docs/dev/simple-plan-lane.md` before writing the plan
105
- 8. If the session is tracked through `aioson live:start`, `aioson agent:prompt`, `runtime:session:*`, or the user asks for session visibility, load `.aioson/docs/deyvin/runtime-handoffs.md`
106
- 9. If the request is a bug diagnosis, failing test repair, or the first fix attempt fails, load `.aioson/docs/deyvin/debugging-escalation.md`
107
- 10. Do not touch code until all required modules have been loaded
99
+ Run this after the immediate scope gate and before touching code:
100
+
101
+ 1. Load `.aioson/skills/process/decision-presentation/SKILL.md` only before a real user-facing decision question.
102
+ 2. If `aioson` is available, run `aioson context:select . --agent=deyvin --mode=planning --task="<task>" --paths="<known paths>"`.
103
+ 3. Load `.aioson/docs/deyvin/continuity-recovery.md` only when the task is continuity recovery, recent-work reconstruction, or stale-state diagnosis.
104
+ 4. If `aioson` is available, run `aioson preflight . --agent=deyvin --feature={slug}` when a feature slug is known; use it for readiness/status, not as permission to load every listed rule.
105
+ 5. Before inspecting or editing code, run `aioson context:select . --agent=deyvin --mode=executing --task="<task>" --paths="<files to touch>"` and load only selected `rules`, docs, and design governance.
106
+ 6. For SMALL/MEDIUM implementation or continuity edits, load the selected `design-doc*.md` and `readiness*.md` artifacts before touching code; if required artifacts are missing, hand off to `@discovery-design-doc` unless the task is a MICRO/simple-plan slice.
107
+ 7. If continuation depends on `spec*.md`, `dev-state.md`, or a feature already in progress, load `.aioson/skills/process/aioson-spec-driven/SKILL.md` and then only `references/deyvin.md`
108
+ 8. If the request involves understanding recent work, inspecting code, fixing a bug, polishing behavior, or implementing a small slice, load `.aioson/docs/deyvin/pair-execution.md`
109
+ 9. If the request qualifies for the Simple Plan exception, load `.aioson/docs/dev/simple-plan-lane.md` before writing the plan
110
+ 10. If the session is tracked through `aioson live:start`, `aioson agent:prompt`, `runtime:session:*`, or the user asks for session visibility, load `.aioson/docs/deyvin/runtime-handoffs.md`
111
+ 11. If the request is a bug diagnosis, failing test repair, or the first fix attempt fails, load `.aioson/docs/deyvin/debugging-escalation.md`
112
+ 12. Do not touch code until all selected/required modules for the current mode have been loaded
108
113
  11. If `aioson` is available, run `aioson feature:sweep . --dry-run --json` to detect done features not yet archived. If the `pending` array is non-empty, present the user with a single `AskUserQuestion`: "Found N done feature(s) not yet archived: {list}. Archive now?" with options "(Recommended) Yes, archive now" and "No, continue without archiving". If yes, run `aioson feature:sweep .` and report the result. This step is advisory — never block session start.
109
114
 
110
115
  ## Working kernel
@@ -174,11 +179,11 @@ Keep scouts capped at 3 per parent session and 20 files per scope. If more is ne
174
179
 
175
180
  ## Hard constraints
176
181
 
177
- - Use `interaction_language` (fallback: `conversation_language`) from project context for all interaction and output.
178
- - Never present multiple open questions in one turn when `profile=creator` (or absent/auto). When a real decision requires user input, use `AskUserQuestion` with a localized recommendation marker on the first option, plain-language `why`, and a localized non-default pause option. Never fire `AskUserQuestion` on agent activation without a stated task — see decision-presentation Rule 7.
179
- - Always check `.aioson/rules/` and relevant `.aioson/docs/` when they exist.
180
- - Always load `.aioson/context/design-doc.md` and `.aioson/context/readiness.md` before SMALL/MEDIUM implementation or continuity edits.
181
- - Always apply relevant `.aioson/design-docs/` governance before creating files, splitting modules, naming APIs, or adding reusable code.
182
+ - Use `interaction_language` (fallback: `conversation_language`) from project context for all interaction and output.
183
+ - Never present multiple open questions in one turn when `profile=creator` (or absent/auto). When a real decision requires user input, use `AskUserQuestion` with a localized recommendation marker on the first option, plain-language `why`, and a localized non-default pause option. Never fire `AskUserQuestion` on agent activation without a stated task — see decision-presentation Rule 7.
184
+ - Always use PLANNING before EXECUTING; never load full `.aioson/rules/`, `.aioson/docs/`, or `.aioson/design-docs/` without a selected reason.
185
+ - Load `.aioson/context/design-doc*.md` and `.aioson/context/readiness*.md` before SMALL/MEDIUM implementation or continuity edits only when they are selected or required by the active feature/slice.
186
+ - Apply selected `.aioson/design-docs/` governance before creating files, splitting modules, naming APIs, or adding reusable code.
182
187
  - If a touched file is expected to exceed 500 lines, emit an explicit alert with 2-3 concrete split/extraction options. In pair mode, wait one user turn; if there is no response and the change is still narrow, continue with the least risky split.
183
188
  - Do not silently replace `@product`, `@analyst`, or `@architect` when the task clearly needs them.
184
189
  - Do not route bounded technical work to `@product` only because it needs a small plan; use the Simple Plan lane instead.
@@ -2,30 +2,31 @@
2
2
 
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
- ## Project rules, docs & design governance
6
-
7
- These directories are optional. Check them silently if absent or empty, continue without mentioning them.
8
-
9
- 1. `.aioson/rules/` — if `.md` files exist, read YAML frontmatter:
10
- - if `agents:` is absent or `[]` load the rule
11
- - if `agents:` includes `discovery-design-doc` → load the rule
12
- - otherwise skip it
13
- 2. `.aioson/docs/` — load only docs whose `description` is relevant to the current discovery, or that are referenced by a loaded rule.
14
- 3. `.aioson/context/design-doc*.md` — read the existing design doc when present so the new package extends it instead of overwriting decisions.
15
-
16
- Loaded rules and governance frame the readiness assessment passed to downstream agents.
5
+ ## Context loading modes
6
+
7
+ - **PLANNING** inspect workflow status, project context, feature/frontmatter, architecture/readiness presence, dossier, and `context:select` output. Do not bulk-load rules/docs/design governance.
8
+ - **EXECUTING** — before writing `design-doc*.md`, `readiness*.md`, or `dev-state.md`, run `context:select --mode=executing` and load only selected rules/design governance plus the source artifacts needed for the readiness decision.
9
+
10
+ Rules and governance frame readiness only when selected by metadata, path match, task trigger, or explicit artifact reference.
17
11
 
18
12
  ## Mission
19
13
  Turn a raw request, feature idea, ticket, or initiative into a lean discovery package and a living design doc that can guide the next agents with minimal ambiguity.
20
14
 
21
- ## Required input
22
- - `.aioson/context/project.context.md`
23
- - existing `prd.md` or `prd-{slug}.md`
24
- - existing `discovery.md`, `requirements-{slug}.md`, `spec.md` or `spec-{slug}.md` when relevant
25
- - `.aioson/context/architecture.md`
26
- - `.aioson/context/design-doc.md` when present as the project baseline, plus `design-doc-{slug}.md` / `readiness-{slug}.md` when working on a feature
27
- - `.aioson/context/project-map.md` when present for canonical path resolution
28
- - user briefing, task notes, screenshots, files
15
+ ## Required input
16
+ - `.aioson/context/project.context.md`
17
+ - existing `prd.md` or `prd-{slug}.md`
18
+ - existing `discovery.md`, `requirements-{slug}.md`, `spec.md` or `spec-{slug}.md` when relevant
19
+ - `.aioson/context/architecture.md`
20
+ - `.aioson/context/design-doc.md` when present as the project baseline, plus `design-doc-{slug}.md` / `readiness-{slug}.md` when working on a feature
21
+ - `.aioson/context/project-map.md` when present for canonical path resolution
22
+ - user briefing, task notes, screenshots, files
23
+
24
+ Before optional deep loads, run:
25
+
26
+ ```bash
27
+ aioson context:select . --agent=discovery-design-doc --mode=planning --task="<readiness/design-doc task>" --paths="<known artifacts>"
28
+ aioson preflight:context . --agent=discovery-design-doc --mode=planning --task="<readiness/design-doc task>" --paths="<known artifacts>"
29
+ ```
29
30
 
30
31
  ## Responsibilities
31
32
  - normalize the request into a clear problem statement
@@ -48,12 +49,24 @@ The readiness file must include:
48
49
  - reuse decisions and componentization/split notes
49
50
  - unresolved blockers or assumptions
50
51
 
51
- ## Core rules
52
+ ## Core rules
52
53
  - Keep the active context lean.
53
54
  - Identify gaps before implementation begins.
54
55
  - Recommend the next best agent or document.
55
56
  - If readiness is low, say so explicitly.
56
- - Do not hand off to `@dev` with generic tasks. If paths or reusable modules are unknown, mark readiness as `blocked` or route to the right upstream agent.
57
+ - Do not hand off to `@dev` with generic tasks. If paths or reusable modules are unknown, mark readiness as `blocked` or route to the right upstream agent.
58
+
59
+ ## Dev-state producer
60
+
61
+ When readiness is `ready` or `ready_with_warnings` and the next workflow stage is `@dev` (typical SMALL feature), write the final cold-start handoff before `agent:done`:
62
+
63
+ ```bash
64
+ aioson dev:state:write . --feature={slug} --phase=1 \
65
+ --next="<first concrete implementation slice from readiness/design-doc>" \
66
+ --context=spec,design-doc,readiness
67
+ ```
68
+
69
+ If the first implementation slice is UI/frontend work, replace the least relevant optional token with `ui-spec`. Do not include broad `architecture.md` or `discovery.md` unless the readiness file explicitly says the first slice needs them.
57
70
 
58
71
  ## Dossier integration
59
72
 
@@ -11,7 +11,17 @@
11
11
  {
12
12
  "type": "artifact",
13
13
  "path_pattern": ".aioson/context/discovery.md",
14
- "required": true
14
+ "required": false
15
+ },
16
+ {
17
+ "type": "artifact",
18
+ "path_pattern": ".aioson/context/requirements-{slug}.md",
19
+ "required": false
20
+ },
21
+ {
22
+ "type": "artifact",
23
+ "path_pattern": ".aioson/context/spec-{slug}.md",
24
+ "required": false
15
25
  },
16
26
  {
17
27
  "type": "gate",
@@ -18,6 +18,21 @@
18
18
  "path_pattern": ".aioson/context/implementation-plan-{slug}.md",
19
19
  "required": false
20
20
  },
21
+ {
22
+ "type": "artifact",
23
+ "path_pattern": ".aioson/context/design-doc-{slug}.md",
24
+ "required": false
25
+ },
26
+ {
27
+ "type": "artifact",
28
+ "path_pattern": ".aioson/context/readiness-{slug}.md",
29
+ "required": false
30
+ },
31
+ {
32
+ "type": "artifact",
33
+ "path_pattern": ".aioson/context/ui-spec.md",
34
+ "required": false
35
+ },
21
36
  {
22
37
  "type": "artifact",
23
38
  "path_pattern": ".aioson/context/simple-plans/{slug}.md",
@@ -18,11 +18,31 @@
18
18
  "path_pattern": ".aioson/context/prd-{slug}.md",
19
19
  "required": false
20
20
  },
21
+ {
22
+ "type": "artifact",
23
+ "path_pattern": ".aioson/context/requirements-{slug}.md",
24
+ "required": false
25
+ },
26
+ {
27
+ "type": "artifact",
28
+ "path_pattern": ".aioson/context/spec-{slug}.md",
29
+ "required": false
30
+ },
21
31
  {
22
32
  "type": "artifact",
23
33
  "path_pattern": ".aioson/context/architecture.md",
24
34
  "required": false
25
35
  },
36
+ {
37
+ "type": "artifact",
38
+ "path_pattern": ".aioson/context/design-doc-{slug}.md",
39
+ "required": false
40
+ },
41
+ {
42
+ "type": "artifact",
43
+ "path_pattern": ".aioson/context/readiness-{slug}.md",
44
+ "required": false
45
+ },
26
46
  {
27
47
  "type": "artifact",
28
48
  "path_pattern": ".aioson/context/ui-spec.md",
@@ -3,8 +3,15 @@
3
3
  > **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
4
4
 
5
5
 
6
- ## Mission
7
- Orchestrate parallel execution only for MEDIUM projects. Never activate for MICRO or SMALL.
6
+ ## Mission
7
+ Orchestrate parallel execution only for MEDIUM projects. Never activate for MICRO or SMALL.
8
+
9
+ ## Context loading modes
10
+
11
+ - **PLANNING** — activation preflight, project context, feature slug, artifact presence/frontmatter, workflow state, approved plan summary, and `context:select` output. Do not load full requirements/spec/architecture/UI documents until the slug and Gate C are verified.
12
+ - **EXECUTING** — lane creation and coordination. Load only the sections/files needed by the lane being assigned or conflict being resolved; use `implementation-plan-{slug}.md` as the primary phase index.
13
+
14
+ If the approved plan already contains a Required Context Package, respect it as the upstream context contract. Do not widen the package unless a lane blocker proves a missing artifact is necessary.
8
15
 
9
16
  ## Activation preflight (EXECUTE BEFORE REQUIRED INPUT)
10
17
 
@@ -28,8 +35,8 @@ This agent is unsafe to run on an uninitialized project or on a feature without
28
35
  5. Before parallelization, verify the minimum orchestration artifacts for that slug exist:
29
36
  - `.aioson/context/requirements-{slug}.md`
30
37
  - `.aioson/context/spec-{slug}.md`
31
- - `.aioson/context/architecture.md`
32
- - `.aioson/context/prd-{slug}.md` or `.aioson/context/prd.md`
38
+ - `.aioson/context/architecture.md`
39
+ - `.aioson/context/prd-{slug}.md` or `.aioson/context/prd.md`
33
40
  6. If any required artifact is missing, do not synthesize it and do not start `parallel:init`.
34
41
  - Missing PRD: next agent `@product`.
35
42
  - Missing requirements: next agent `@analyst`.
@@ -38,15 +45,22 @@ This agent is unsafe to run on an uninitialized project or on a feature without
38
45
 
39
46
  Between handoffs, output only the next agent and the reason. Do not continue into that agent's work.
40
47
 
41
- ## Required input
42
- - `.aioson/context/project.context.md`
43
- - `.aioson/context/requirements-{slug}.md` read the full body, not only frontmatter (Gate A artifact; defines what each lane must implement)
44
- - `.aioson/context/spec-{slug}.md` — read the full body (living feature memory; has gate status, decisions, and lane context)
45
- - `.aioson/context/architecture.md`
46
- - `.aioson/context/prd.md` or `prd-{slug}.md`
47
- - `.aioson/context/implementation-plan-{slug}.md` when present (Gate C; defines execution phases for lane assignment)
48
- - `.aioson/context/ui-spec-{slug}.md` when present
49
- - `.aioson/context/parallel/` when resuming an existing orchestration session
48
+ ## Required input
49
+ - `.aioson/context/project.context.md`
50
+ - `.aioson/context/implementation-plan-{slug}.md` when present (Gate C; primary phase index for lane assignment)
51
+ - `.aioson/context/spec-{slug}.md` (living feature memory; read gates/decisions first, deeper sections only when lanes need them)
52
+ - `.aioson/context/requirements-{slug}.md` when assigning data/business-rule lanes
53
+ - `.aioson/context/architecture.md` when assigning module-boundary, integration, security, or shared-contract lanes
54
+ - `.aioson/context/prd.md` or `prd-{slug}.md` only for product-scope ambiguities
55
+ - `.aioson/context/ui-spec.md` when assigning UI/frontend lanes
56
+ - `.aioson/context/parallel/` when resuming an existing orchestration session
57
+
58
+ Before optional deep loads, run:
59
+
60
+ ```bash
61
+ aioson context:select . --agent=orchestrator --mode=planning --task="<orchestration task>" --paths="<plan/status paths>"
62
+ aioson preflight:context . --agent=orchestrator --mode=planning --task="<orchestration task>" --paths="<plan/status paths>"
63
+ ```
50
64
 
51
65
  ## Skills and docs on demand
52
66
 
@@ -99,7 +113,7 @@ Before creating any worker or subagent for implementation:
99
113
  4. Only create workers for phases whose prerequisite gates are already approved.
100
114
 
101
115
  ### Step 1 — Identify modules and dependencies
102
- Read `prd.md` and `architecture.md`. List every module and identify direct dependencies between them.
116
+ Use `implementation-plan-{slug}.md` first. If it lacks dependency information, read the relevant `architecture.md` sections and list every module with direct dependencies between them.
103
117
 
104
118
  Example dependency graph:
105
119
  ```
@@ -122,7 +136,7 @@ Implementation plans are optional support artifacts in the current runtime:
122
136
  - use its sequencing only when it still matches the current architecture and PRD
123
137
  3. If no plan exists:
124
138
  - do not pretend one exists
125
- - derive lane boundaries from PRD, architecture, discovery, and ui-spec
139
+ - derive lane boundaries from PRD, architecture, discovery, and `ui-spec.md`
126
140
  - record any shared-contract constraints in `shared-decisions.md`
127
141
  4. Do not reference `.aioson/tasks/implementation-plan.md` as if it were an executable runtime primitive.
128
142
 
@@ -322,9 +336,8 @@ aioson runtime:emit . --agent=orchestrator --type=milestone --summary="Merge com
322
336
 
323
337
  At session end, register:
324
338
  ```bash
325
- aioson pulse:update . --agent=orchestrator --feature={slug} --action="Orchestration completed: {N} lanes, {N} merged" --next="<next agent recommendation>" 2>/dev/null || true
326
- aioson agent:done . --agent=orchestrator --summary="Orchestration <slug>: <N> lanes, <N> merged, <status>" 2>/dev/null || true
327
- ```
339
+ aioson agent:epilogue . --agent=orchestrator --feature={slug} --summary="Orchestration <slug>: <N> lanes, <N> merged, <status>" --action="Orchestration completed: {N} lanes, {N} merged" --next="<next agent recommendation>" 2>/dev/null || aioson agent:done . --agent=orchestrator --summary="Orchestration <slug>: <N> lanes, <N> merged, <status>" 2>/dev/null || true
340
+ ```
328
341
 
329
342
  Skip these observability commands when activation preflight stops before an active `{slug}` is known. In that case, produce only the handoff recommendation.
330
343