@jaimevalasek/aioson 1.3.0 → 1.4.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 (213) hide show
  1. package/README.md +19 -2
  2. package/docs/pt/README.md +62 -2
  3. package/docs/pt/advisor-spec.md +5 -5
  4. package/docs/pt/agentes-customizados.md +670 -0
  5. package/docs/pt/agentes.md +111 -13
  6. package/docs/pt/automacao-squads.md +407 -0
  7. package/docs/pt/cenarios.md +3 -3
  8. package/docs/pt/clientes-ai.md +62 -0
  9. package/docs/pt/comandos-cli.md +167 -17
  10. package/docs/pt/deyvin.md +115 -0
  11. package/docs/pt/genome-3.0-spec.md +11 -11
  12. package/docs/pt/inicio-rapido.md +45 -0
  13. package/docs/pt/memoria-contexto.md +255 -0
  14. package/docs/pt/output-strategy-delivery.md +655 -0
  15. package/docs/pt/profiler-system.md +17 -17
  16. package/docs/pt/runtime-observability.md +5 -1
  17. package/docs/pt/skills.md +175 -0
  18. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  19. package/docs/testing/genome-2.0-rollout.md +1 -1
  20. package/package.json +3 -3
  21. package/src/agents.js +21 -5
  22. package/src/backup-provider.js +303 -0
  23. package/src/cli.js +178 -2
  24. package/src/commands/agents.js +22 -4
  25. package/src/commands/backup.js +533 -0
  26. package/src/commands/cloud.js +17 -17
  27. package/src/commands/context-pack.js +45 -0
  28. package/src/commands/implementation-plan.js +340 -0
  29. package/src/commands/learning.js +134 -0
  30. package/src/commands/live.js +1583 -0
  31. package/src/commands/runtime.js +833 -2
  32. package/src/commands/scan-project.js +288 -24
  33. package/src/commands/setup-context.js +23 -0
  34. package/src/commands/skill.js +558 -0
  35. package/src/commands/squad-agent-create.js +788 -0
  36. package/src/commands/squad-doctor.js +51 -1
  37. package/src/commands/squad-investigate.js +261 -0
  38. package/src/commands/squad-learning.js +209 -0
  39. package/src/commands/squad-pipeline.js +247 -1
  40. package/src/commands/squad-plan.js +329 -0
  41. package/src/commands/squad-status.js +1 -1
  42. package/src/commands/squad-validate.js +57 -1
  43. package/src/commands/test-agents.js +6 -1
  44. package/src/commands/workflow-next.js +8 -1
  45. package/src/commands/workflow-status.js +250 -0
  46. package/src/constants.js +80 -16
  47. package/src/context-memory.js +837 -0
  48. package/src/context-writer.js +2 -0
  49. package/src/delivery-runner.js +319 -0
  50. package/src/genome-files.js +1 -1
  51. package/src/genome-format.js +1 -1
  52. package/src/i18n/messages/en.js +206 -7
  53. package/src/i18n/messages/es.js +123 -6
  54. package/src/i18n/messages/fr.js +122 -5
  55. package/src/i18n/messages/pt-BR.js +205 -12
  56. package/src/installer.js +30 -2
  57. package/src/lib/genomes/compat.js +1 -1
  58. package/src/runtime-store.js +780 -42
  59. package/src/session-handoff.js +77 -0
  60. package/template/.aioson/agents/analyst.md +36 -9
  61. package/template/.aioson/agents/architect.md +20 -5
  62. package/template/.aioson/agents/dev.md +135 -15
  63. package/template/.aioson/agents/deyvin.md +166 -0
  64. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  65. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  66. package/template/.aioson/agents/orache.md +371 -0
  67. package/template/.aioson/agents/orchestrator.md +37 -2
  68. package/template/.aioson/agents/pair.md +5 -0
  69. package/template/.aioson/agents/pm.md +17 -5
  70. package/template/.aioson/agents/product.md +58 -22
  71. package/template/.aioson/agents/profiler-enricher.md +1 -1
  72. package/template/.aioson/agents/profiler-forge.md +9 -9
  73. package/template/.aioson/agents/profiler-researcher.md +1 -1
  74. package/template/.aioson/agents/qa.md +17 -5
  75. package/template/.aioson/agents/setup.md +81 -5
  76. package/template/.aioson/agents/squad.md +675 -28
  77. package/template/.aioson/agents/ux-ui.md +277 -34
  78. package/template/.aioson/config.md +175 -0
  79. package/template/.aioson/context/spec.md.template +17 -0
  80. package/template/.aioson/genomes/.gitkeep +0 -0
  81. package/template/.aioson/installed-skills/.gitkeep +0 -0
  82. package/template/.aioson/locales/en/agents/analyst.md +26 -4
  83. package/template/.aioson/locales/en/agents/architect.md +10 -0
  84. package/template/.aioson/locales/en/agents/dev.md +89 -4
  85. package/template/.aioson/locales/en/agents/deyvin.md +129 -0
  86. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  87. package/template/.aioson/locales/en/agents/orchestrator.md +36 -2
  88. package/template/.aioson/locales/en/agents/pair.md +5 -0
  89. package/template/.aioson/locales/en/agents/pm.md +7 -0
  90. package/template/.aioson/locales/en/agents/product.md +35 -17
  91. package/template/.aioson/locales/en/agents/qa.md +7 -0
  92. package/template/.aioson/locales/en/agents/setup.md +51 -5
  93. package/template/.aioson/locales/en/agents/squad.md +203 -15
  94. package/template/.aioson/locales/en/agents/ux-ui.md +375 -35
  95. package/template/.aioson/locales/es/agents/analyst.md +16 -4
  96. package/template/.aioson/locales/es/agents/architect.md +10 -0
  97. package/template/.aioson/locales/es/agents/dev.md +70 -2
  98. package/template/.aioson/locales/es/agents/deyvin.md +89 -0
  99. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  100. package/template/.aioson/locales/es/agents/orache.md +103 -0
  101. package/template/.aioson/locales/es/agents/orchestrator.md +36 -2
  102. package/template/.aioson/locales/es/agents/pair.md +5 -0
  103. package/template/.aioson/locales/es/agents/pm.md +7 -0
  104. package/template/.aioson/locales/es/agents/product.md +13 -3
  105. package/template/.aioson/locales/es/agents/qa.md +7 -0
  106. package/template/.aioson/locales/es/agents/setup.md +28 -5
  107. package/template/.aioson/locales/es/agents/squad.md +221 -15
  108. package/template/.aioson/locales/es/agents/ux-ui.md +26 -25
  109. package/template/.aioson/locales/fr/agents/analyst.md +16 -4
  110. package/template/.aioson/locales/fr/agents/architect.md +10 -0
  111. package/template/.aioson/locales/fr/agents/dev.md +70 -2
  112. package/template/.aioson/locales/fr/agents/deyvin.md +89 -0
  113. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  114. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  115. package/template/.aioson/locales/fr/agents/orchestrator.md +36 -2
  116. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  117. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  118. package/template/.aioson/locales/fr/agents/product.md +13 -3
  119. package/template/.aioson/locales/fr/agents/qa.md +7 -0
  120. package/template/.aioson/locales/fr/agents/setup.md +28 -5
  121. package/template/.aioson/locales/fr/agents/squad.md +216 -10
  122. package/template/.aioson/locales/fr/agents/ux-ui.md +26 -25
  123. package/template/.aioson/locales/pt-BR/agents/analyst.md +26 -4
  124. package/template/.aioson/locales/pt-BR/agents/architect.md +10 -0
  125. package/template/.aioson/locales/pt-BR/agents/dev.md +93 -4
  126. package/template/.aioson/locales/pt-BR/agents/deyvin.md +129 -0
  127. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  128. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  129. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +36 -2
  130. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  131. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  132. package/template/.aioson/locales/pt-BR/agents/product.md +35 -17
  133. package/template/.aioson/locales/pt-BR/agents/qa.md +7 -0
  134. package/template/.aioson/locales/pt-BR/agents/setup.md +51 -5
  135. package/template/.aioson/locales/pt-BR/agents/squad.md +486 -47
  136. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +361 -22
  137. package/template/.aioson/my-agents/.gitkeep +0 -0
  138. package/template/.aioson/rules/.gitkeep +0 -0
  139. package/template/.aioson/rules/squad/.gitkeep +0 -0
  140. package/template/.aioson/rules/squad/README.md +50 -0
  141. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  142. package/template/.aioson/schemas/genome.schema.json +1 -1
  143. package/template/.aioson/schemas/squad-blueprint.schema.json +11 -0
  144. package/template/.aioson/schemas/squad-manifest.schema.json +257 -1
  145. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +157 -0
  146. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  147. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +172 -0
  148. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +490 -0
  149. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +237 -0
  150. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  151. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +350 -0
  152. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  153. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  154. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  155. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  156. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  157. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  158. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  159. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  160. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  161. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  162. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  163. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  164. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  165. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  166. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  167. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  168. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  169. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  170. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  171. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  172. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  173. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  174. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  175. package/template/.aioson/skills/squad/SKILL.md +58 -0
  176. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  177. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  178. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  179. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  180. package/template/.aioson/tasks/implementation-plan.md +288 -0
  181. package/template/.aioson/tasks/squad-create.md +1 -1
  182. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  183. package/template/.aioson/tasks/squad-export.md +1 -1
  184. package/template/.aioson/tasks/squad-investigate.md +44 -0
  185. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  186. package/template/.aioson/tasks/squad-output-config.md +177 -0
  187. package/template/.aioson/tasks/squad-validate.md +1 -1
  188. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  189. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  190. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  191. package/template/.claude/commands/aioson/agent/product.md +5 -0
  192. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  193. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  194. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  195. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  196. package/template/.gemini/GEMINI.md +2 -0
  197. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  198. package/template/.gemini/commands/aios-pair.toml +6 -0
  199. package/template/AGENTS.md +34 -6
  200. package/template/CLAUDE.md +31 -4
  201. package/template/OPENCODE.md +6 -2
  202. package/template/squad-searches/.gitkeep +0 -0
  203. package/template/.aioson/skills/static/interface-design.md +0 -372
  204. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  205. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  206. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  207. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  208. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  209. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  210. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  211. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  212. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  213. /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
@@ -10,24 +10,47 @@ Collect project information and generate `.aioson/context/project.context.md` wi
10
10
  Before running the full setup, check whether `.aioson/context/project.context.md` already exists:
11
11
 
12
12
  **Returning project (file exists):**
13
- Read the file. Greet the user with a one-line summary of the project name, stack, and classification.
13
+ Read the file and validate whether the context is explicit and internally consistent.
14
+
15
+ If the existing context is valid, greet the user with a one-line summary of the project name, stack, and classification.
14
16
  > "I see this project is already configured: [project_name] — [framework] — [classification]. What would you like to do?
15
17
  > → **Continue** — go straight to the next agent.
16
18
  > → **Update context** — re-run setup to change any values.
17
- > → **Scan codebase** — run `aioson scan:project` to analyse existing code before proceeding."
19
+ > → **Scan codebase** — run `aioson scan:project . --folder=src` to map existing code before proceeding."
20
+
21
+ If the existing context is inconsistent, stale, or still contains placeholders such as `auto`, `null`, blank values, or invalid values such as `landpage`, do NOT stop at the menu first.
18
22
 
19
- Do NOT re-run the full onboarding unless the user explicitly requests it.
23
+ Mandatory behavior for inconsistent returning projects:
24
+ - Inspect the current workspace and infer what can be repaired automatically from existing files and code.
25
+ - Repair `.aioson/context/project.context.md` before asking the user what to do next.
26
+ - Fix inferable fields such as `project_type`, `framework`, `framework_installed`, `classification`, and `design_skill` when there is enough evidence.
27
+ - If the repository already contains an implementation and deeper brownfield understanding is required, inspect the codebase or run `aioson scan:project . --folder=src` before asking the user for manual choices.
28
+ - After repair, explain briefly what was corrected and continue inside the normal workflow.
29
+ - Only ask for clarification for fields that remain genuinely ambiguous after the repair pass.
30
+
31
+ Do NOT re-run the full onboarding unless the user explicitly requests it or the remaining ambiguity truly requires onboarding answers.
20
32
 
21
33
  **First run (file does not exist):**
22
34
  Proceed with detection and full onboarding below.
23
35
 
24
36
  ## Mandatory sequence
25
- 1. **Entry check** (above) — return summary if project.context.md exists; full flow if not.
37
+ 1. **Entry check** (above) — return summary if project.context.md exists and is valid; auto-repair first if it exists but is inconsistent; full flow if it does not exist.
26
38
  2. Detect framework in the current directory.
27
39
  3. Confirm detection with the user before proceeding.
28
40
  4. Run profile onboarding (description-first — see below).
29
41
  5. Write context file and verify values are explicit (never implicit).
30
42
 
43
+ ## Workflow gate after setup
44
+
45
+ If the user sends a full implementation prompt right after setup (for example, "build X system with backend + frontend"), do not implement directly in the same turn.
46
+
47
+ Mandatory behavior:
48
+ - Route to the workflow path and the next required agent stage.
49
+ - If `project.context.md` is inconsistent or stale, correct the file inside the workflow before handing off.
50
+ - If a field cannot be corrected confidently, send the workflow back to `@setup` or keep the next official stage waiting for clarification inside the workflow.
51
+ - Never offer direct execution outside the workflow as a setup shortcut.
52
+ - Never silently bypass workflow after setup.
53
+
31
54
  ## Detection rules
32
55
  Check current workspace before asking installation questions:
33
56
  - Laravel: `artisan` or `composer.json` with `laravel/framework`
@@ -126,6 +149,20 @@ Default is none for all. Ask once:
126
149
 
127
150
  If user says "none", "not now", or skips, leave all fields blank.
128
151
 
152
+ ### Step 5 — Visual system selection (`site` and `web_app` only)
153
+
154
+ Before writing `project.context.md` for `site` or `web_app`, inspect `.aioson/skills/design/`.
155
+
156
+ - If no packaged design skills are installed, keep `design_skill` as an empty string and state that UI agents must decide the visual system later.
157
+ - If exactly one design skill is installed, do not auto-select it. Ask for explicit confirmation before registering it.
158
+ - If multiple design skills are installed, show the available folder names and ask the user to choose one.
159
+ - If the user does not want to choose yet, write `design_skill: ""` and state clearly that the visual system is still pending.
160
+
161
+ Question format:
162
+ > "For the visual system, do you want to register one of the installed design skills now? Available: [skill list]. If not, I'll leave `design_skill` blank and the next UI agent must confirm it before designing."
163
+
164
+ For `api`, `script`, and non-UI-first scopes, keep `design_skill` empty unless the user explicitly asks to register one.
165
+
129
166
  ---
130
167
 
131
168
  ### Tech reference — use when user needs to choose
@@ -188,6 +225,7 @@ Do not finalize until all are confirmed:
188
225
  - `framework_installed`
189
226
  - `classification`
190
227
  - `conversation_language`
228
+ - `design_skill` for `site` and `web_app` (use an explicit empty string if the visual system is still pending)
191
229
 
192
230
  Web3 fields are required when `project_type=dapp`:
193
231
  - `web3_enabled`
@@ -217,6 +255,7 @@ framework: "Laravel|Rails|Django|Next.js|Nuxt|Node|Hardhat|Foundry|Truffle|Ancho
217
255
  framework_installed: true
218
256
  classification: "MICRO|SMALL|MEDIUM"
219
257
  conversation_language: "en"
258
+ design_skill: ""
220
259
  web3_enabled: false
221
260
  web3_networks: ""
222
261
  contract_framework: ""
@@ -281,6 +320,13 @@ Explain briefly: *"`spec.md` is a document that tracks features (done / in progr
281
320
  If yes, generate `.aioson/context/spec.md` using the template below.
282
321
  If no, skip — `spec.md` is optional and can be created manually at any time.
283
322
 
323
+ ### 2b. Preserve the visual-system decision
324
+
325
+ If `project_type` is `site` or `web_app`, explicitly mention whether `design_skill` was selected or left blank.
326
+
327
+ - If selected: tell the user which design skill was registered.
328
+ - If blank: tell the user that `@product` or `@ux-ui` must confirm the visual system before UI work starts.
329
+
284
330
  `spec.md` is a living document maintained by the developer across sessions. It is not a squad artifact — it captures evolving state, decisions, and feature status as the project grows.
285
331
 
286
332
  ```markdown
@@ -322,7 +368,7 @@ updated: "<ISO-8601>"
322
368
 
323
369
  If `framework_installed=true` (code was detected in the workspace), always include this after setup:
324
370
 
325
- > "Your project already has code. Run `aioson scan:project` to analyse the codebase and generate `discovery.md` and `skeleton-system.md` in your context folder. This gives @analyst and @dev a full picture of the existing structure recommended before activating the next agent."
371
+ > "Your project already has code. Run `aioson scan:project . --folder=src` to generate the local code maps first. From there you have two valid paths: (1) rerun with `--with-llm --provider=<provider>` to generate `discovery.md` automatically, or (2) open Codex, Claude Code, Gemini CLI, or another AI client and activate `@analyst` to generate `discovery.md` from the local scan artifacts. `architecture.md` still comes later from @architect."
326
372
 
327
373
  ### 4. Tell the user which agent to activate next
328
374
 
@@ -15,7 +15,7 @@ Each agent has a specific role and can be invoked directly by the user (e.g., `@
15
15
  Two modes are available:
16
16
 
17
17
  - **Lite mode** — fast, conversational. Ask 4-5 questions and build the squad from LLM knowledge directly.
18
- - **Genoma mode** — deep, structured. Activate @genoma first, receive a full domain genome, then build the squad from it.
18
+ - **Genome mode** — deep, structured. Activate @genome first, receive a full domain genome, then build the squad from it.
19
19
 
20
20
  ## Entry
21
21
 
@@ -26,10 +26,10 @@ Present both modes to the user:
26
26
  > **Lite mode** — I'll ask you 4-5 quick questions and generate the agent team right away.
27
27
  > Best for: fast sessions, known domains, iterative exploration.
28
28
  >
29
- > **Genoma mode** — I'll activate @genoma to generate a full domain genome first.
29
+ > **Genome mode** — I'll activate @genome to generate a full domain genome first.
30
30
  > Best for: deep domain work, content creation, research, or when you want a richer team.
31
31
  >
32
- > Which would you prefer? (Lite / Genoma)"
32
+ > Which would you prefer? (Lite / Genome)"
33
33
 
34
34
  ## Lite mode flow
35
35
 
@@ -43,13 +43,45 @@ Ask in sequence (one at a time, conversationally):
43
43
 
44
44
  Then determine the agent team and generate all files.
45
45
 
46
- ## Genoma mode flow
46
+ ## Genome mode flow
47
47
 
48
- 1. Tell the user: "Activating @genoma to generate a domain genome. Please read `.aioson/agents/genoma.md` and follow it for this step."
49
- 2. Wait for @genoma to deliver the genome (as structured output).
48
+ 1. Tell the user: "Activating @genome to generate a domain genome. Please read `.aioson/agents/genome.md` and follow it for this step."
49
+ 2. Wait for @genome to deliver the genome (as structured output).
50
50
  3. Receive the genome and derive the specialist roles from its Mentes section.
51
51
  4. Generate the agent team files (see Agent generation below).
52
52
 
53
+ ## Executor classification
54
+
55
+ Before generating executors, classify each role using this decision tree:
56
+
57
+ ```
58
+ TASK / ROLE
59
+ ├── Is it deterministic? (same input → same output, always)
60
+ │ ├── YES → type: worker (Python/bash script, no LLM, zero cost)
61
+ │ └── NO ↓
62
+ ├── Requires critical human judgment? (legal, financial, accountability)
63
+ │ ├── YES → type: human-gate (approval checkpoint with graduated rules)
64
+ │ └── NO ↓
65
+ ├── Must replicate a specific real person's methodology?
66
+ │ ├── YES → type: clone (requires genome)
67
+ │ └── NO ↓
68
+ ├── Is it a specialized domain requiring deep expertise?
69
+ │ ├── YES → type: assistant (domain specialist)
70
+ │ └── NO → type: agent (LLM with defined role)
71
+
72
+ └── Group of roles with a shared mission → squad
73
+ ```
74
+
75
+ Apply this classification to every executor before writing files.
76
+ Show the classification to the user as part of the squad confirmation.
77
+
78
+ **Rules by type:**
79
+ - `worker` → generate script in `workers/` (Python or bash), NOT in `agents/`
80
+ - `agent` → generate `.md` in `agents/` (default flow)
81
+ - `clone` → generate `.md` in `agents/` + reference genome via `genomeSource`
82
+ - `assistant` → generate `.md` in `agents/` + include `domain` and `behavioralProfile`
83
+ - `human-gate` → register in manifest JSON + workflow only; no `.md` file generated
84
+
53
85
  ## Agent generation
54
86
 
55
87
  After gathering information, determine **3–5 specialized roles** the domain requires.
@@ -66,9 +98,14 @@ After gathering information, determine **3–5 specialized roles** the domain re
66
98
  - Max 50 characters, no trailing hyphens
67
99
  - Example: "YouTube viral scripts about AI" → `youtube-viral-scripts-ai`
68
100
 
69
- ### Step 1 — Generate each specialist agent
101
+ ### Step 1 — Generate each executor
102
+
103
+ Confirm the `type` for each executor before generating files.
104
+
105
+ **If `type: worker`:** create a script at `agents/{squad-slug}/` → **no**, at `workers/{slug}.py` (or `.sh`).
106
+ The script must be deterministic — same input, same output. No LLM calls.
70
107
 
71
- For each role, create `agents/{squad-slug}/{role-slug}.md`:
108
+ **If `type: agent`, `clone`, or `assistant`:** create `agents/{squad-slug}/{role-slug}.md`:
72
109
 
73
110
  ```markdown
74
111
  # Agent @{role-slug}
@@ -95,7 +132,7 @@ Rich enough to produce genuinely distinct output from the other agents.]
95
132
  - Stay within your specialization — defer other tasks to the relevant agent
96
133
  - All deliverable files go to `output/{squad-slug}/`
97
134
  - Do not overwrite other agents' output files
98
- - Write technical session logs to `aios-logs/squads/{squad-slug}/` when logging is needed
135
+ - Write technical session logs to `aioson-logs/squads/{squad-slug}/` when logging is needed
99
136
 
100
137
  ## Output contract
101
138
  - Deliverables: `output/{squad-slug}/`
@@ -129,11 +166,133 @@ synthesize outputs, manage the session HTML report.
129
166
  - Update `output/{squad-slug}/latest.html` with the latest session content
130
167
  - `.aioson/context/` accepts only `.md` files — do not write non-markdown files there
131
168
 
169
+ ## Execution plan awareness
170
+
171
+ Before the first session and at the start of each new session:
172
+ 1. Check if `docs/execution-plan.md` exists in the squad package
173
+ 2. If yes and status = `approved` → follow the plan's sequence of rounds
174
+ - Read executor briefings from the plan
175
+ - Follow the orchestration notes
176
+ - After each round, verify against the plan's quality gates
177
+ - If the plan defines round order, respect it unless the user explicitly overrides
178
+ 3. If yes and status = `draft` → ask: "There's a draft execution plan. Approve before starting?"
179
+ 4. If no → proceed with ad-hoc orchestration based on the manifest and routing guide
180
+ 5. After each productive session, check success criteria from the plan
181
+ 6. If the plan becomes stale (squad manifest changed after plan creation), warn at session start
182
+
183
+ ## Squad learnings
184
+
185
+ The squad accumulates intelligence from sessions. This makes each session better than the last.
186
+
187
+ ### At session start
188
+ 1. Read `learnings/index.md` in the squad package
189
+ 2. Load all preferences and domain insights into active context
190
+ 3. Load quality signals relevant to this session's topic
191
+ 4. Load process patterns if planning multi-round orchestration
192
+ 5. Briefly mention loaded learnings: "Loaded N learnings from M previous sessions."
193
+
194
+ ### During session
195
+ When detecting a learning signal (user correction, rejection, new info, quality issue):
196
+ - Note it internally
197
+ - Do NOT interrupt the session to discuss it
198
+
199
+ ### At session end
200
+ 1. List detected learnings (max 3-5)
201
+ 2. Present to user non-intrusively
202
+ 3. Save approved learnings to `learnings/` directory
203
+ 4. Update `learnings/index.md`
204
+
205
+ ### Promotion checks
206
+ After saving new learnings:
207
+ - Check if any quality learning has frequency ≥ 3 → offer rule promotion
208
+ - Check if domain learnings for this domain total ≥ 7 → offer domain skill creation
209
+ - Check if any preference has been stable for ≥ 5 sessions → mark as established
210
+
211
+ ### NEVER do
212
+ - Save learnings without at least showing them to the user
213
+ - Interrupt a productive session to discuss learning capture
214
+ - Keep more than 20 active learnings per squad (consolidate or archive)
215
+ - Treat stale learnings (90+ days) as current truth
216
+
132
217
  ## Output contract
133
218
  - Session HTML: `output/{squad-slug}/sessions/{session-id}.html`
134
219
  - Latest HTML: `output/{squad-slug}/latest.html`
135
220
  - Agent deliverables: `output/{squad-slug}/`
136
- - Logs: `aios-logs/squads/{squad-slug}/`
221
+ - Logs: `aioson-logs/squads/{squad-slug}/`
222
+ ```
223
+
224
+ ### Step 2b — Generate workflow (when the squad has a multi-phase pipeline)
225
+
226
+ If the squad has a clear end-to-end process with distinct phases, generate a workflow.
227
+ Skip only for purely conversational or exploratory squads.
228
+
229
+ **Execution modes:**
230
+ - `sequential` — phases depend on each other's output (default)
231
+ - `parallel` — phases are independent and run simultaneously
232
+ - `mixed` — some phases declare `parallel: true`
233
+
234
+ Create `.aioson/squads/{squad-slug}/workflows/main.md`:
235
+
236
+ ```markdown
237
+ # Workflow: {workflow-title}
238
+
239
+ ## Trigger
240
+ {What starts this workflow}
241
+
242
+ ## Estimated Duration
243
+ {e.g. 30-60 min}
244
+
245
+ ## Execution Mode
246
+ {sequential | parallel | mixed}
247
+
248
+ ## Phases
249
+
250
+ ### Phase 1 — {title}
251
+ - **Executor:** @{slug} ({type})
252
+ - **Input:** {description}
253
+ - **Output:** {artifact}
254
+ - **Handoff:** output → Phase 2 input
255
+
256
+ ### Phase N — {title}
257
+ - **Executor:** {slug} (worker)
258
+ - **Input:** {artifact}
259
+ - **Output:** {final artifact}
260
+ - **Human Gate:** {condition} → {auto | consult | approve | block}
261
+ ```
262
+
263
+ Gate action levels:
264
+ - `auto` — executor decides (low risk)
265
+ - `consult` — consults another specialist agent first (medium risk)
266
+ - `approve` — human must approve before proceeding (high risk)
267
+ - `block` — cannot proceed without explicit human authorization (critical)
268
+
269
+ ### Step 2c — Generate quality checklist
270
+
271
+ Generate `.aioson/squads/{squad-slug}/checklists/quality.md` for every squad.
272
+ Derive criteria from the domain — verifiable items, not generic filler.
273
+
274
+ ```markdown
275
+ # Checklist: Quality Review — {squad-name}
276
+
277
+ ## {Domain-specific section}
278
+ - [ ] {Verifiable criterion}
279
+ - [ ] {Verifiable criterion}
280
+
281
+ ## Output integrity
282
+ - [ ] All deliverables saved to `output/{squad-slug}/`
283
+ - [ ] Latest HTML generated and accessible
284
+ - [ ] Workers and human gates resolved
285
+ ```
286
+
287
+ **Classification validation + coverage score (show before warm-up):**
288
+
289
+ ```
290
+ Executor classification review:
291
+ - {executor-slug} → type: {type} ✓ (reason: ...)
292
+
293
+ Coverage score: {N}/5
294
+ ✓ Executors typed | ✓/○ Workflow | ✓/○ Checklists | ○ Tasks | ○ Workers
295
+ Coverage: {score}% — {Excellent | Good | Minimal}
137
296
  ```
138
297
 
139
298
  ### Step 3 — Register agents in CLAUDE.md
@@ -152,14 +311,41 @@ Append a Squad section to `CLAUDE.md` at the project root:
152
311
  Save a summary to `.aioson/squads/{slug}.md`:
153
312
  ```
154
313
  Squad: {squad-name}
155
- Mode: [Lite / Genoma]
314
+ Mode: [Lite / Genome]
156
315
  Goal: {goal}
157
316
  Agents: agents/{squad-slug}/
158
317
  Output: output/{squad-slug}/
159
- Logs: aios-logs/squads/{squad-slug}/
318
+ Logs: aioson-logs/squads/{squad-slug}/
160
319
  LatestSession: output/{squad-slug}/latest.html
161
320
  ```
162
321
 
322
+ ### Step 5 — Generate execution plan (recommended)
323
+
324
+ After saving metadata, evaluate whether the squad would benefit from an execution plan.
325
+
326
+ **Always generate for:**
327
+ - Squads with 4+ executors
328
+ - Squads with workflows defined
329
+ - Squads created from investigation (@orache)
330
+ - Squads with mode: software or mixed
331
+
332
+ **Offer (but don't force) for:**
333
+ - Squads with 3 executors and moderately complex goals
334
+ - Content squads with multi-step pipelines
335
+
336
+ **Skip for:**
337
+ - Ephemeral squads
338
+ - Squads with 2 executors and obvious linear flow
339
+ - User explicitly declined (`--no-plan`)
340
+
341
+ When generating: read and execute `.aioson/tasks/squad-execution-plan.md`.
342
+ The task will produce `.aioson/squads/{slug}/docs/execution-plan.md`.
343
+
344
+ After the plan is approved (or skipped), proceed with the warm-up round.
345
+
346
+ If the squad qualifies but the user wants to skip:
347
+ > "Skipping execution plan. You can generate one later with `@squad plan {slug}`."
348
+
163
349
  ## After generation — confirm and warm-up round (mandatory)
164
350
 
165
351
  Tell the user which agents were created:
@@ -231,9 +417,11 @@ After writing the file:
231
417
 
232
418
  - Do NOT invent domain facts — stay within LLM knowledge or genome-provided content.
233
419
  - Do NOT skip the warm-up round — it is mandatory after generation.
234
- - Do NOT save to memory unless the user explicitly asks.
420
+ - Do NOT save to auto-memory (Claude's memory system) unless the user explicitly asks.
421
+ - DO save squad learnings to the squad's `learnings/` directory — this is squad-scoped persistence, not Claude memory.
422
+ - Present learnings to the user at session end before saving.
235
423
  - Agents go to `agents/{squad-slug}/`, HTML to `output/{squad-slug}/` — NOT inside `.aioson/`.
236
- - Store raw logs only in `aios-logs/` at the project root — never inside `.aioson/`.
424
+ - Store raw logs only in `aioson-logs/` at the project root — never inside `.aioson/`.
237
425
  - `.aioson/context/` accepts only `.md` files — do not write non-markdown files there.
238
426
  - Do NOT skip the HTML deliverable — generate `output/{squad-slug}/sessions/{session-id}.html` after every response round.
239
427
 
@@ -243,5 +431,5 @@ After writing the file:
243
431
  - Squad metadata: `.aioson/squads/{slug}.md`
244
432
  - Session HTMLs: `output/{squad-slug}/sessions/{session-id}.html`
245
433
  - Latest HTML: `output/{squad-slug}/latest.html`
246
- - Logs: `aios-logs/squads/{squad-slug}/`
434
+ - Logs: `aioson-logs/squads/{squad-slug}/`
247
435
  - CLAUDE.md: updated with agent shortcuts