@jaimevalasek/aioson 1.28.1 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +7 -5
  3. package/docs/en/5-reference/cli-reference.md +40 -10
  4. package/docs/pt/4-agentes/briefing.md +2 -0
  5. package/docs/pt/4-agentes/copywriter.md +2 -0
  6. package/docs/pt/4-agentes/genome.md +1 -0
  7. package/docs/pt/4-agentes/pm.md +1 -1
  8. package/docs/pt/4-agentes/profiler-enricher.md +2 -0
  9. package/docs/pt/4-agentes/profiler-forge.md +2 -0
  10. package/docs/pt/4-agentes/sheldon.md +2 -0
  11. package/docs/pt/4-agentes/squad.md +12 -10
  12. package/docs/pt/5-referencia/autopilot-handoff.md +4 -4
  13. package/docs/pt/5-referencia/comandos-cli.md +7 -3
  14. package/docs/pt/5-referencia/fluxo-artefatos.md +1 -1
  15. package/docs/pt/5-referencia/memoria-e-contexto.md +62 -2
  16. package/docs/pt/_arquivo/monitor-de-contexto.md +2 -2
  17. package/package.json +4 -2
  18. package/src/cli.js +72 -24
  19. package/src/commands/ac-test-audit.js +45 -0
  20. package/src/commands/artifact-validate.js +62 -50
  21. package/src/commands/classify.js +73 -2
  22. package/src/commands/context-brief.js +59 -0
  23. package/src/commands/context-guard.js +88 -0
  24. package/src/commands/context-monitor.js +1 -1
  25. package/src/commands/context-search.js +101 -52
  26. package/src/commands/context-select.js +11 -2
  27. package/src/commands/feature-archive.js +21 -12
  28. package/src/commands/feature-current.js +82 -0
  29. package/src/commands/gate-check.js +32 -15
  30. package/src/commands/harness-check.js +17 -1
  31. package/src/commands/hooks-install.js +169 -26
  32. package/src/commands/hygiene-scan.js +423 -0
  33. package/src/commands/rules-lint.js +124 -0
  34. package/src/commands/sdd-benchmark.js +134 -0
  35. package/src/commands/spec-analyze.js +6 -4
  36. package/src/commands/store-system.js +329 -49
  37. package/src/constants.js +8 -3
  38. package/src/context-brief.js +585 -0
  39. package/src/context-guard.js +209 -0
  40. package/src/context-search.js +796 -96
  41. package/src/context-selector.js +802 -420
  42. package/src/handoff-contract.js +14 -6
  43. package/src/harness/contract-schema.js +1 -1
  44. package/src/i18n/messages/en.js +12 -5
  45. package/src/i18n/messages/es.js +11 -4
  46. package/src/i18n/messages/fr.js +11 -4
  47. package/src/i18n/messages/pt-BR.js +12 -5
  48. package/src/lib/ac-test-audit.js +194 -0
  49. package/src/preflight-engine.js +10 -6
  50. package/src/squad/state-manager.js +1 -1
  51. package/template/.aioson/agents/analyst.md +93 -53
  52. package/template/.aioson/agents/architect.md +41 -32
  53. package/template/.aioson/agents/briefing-refiner.md +15 -2
  54. package/template/.aioson/agents/briefing.md +105 -86
  55. package/template/.aioson/agents/committer.md +1 -1
  56. package/template/.aioson/agents/copywriter.md +53 -10
  57. package/template/.aioson/agents/design-hybrid-forge.md +9 -5
  58. package/template/.aioson/agents/dev.md +22 -25
  59. package/template/.aioson/agents/deyvin.md +126 -124
  60. package/template/.aioson/agents/discover.md +8 -9
  61. package/template/.aioson/agents/discovery-design-doc.md +52 -36
  62. package/template/.aioson/agents/forge-run.md +3 -0
  63. package/template/.aioson/agents/genome.md +12 -6
  64. package/template/.aioson/agents/neo.md +30 -24
  65. package/template/.aioson/agents/orache.md +16 -21
  66. package/template/.aioson/agents/orchestrator.md +40 -31
  67. package/template/.aioson/agents/pentester.md +22 -12
  68. package/template/.aioson/agents/pm.md +11 -2
  69. package/template/.aioson/agents/product.md +162 -183
  70. package/template/.aioson/agents/profiler-enricher.md +29 -6
  71. package/template/.aioson/agents/profiler-forge.md +16 -6
  72. package/template/.aioson/agents/profiler-researcher.md +10 -6
  73. package/template/.aioson/agents/qa.md +29 -19
  74. package/template/.aioson/agents/scope-check.md +14 -2
  75. package/template/.aioson/agents/sheldon.md +51 -21
  76. package/template/.aioson/agents/site-forge.md +4 -6
  77. package/template/.aioson/agents/squad.md +7 -12
  78. package/template/.aioson/agents/tester.md +40 -30
  79. package/template/.aioson/agents/ux-ui.md +56 -41
  80. package/template/.aioson/agents/validator.md +2 -2
  81. package/template/.aioson/config.md +4 -3
  82. package/template/.aioson/design-docs/agent-loading-contract.md +3 -3
  83. package/template/.aioson/docs/LAYERS.md +2 -0
  84. package/template/.aioson/docs/autonomy-protocol.md +7 -5
  85. package/template/.aioson/docs/autopilot-handoff.md +5 -3
  86. package/template/.aioson/docs/dev/execution-discipline.md +3 -0
  87. package/template/.aioson/docs/dev/simple-plan-lane.md +126 -77
  88. package/template/.aioson/docs/dev/stack-conventions.md +4 -1
  89. package/template/.aioson/docs/deyvin/continuity-recovery.md +21 -18
  90. package/template/.aioson/docs/deyvin/debugging-escalation.md +3 -0
  91. package/template/.aioson/docs/deyvin/pair-execution.md +3 -0
  92. package/template/.aioson/docs/deyvin/runtime-handoffs.md +6 -3
  93. package/template/.aioson/docs/dossier/agent-templates.md +3 -0
  94. package/template/.aioson/docs/dossier/schema.md +3 -0
  95. package/template/.aioson/docs/example-external-api-context.md +2 -0
  96. package/template/.aioson/docs/feature-expansion-taxonomy.md +53 -0
  97. package/template/.aioson/docs/handoff-persistence.md +95 -91
  98. package/template/.aioson/docs/pentester/app-playbooks.md +3 -0
  99. package/template/.aioson/docs/pentester/browser-dast-playbook.md +401 -398
  100. package/template/.aioson/docs/pentester/llm-supplychain.md +3 -0
  101. package/template/.aioson/docs/product/conversation-playbook.md +1 -1
  102. package/template/.aioson/docs/quality/code-health-analysis.md +2 -0
  103. package/template/.aioson/docs/sheldon/enrichment-paths.md +47 -1
  104. package/template/.aioson/docs/sheldon/harness-contract.md +26 -21
  105. package/template/.aioson/docs/sheldon/quality-lens.md +3 -0
  106. package/template/.aioson/docs/sheldon/research-loop.md +3 -0
  107. package/template/.aioson/docs/sheldon/web-intelligence.md +3 -0
  108. package/template/.aioson/docs/site-forge-build.md +4 -2
  109. package/template/.aioson/docs/site-forge-extraction.md +2 -0
  110. package/template/.aioson/docs/site-forge-qa.md +2 -0
  111. package/template/.aioson/docs/site-forge-recon.md +7 -5
  112. package/template/.aioson/docs/site-forge-transform.md +2 -0
  113. package/template/.aioson/docs/squad/content-output.md +3 -0
  114. package/template/.aioson/docs/squad/creation-flow.md +22 -1
  115. package/template/.aioson/docs/squad/domain-breadth.md +3 -0
  116. package/template/.aioson/docs/squad/domain-classification.md +3 -0
  117. package/template/.aioson/docs/squad/eval-gate.md +3 -0
  118. package/template/.aioson/docs/squad/genome-bindings.md +14 -0
  119. package/template/.aioson/docs/squad/package-contract.md +5 -0
  120. package/template/.aioson/docs/squad/persona-grounding.md +65 -62
  121. package/template/.aioson/docs/squad/quality-lens.md +3 -0
  122. package/template/.aioson/docs/squad/research-loop.md +3 -0
  123. package/template/.aioson/docs/squad/session-operations.md +3 -0
  124. package/template/.aioson/docs/squad/workflow-quality.md +3 -0
  125. package/template/.aioson/docs/tester/coverage-quality.md +4 -1
  126. package/template/.aioson/docs/ux-ui/design-execution.md +9 -7
  127. package/template/.aioson/rules/README.md +48 -2
  128. package/template/.aioson/rules/agent-language-policy.md +26 -21
  129. package/template/.aioson/rules/agent-structural-contract.md +168 -158
  130. package/template/.aioson/rules/aioson-context-boundary.md +7 -1
  131. package/template/.aioson/rules/canonical-path-contract.md +16 -10
  132. package/template/.aioson/rules/data-format-convention.md +17 -11
  133. package/template/.aioson/rules/disk-first-artifacts.md +12 -8
  134. package/template/.aioson/rules/example-monetary-values.md +4 -0
  135. package/template/.aioson/rules/implementation-structure-and-data-access.md +50 -0
  136. package/template/.aioson/rules/output-brevity.md +2 -0
  137. package/template/.aioson/rules/prd-section-ownership.md +17 -12
  138. package/template/.aioson/rules/security-baseline.md +8 -3
  139. package/template/.aioson/rules/simple-plan-lane.md +22 -5
  140. package/template/.aioson/rules/source-code-language-convention.md +34 -0
  141. package/template/.aioson/rules/spec-level-ownership.md +10 -5
  142. package/template/.aioson/rules/squad-driver-pattern.md +5 -0
  143. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +24 -23
  144. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +4 -0
  145. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +2 -2
  146. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +1 -1
  147. package/template/.aioson/skills/process/briefing-expansion-scout/SKILL.md +72 -0
  148. package/template/.aioson/skills/process/product-scope-expansion/SKILL.md +74 -0
  149. package/template/.aioson/skills/process/sheldon-expansion-audit/SKILL.md +67 -0
  150. package/template/.aioson/skills/static/context-budget-guide.md +1 -1
  151. package/template/.aioson/skills/static/multi-agent-patterns.md +5 -4
  152. package/template/.aioson/tasks/squad-create.md +11 -0
  153. package/template/.aioson/tasks/squad-design.md +3 -3
  154. package/template/AGENTS.md +36 -19
  155. package/template/CLAUDE.md +9 -5
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: sheldon-expansion-audit
3
+ description: "Sheldon process skill for auditing a PRD against prior feature expansion artifacts and expected product richness. Use in @sheldon when expansion-scout.md or scope-expansion.md exists, or when a PRD for a rich-surface feature looks too thin, too inflated, or lacks acceptance criteria for enriched capabilities."
4
+ ---
5
+
6
+ # Sheldon Expansion Audit
7
+
8
+ Use this skill to judge whether product expansion was handled well. Sheldon should not be the primary dreamer; it should protect the PRD from being too poor or too large.
9
+
10
+ ## Load
11
+
12
+ Read `.aioson/docs/feature-expansion-taxonomy.md`.
13
+
14
+ Read available inputs:
15
+
16
+ - target `prd-{slug}.md`
17
+ - `.aioson/briefings/{slug}/expansion-scout.md`
18
+ - `.aioson/context/features/{slug}/scope-expansion.md`
19
+ - prior `.aioson/context/features/{slug}/expansion-audit.md`
20
+
21
+ If no prior expansion artifact exists, perform only a lightweight inferred expansion and label it clearly.
22
+
23
+ ## Output
24
+
25
+ Write `.aioson/context/features/{slug}/expansion-audit.md`.
26
+
27
+ Use this structure:
28
+
29
+ ```md
30
+ # Expansion Audit - {Feature}
31
+
32
+ ## Inputs
33
+ - PRD:
34
+ - Prior expansion artifacts found:
35
+ - Audit mode: prior-artifact / inferred-lightweight
36
+
37
+ ## Findings
38
+ | Severity | Finding | Evidence | Recommendation |
39
+ |---|---|---|---|
40
+
41
+ ## Too Thin Check
42
+ - Missing Core/Recommended MVP items:
43
+ - Missing user states/actions:
44
+ - Missing acceptance criteria:
45
+
46
+ ## Too Large Check
47
+ - V2 items pulled into MVP:
48
+ - Optional items without approval:
49
+ - Classification/timeline risk:
50
+
51
+ ## PRD Patch Recommendations
52
+ - Add:
53
+ - Move to V2:
54
+ - Ask user:
55
+
56
+ ## Sheldon Decision
57
+ Proceed / enrich PRD first / return to product for decision.
58
+ ```
59
+
60
+ ## Rules
61
+
62
+ - Prefer evidence from prior expansion artifacts over inventing new ideas.
63
+ - Flag when a rich-surface PRD has only generic fields or thin CRUD.
64
+ - Flag when V2 ideas entered MVP without explicit rationale.
65
+ - Convert accepted expansion items into acceptance-criteria gaps.
66
+ - Do not rewrite Product-owned Vision, Problem, or Users.
67
+
@@ -11,7 +11,7 @@ Since agents cannot directly measure token count, use file-count proxy:
11
11
  | 1-3 | Light (< 20%) | Proceed normally |
12
12
  | 4-6 | Moderate (20-40%) | Be selective about additional reads |
13
13
  | 7-9 | Heavy (40-60%) | Stop reading, start producing |
14
- | 10+ | Critical (> 60%) | Finish current step, recommend /clear |
14
+ | 10+ | Critical (> 60%) | Finish current step, recommend /compact; reserve /clear for hard reset |
15
15
 
16
16
  ## File size estimates
17
17
 
@@ -28,10 +28,11 @@ When Evaluator finds issues:
28
28
 
29
29
  ### Session isolation
30
30
 
31
- Each role should run in a fresh context window:
32
- - Planner sessions: produce artifacts, then /clear
33
- - Generator sessions: read spec pack + implement, then /clear
34
- - Evaluator sessions: read code + spec + verify, then /clear
31
+ Each role should run from a compact operational handoff:
32
+ - Planner sessions: produce artifacts, then /compact for same-feature continuation
33
+ - Generator sessions: read spec pack + implement, then /compact for same-feature continuation
34
+ - Evaluator sessions: read code + spec + verify, then /compact for same-feature continuation
35
+ - Use /clear only for a hard reset, feature switch, polluted context, or security-sensitive reset
35
36
 
36
37
  Cross-role communication happens through artifacts on disk, not conversation history.
37
38
 
@@ -123,6 +123,17 @@ For each executor in the blueprint, create `.aioson/squads/<slug>/agents/<execut
123
123
  - Before moving to the next executor, apply this test: would a real senior person in this role recognize themselves in this prompt? If not, deepen before continuing.
124
124
  - If `locale_scope` is locale-specific, write user-facing behavior examples in that locale's language; code identifiers remain English.
125
125
 
126
+ ### Step 5.5 - Genome Pass (bind or queue genomes)
127
+
128
+ Load `.aioson/docs/squad/genome-bindings.md`. Then, for each executor whose blueprint entry plans a genome — and for every `assistant`/`clone` in a tier-1/tier-2 domain even when the blueprint is silent:
129
+
130
+ 1. Check `.aioson/genomes/` for an existing genome matching the planned domain/function — reuse before generating.
131
+ 2. If missing, generate it now by invoking `@genome` (Skill `aioson:agent:genome`) with the domain/function and `type`. `persona` genomes are never auto-generated — queue them for the Profiler pipeline instead.
132
+ 3. Apply the bindings: manifest `genomes` + `genomeBindings`, the executor's `## Active genomes` section, and `squad.md` (squad-level and per-agent genomes).
133
+ 4. If generation is not possible in this session, do NOT deliver empty `## Active genomes` silently: write the pending binding into the manifest (`genomeBindings` entry with `status: pending`) and put the exact `@genome` command in the creation summary.
134
+
135
+ Skip this step only for tier-3 squads whose executors are all `worker` / plain `agent` types with no specialized expertise.
136
+
126
137
  ### Step 6 - Generate Orchestrator
127
138
  Create `.aioson/squads/<slug>/agents/orquestrador.md` following `.aioson/docs/squad/package-contract.md`, section `Orchestrator prompt`.
128
139
  If `uiCapability.mode = executor`, include routing guidance that visual demands go to `@ui-specialist`.
@@ -59,8 +59,8 @@ If the user already supplied enough context (text, docs, images), infer the answ
59
59
  Before defining executors, classify the domain using `.aioson/docs/squad/domain-classification.md`:
60
60
 
61
61
  - **Tier 1 — regulated:** investigation via `@squad investigate` / `@orache` is mandatory. Do not finalize the blueprint without a report.
62
- - **Tier 2 — specialized:** strongly recommend investigation. If the user refuses, record the limitation in `assumptions` and `risks`.
63
- - **Tier 3 — common:** proceed without unnecessary friction.
62
+ - **Tier 2 — specialized:** run investigation by default (opt-out). If the user declines, record the limitation in `assumptions` and `risks`.
63
+ - **Tier 3 — common:** with no `sourceDocs`, default to an `@orache` Quick Scan (announce it, let the user skip); proceed directly only when relevant sources or cached investigation already exist.
64
64
 
65
65
  If relevant investigation already exists, reuse the report instead of requesting a new one.
66
66
 
@@ -108,7 +108,7 @@ Group `workflows` into distinct work modes (originate / transform / judge / orch
108
108
  - `traces` — which `workflows`/`entities` this executor owns; an executor tracing no workflow is ceremony, so cut it
109
109
  - `confidence` (0-1) — how well sources justify this role; low = investigate or cut, never fill with padding
110
110
  - skills it will use
111
- - genomes it inherits
111
+ - genomes it should inherit — record planned genomes (`type: domain|function`) for assistants/clones and specialized-domain agents; the create phase generates and binds them (`squad-create` Step 5.5)
112
112
 
113
113
  Always include an `orquestrador`. Keep 3-5 unless decomposition proves the real work requires more; do not inflate to look complete.
114
114
 
@@ -7,11 +7,15 @@ You operate as AIOSON — an AI development squad with specialized agents.
7
7
  - If missing: activate @setup agent immediately
8
8
  - If present: read it before any action
9
9
  2. Read `.aioson/config.md` only if project context is missing/invalid, setup/routing policy is needed, or the active agent explicitly asks for config details.
10
- 3. If `.aioson/rules/` contains `.md` files, note silently that project rules are active — each agent will load applicable rules automatically via its "Project rules, docs & design docs" section. Do not alarm if the directory is absent or empty.
10
+ 3. If `.aioson/rules/` contains `.md` files, note silently that project rules are active — concrete code/review agents use `context:brief` for precision selection, broad recall, and constraints. Load `must_load`, treat `related` as recall hints, and keep `context:select` as the underlying selector/fallback when the CLI or agent contract asks for it. Do not alarm if the directory is absent or empty.
11
11
 
12
- ## Project knowledge
13
-
14
- Read `.aioson/learnings/INDEX.md` if it exists. Each line is a project gotcha or recipe with its file path and a one-line summary. Lazy-load individual files only when title/scope matches your current task or files being touched.
12
+ ## Project knowledge
13
+
14
+ Read `.aioson/learnings/INDEX.md` if it exists. Each line is a project gotcha or recipe with its file path and a one-line summary. Lazy-load individual files only when title/scope matches your current task or files being touched.
15
+
16
+ ## Canonical context paths
17
+
18
+ When instructions mention context artifacts by bare filename — `project.context.md`, `project-pulse.md`, `features.md`, `dev-state.md`, `workflow.state.json`, `last-handoff.json`, or `handoff-protocol.json` — resolve them to `.aioson/context/<filename>`. Never probe the project root or `.aioson/` root for these files.
15
19
 
16
20
  ## No agent selected
17
21
 
@@ -103,8 +107,8 @@ When running Codex directly (without `aioson workflow:next`), these rules apply:
103
107
  - For implementation requests (code changes, feature build, refactor, bugfix), default to workflow routing and execute via the next workflow stage agent (typically `@dev` after required upstream stages).
104
108
  - Exception: if the user explicitly activates `@deyvin` (or the compatibility alias `@pair`), it may work directly only as a continuity / pair-programming agent for existing known context and a small validated slice. If the request is a new project, greenfield build, new feature, broad redesign, vague or contradictory, or mixes product + UX + implementation scope, `@deyvin` must hand off immediately and must not code first.
105
109
  - Official workflow agents (`@setup`, `@product`, `@analyst`, `@scope-check`, `@architect`, `@ux-ui`, `@pm`, `@orchestrator`, `@dev`, `@qa`) must stay inside the workflow. Do not answer requests outside the current agent's scope.
106
- - Between agent handoffs, your ONLY valid output is: which agent is next and why. Do not continue into that agent's work. Single exception: when `auto_handoff: true` is set in `project.context.md`, the agents covered by `.aioson/docs/autopilot-handoff.md` auto-invoke the next agent's skill instead of stopping. That chain stops before the first `@dev` activation (the human clears context and starts implementation) and resumes through the post-dev review cycle (`@dev` → `@qa` → `@tester`/`@pentester` when their `@qa` triggers fire → `@validator`); it never auto-runs `feature:close`/publish — those require explicit human approval.
107
- - If `project.context.md` is inconsistent, stale, or partially invalid, repair it inside the workflow when the correct value is objectively inferable from the active context and artifacts.
110
+ - Between agent handoffs, your ONLY valid output is: which agent is next and why. Do not continue into that agent's work. Single exception: when `auto_handoff: true` is set in `.aioson/context/project.context.md`, the agents covered by `.aioson/docs/autopilot-handoff.md` auto-invoke the next agent's skill instead of stopping. That chain stops before the first `@dev` activation (the human clears context and starts implementation) and resumes through the post-dev review cycle (`@dev` → `@qa` → `@tester`/`@pentester` when their `@qa` triggers fire → `@validator`); it never auto-runs `feature:close`/publish — those require explicit human approval.
111
+ - If `.aioson/context/project.context.md` is inconsistent, stale, or partially invalid, repair it inside the workflow when the correct value is objectively inferable from the active context and artifacts.
108
112
  - If a context field is still uncertain, route back to `@setup` inside the workflow instead of offering direct execution as a workaround.
109
113
  - Never silently bypass workflow after `@setup` or after collecting requirements.
110
114
 
@@ -157,7 +161,7 @@ AIOSON uses the `aioson-spec-driven` process skill to enforce specification-firs
157
161
 
158
162
  ### Core artifacts
159
163
  - `constitution.md` — governs all agents with 6 articles
160
- - `project-pulse.md` — global heartbeat, max 30 lines, updated by every agent at session end
164
+ - `.aioson/context/project-pulse.md` — global heartbeat, max 30 lines, updated by every agent at session end
161
165
  - `spec-{slug}.md` — feature memory with `phase_gates`, `spec_version`, and `last_checkpoint`
162
166
  - `conformance-{slug}.yaml` — machine-readable AC definitions (MEDIUM projects only)
163
167
 
@@ -173,7 +177,7 @@ Gates are blocking in MEDIUM, informational in MICRO/SMALL.
173
177
  For concrete spec/workflow work, the active agent checks for `aioson-spec-driven` in `.aioson/installed-skills/` or `.aioson/skills/process/` and loads only its role-specific reference file (e.g., `references/dev.md`, `references/qa.md`). A bare `@deyvin` activation is not spec work: follow Deyvin's activation-only fast path and do not open this skill.
174
178
 
175
179
  ### Project pulse convention
176
- Every agent updates `project-pulse.md` at session end with: last_agent, last_gate, active features, blockers, and next recommended action. This enables crash recovery — any agent can read project-pulse.md and know where to resume.
180
+ Every agent updates `.aioson/context/project-pulse.md` at session end with: last_agent, last_gate, active features, blockers, and next recommended action. This enables crash recovery — any agent can read `.aioson/context/project-pulse.md` and know where to resume.
177
181
 
178
182
  ## Process skill: aioson-spec-driven
179
183
 
@@ -195,16 +199,29 @@ Activated by: @design-hybrid-forge
195
199
  Default output: `.aioson/installed-skills/{hybrid-name}/`
196
200
  What to load: `SKILL.md` first, then only the `references/` file relevant to the current phase
197
201
 
198
- ## Process skill: prompt-sharpener
199
-
200
- Located at: `.aioson/skills/process/prompt-sharpener/SKILL.md`
201
-
202
- This is a first-party process skill for improving agents, skills, PRDs, plans, handoffs, and instruction-heavy markdown by turning vague guidance into evidence-driven decision behavior.
203
-
204
- Use when: improving AIOSON prompts/skills, reducing dead context without losing contracts, or sharpening artifacts before downstream handoff.
205
- What to load: `SKILL.md` first; load `references/prompt-diagnostics.md` only for multi-prompt audits or adoption planning.
206
-
207
- ## Shared research cache: researchs/
202
+ ## Process skill: prompt-sharpener
203
+
204
+ Located at: `.aioson/skills/process/prompt-sharpener/SKILL.md`
205
+
206
+ This is a first-party process skill for improving agents, skills, PRDs, plans, handoffs, and instruction-heavy markdown by turning vague guidance into evidence-driven decision behavior.
207
+
208
+ Use when: improving AIOSON prompts/skills, reducing dead context without losing contracts, or sharpening artifacts before downstream handoff.
209
+ What to load: `SKILL.md` first; load `references/prompt-diagnostics.md` only for multi-prompt audits or adoption planning.
210
+
211
+ ## Process skills: feature expansion
212
+
213
+ Located at:
214
+ - `.aioson/skills/process/briefing-expansion-scout/SKILL.md`
215
+ - `.aioson/skills/process/product-scope-expansion/SKILL.md`
216
+ - `.aioson/skills/process/sheldon-expansion-audit/SKILL.md`
217
+
218
+ These are first-party process skills for richer feature thinking without uncontrolled MVP inflation.
219
+
220
+ Agents that load them: @briefing, @briefing-refiner, @product, @sheldon
221
+ When to load: only when the active idea/PRD has a rich surface, a prior expansion artifact exists, or the user asks for richer options.
222
+ Shared taxonomy: `.aioson/docs/feature-expansion-taxonomy.md`
223
+
224
+ ## Shared research cache: researchs/
208
225
 
209
226
  Located at: `researchs/` (project root)
210
227
 
@@ -228,7 +245,7 @@ Primary recurring writers here: @product, @sheldon, and @squad
228
245
  All agents may read from here to avoid redundant searches.
229
246
 
230
247
  ## Session protocol
231
- Do not read `.aioson/context/spec.md` globally at session start. Agents load `spec*.md` only when `context:select`, their SDD reference, or a concrete task selects it; update it at session end only if the active agent loaded and changed that spec context.
248
+ Do not read `.aioson/context/spec.md` globally at session start. Agents load `spec*.md` only when `context:brief`/`context:select`, their SDD reference, or a concrete task selects it; update it at session end only if the active agent loaded and changed that spec context.
232
249
 
233
250
  ## Golden rule
234
251
  Small project, small solution.
@@ -7,11 +7,15 @@ You operate as AIOSON.
7
7
  - If missing: run `/setup`
8
8
  - If present: read it before any action
9
9
  2. Read `.aioson/config.md` only if project context is missing/invalid, setup/routing policy is needed, or the active agent explicitly asks for config details.
10
- 3. If `.aioson/rules/` contains `.md` files, note silently that project rules are active — each agent will load applicable rules automatically via its "Project rules, docs & design docs" section. Do not alarm if the directory is absent or empty.
10
+ 3. If `.aioson/rules/` contains `.md` files, note silently that project rules are active — concrete code/review agents use `context:brief` for precision selection, broad recall, and constraints. Load `must_load`, treat `related` as recall hints, and keep `context:select` as the underlying selector/fallback when the CLI or agent contract asks for it. Do not alarm if the directory is absent or empty.
11
11
 
12
- ## Project knowledge
13
-
14
- Read `.aioson/learnings/INDEX.md` if it exists. Each line is a project gotcha or recipe with its file path and a one-line summary. Lazy-load individual files only when title/scope matches your current task or files being touched.
12
+ ## Project knowledge
13
+
14
+ Read `.aioson/learnings/INDEX.md` if it exists. Each line is a project gotcha or recipe with its file path and a one-line summary. Lazy-load individual files only when title/scope matches your current task or files being touched.
15
+
16
+ ## Canonical context paths
17
+
18
+ When instructions mention context artifacts by bare filename — `project.context.md`, `project-pulse.md`, `features.md`, `dev-state.md`, `workflow.state.json`, `last-handoff.json`, or `handoff-protocol.json` — resolve them to `.aioson/context/<filename>`. Never probe the project root or `.aioson/` root for these files.
15
19
 
16
20
  ## No agent selected
17
21
 
@@ -104,7 +108,7 @@ When running Claude Code directly (without `aioson workflow:next`), these rules
104
108
  **Hard constraints — no exceptions:**
105
109
  - You MUST NEVER implement code, produce UI specs, write PRDs, or answer technical tasks outside an activated agent.
106
110
  - If the user explicitly activates `/deyvin` or `/pair`, it may act directly only for continuity on existing known context and a small validated slice. If the request is a new project, greenfield build, new feature, broad redesign, vague or contradictory, or mixes product + UX + implementation scope, `/deyvin` must hand off immediately and must not code first.
107
- - Between agent handoffs, your ONLY valid output is: which agent is next and why. Do not continue into that agent's work. Single exception: when `auto_handoff: true` is set in `project.context.md`, the agents covered by `.aioson/docs/autopilot-handoff.md` auto-invoke the next agent's skill instead of stopping. That chain stops before the first `@dev` activation (the human clears context and starts implementation) and resumes through the post-dev review cycle (`@dev` → `@qa` → `@tester`/`@pentester` when their `@qa` triggers fire → `@validator`); it never auto-runs `feature:close`/publish — those require explicit human approval.
111
+ - Between agent handoffs, your ONLY valid output is: which agent is next and why. Do not continue into that agent's work. Single exception: when `auto_handoff: true` is set in `.aioson/context/project.context.md`, the agents covered by `.aioson/docs/autopilot-handoff.md` auto-invoke the next agent's skill instead of stopping. That chain stops before the first `@dev` activation (the human clears context and starts implementation) and resumes through the post-dev review cycle (`@dev` → `@qa` → `@tester`/`@pentester` when their `@qa` triggers fire → `@validator`); it never auto-runs `feature:close`/publish — those require explicit human approval.
108
112
  - If the user sends an implementation request before setup is complete: do not implement. Tell them to activate `/setup` first.
109
113
  - If the user insists on bypassing an agent stage: refuse and redirect. Urgency or complexity do not override this rule.
110
114