@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
@@ -7,8 +7,7 @@ You operate as AIOSON — an AI development squad with specialized agents.
7
7
  2. Check whether `.aioson/context/project.context.md` exists
8
8
  - If missing: activate @setup agent immediately
9
9
  - If present: read it before any action
10
- 3. Check `.aioson/rules/` if any `.md` files exist, inform the user:
11
- > "Project rules active: {n} rule(s) found in `.aioson/rules/`. Each agent will load applicable rules automatically."
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.
12
11
 
13
12
  ## How to invoke agents
14
13
 
@@ -17,7 +16,7 @@ Type `@agent-name` in the prompt. Codex will find the agent file and include its
17
16
  The agent activates automatically — begin executing its instructions immediately.
18
17
  Do not treat the included file as something to quote, summarize, or display back to the user unless the user explicitly asked to inspect the file itself.
19
18
 
20
- Examples: `@setup`, `@dev`, `@squad`, `@genoma`, `@profiler-researcher`
19
+ Examples: `@setup`, `@deyvin`, `@dev`, `@squad`, `@genome`, `@profiler-researcher`
21
20
 
22
21
  **Option 2 — Natural language:**
23
22
  Describe your intent. The agent system will match and execute.
@@ -28,14 +27,15 @@ Describe your intent. The agent system will match and execute.
28
27
  | @discovery-design-doc | "prepare the discovery and design doc", "use the discovery design doc agent" |
29
28
  | @analyst | "analyze the requirements", "use the analyst agent" |
30
29
  | @architect | "design the architecture", "use the architect agent" |
31
- | @ux-ui | "design the UI", "use the ux-ui agent" |
30
+ | @ux-ui | "design the UI", "use the UI/UX agent" |
32
31
  | @product | "define the product vision", "use the product agent", "start the product wizard" |
32
+ | @deyvin | "continue what we were doing", "use the deyvin agent", "let's fix this together" |
33
33
  | @pm | "create the user stories", "use the pm agent" |
34
34
  | @dev | "implement the feature", "use the dev agent" |
35
35
  | @qa | "write the tests", "use the qa agent" |
36
36
  | @orchestrator | "coordinate this session", "use the orchestrator agent" |
37
37
  | @squad | "assemble a squad", "use the squad agent", "montar squad" |
38
- | @genoma | "generate a genome", "use the genoma agent", "gerar genoma" |
38
+ | @genome | "generate a genome", "use the genome agent", "gerar genome" |
39
39
  | @profiler-researcher | "start the profiler research", "profile this person", "pesquisar DNA mental" |
40
40
  | @profiler-enricher | "enrich this profile", "analyze this person's cognition", "consolidar perfil cognitivo" |
41
41
  | @profiler-forge | "generate the advisor", "forge the genome 3.0", "gerar advisor da persona" |
@@ -43,6 +43,33 @@ Describe your intent. The agent system will match and execute.
43
43
  When an agent file is included via @ or described via natural language, read the corresponding file and execute its instructions immediately from the first step.
44
44
  Do not answer with "I will open/read/show the file" unless the user explicitly asked to inspect that file.
45
45
 
46
+ ## Workflow enforcement
47
+
48
+ When AIOSON manages the session via `aioson workflow:next`, the CLI controls all routing, state, and event emission. The lifecycle instructions are injected into the agent prompt — follow them exactly.
49
+
50
+ When running Codex directly (without `aioson workflow:next`), these rules apply:
51
+
52
+ **Hard constraints — no exceptions:**
53
+ - 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).
54
+ - 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.
55
+ - Official workflow agents (`@setup`, `@product`, `@analyst`, `@architect`, `@ux-ui`, `@pm`, `@orchestrator`, `@dev`, `@qa`) must stay inside the workflow. Do not answer requests outside the current agent's scope.
56
+ - Between agent handoffs, your ONLY valid output is: which agent is next and why. Do not continue into that agent's work.
57
+ - 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.
58
+ - If a context field is still uncertain, route back to `@setup` inside the workflow instead of offering direct execution as a workaround.
59
+ - Never silently bypass workflow after `@setup` or after collecting requirements.
60
+
61
+ **Tracked execution in external clients:**
62
+ - Runtime telemetry belongs to the AIOSON gateway, not to ad-hoc shell snippets inside the prompt.
63
+ - Use `aioson workflow:next . --tool=<tool>` for tracked workflow sessions.
64
+ - Use `aioson agent:prompt <agent> . --tool=<tool>` when the client does not support slash commands and you want a tracked direct handoff.
65
+ - Use `aioson live:start . --tool=<tool> --agent=deyvin --no-launch` when you want an explicit tracked continuity session envelope before the external client starts working.
66
+ - Inside an active live session, emit milestones via `aioson runtime:emit . --agent=<agent> --type=<event> --summary="..."` instead of opening a parallel `runtime:session:*` session.
67
+ - Use `aioson runtime:emit . --agent=<agent> --type=plan_checkpoint --plan-step=<step>` when the session is attached to an explicit plan and a step has just been completed.
68
+ - Use `aioson live:handoff . --agent=<agent> --to=<next-agent> --reason="..."` when the active agent must transfer the same live session to another AIOSON agent.
69
+ - Monitor active live sessions with `aioson live:status . --agent=<agent> --watch=2` and close them with `aioson live:close . --agent=<agent> --summary="..."`.
70
+ - Plain natural-language activation in external clients can execute agent instructions, but does not guarantee runtime records in the dashboard.
71
+ - Do not try to synthesize dashboard telemetry by emitting `aioson runtime-log` shell snippets from inside the session.
72
+
46
73
  ## Agent files
47
74
  - @setup → `.aioson/agents/setup.md`
48
75
  - @discovery-design-doc → `.aioson/agents/discovery-design-doc.md`
@@ -50,12 +77,13 @@ Do not answer with "I will open/read/show the file" unless the user explicitly a
50
77
  - @architect → `.aioson/agents/architect.md`
51
78
  - @ux-ui → `.aioson/agents/ux-ui.md`
52
79
  - @product → `.aioson/agents/product.md`
80
+ - @deyvin → `.aioson/agents/deyvin.md` (`@pair` remains as a compatibility alias)
53
81
  - @pm → `.aioson/agents/pm.md`
54
82
  - @dev → `.aioson/agents/dev.md`
55
83
  - @qa → `.aioson/agents/qa.md`
56
84
  - @orchestrator → `.aioson/agents/orchestrator.md`
57
85
  - @squad → `.aioson/agents/squad.md`
58
- - @genoma → `.aioson/agents/genoma.md`
86
+ - @genome → `.aioson/agents/genome.md`
59
87
  - @profiler-researcher → `.aioson/agents/profiler-researcher.md`
60
88
  - @profiler-enricher → `.aioson/agents/profiler-enricher.md`
61
89
  - @profiler-forge → `.aioson/agents/profiler-forge.md`
@@ -7,25 +7,52 @@ You operate as AIOSON.
7
7
  2. Check whether `.aioson/context/project.context.md` exists
8
8
  - If missing: run `/setup`
9
9
  - If present: read it before any action
10
- 3. Check `.aioson/rules/` if any `.md` files exist, inform the user:
11
- > "Project rules active: {n} rule(s) found in `.aioson/rules/`. Each agent will load applicable rules automatically."
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.
12
11
 
13
12
  ## Agents
14
13
  - /setup -> `.aioson/agents/setup.md`
15
14
  - /discovery-design-doc -> `.aioson/agents/discovery-design-doc.md`
16
15
  - /analyst -> `.aioson/agents/analyst.md`
17
16
  - /architect -> `.aioson/agents/architect.md`
18
- - /ux-ui -> `.aioson/agents/ux-ui.md`
17
+ - /ux-ui (UI/UX) -> `.aioson/agents/ux-ui.md`
19
18
  - /product -> `.aioson/agents/product.md`
19
+ - /deyvin -> `.aioson/agents/deyvin.md`
20
+ - /pair -> `.aioson/agents/deyvin.md` (compatibility alias)
20
21
  - /pm -> `.aioson/agents/pm.md`
21
22
  - /dev -> `.aioson/agents/dev.md`
22
23
  - /qa -> `.aioson/agents/qa.md`
23
24
  - /orchestrator -> `.aioson/agents/orchestrator.md`
24
25
  - /squad -> `.aioson/agents/squad.md`
25
- - /genoma -> `.aioson/agents/genoma.md`
26
+ - /orache -> `.aioson/agents/orache.md`
27
+ - /genome -> `.aioson/agents/genome.md`
26
28
  - /profiler-researcher -> `.aioson/agents/profiler-researcher.md`
27
29
  - /profiler-enricher -> `.aioson/agents/profiler-enricher.md`
28
30
  - /profiler-forge -> `.aioson/agents/profiler-forge.md`
29
31
 
32
+ ## Workflow enforcement
33
+
34
+ When AIOSON manages the session via `aioson workflow:next`, the CLI controls all routing, state, and event emission. The lifecycle instructions are injected into the agent prompt automatically — follow them exactly.
35
+
36
+ When running Claude Code directly (without `aioson workflow:next`), these rules apply:
37
+
38
+ **Hard constraints — no exceptions:**
39
+ - You MUST NEVER implement code, produce UI specs, write PRDs, or answer technical tasks outside an activated agent.
40
+ - 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.
41
+ - Between agent handoffs, your ONLY valid output is: which agent is next and why. Do not continue into that agent's work.
42
+ - If the user sends an implementation request before setup is complete: do not implement. Tell them to activate `/setup` first.
43
+ - If the user insists on bypassing an agent stage: refuse and redirect. Urgency or complexity do not override this rule.
44
+
45
+ **Tracked execution in external clients:**
46
+ - Runtime telemetry belongs to the AIOSON gateway, not to ad-hoc shell snippets inside the prompt.
47
+ - Use `aioson workflow:next . --tool=claude` for tracked workflow sessions.
48
+ - Use `aioson agent:prompt <agent> . --tool=claude` when you want a tracked direct handoff before continuing in Claude Code.
49
+ - Use `aioson live:start . --tool=claude --agent=deyvin --no-launch` when you want an explicit tracked continuity session envelope before Claude Code starts working.
50
+ - Inside an active live session, emit milestones via `aioson runtime:emit . --agent=<agent> --type=<event> --summary="..."` instead of opening a parallel `runtime:session:*` session.
51
+ - Use `aioson runtime:emit . --agent=<agent> --type=plan_checkpoint --plan-step=<step>` when the session is attached to an explicit plan and a step has just been completed.
52
+ - Use `aioson live:handoff . --agent=<agent> --to=<next-agent> --reason="..."` when the active agent must transfer the same live session to another AIOSON agent.
53
+ - Monitor active live sessions with `aioson live:status . --agent=<agent> --watch=2` and close them with `aioson live:close . --agent=<agent> --summary="..."`.
54
+ - Plain slash-command activation can execute agent instructions, but does not guarantee runtime records in the dashboard by itself.
55
+ - Do not try to synthesize dashboard telemetry by emitting `aioson runtime-log` shell snippets from inside the session.
56
+
30
57
  ## Golden rule
31
58
  Small project, small solution.
@@ -7,15 +7,19 @@
7
7
 
8
8
  ## Available agents
9
9
  - setup -> `.aioson/agents/setup.md`
10
+ - discovery-design-doc -> `.aioson/agents/discovery-design-doc.md`
10
11
  - analyst -> `.aioson/agents/analyst.md`
11
12
  - architect -> `.aioson/agents/architect.md`
12
- - ux-ui -> `.aioson/agents/ux-ui.md`
13
+ - ux-ui (UI/UX) -> `.aioson/agents/ux-ui.md`
14
+ - product -> `.aioson/agents/product.md`
15
+ - deyvin -> `.aioson/agents/deyvin.md`
16
+ - pair -> `.aioson/agents/deyvin.md` (compatibility alias)
13
17
  - pm -> `.aioson/agents/pm.md`
14
18
  - dev -> `.aioson/agents/dev.md`
15
19
  - qa -> `.aioson/agents/qa.md`
16
20
  - orchestrator -> `.aioson/agents/orchestrator.md`
17
21
  - squad -> `.aioson/agents/squad.md`
18
- - genoma -> `.aioson/agents/genoma.md`
22
+ - genome -> `.aioson/agents/genome.md`
19
23
  - profiler-researcher -> `.aioson/agents/profiler-researcher.md`
20
24
  - profiler-enricher -> `.aioson/agents/profiler-enricher.md`
21
25
  - profiler-forge -> `.aioson/agents/profiler-forge.md`
File without changes
@@ -1,372 +0,0 @@
1
- # Interface Design — Craft Guide
2
-
3
- > Read this in full before producing any UI/UX output.
4
- > Correct ships. Crafted impresses. This guide closes the gap.
5
-
6
- ---
7
-
8
- ## The mandate
9
-
10
- If another AI, given the same prompt, would produce substantially the same output — you have failed.
11
- Generic is the enemy. Defaults disguise themselves as infrastructure. Every spacing value, every typeface choice, every depth strategy is a decision. Own every one of them.
12
-
13
- ---
14
-
15
- ## AIOS rule — design memory and continuity
16
-
17
- If `.interface-design/system.md` exists, treat it as the visual source of truth:
18
- - Load it before changing direction, tokens, or component patterns.
19
- - Respect it unless the user explicitly wants a redesign.
20
- - Update it when you introduce a reusable pattern, token rule, or layout decision.
21
-
22
- If the file does not exist and the task covers more than one screen or component family, create it with:
23
- - Product context and UI intent
24
- - Chosen design direction and anti-goals
25
- - Token decisions (color, type, spacing, radius, depth, motion)
26
- - Core component patterns (navigation, card, table, form, modal, empty state)
27
- - Open constraints or decisions still pending
28
-
29
- The point is simple: one product should not look like it was designed from scratch on every screen.
30
-
31
- ---
32
-
33
- ## If the UI already exists
34
-
35
- When refining an existing product:
36
- - Identify the current visual direction before proposing a new one.
37
- - Diagnose token drift first: off-grid spacing, repeated hardcoded colors, mixed radii, mixed depth strategies, missing interactive states.
38
- - Improve consistency before re-theming.
39
- - Replace the direction only when the current system blocks the product intent or the user explicitly asked for a redesign.
40
-
41
- ---
42
-
43
- ## Phase 0 — Intent first (mandatory, cannot skip)
44
-
45
- Before touching layout or tokens, answer three questions with specificity:
46
-
47
- 1. **Who is this human?** — Actual person, actual context.
48
- Bad: "a user." Good: "a finance manager reviewing budget reports at 8am before a board meeting."
49
- 2. **What must they accomplish?** — A specific verb, not a vague goal.
50
- Bad: "manage their projects." Good: "approve or reject 15 expense requests before end of day."
51
- 3. **What should this feel like?** — Concrete texture, not an adjective.
52
- Bad: "clean and modern." Good: "a Bloomberg terminal that doesn't exhaust you."
53
-
54
- **If you cannot answer all three with specifics — stop. Ask. Do not guess. Do not default.**
55
-
56
- ---
57
-
58
- ## Phase 1 — Domain exploration (4 required outputs)
59
-
60
- Before proposing any visual direction, produce:
61
-
62
- 1. **Domain concepts** — 5+ metaphors, patterns, or ideas from the product's world.
63
- Example (clinic scheduling): appointment slots, patient flow, triage priority, clinical notes, white coat.
64
-
65
- 2. **Color world** — 5+ colors that exist naturally in that domain.
66
- Example (clinic): antiseptic white, calm blue (trust, clinical), soft green (go/available), amber (warning/urgent), warm gray (neutral).
67
-
68
- 3. **Signature element** — One thing that could only belong to THIS product.
69
- Example: a subtle "pulse" animation on available time slots, echoing a heartbeat.
70
-
71
- 4. **Defaults to avoid** — 3 obvious, generic choices that must be replaced.
72
- Example: blue primary button → calm teal; card shadows → border-only depth; Inter font → IBM Plex Sans (clinical precision).
73
-
74
- **The identity test:** Remove the product name. Could someone identify what this is for?
75
-
76
- ---
77
-
78
- ## Phase 2 — Pick a design direction
79
-
80
- Choose ONE direction. Never mix. Mixing produces visual noise.
81
-
82
- ### Precision & Density
83
- *For: dashboards, admin panels, developer tools, power-user interfaces.*
84
-
85
- ```
86
- Foundation : Cool slate (borders-only depth)
87
- Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
88
- Colors : foreground=slate-900, secondary=slate-600, muted=slate-400,
89
- faint=slate-200, border=rgba(0,0,0,0.08), accent=blue-600
90
- Radius : 4px / 6px / 8px (sharp, technical)
91
- Typography : system-ui, 11–18px, weights 400/500/600
92
- monospace: SF Mono, Consolas (for data/code)
93
- Components :
94
- Button → 32px height, 8px/12px padding, 4px radius, 13px 500-weight
95
- Card → 0.5px faint border, 12px padding, 6px radius, NO shadows
96
- Table → 8px/12px cell padding, tabular-nums, 13px font, 1px bottom border
97
- Rationale : borders-only maximizes density; compact sizing serves power users;
98
- system fonts feel native and load instantly.
99
- ```
100
-
101
- ### Warmth & Approachability
102
- *For: consumer apps, collaborative tools, onboarding flows, customer-facing products.*
103
-
104
- ```
105
- Foundation : Warm stone (subtle shadows)
106
- Spacing : 4px base — scale: 8, 12, 16, 24, 32, 48 (generous)
107
- Colors : foreground=stone-900, secondary=stone-600, accent=orange-500,
108
- surface=white on stone-50
109
- Radius : 8px / 12px / 16px (rounded, friendly)
110
- Typography : Inter, 13–24px, weights 400/500/600
111
- Components :
112
- Button → 40px height, 12px/20px padding, 8px radius
113
- Card → 20px padding, 12px radius, white on stone-50
114
- Input → 44px height, 12px/16px padding, 1.5px faint border
115
- Rationale : subtle shadows add approachable depth; generous spacing enables
116
- focused tasks; warm tones feel human and inviting.
117
- ```
118
-
119
- ### Sophistication & Trust
120
- *For: fintech, enterprise SaaS, operational products where clarity and trust matter more than novelty.*
121
-
122
- ```
123
- Foundation : Cool mineral (restrained layers)
124
- Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
125
- Colors : foreground=slate-950, secondary=slate-700, muted=slate-500,
126
- surface=white, border=rgba(15,23,42,0.10), accent=blue-700
127
- Radius : 8px / 10px / 12px (firm, not playful)
128
- Typography : IBM Plex Sans or Public Sans, 12–20px, weights 400/500/600
129
- Components :
130
- Button → 38px height, 12px/18px padding, 10px radius
131
- Card → 16px padding, 10px radius, subtle border, rare soft shadow
132
- Table → 10px/14px cell padding, tabular-nums, quiet row dividers
133
- Rationale : trust comes from control, not decoration; a restrained palette and
134
- firm typography make the product feel expensive and dependable.
135
- ```
136
-
137
- ### Premium Dark Platform
138
- *For: premium dashboards, media/catalog products, command surfaces, high-density apps with persistent navigation.*
139
-
140
- ```
141
- Foundation : Graphite layers (borders-first)
142
- Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
143
- Colors : base=#0b1015, surface=#10161d, elevated=#151c24,
144
- foreground=#f3f7fb, secondary=#b7c2cf, muted=#7f8b99,
145
- border=rgba(255,255,255,0.08), accent=desaturated blue
146
- Radius : 12px / 14px / 16px (premium, controlled)
147
- Typography : Manrope, Geist, or IBM Plex Sans, 12–22px, weights 400/500/600
148
- Components :
149
- Button → 40px height, 12px/18px padding, 12px radius
150
- Card → layered surfaces, 16px padding, 14px radius, no heavy glow
151
- Sidebar → quiet active state, compact icon rhythm, clean section grouping
152
- Rationale : premium dark works when contrast is controlled, surfaces are few,
153
- and borders quietly separate the system without turning neon.
154
- ```
155
-
156
- ### Other directions (adapt token specs above)
157
- - **Data & Analysis** — cool blue, high-density tables, monospace for numbers, minimal chrome
158
- - **Editorial** — strong typographic hierarchy, generous white space, restrained color
159
- - **Commerce** — aspirational photography support, high contrast CTAs, smooth transitions
160
- - **Minimal & Calm** — near-monochrome, whitespace as design element, hairline borders only
161
- - **Boldness & Clarity** — stronger accent, harder contrast, one dominant focal move
162
- - **Utility & Function** — minimal decoration, maximum legibility, near-invisible chrome
163
-
164
- ---
165
-
166
- ## Phase 3 — Decision checkpoint before components
167
-
168
- Before building any screen or component family, write a short checkpoint that locks:
169
- - Depth strategy
170
- - Surface levels
171
- - Border recipe (including alpha)
172
- - Spacing base
173
- - Radius ladder
174
- - Control height
175
- - Typography anchor
176
- - Motion posture
177
-
178
- Example:
179
-
180
- > Depth: borders-only • Surfaces: base / surface / elevated • Borders: rgba(15,23,42,0.08) • Spacing: 8px • Radius: 10/12 • Controls: 38px • Type: IBM Plex Sans 14/16/24 • Motion: 120ms ease-out
181
-
182
- Premium dark example:
183
-
184
- > Depth: borders-first • Surfaces: #0b1015 / #10161d / #151c24 • Borders: rgba(255,255,255,0.08) • Spacing: 8px • Radius: 12/14 • Controls: 40px • Type: Geist 14/16/28 • Motion: 140ms ease-out
185
-
186
- If you cannot state the checkpoint clearly, the system is not ready to build.
187
-
188
- ---
189
-
190
- ## Token architecture (always define all levels)
191
-
192
- ### Color tokens
193
- ```
194
- foreground/primary ← body text, labels, high-emphasis
195
- foreground/secondary ← supporting text, placeholders
196
- foreground/muted ← captions, disabled labels
197
- foreground/faint ← decorative only, never critical
198
-
199
- background/base ← page background
200
- background/surface ← cards, panels
201
- background/elevated ← modals, dropdowns (if shadow system)
202
- background/sunken ← inputs, inset areas
203
-
204
- border/default ← standard separator
205
- border/strong ← focused inputs, active states
206
- border/faint ← ultra-subtle dividers
207
-
208
- brand/primary ← main CTA color
209
- brand/secondary ← supporting brand accent
210
-
211
- semantic/success ← green family
212
- semantic/warning ← amber family
213
- semantic/danger ← red family
214
- semantic/info ← blue family
215
- ```
216
-
217
- ### Spacing — base × multiples only
218
- Never use arbitrary values (17px, 22px, 37px). Every value must be a multiple of your base.
219
-
220
- ### Depth — pick ONE and commit
221
- - **Borders only** — `border: 1px solid border/faint` — maximum density, zero visual noise
222
- - **Subtle shadows** — `box-shadow: 0 1px 3px rgba(0,0,0,0.08)` — gentle, approachable
223
- - **Layered** — background elevation with no shadows or borders — modern, minimal
224
-
225
- **Never mix depth strategies on the same surface.**
226
-
227
- ---
228
-
229
- ## Component quality (mandatory for every component)
230
-
231
- Define all six states before handing off to @dev:
232
-
233
- | State | What to specify |
234
- |---|---|
235
- | Default | baseline appearance |
236
- | Hover | subtle shift (background, border, or opacity) |
237
- | Focus | visible ring — `outline: 2px solid brand/primary; outline-offset: 2px` |
238
- | Active / pressed | slight scale or brightness change |
239
- | Disabled | reduced opacity (0.4–0.5), no cursor pointer, no hover effect |
240
- | Loading | skeleton or spinner — never block critical flow |
241
-
242
- Also define for container components:
243
- - **Empty state** — illustration or message + primary action
244
- - **Error state** — clear message + recovery action
245
- - **Success confirmation** — when relevant, transient (not permanent)
246
-
247
- ---
248
-
249
- ## Forms
250
-
251
- - Labels outside placeholders. Placeholders are hints, not labels.
252
- - Validate on blur (not on keystroke, not on submit only).
253
- - Inline field errors directly below the field. One global summary for multi-field failures.
254
- - Disable the submit button and show progress during async operations.
255
- - Input height minimum: 40px (desktop), 44px (mobile/touch).
256
-
257
- ---
258
-
259
- ## Typography hierarchy
260
-
261
- Size alone is never enough. Use weight + tracking + opacity to create layers:
262
-
263
- ```
264
- Page title : largest size, 600-weight, tight tracking
265
- Section title: medium-large, 500-weight, normal tracking
266
- Body : base size, 400-weight, comfortable line-height (1.5–1.6)
267
- Helper/meta : small, 400-weight, muted color
268
- Data/mono : monospace for numbers in tables, code, metrics
269
- ```
270
-
271
- ---
272
-
273
- ## Layout and composition
274
-
275
- - **Rhythm** — interfaces breathe unevenly: dense tool areas give way to open content. Same card size, same gaps everywhere = flatness = no one decided.
276
- - **Proportions declare intent** — a 280px sidebar says "navigation serves content." A 360px sidebar says "these are peers." Know what your proportions are saying.
277
- - **One focal point per screen** — the primary action dominates through size, position, contrast, or surrounding space. When everything competes equally, nothing wins.
278
- - **Reading order** — 1. Page intent → 2. Primary action → 3. Supporting data. Never invert.
279
-
280
- ---
281
-
282
- ## Accessibility baseline (non-negotiable)
283
-
284
- - Semantic HTML and proper landmarks (`<main>`, `<nav>`, `<header>`, `<aside>`)
285
- - Full keyboard navigation — Tab order must match visual reading order
286
- - Visible focus rings on all interactive elements
287
- - Color contrast: 4.5:1 for body text, 3:1 for large text and UI components
288
- - Never convey meaning through color alone — add icon, pattern, or text
289
- - `aria-label` on icon-only buttons, `aria-live` on dynamic status regions
290
- - `prefers-reduced-motion` fallback for all animations
291
-
292
- ---
293
-
294
- ## Motion rules
295
-
296
- - Motion clarifies transitions, it does not decorate them.
297
- - Duration: micro-interactions 100–150ms, page transitions 200–300ms.
298
- - Easing: ease-out for entrances, ease-in for exits.
299
- - Never animate properties that affect layout (width, height, padding). Animate transform and opacity only.
300
- - Always provide `prefers-reduced-motion: reduce` fallback.
301
-
302
- ---
303
-
304
- ## Quality checks (run before delivering)
305
-
306
- ### Swap test
307
- Would swapping the typeface or layout make the design look like a different product?
308
- If yes — good. If no — the design has no identity.
309
-
310
- ### Squint test
311
- Blur your eyes (or the screenshot). Does the visual hierarchy still read clearly?
312
- If not — the hierarchy is too weak.
313
-
314
- ### Signature test
315
- Can you point to five specific decisions where your craft appears?
316
- If you cannot name five — you defaulted somewhere.
317
-
318
- ### Token test
319
- Do your CSS variable names sound like they belong to THIS product?
320
- Generic: `--color-primary`. Specific: `--slot-available`, `--urgency-amber`.
321
-
322
- ---
323
-
324
- ## Self-critique before delivery
325
-
326
- Walk through each section before handing off:
327
-
328
- 1. **Composition** — Does the layout have rhythm? Are proportions intentional? Is there one clear focal point?
329
- 2. **Craft** — Is every spacing value on-grid? Does typography use weight + tracking + size (not size alone)? Do surfaces whisper hierarchy without thick borders or dramatic shadows?
330
- 3. **Content** — Does the spec tell one coherent story? Could a real person at a real company act on this?
331
- 4. **Structure** — Are there any hacks? Negative-margin workarounds? Arbitrary pixel values? Fix them.
332
-
333
- **Ask yourself: "If a design lead reviewed this, what would they call out?" Fix that thing. Then ask again.**
334
-
335
- ---
336
-
337
- ## Update design memory
338
-
339
- When the work introduces or changes reusable design decisions, update `.interface-design/system.md` with:
340
- - Final direction and anti-goals
341
- - Token block
342
- - Component pattern notes
343
- - New exceptions or constraints
344
-
345
- This file is the continuity layer between screens, agents, and future sessions.
346
-
347
- ---
348
-
349
- ## Stack-specific notes
350
-
351
- | Stack | Priority |
352
- |---|---|
353
- | Laravel + TALL | Flux UI / Livewire primitives first; custom only for signature moves |
354
- | Filament | Built-in Filament components before any override |
355
- | Next.js + shadcn/ui | shadcn primitives + Tailwind tokens; keep component boundaries clean |
356
- | React + Tailwind | Design token CSS vars → Tailwind config → components |
357
- | Vue + Nuxt | Nuxt UI or PrimeVue first; avoid mixing component libraries |
358
- | Vanilla HTML | Define CSS custom properties at `:root`, semantic class names only |
359
-
360
- ---
361
-
362
- ## Handoff to @dev
363
-
364
- The ui-spec.md must include:
365
- - Design token block (fonts, colors, spacing, radius, depth strategy, motion)
366
- - Per-screen layout notes with component names mapped to real library components
367
- - Full state matrix (default/hover/focus/active/disabled/loading/empty/error/success)
368
- - Responsive rules (mobile breakpoints first)
369
- - Accessibility checklist items
370
- - Any signature visual moves with implementation notes
371
-
372
- **Keep the spec concise enough to code from directly. Not a design document — a build contract.**