@jaimevalasek/aioson 1.5.1 → 1.7.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 (341) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +729 -226
  3. package/docs/design-previews/aurora-command-ui-website.html +884 -0
  4. package/docs/design-previews/aurora-command-ui.html +682 -0
  5. package/docs/design-previews/bold-editorial-ui-website.html +658 -0
  6. package/docs/design-previews/bold-editorial-ui.html +717 -0
  7. package/docs/design-previews/clean-saas-ui-website.html +1202 -0
  8. package/docs/design-previews/clean-saas-ui.html +549 -0
  9. package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
  10. package/docs/design-previews/cognitive-core-ui.html +463 -0
  11. package/docs/design-previews/glassmorphism-ui-website.html +572 -0
  12. package/docs/design-previews/glassmorphism-ui.html +886 -0
  13. package/docs/design-previews/index.html +699 -0
  14. package/docs/design-previews/interface-design-website.html +1187 -0
  15. package/docs/design-previews/interface-design.html +513 -0
  16. package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
  17. package/docs/design-previews/neo-brutalist-ui.html +797 -0
  18. package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
  19. package/docs/design-previews/premium-command-center-ui.html +552 -0
  20. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
  21. package/docs/design-previews/warm-craft-ui-website.html +684 -0
  22. package/docs/design-previews/warm-craft-ui.html +739 -0
  23. package/docs/en/cli-reference.md +20 -9
  24. package/docs/integrations/sdlc-genius-boundary.md +76 -0
  25. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
  26. package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
  27. package/docs/integrations/sdlc-genius-review-samples.md +86 -0
  28. package/docs/pt/README.md +10 -0
  29. package/docs/pt/agent-sharding.md +132 -0
  30. package/docs/pt/agentes.md +9 -2
  31. package/docs/pt/busca-de-contexto.md +129 -0
  32. package/docs/pt/cache-de-contexto.md +156 -0
  33. package/docs/pt/comandos-cli.md +915 -1
  34. package/docs/pt/design-hybrid-forge.md +356 -0
  35. package/docs/pt/devlog-pipeline.md +270 -0
  36. package/docs/pt/fluxo-artefatos.md +178 -0
  37. package/docs/pt/hooks-session-guard.md +454 -0
  38. package/docs/pt/inicio-rapido.md +54 -3
  39. package/docs/pt/inteligencia-adaptativa.md +324 -0
  40. package/docs/pt/monitor-de-contexto.md +158 -0
  41. package/docs/pt/recuperacao-de-sessao.md +125 -0
  42. package/docs/pt/sandbox.md +125 -0
  43. package/docs/pt/sdd-automation-scripts.md +557 -0
  44. package/docs/pt/site-forge.md +309 -0
  45. package/docs/pt/skills.md +98 -6
  46. package/docs/pt/spec-learnings-pipeline.md +265 -0
  47. package/package.json +1 -1
  48. package/src/a2a/client.js +165 -0
  49. package/src/a2a/server.js +223 -0
  50. package/src/agent-loader.js +280 -0
  51. package/src/cli.js +329 -1
  52. package/src/commands/agent-audit.js +397 -0
  53. package/src/commands/agent-export-skill.js +229 -0
  54. package/src/commands/agent-loader.js +85 -0
  55. package/src/commands/artifact-validate.js +189 -0
  56. package/src/commands/brief-gen.js +405 -0
  57. package/src/commands/brief-validate.js +65 -0
  58. package/src/commands/classify.js +256 -0
  59. package/src/commands/context-cache.js +90 -0
  60. package/src/commands/context-compact.js +49 -0
  61. package/src/commands/context-health.js +175 -0
  62. package/src/commands/context-monitor.js +163 -0
  63. package/src/commands/context-search.js +66 -0
  64. package/src/commands/context-trim.js +177 -0
  65. package/src/commands/design-hybrid-options.js +385 -0
  66. package/src/commands/detect-test-runner.js +55 -0
  67. package/src/commands/devlog-export-brains.js +27 -0
  68. package/src/commands/devlog-process.js +292 -0
  69. package/src/commands/devlog-watch.js +131 -0
  70. package/src/commands/feature-close.js +165 -0
  71. package/src/commands/gate-check.js +228 -0
  72. package/src/commands/health.js +214 -0
  73. package/src/commands/hooks-emit.js +253 -0
  74. package/src/commands/hooks-install.js +347 -0
  75. package/src/commands/init.js +54 -13
  76. package/src/commands/install.js +52 -13
  77. package/src/commands/learning-auto-promote.js +195 -0
  78. package/src/commands/learning-evolve.js +364 -0
  79. package/src/commands/learning-export.js +103 -0
  80. package/src/commands/learning-rollback.js +164 -0
  81. package/src/commands/live.js +59 -1
  82. package/src/commands/pattern-detect.js +33 -0
  83. package/src/commands/preflight-context.js +30 -0
  84. package/src/commands/preflight.js +208 -0
  85. package/src/commands/pulse-update.js +130 -0
  86. package/src/commands/recovery.js +43 -0
  87. package/src/commands/runner-daemon.js +274 -0
  88. package/src/commands/runner-plan.js +70 -0
  89. package/src/commands/runner-queue-from-plan.js +166 -0
  90. package/src/commands/runner-queue.js +189 -0
  91. package/src/commands/runner-run.js +129 -0
  92. package/src/commands/runtime.js +47 -1
  93. package/src/commands/sandbox.js +37 -0
  94. package/src/commands/self-implement-loop.js +256 -0
  95. package/src/commands/session-guard.js +218 -0
  96. package/src/commands/setup-context.js +22 -2
  97. package/src/commands/setup.js +178 -0
  98. package/src/commands/sizing.js +165 -0
  99. package/src/commands/skill.js +144 -32
  100. package/src/commands/spec-checkpoint.js +177 -0
  101. package/src/commands/spec-status.js +79 -0
  102. package/src/commands/spec-sync.js +190 -0
  103. package/src/commands/spec-tasks.js +288 -0
  104. package/src/commands/squad-autorun.js +1220 -0
  105. package/src/commands/squad-bus.js +217 -0
  106. package/src/commands/squad-card.js +149 -0
  107. package/src/commands/squad-daemon.js +134 -0
  108. package/src/commands/squad-dependency-graph.js +164 -0
  109. package/src/commands/squad-review.js +106 -0
  110. package/src/commands/squad-scaffold.js +55 -0
  111. package/src/commands/squad-tool-register.js +157 -0
  112. package/src/commands/state-save.js +122 -0
  113. package/src/commands/tool-registry-cmd.js +232 -0
  114. package/src/commands/update.js +9 -0
  115. package/src/commands/verify-gate.js +572 -0
  116. package/src/commands/workflow-execute.js +241 -0
  117. package/src/constants.js +18 -0
  118. package/src/context-cache.js +159 -0
  119. package/src/context-search.js +326 -0
  120. package/src/design-variation-catalog.js +503 -0
  121. package/src/i18n/messages/en.js +32 -2
  122. package/src/i18n/messages/es.js +30 -2
  123. package/src/i18n/messages/fr.js +30 -2
  124. package/src/i18n/messages/pt-BR.js +32 -2
  125. package/src/install-animation.js +260 -0
  126. package/src/install-profile.js +143 -0
  127. package/src/install-wizard.js +475 -0
  128. package/src/installer.js +44 -10
  129. package/src/lib/health-check.js +158 -0
  130. package/src/lib/hook-protocol.js +76 -0
  131. package/src/mcp/apps/squad-dashboard/app.js +163 -0
  132. package/src/mcp/apps/squad-dashboard/index.html +261 -0
  133. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
  134. package/src/mcp/resources/squad-state.js +130 -0
  135. package/src/parser.js +7 -1
  136. package/src/preflight-engine.js +443 -0
  137. package/src/recovery-context-session.js +154 -0
  138. package/src/runner/cascade.js +97 -0
  139. package/src/runner/cli-launcher.js +109 -0
  140. package/src/runner/plan-importer.js +63 -0
  141. package/src/runner/queue-store.js +159 -0
  142. package/src/runtime-store.js +158 -4
  143. package/src/sandbox.js +177 -0
  144. package/src/squad/agent-teams-adapter.js +264 -0
  145. package/src/squad/brief-validator.js +350 -0
  146. package/src/squad/bus-bridge.js +140 -0
  147. package/src/squad/context-compactor.js +265 -0
  148. package/src/squad/cross-ai-synthesizer.js +250 -0
  149. package/src/squad/hooks-generator.js +196 -0
  150. package/src/squad/inter-squad-events.js +175 -0
  151. package/src/squad/intra-bus.js +345 -0
  152. package/src/squad/learning-extractor.js +213 -0
  153. package/src/squad/pattern-detector.js +365 -0
  154. package/src/squad/preflight-context.js +296 -0
  155. package/src/squad/recovery-context.js +242 -71
  156. package/src/squad/reflection.js +365 -0
  157. package/src/squad/squad-scaffold.js +177 -0
  158. package/src/squad/state-manager.js +310 -0
  159. package/src/squad/task-decomposer.js +652 -0
  160. package/src/squad/verify-gate.js +303 -0
  161. package/src/tool-executor.js +94 -0
  162. package/src/updater.js +10 -3
  163. package/src/worker-runner.js +186 -1
  164. package/template/.aioson/agents/analyst.md +119 -3
  165. package/template/.aioson/agents/architect.md +98 -0
  166. package/template/.aioson/agents/design-hybrid-forge.md +141 -0
  167. package/template/.aioson/agents/dev.md +335 -14
  168. package/template/.aioson/agents/deyvin.md +117 -2
  169. package/template/.aioson/agents/discovery-design-doc.md +44 -0
  170. package/template/.aioson/agents/genome.md +14 -0
  171. package/template/.aioson/agents/neo.md +78 -1
  172. package/template/.aioson/agents/orache.md +50 -4
  173. package/template/.aioson/agents/orchestrator.md +197 -1
  174. package/template/.aioson/agents/pm.md +93 -0
  175. package/template/.aioson/agents/product.md +77 -4
  176. package/template/.aioson/agents/profiler-enricher.md +14 -0
  177. package/template/.aioson/agents/profiler-forge.md +14 -0
  178. package/template/.aioson/agents/profiler-researcher.md +14 -0
  179. package/template/.aioson/agents/qa.md +249 -19
  180. package/template/.aioson/agents/setup.md +144 -12
  181. package/template/.aioson/agents/sheldon.md +237 -11
  182. package/template/.aioson/agents/site-forge.md +1753 -0
  183. package/template/.aioson/agents/squad.md +162 -0
  184. package/template/.aioson/agents/tester.md +209 -0
  185. package/template/.aioson/agents/ux-ui.md +34 -1
  186. package/template/.aioson/brains/README.md +128 -0
  187. package/template/.aioson/brains/_index.json +16 -0
  188. package/template/.aioson/brains/scripts/query.js +103 -0
  189. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
  190. package/template/.aioson/config.md +158 -13
  191. package/template/.aioson/constitution.md +33 -0
  192. package/template/.aioson/context/forensics/.gitkeep +0 -0
  193. package/template/.aioson/context/project-pulse.md +34 -0
  194. package/template/.aioson/context/seeds/seed-example.md +27 -0
  195. package/template/.aioson/context/user-profile.md +42 -0
  196. package/template/.aioson/docs/LAYERS.md +79 -0
  197. package/template/.aioson/docs/README.md +76 -0
  198. package/template/.aioson/docs/example-external-api-context.md +72 -0
  199. package/template/.aioson/locales/en/agents/architect.md +17 -0
  200. package/template/.aioson/locales/en/agents/dev.md +79 -13
  201. package/template/.aioson/locales/en/agents/orache.md +6 -0
  202. package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
  203. package/template/.aioson/locales/en/agents/product.md +50 -0
  204. package/template/.aioson/locales/en/agents/setup.md +33 -1
  205. package/template/.aioson/locales/en/agents/sheldon.md +115 -0
  206. package/template/.aioson/locales/en/agents/squad.md +14 -0
  207. package/template/.aioson/locales/en/agents/tester.md +6 -0
  208. package/template/.aioson/locales/es/agents/analyst.md +2 -0
  209. package/template/.aioson/locales/es/agents/architect.md +19 -0
  210. package/template/.aioson/locales/es/agents/dev.md +64 -4
  211. package/template/.aioson/locales/es/agents/deyvin.md +2 -0
  212. package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
  213. package/template/.aioson/locales/es/agents/genome.md +2 -0
  214. package/template/.aioson/locales/es/agents/neo.md +2 -0
  215. package/template/.aioson/locales/es/agents/orache.md +2 -0
  216. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  217. package/template/.aioson/locales/es/agents/pair.md +2 -0
  218. package/template/.aioson/locales/es/agents/pm.md +2 -0
  219. package/template/.aioson/locales/es/agents/product.md +52 -0
  220. package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
  221. package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
  222. package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
  223. package/template/.aioson/locales/es/agents/qa.md +2 -0
  224. package/template/.aioson/locales/es/agents/setup.md +35 -1
  225. package/template/.aioson/locales/es/agents/sheldon.md +117 -0
  226. package/template/.aioson/locales/es/agents/squad.md +16 -0
  227. package/template/.aioson/locales/es/agents/tester.md +9 -0
  228. package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
  229. package/template/.aioson/locales/fr/agents/analyst.md +2 -0
  230. package/template/.aioson/locales/fr/agents/architect.md +19 -0
  231. package/template/.aioson/locales/fr/agents/dev.md +64 -4
  232. package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
  233. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
  234. package/template/.aioson/locales/fr/agents/genome.md +2 -0
  235. package/template/.aioson/locales/fr/agents/neo.md +2 -0
  236. package/template/.aioson/locales/fr/agents/orache.md +2 -0
  237. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  238. package/template/.aioson/locales/fr/agents/pair.md +2 -0
  239. package/template/.aioson/locales/fr/agents/pm.md +2 -0
  240. package/template/.aioson/locales/fr/agents/product.md +52 -0
  241. package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
  242. package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
  243. package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
  244. package/template/.aioson/locales/fr/agents/qa.md +2 -0
  245. package/template/.aioson/locales/fr/agents/setup.md +35 -1
  246. package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
  247. package/template/.aioson/locales/fr/agents/squad.md +16 -0
  248. package/template/.aioson/locales/fr/agents/tester.md +9 -0
  249. package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
  250. package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
  251. package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
  252. package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
  253. package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
  254. package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
  255. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
  256. package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
  257. package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
  258. package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
  259. package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
  260. package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
  261. package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
  262. package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
  263. package/template/.aioson/rules/README.md +69 -0
  264. package/template/.aioson/rules/data-format-convention.md +136 -0
  265. package/template/.aioson/rules/example-monetary-values.md +30 -0
  266. package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
  267. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
  268. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
  269. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
  270. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
  271. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
  272. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
  273. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
  274. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
  275. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
  276. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
  277. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
  278. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
  279. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
  280. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
  281. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
  282. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
  283. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
  284. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
  285. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
  286. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
  287. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
  288. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
  289. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
  290. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
  291. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
  292. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
  293. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
  294. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
  295. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
  296. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
  297. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
  298. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
  299. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
  300. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
  301. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
  302. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
  303. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
  304. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
  305. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
  306. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
  307. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
  308. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
  309. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
  310. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
  311. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
  312. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
  313. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
  314. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
  315. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
  316. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
  317. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
  318. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
  319. package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
  320. package/template/.aioson/skills/static/context-budget-guide.md +46 -0
  321. package/template/.aioson/skills/static/harness-sensors.md +74 -0
  322. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
  323. package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
  324. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
  325. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
  326. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
  327. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
  328. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
  329. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
  330. package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
  331. package/template/.aioson/skills/static/threejs-patterns.md +929 -0
  332. package/template/.aioson/skills/static/web-research-cache.md +112 -0
  333. package/template/.aioson/tasks/implementation-plan.md +21 -1
  334. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
  335. package/template/.claude/commands/aioson/agent/orache.md +5 -0
  336. package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
  337. package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
  338. package/template/AGENTS.md +75 -1
  339. package/template/CLAUDE.md +31 -0
  340. package/template/OPENCODE.md +4 -0
  341. package/template/researchs/.gitkeep +0 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ description: "Guide to the three project memory layers: rules, docs, and design-docs — when to use each"
3
+ agents: []
4
+ ---
5
+
6
+ # AIOSON Project Memory Layers
7
+
8
+ Three directories accumulate project knowledge over time.
9
+ Each has a different purpose and a different update cadence.
10
+
11
+ ---
12
+
13
+ ## Layer 1 — `.aioson/rules/`
14
+
15
+ **What it is:** behavioral overrides for agents.
16
+ **Who writes it:** the user, or promoted from recurring @dev patterns.
17
+ **When to use:** when you want to enforce a convention that overrides agent defaults — globally or for specific agents.
18
+ **Cadence:** stable. Rules change rarely; only when a convention is proven wrong or superseded.
19
+
20
+ Examples of good rules:
21
+ - "All API routes must follow REST naming conventions in this project"
22
+ - "Never use float for monetary values — use integer cents"
23
+ - "The @dev agent must always write a migration for schema changes"
24
+
25
+ See `rules/README.md` for format and frontmatter reference.
26
+
27
+ ---
28
+
29
+ ## Layer 2 — `.aioson/docs/`
30
+
31
+ **What it is:** domain knowledge and technical reference that agents load on demand.
32
+ **Who writes it:** the user or @architect, based on real integration and domain complexity.
33
+ **When to use:** when multiple agents across different features need the same external context — API behavior, third-party quirks, data model explanations, integration patterns.
34
+ **Cadence:** updated when the referenced system changes, not after every feature.
35
+
36
+ Examples of good docs:
37
+ - `stripe-integration-context.md` — describes webhook event model, idempotency keys used
38
+ - `auth-rbac-model.md` — explains the role/permission system as it stands in production
39
+ - `legacy-api-behavior.md` — documents known quirks of an external API affecting multiple features
40
+
41
+ See `docs/README.md` for format and naming conventions.
42
+
43
+ ---
44
+
45
+ ## Layer 3 — `.aioson/context/design-doc*.md`
46
+
47
+ **What it is:** living decision document for the current feature or project scope.
48
+ **Who writes it:** @discovery-design-doc.
49
+ **Who updates it:** @dev at feature close, @discovery-design-doc when resuming.
50
+ **When to use:** automatically — one per feature (`design-doc-{slug}.md`) or one project-wide (`design-doc.md`).
51
+ **Cadence:** updated at the end of each feature implementation session. Decisions are append-only — never deleted.
52
+
53
+ ---
54
+
55
+ ## Decision Guide
56
+
57
+ | Situation | Where it goes |
58
+ |-----------|--------------|
59
+ | Enforce a coding convention for this project | `rules/` |
60
+ | Agents must always know about an external API behavior | `docs/` |
61
+ | Document the scope and decisions for a specific feature | `design-doc-{slug}.md` |
62
+ | Log a global project-wide architecture decision | `design-doc.md` |
63
+ | Promote a recurring @dev pattern | `rules/` via @dev promotion |
64
+ | Document an integration used by 3+ features | `docs/` |
65
+ | Record what was decided during a single feature session | `design-doc-{slug}.md` (Decisions already made section) |
66
+
67
+ ---
68
+
69
+ ## What NOT to put in these layers
70
+
71
+ | Content | Where it actually belongs |
72
+ |---------|--------------------------|
73
+ | Feature requirements | `requirements-{slug}.md` |
74
+ | PRD / product scope | `prd-{slug}.md` |
75
+ | Execution sequence | `implementation-plan-{slug}.md` |
76
+ | Current implementation state | `spec-{slug}.md` |
77
+ | Project-wide context | `project.context.md` |
78
+ | Domain entity map | `discovery.md` |
79
+ | Technical architecture | `architecture.md` |
@@ -0,0 +1,76 @@
1
+ ---
2
+ description: "Guide to the docs layer: domain knowledge and technical reference for agents"
3
+ agents: []
4
+ ---
5
+
6
+ # Project Docs
7
+
8
+ Files in this directory are domain knowledge and technical reference that agents load on demand.
9
+
10
+ Unlike `rules/` (which enforce conventions), docs explain **how something works** — external APIs, data models, integration patterns, legacy behavior, third-party quirks.
11
+
12
+ ---
13
+
14
+ ## Frontmatter Format
15
+
16
+ ```yaml
17
+ ---
18
+ description: "Short description of what this doc covers — used by agents to decide relevance"
19
+ scope: "global" # or a feature slug if doc is scoped to one area
20
+ agents: [] # empty = any agent may load; or restrict: [dev, architect]
21
+ ---
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Field Reference
27
+
28
+ | Field | Required | Description |
29
+ |-------|----------|-------------|
30
+ | `description` | yes | What this doc covers — agents use this to decide whether to load it |
31
+ | `scope` | no | `global` (default) or a feature slug for narrow scope |
32
+ | `agents` | no | If empty, any agent may load; if listed, only those agents load it |
33
+
34
+ ---
35
+
36
+ ## Loading Behavior
37
+
38
+ Agents load docs when the `description` frontmatter is relevant to the current task.
39
+ An empty `agents:` field means any agent can load the doc.
40
+ Docs are loaded in addition to the current context — not as replacements.
41
+
42
+ ---
43
+
44
+ ## When to Create a Doc
45
+
46
+ Create a doc when:
47
+ - Two or more features need the same external context
48
+ - An integration has non-obvious behavior that has caused bugs or would cause rework
49
+ - A data model exists only in production and is not derivable from the codebase
50
+ - A third-party API has quirks that affect how agents implement against it
51
+
52
+ Do NOT create a doc for:
53
+ - Feature-specific decisions (use `design-doc-{slug}.md` instead)
54
+ - Project conventions (use `rules/` instead)
55
+ - Current implementation state (use `spec-{slug}.md` instead)
56
+
57
+ ---
58
+
59
+ ## Naming Convention
60
+
61
+ Use kebab-case. Name the file after the system or concept, not the feature:
62
+
63
+ | Good | Bad |
64
+ |------|-----|
65
+ | `stripe-webhook-behavior.md` | `billing-feature-notes.md` |
66
+ | `auth-rbac-model.md` | `auth-stuff.md` |
67
+ | `legacy-api-quirks.md` | `misc-notes.md` |
68
+ | `email-delivery-constraints.md` | `sendgrid.md` (too generic) |
69
+
70
+ ---
71
+
72
+ ## Example
73
+
74
+ See `example-external-api-context.md` in this directory for a working template.
75
+
76
+ For the layer separation guide (when to use `docs/` vs `rules/` vs `design-doc`), see `LAYERS.md`.
@@ -0,0 +1,72 @@
1
+ ---
2
+ description: "Template for documenting an external API integration context — replace with real content"
3
+ scope: "global"
4
+ agents: []
5
+ ---
6
+
7
+ # External API Context — [API Name]
8
+
9
+ > Replace this file with real context for your integration.
10
+ > Rename it to reflect the actual system: e.g., `stripe-webhook-behavior.md`
11
+ > Keep it focused on behavior that agents cannot infer from the codebase alone.
12
+ > Delete sections that are not applicable.
13
+
14
+ ---
15
+
16
+ ## What This API Does
17
+
18
+ [One paragraph: what service this is, what it provides, why this project uses it, when it was integrated]
19
+
20
+ ---
21
+
22
+ ## Authentication
23
+
24
+ [Auth method, where keys are stored, any refresh/rotation behavior, scopes required]
25
+
26
+ ---
27
+
28
+ ## Key Endpoints Used
29
+
30
+ | Endpoint | Purpose | Notes |
31
+ |----------|---------|-------|
32
+ | `POST /resource` | Creates X | Idempotency key required |
33
+ | `GET /resource/{id}` | Reads X | Returns 404 if not found (not 403) |
34
+
35
+ ---
36
+
37
+ ## Non-Obvious Behavior
38
+
39
+ [Anything that caused or could cause bugs if an agent doesn't know it:]
40
+
41
+ - **Idempotency:** [describe if required and how to implement]
42
+ - **Rate limits:** [requests/minute, burst behavior, retry guidance]
43
+ - **Async callbacks:** [webhook events, polling, event ordering guarantees]
44
+ - **Pagination:** [cursor-based, offset, page size limits]
45
+ - **Error format:** [how errors are structured — not always standard HTTP semantics]
46
+
47
+ ---
48
+
49
+ ## Webhook Events (if applicable)
50
+
51
+ | Event | When it fires | Payload shape | Idempotent? |
52
+ |-------|--------------|---------------|-------------|
53
+ | `resource.created` | When X is created | `{ id, data, timestamp }` | Yes |
54
+
55
+ ---
56
+
57
+ ## Known Limitations
58
+
59
+ [What the API cannot do, versioning constraints, known bugs, deprecation status]
60
+
61
+ ---
62
+
63
+ ## Integration Points in This Codebase
64
+
65
+ [Where the integration lives — file paths, service names, which agents should know this]
66
+
67
+ ---
68
+
69
+ ## Last Verified
70
+
71
+ Date this doc was last confirmed accurate: [YYYY-MM-DD]
72
+ Verified by: [agent name or user]
@@ -12,6 +12,23 @@ Transform discovery into technical architecture with concrete implementation dir
12
12
  - `.aioson/context/readiness.md` (if present)
13
13
  - `.aioson/context/discovery.md`
14
14
 
15
+ ## Self-directed planning
16
+
17
+ Before producing any architectural artifact, declare planning mode:
18
+
19
+ `[PLANNING MODE — scoping architecture, not writing artifacts yet]`
20
+
21
+ Then:
22
+ 1. **List** which sections of `architecture.md` will be produced and why
23
+ 2. **Identify** constraints from discovery.md, design-doc, and any Sheldon plan
24
+ 3. **Sequence** decisions that are dependencies (e.g., data model before service boundaries)
25
+ 4. **Flag** decisions that require user confirmation before proceeding
26
+
27
+ Exit planning when scope and constraints are confirmed:
28
+ `[EXECUTION MODE — writing architecture.md]`
29
+
30
+ Use `EnterPlanMode` / `ExitPlanMode` tools when available in the harness.
31
+
15
32
  ## Brownfield memory handoff
16
33
 
17
34
  For existing codebases:
@@ -6,6 +6,39 @@
6
6
  ## Mission
7
7
  Implement features according to architecture while preserving stack conventions and project simplicity.
8
8
 
9
+ ## Session start protocol (EXECUTE FIRST — before reading anything else)
10
+
11
+ **Step 1 — Check dev-state:**
12
+ Read `.aioson/context/dev-state.md` if it exists.
13
+
14
+ **dev-state.md found:**
15
+ - It contains the exact `context_package` (2–4 files max) for the current task.
16
+ - Load ONLY those files. Nothing else.
17
+ - Start on `next_step` immediately — no exploration, no discovery pass.
18
+
19
+ **dev-state.md NOT found (cold start):**
20
+ - Read only: `project.context.md` + `features.md` (if present). Stop there.
21
+ - Ask: "What feature or task should I work on?"
22
+ - Once the user specifies → derive the minimum context package and load only that.
23
+
24
+ **Minimum context package by mode:**
25
+
26
+ | Mode | Load — nothing more |
27
+ |------|---------------------|
28
+ | Feature MICRO | `project.context.md` + `prd-{slug}.md` |
29
+ | Feature SMALL/MEDIUM | `project.context.md` + `spec-{slug}.md` + `implementation-plan-{slug}.md` |
30
+ | Feature with Sheldon plan | `project.context.md` + `spec-{slug}.md` + `.aioson/plans/{slug}/manifest.md` + current phase file |
31
+ | Project mode | `project.context.md` + `spec.md` + `skeleton-system.md` |
32
+
33
+ **HARD RULE — NEVER LOAD (applies to every session, no exceptions):**
34
+ - Any file in `.aioson/agents/` — agent files are never your context
35
+ - `spec-{other-slug}.md` — specs for features you are NOT working on
36
+ - `discovery.md` or `architecture.md` unless the active plan explicitly lists them
37
+ - PRDs of features already marked `done` in `features.md`
38
+ - More than 5 files total before writing your first code change
39
+
40
+ Breaking this rule = context bloat = degraded output. If you've read 5 files and haven't written code yet: stop, list what you read and why, ask the user what to focus on.
41
+
9
42
  ## Feature mode detection
10
43
 
11
44
  Check whether a `prd-{slug}.md` file exists in `.aioson/context/` before reading anything else.
@@ -64,10 +97,10 @@ Also check `.aioson/plans/{slug}/manifest.md` before any implementation:
64
97
  **If plan does NOT exist BUT prerequisites exist:**
65
98
  Prerequisites = `architecture.md` (SMALL/MEDIUM) or at least one `prd.md`/`prd-{slug}.md`/`readiness.md`.
66
99
 
67
- - Tell the user: "I found spec artifacts but no implementation plan. Generating one first will improve quality and sequence. Should I create it?"
68
- - If yes execute `.aioson/tasks/implementation-plan.md`
69
- - If no proceed with standard flow (no block just a recommendation)
70
- - Do NOT ask repeatedly if the user already declined in this session
100
+ - Tell the user: "I found spec artifacts but no implementation plan plans are created by `@product` (for new features) or `@sheldon` (for phased work). Activate one of them to generate the plan before implementing."
101
+ - Do NOT create the plan yourself.
102
+ - If the user explicitly says to proceed without a plan proceed with standard flow.
103
+ - Do NOT ask repeatedly if the user already decided to proceed without a plan.
71
104
 
72
105
  **MICRO projects exception:**
73
106
  - For MICRO projects, an implementation plan is OPTIONAL
@@ -99,16 +132,24 @@ If the user confirms handoff, generate handoff text with:
99
132
  7. Instruction: "In the new chat, activate `@dev` and inform that you are continuing plan [slug] from Phase [N]"
100
133
 
101
134
  ## Required input
102
- 1. `.aioson/context/project.context.md`
103
- 2. `.aioson/context/skeleton-system.md` *(if present — read first for quick structural orientation)*
104
- 3. `.aioson/context/design-doc.md` *(if present — treat as the current scope decision document)*
105
- 4. `.aioson/context/readiness.md` *(if present — verify the scope is ready for implementation)*
106
- 5. `.aioson/context/architecture.md` *(SMALL/MEDIUM only — not generated for MICRO; skip if absent)*
107
- 6. `.aioson/context/discovery.md` *(SMALL/MEDIUM only — not generated for MICRO; skip if absent)*
108
- 7. `.aioson/context/prd.md` (if present)
109
- 8. `.aioson/context/ui-spec.md` (if present)
110
135
 
111
- > **MICRO projects:** only `project.context.md` is guaranteed. Infer implementation direction from it directly do not wait for architecture.md or discovery.md.
136
+ **Determined by `dev-state.md` or the minimum context package table in the session start protocol.**
137
+
138
+ Do NOT load files "just in case." The full list below is the universe of files @dev may ever need — load only what the current task actually requires:
139
+
140
+ - `.aioson/context/project.context.md` — always
141
+ - `.aioson/context/dev-state.md` — always (if present)
142
+ - `.aioson/context/features.md` — cold start only
143
+ - `.aioson/context/spec-{slug}.md` — active feature only
144
+ - `.aioson/context/implementation-plan-{slug}.md` — if plan exists
145
+ - `.aioson/plans/{slug}/manifest.md` + current phase file — if Sheldon plan exists
146
+ - `.aioson/context/skeleton-system.md` — only when navigating project structure
147
+ - `.aioson/context/design-doc.md` — only if listed in the plan
148
+ - `.aioson/context/readiness.md` — only on first session of a new feature
149
+ - `.aioson/context/architecture.md` — SMALL/MEDIUM only, only if listed in the plan
150
+ - `.aioson/context/discovery.md` — SMALL/MEDIUM only, only if listed in the plan
151
+ - `.aioson/context/prd-{slug}.md` — only on first session of a new feature
152
+ - `.aioson/context/ui-spec.md` — only when implementing UI components
112
153
 
113
154
  ## Brownfield alert
114
155
 
@@ -265,6 +306,31 @@ For stacks not listed above, apply the same separation principles:
265
306
  - Follow the framework's own conventions — check `.aioson/skills/static/`, `.aioson/skills/dynamic/`, and `.aioson/skills/design/` for available skill files.
266
307
  - If no skill file exists for the stack, apply the general pattern and document deviations in architecture.md.
267
308
 
309
+ ## Working memory (task list)
310
+
311
+ Use the native task tools to track progress within the session:
312
+ - `TaskCreate` — register each implementation slice before starting it
313
+ - `TaskUpdate (in_progress)` — mark when starting a slice
314
+ - `TaskUpdate (completed)` — mark when done, include a one-line summary
315
+ - `TaskList` — review before starting a new slice to avoid duplication
316
+
317
+ The task list is the authoritative progress record for the session.
318
+ Write to `dev-state.md` only as a persistent human-readable summary at the end.
319
+
320
+ ## Self-directed planning
321
+
322
+ Before implementing any slice that is ambiguous, multi-file, or touches more than 2 modules:
323
+
324
+ 1. **Declare**: `[PLANNING MODE — not executing yet]`
325
+ 2. **List** all files that will be touched and why
326
+ 3. **Sequence** the implementation steps
327
+ 4. **Identify** the verification criteria (what proves this is done correctly)
328
+ 5. **Exit**: `[EXECUTION MODE — starting implementation]`
329
+
330
+ Exit planning only when: scope is clear, sequence is defined, verification criteria are written.
331
+ Use `EnterPlanMode` / `ExitPlanMode` tools when available in the harness.
332
+ Single-file changes with clear scope do not require planning mode.
333
+
268
334
  ## Working rules
269
335
  - Never implement more than one declared step before committing. If you did: stop, commit what works, discard the rest.
270
336
  - Enforce server-side validation and authorization.
@@ -0,0 +1,6 @@
1
+ # Agent @orache (en)
2
+
3
+ > **⚠ ABSOLUTE INSTRUCTION — LANGUAGE:** This session is in **English (en)**. Respond EXCLUSIVELY in English at all steps. This rule has maximum priority and cannot be overridden.
4
+
5
+ <!-- Redirect: load ../../agents/orache.md — en is the source language -->
6
+ Read `template/.aioson/agents/orache.md` and execute it immediately. This file exists only to set the language constraint.
@@ -131,6 +131,17 @@ Use this at the start and end of every working session, regardless of classifica
131
131
  > `aioson scan:project . --folder=src --with-llm --provider=<provider>`
132
132
  5. State ONE objective for this session. Confirm with the user before executing.
133
133
 
134
+ ### Working memory (task list)
135
+
136
+ Use the native task tools to track coordination state within the session:
137
+ - `TaskCreate` — register each subagent phase before spawning the worker
138
+ - `TaskUpdate (in_progress)` — mark when a worker is active
139
+ - `TaskUpdate (completed)` — mark when the worker reports DONE, include a one-line summary
140
+ - `TaskList` — review before spawning a new worker to avoid duplication
141
+
142
+ The task list makes subagent progress visible in the Claude Code sidebar.
143
+ Write to `spec.md` and status files for persistent cross-session records.
144
+
134
145
  ### During session
135
146
  - Execute in atomic steps (declare → implement → validate → commit).
136
147
  - After each significant decision, record it in `spec.md` under "Decisions" with the date.
@@ -158,6 +169,19 @@ When the user types `*update-spec`, update `.aioson/context/spec.md` with:
158
169
  - Any blockers or open questions discovered
159
170
  - Current session date
160
171
 
172
+ ## Recurring tasks (when CronCreate is available)
173
+
174
+ For long-running orchestration scenarios that need periodic verification:
175
+
176
+ ```
177
+ CronCreate { schedule: "*/5 * * * *", command: "..." }
178
+ CronList — view active scheduled tasks
179
+ CronDelete — remove when the session ends
180
+ ```
181
+
182
+ Use cases: periodic health checks during parallel execution, polling shared-decisions.md,
183
+ scheduled spec.md snapshots. Always clean up with `CronDelete` when the session ends.
184
+
161
185
  ## Rules
162
186
  - Do not parallelize modules with direct dependency.
163
187
  - Record all cross-module decisions in `shared-decisions.md` before implementing.
@@ -23,6 +23,56 @@ New feature (MICRO — no new entities):
23
23
  @product → @dev → @qa
24
24
  ```
25
25
 
26
+ ## Source document detection (run before mode detection)
27
+
28
+ Scan the project root for kickoff input documents:
29
+ - `plans/*.md` — pre-production research notes, ideas, and planning sketches written by the user
30
+ - `prds/*.md` — draft product visions, requirements sketches written by the user
31
+
32
+ > **Nature of these sources:** these files are **pre-production research sources** — NOT real implementation plans or development PRDs. They are raw material the user wrote before starting the agent cycle. They serve to create the real artifacts in `.aioson/context/`. They remain in the folder until the project is fully delivered — only the user decides when to remove them. Downstream agents (`@dev`, `@analyst`, `@architect`, `@ux-ui`) do not treat these as valid plans or PRDs.
33
+
34
+ These are **input sources**, not artifacts. They belong to the user and are never modified or deleted by agents.
35
+
36
+ **If files are found:**
37
+ List them and ask once:
38
+ > "I found pre-production research sources in the project root:
39
+ > - plans/X.md
40
+ > - prds/Y.md
41
+ >
42
+ > Want me to use these as source material for the PRD? I'll synthesize them and generate the proper artifact in `.aioson/context/`. The original files stay untouched — they remain here until the project is fully delivered."
43
+
44
+ - If yes → read all listed files, extract goals, user needs, constraints, and feature descriptions. Use them to pre-fill the PRD conversation or generate the PRD directly if the content is detailed enough. When consuming any source, register it in `plans/source-manifest.md` (create if absent).
45
+ - If no → ignore and proceed with conversation from scratch.
46
+
47
+ **Greenfield signal:** if source documents exist AND `prd.md` does not exist in `.aioson/context/` → this is likely an initial project kickoff. Treat the source documents as the starting point for `prd.md`.
48
+
49
+ **Feature signal:** if source documents exist AND `prd.md` already exists in `.aioson/context/` → this is likely a new feature or refinement. Treat the source documents as input for `prd-{slug}.md` or enrichment of the existing PRD.
50
+
51
+ **If no source documents are found:** proceed directly to mode detection below.
52
+
53
+ **Usage tracking — `plans/source-manifest.md`:**
54
+
55
+ Create or update whenever a source is consumed. Format:
56
+
57
+ ```markdown
58
+ ---
59
+ updated_at: {ISO-date}
60
+ ---
61
+
62
+ # Source Manifest — Pre-Production Research Sources
63
+
64
+ > Files written by the user before the agent cycle.
65
+ > NOT implementation plans — they serve to create real artifacts in `.aioson/context/`.
66
+ > Remain here until the project is fully delivered.
67
+
68
+ ## Consumed sources
69
+
70
+ | File | Consumed by | Date | Artifact produced |
71
+ |------|-------------|------|-------------------|
72
+ | plans/X.md | @product | {ISO-date} | prd.md |
73
+ | prds/Y.md | @sheldon | {ISO-date} | prd-{slug}.md |
74
+ ```
75
+
26
76
  ## Mode detection
27
77
 
28
78
  Check the following conditions in order:
@@ -31,7 +31,15 @@ Mandatory behavior for inconsistent returning projects:
31
31
  Do NOT re-run the full onboarding unless the user explicitly requests it or the remaining ambiguity truly requires onboarding answers.
32
32
 
33
33
  **First run (file does not exist):**
34
- Proceed with detection and full onboarding below.
34
+ Check whether the AIOSON template is installed (`.aioson/` directory exists). If the template is missing, tell the user to run:
35
+
36
+ ```bash
37
+ npx @jaimevalasek/aioson setup .
38
+ ```
39
+
40
+ This single command installs the template, auto-detects the framework, infers the system language, and writes an initial `project.context.md`. After running it, the user activates `@setup` to confirm or refine the generated context.
41
+
42
+ If the template is already installed but `project.context.md` is missing, proceed with detection and full onboarding below.
35
43
 
36
44
  ## Mandatory sequence
37
45
  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.
@@ -72,6 +80,30 @@ If framework is not detected:
72
80
 
73
81
  ## Profile onboarding
74
82
 
83
+ ### Step 0 — Scan workspace before asking anything
84
+
85
+ Before asking the user any question, run:
86
+ ```bash
87
+ aioson setup:context . --defaults --json
88
+ ```
89
+
90
+ This returns the auto-inferred values (framework, system language, project name from directory, classification). Show them as a confirmation block:
91
+
92
+ > **Auto-detected:**
93
+ > - Name: `{projectName}` (from directory)
94
+ > - Framework: `{framework}` (detected in workspace: `{frameworkInstalled}`)
95
+ > - Type: `{projectType}` (inferred from framework)
96
+ > - Classification: `{classification}` (auto-scored)
97
+ > - Language: `{conversationLanguage}` (from system locale)
98
+ >
99
+ > "Does this look right? Tell me what to change, or confirm to proceed."
100
+
101
+ Wait for the user's response. Apply corrections as explicit `--option=value` flags when calling the final `aioson setup:context` command.
102
+
103
+ If `aioson` is not available, skip this step and proceed directly to Step 1.
104
+
105
+ > **Note:** If the user ran `aioson setup .` before activating this agent, `project.context.md` is already written. Treat Step 0 as a confirmation pass — show the existing context and ask only what needs to be corrected.
106
+
75
107
  ### Step 1 — Understand the project
76
108
  Ask ONE open question. Do not show a form:
77
109
  > "Describe the project in one or two sentences — what does it do and who is it for?"
@@ -39,6 +39,52 @@ These directories are **optional**. Check silently — if a directory is absent
39
39
  - `.aioson/context/features.md` (if present)
40
40
  - `.aioson/context/sheldon-enrichment.md` (if present — re-entrance)
41
41
 
42
+ ## Source document detection (run before RF-01)
43
+
44
+ Scan the project root for input documents:
45
+ - `plans/*.md` — pre-production research notes, ideas, and planning sketches written by the user
46
+ - `prds/*.md` — draft product visions, requirements sketches written by the user
47
+
48
+ > **Nature of these sources:** these files are **pre-production research sources** — NOT real implementation plans or development PRDs. They are raw material the user wrote before starting the agent cycle. They serve to create the real artifacts in `.aioson/context/`. They remain in the folder until the project is fully delivered — only the user decides when to remove them. Downstream agents (`@dev`, `@analyst`, `@architect`, `@ux-ui`) do not treat these as valid plans or PRDs.
49
+
50
+ These are **input sources**, not artifacts. They belong to the user and are never modified or deleted by agents.
51
+
52
+ **If files are found:**
53
+ List them and ask once:
54
+ > "I found pre-production research sources in the project root:
55
+ > - plans/X.md
56
+ > - prds/Y.md
57
+ >
58
+ > Want me to use these as additional source material for PRD enrichment? I'll extract requirements, constraints, and ideas from them and incorporate them into the target PRD. The original files stay untouched — they remain here until the project is fully delivered."
59
+
60
+ - If yes → read all listed files. Extract requirements, constraints, product decisions, and domain information. Use as additional material during enrichment — incorporate into the target PRD or `sheldon-enrichment-{slug}.md`. When consuming any source, register it in `plans/source-manifest.md` (create if absent).
61
+ - If no → ignore and proceed with the normal flow.
62
+
63
+ **If no source documents are found:** proceed directly to RF-01.
64
+
65
+ **Usage tracking — `plans/source-manifest.md`:**
66
+
67
+ Create or update whenever a source is consumed:
68
+
69
+ ```markdown
70
+ ---
71
+ updated_at: {ISO-date}
72
+ ---
73
+
74
+ # Source Manifest — Pre-Production Research Sources
75
+
76
+ > Files written by the user before the agent cycle.
77
+ > NOT implementation plans — they serve to create real artifacts in `.aioson/context/`.
78
+ > Remain here until the project is fully delivered.
79
+
80
+ ## Consumed sources
81
+
82
+ | File | Consumed by | Date | Artifact produced |
83
+ |------|-------------|------|-------------------|
84
+ | plans/X.md | @sheldon | {ISO-date} | prd-{slug}.md |
85
+ | prds/Y.md | @product | {ISO-date} | prd.md |
86
+ ```
87
+
42
88
  ## PRD target detection (RF-01)
43
89
 
44
90
  Check whether `prd.md` or `prd-{slug}.md` exists in `.aioson/context/`:
@@ -92,6 +138,75 @@ For each source received:
92
138
 
93
139
  After processing all sources: consolidate into an integrated view before analyzing the PRD.
94
140
 
141
+ ## Web intelligence validation (RF-WEB)
142
+
143
+ Run after consolidating sources (RF-04), before gap analysis (RF-05).
144
+
145
+ **Goal**: Verify whether technologies, patterns, and technical decisions mentioned in the PRD are still the best alternatives as of today. Proactive searches with the current date — not dependent on user-provided sources.
146
+
147
+ **Step 1 — Extract technical signals from the PRD:**
148
+ Scan the PRD for decisions that may become stale:
149
+ - Named technologies or frameworks (e.g. "use Redis", "authenticate with JWT")
150
+ - Defined architectural patterns (e.g. "REST API", "event-driven")
151
+ - Named external integrations (Stripe, SendGrid, Firebase, etc.)
152
+ - Stack decisions (e.g. "Node.js backend", "PostgreSQL database")
153
+
154
+ If the PRD contains no specific technical decisions → skip RF-WEB silently.
155
+
156
+ **Step 2 — Search with current date (max 4 queries):**
157
+ For each relevant technical decision identified:
158
+ 1. Check if `researchs/{decision-slug}/summary.md` already exists and was created within the last 7 days → use cached result, do not search again
159
+ 2. If no recent cache: formulate a query including the current year and run WebSearch
160
+ 3. Classify the result: `confirmed` | `has-alternatives` | `outdated` | `deprecated`
161
+
162
+ **Step 3 — Save to `researchs/`:**
163
+ For each search performed, create `researchs/{decision-slug}/summary.md`:
164
+ ```markdown
165
+ ---
166
+ searched_at: {ISO-date}
167
+ agent: sheldon
168
+ prd: prd-{slug}.md
169
+ query: "{query used}"
170
+ verdict: confirmed | has-alternatives | outdated | deprecated
171
+ ---
172
+
173
+ # Research: {decision title}
174
+
175
+ ## Verdict
176
+ [one line with verdict and rationale]
177
+
178
+ ## Findings
179
+ [consolidated summary — max 5 bullets]
180
+
181
+ ## Sources consulted
182
+ - [URL] — [what it provided]
183
+ ```
184
+
185
+ Save raw content from each consulted URL in `researchs/{decision-slug}/files/{source-slug}.md`.
186
+
187
+ **Step 4 — Present only actionable findings:**
188
+ Display to the user only findings with verdict `has-alternatives`, `outdated`, or `deprecated`:
189
+
190
+ ```
191
+ ### 🔍 Web Intelligence — {current date}
192
+
193
+ **[technical decision]** — {verdict}
194
+ → {finding in 1–2 lines}
195
+ → Alternative: {recommended alternative, if any}
196
+ → Source: [URL]
197
+
198
+ Want to incorporate this update into the PRD?
199
+ ```
200
+
201
+ If all findings are `confirmed`:
202
+ > "✓ PRD technical decisions validated against recent research. No updates needed."
203
+
204
+ **Rules:**
205
+ - Max 4 searches per session — focus on decisions with the highest risk of becoming stale
206
+ - Silent checks: if WebSearch fails for a query, log the error in `summary.md` and continue without blocking
207
+ - `confirmed` findings are not shown — just noise
208
+ - The user decides whether to incorporate; Sheldon does not modify the PRD without confirmation
209
+
95
210
  ## Gap analysis and improvements (RF-05)
96
211
 
97
212
  With processed sources, analyze the current PRD and identify:
@@ -413,6 +413,20 @@ Design guidelines:
413
413
  After writing the file:
414
414
  > "Results saved to `output/{squad-slug}/sessions/{session-id}.html` and `output/{squad-slug}/latest.html` — open in any browser."
415
415
 
416
+ ## Recurring tasks (when CronCreate is available)
417
+
418
+ For squads that run on a schedule or need periodic status checks:
419
+
420
+ ```
421
+ CronCreate { schedule: "*/5 * * * *", command: "..." }
422
+ CronList — view active scheduled tasks
423
+ CronDelete — remove when the session ends
424
+ ```
425
+
426
+ Use cases: polling an external API during research, scheduled output snapshots to
427
+ `output/{squad-slug}/`, automated health checks across parallel executor agents.
428
+ Always clean up with `CronDelete` when the session ends.
429
+
416
430
  ## Hard constraints
417
431
 
418
432
  - Do NOT invent domain facts — stay within LLM knowledge or genome-provided content.