aios-core 4.2.15 → 4.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 (329) hide show
  1. package/.aios-core/cli/commands/validate/index.js +1 -1
  2. package/.aios-core/core/code-intel/code-intel-client.js +19 -5
  3. package/.aios-core/core/code-intel/helpers/creation-helper.js +183 -0
  4. package/.aios-core/core/code-intel/helpers/devops-helper.js +166 -0
  5. package/.aios-core/core/code-intel/helpers/planning-helper.js +248 -0
  6. package/.aios-core/core/code-intel/helpers/qa-helper.js +187 -0
  7. package/.aios-core/core/code-intel/helpers/story-helper.js +146 -0
  8. package/.aios-core/core/code-intel/hook-runtime.js +186 -0
  9. package/.aios-core/core/code-intel/index.js +2 -0
  10. package/.aios-core/core/code-intel/providers/code-graph-provider.js +8 -0
  11. package/.aios-core/core/code-intel/providers/provider-interface.js +9 -0
  12. package/.aios-core/core/code-intel/providers/registry-provider.js +515 -0
  13. package/.aios-core/core/config/schemas/framework-config.schema.json +155 -7
  14. package/.aios-core/core/config/schemas/project-config.schema.json +329 -15
  15. package/.aios-core/core/config/template-overrides.js +84 -0
  16. package/.aios-core/core/docs/troubleshooting-guide.md +1 -1
  17. package/.aios-core/core/doctor/checks/agent-memory.js +63 -0
  18. package/.aios-core/core/doctor/checks/claude-md.js +56 -0
  19. package/.aios-core/core/doctor/checks/code-intel.js +131 -0
  20. package/.aios-core/core/doctor/checks/commands-count.js +81 -0
  21. package/.aios-core/core/doctor/checks/core-config.js +53 -0
  22. package/.aios-core/core/doctor/checks/entity-registry.js +53 -0
  23. package/.aios-core/core/doctor/checks/git-hooks.js +50 -0
  24. package/.aios-core/core/doctor/checks/graph-dashboard.js +48 -0
  25. package/.aios-core/core/doctor/checks/hooks-claude-count.js +118 -0
  26. package/.aios-core/core/doctor/checks/ide-sync.js +85 -0
  27. package/.aios-core/core/doctor/checks/index.js +46 -0
  28. package/.aios-core/core/doctor/checks/node-version.js +33 -0
  29. package/.aios-core/core/doctor/checks/npm-packages.js +35 -0
  30. package/.aios-core/core/doctor/checks/rules-files.js +61 -0
  31. package/.aios-core/core/doctor/checks/settings-json.js +121 -0
  32. package/.aios-core/core/doctor/checks/skills-count.js +72 -0
  33. package/.aios-core/core/doctor/fix-handler.js +165 -0
  34. package/.aios-core/core/doctor/formatters/json.js +14 -0
  35. package/.aios-core/core/doctor/formatters/text.js +59 -0
  36. package/.aios-core/core/doctor/index.js +94 -0
  37. package/.aios-core/core/graph-dashboard/cli.js +361 -0
  38. package/.aios-core/core/graph-dashboard/data-sources/code-intel-source.js +234 -0
  39. package/.aios-core/core/graph-dashboard/data-sources/metrics-source.js +95 -0
  40. package/.aios-core/core/graph-dashboard/data-sources/registry-source.js +106 -0
  41. package/.aios-core/core/graph-dashboard/formatters/dot-formatter.js +45 -0
  42. package/.aios-core/core/graph-dashboard/formatters/html-formatter.js +1437 -0
  43. package/.aios-core/core/graph-dashboard/formatters/json-formatter.js +13 -0
  44. package/.aios-core/core/graph-dashboard/formatters/mermaid-formatter.js +59 -0
  45. package/.aios-core/core/graph-dashboard/index.js +21 -0
  46. package/.aios-core/core/graph-dashboard/renderers/stats-renderer.js +217 -0
  47. package/.aios-core/core/graph-dashboard/renderers/status-renderer.js +125 -0
  48. package/.aios-core/core/graph-dashboard/renderers/tree-renderer.js +119 -0
  49. package/.aios-core/core/health-check/base-check.js +1 -1
  50. package/.aios-core/core/health-check/check-registry.js +1 -1
  51. package/.aios-core/core/health-check/checks/deployment/build-config.js +1 -1
  52. package/.aios-core/core/health-check/checks/deployment/ci-config.js +1 -1
  53. package/.aios-core/core/health-check/checks/deployment/deployment-readiness.js +1 -1
  54. package/.aios-core/core/health-check/checks/deployment/docker-config.js +1 -1
  55. package/.aios-core/core/health-check/checks/deployment/env-file.js +1 -1
  56. package/.aios-core/core/health-check/checks/deployment/index.js +1 -1
  57. package/.aios-core/core/health-check/checks/index.js +1 -1
  58. package/.aios-core/core/health-check/checks/local/disk-space.js +1 -1
  59. package/.aios-core/core/health-check/checks/local/environment-vars.js +1 -1
  60. package/.aios-core/core/health-check/checks/local/git-install.js +1 -1
  61. package/.aios-core/core/health-check/checks/local/ide-detection.js +1 -1
  62. package/.aios-core/core/health-check/checks/local/index.js +1 -1
  63. package/.aios-core/core/health-check/checks/local/memory.js +1 -1
  64. package/.aios-core/core/health-check/checks/local/network.js +1 -1
  65. package/.aios-core/core/health-check/checks/local/npm-install.js +1 -1
  66. package/.aios-core/core/health-check/checks/local/shell-environment.js +1 -1
  67. package/.aios-core/core/health-check/checks/project/agent-config.js +1 -1
  68. package/.aios-core/core/health-check/checks/project/aios-directory.js +1 -1
  69. package/.aios-core/core/health-check/checks/project/dependencies.js +1 -1
  70. package/.aios-core/core/health-check/checks/project/framework-config.js +1 -1
  71. package/.aios-core/core/health-check/checks/project/index.js +1 -1
  72. package/.aios-core/core/health-check/checks/project/node-version.js +1 -1
  73. package/.aios-core/core/health-check/checks/project/package-json.js +1 -1
  74. package/.aios-core/core/health-check/checks/project/task-definitions.js +1 -1
  75. package/.aios-core/core/health-check/checks/project/workflow-dependencies.js +1 -1
  76. package/.aios-core/core/health-check/checks/repository/branch-protection.js +1 -1
  77. package/.aios-core/core/health-check/checks/repository/commit-history.js +1 -1
  78. package/.aios-core/core/health-check/checks/repository/conflicts.js +1 -1
  79. package/.aios-core/core/health-check/checks/repository/git-repo.js +1 -1
  80. package/.aios-core/core/health-check/checks/repository/git-status.js +1 -1
  81. package/.aios-core/core/health-check/checks/repository/gitignore.js +1 -1
  82. package/.aios-core/core/health-check/checks/repository/index.js +1 -1
  83. package/.aios-core/core/health-check/checks/repository/large-files.js +1 -1
  84. package/.aios-core/core/health-check/checks/repository/lockfile-integrity.js +1 -1
  85. package/.aios-core/core/health-check/checks/services/api-endpoints.js +1 -1
  86. package/.aios-core/core/health-check/checks/services/claude-code.js +1 -1
  87. package/.aios-core/core/health-check/checks/services/gemini-cli.js +1 -1
  88. package/.aios-core/core/health-check/checks/services/github-cli.js +1 -1
  89. package/.aios-core/core/health-check/checks/services/index.js +1 -1
  90. package/.aios-core/core/health-check/checks/services/mcp-integration.js +1 -1
  91. package/.aios-core/core/health-check/engine.js +1 -1
  92. package/.aios-core/core/health-check/healers/backup-manager.js +1 -1
  93. package/.aios-core/core/health-check/healers/index.js +1 -1
  94. package/.aios-core/core/health-check/index.js +9 -2
  95. package/.aios-core/core/health-check/reporters/console.js +1 -1
  96. package/.aios-core/core/health-check/reporters/index.js +1 -1
  97. package/.aios-core/core/health-check/reporters/json.js +1 -1
  98. package/.aios-core/core/health-check/reporters/markdown.js +1 -1
  99. package/.aios-core/core/ids/layer-classifier.js +65 -0
  100. package/.aios-core/core/ids/registry-updater.js +49 -0
  101. package/.aios-core/core/index.esm.js +1 -1
  102. package/.aios-core/core/index.js +1 -1
  103. package/.aios-core/core/session/context-detector.js +2 -7
  104. package/.aios-core/core/synapse/context/context-tracker.js +9 -1
  105. package/.aios-core/core/synapse/engine.js +33 -13
  106. package/.aios-core/core/synapse/memory/memory-bridge.js +17 -43
  107. package/.aios-core/core/synapse/memory/synapse-memory-provider.js +201 -0
  108. package/.aios-core/core/synapse/runtime/hook-runtime.js +40 -2
  109. package/.aios-core/core/synapse/session/session-manager.js +3 -2
  110. package/.aios-core/core/synapse/utils/atomic-write.js +79 -0
  111. package/.aios-core/core-config.yaml +34 -1
  112. package/.aios-core/data/aios-kb.md +2 -2
  113. package/.aios-core/data/capability-detection.js +290 -0
  114. package/.aios-core/data/entity-registry.yaml +10450 -2129
  115. package/.aios-core/data/mcp-discipline.js +166 -0
  116. package/.aios-core/data/mcp-tool-examples.yaml +215 -0
  117. package/.aios-core/data/tok2-validation.js +168 -0
  118. package/.aios-core/data/tok3-token-comparison.js +123 -0
  119. package/.aios-core/data/tool-registry.yaml +648 -0
  120. package/.aios-core/data/tool-search-validation.js +174 -0
  121. package/.aios-core/data/workflow-chains.yaml +156 -0
  122. package/.aios-core/development/agents/aios-master.md +17 -10
  123. package/.aios-core/development/agents/analyst/MEMORY.md +33 -0
  124. package/.aios-core/development/agents/analyst.md +17 -10
  125. package/.aios-core/development/agents/architect/MEMORY.md +39 -0
  126. package/.aios-core/development/agents/architect.md +17 -10
  127. package/.aios-core/development/agents/data-engineer/MEMORY.md +32 -0
  128. package/.aios-core/development/agents/data-engineer.md +17 -10
  129. package/.aios-core/development/agents/dev/MEMORY.md +46 -0
  130. package/.aios-core/development/agents/dev.md +18 -11
  131. package/.aios-core/development/agents/devops/MEMORY.md +39 -0
  132. package/.aios-core/development/agents/devops.md +44 -10
  133. package/.aios-core/development/agents/pm/MEMORY.md +38 -0
  134. package/.aios-core/development/agents/pm.md +17 -10
  135. package/.aios-core/development/agents/po/MEMORY.md +45 -0
  136. package/.aios-core/development/agents/po.md +17 -10
  137. package/.aios-core/development/agents/qa/MEMORY.md +42 -0
  138. package/.aios-core/development/agents/qa.md +18 -11
  139. package/.aios-core/development/agents/sm/MEMORY.md +31 -0
  140. package/.aios-core/development/agents/sm.md +17 -10
  141. package/.aios-core/development/agents/squad-creator.md +18 -9
  142. package/.aios-core/development/agents/ux/MEMORY.md +31 -0
  143. package/.aios-core/development/agents/ux-design-expert.md +16 -9
  144. package/.aios-core/development/checklists/issue-triage-checklist.md +35 -0
  145. package/.aios-core/development/checklists/memory-audit-checklist.md +53 -0
  146. package/.aios-core/development/scripts/issue-triage.js +171 -0
  147. package/.aios-core/development/scripts/populate-entity-registry.js +412 -19
  148. package/.aios-core/development/scripts/unified-activation-pipeline.js +31 -10
  149. package/.aios-core/development/tasks/analyze-project-structure.md +48 -0
  150. package/.aios-core/development/tasks/apply-qa-fixes.md +7 -0
  151. package/.aios-core/development/tasks/architect-analyze-impact.md +8 -1
  152. package/.aios-core/development/tasks/brownfield-create-epic.md +41 -0
  153. package/.aios-core/development/tasks/brownfield-create-story.md +7 -0
  154. package/.aios-core/development/tasks/build-autonomous.md +7 -0
  155. package/.aios-core/development/tasks/create-deep-research-prompt.md +7 -0
  156. package/.aios-core/development/tasks/create-doc.md +44 -0
  157. package/.aios-core/development/tasks/create-next-story.md +17 -0
  158. package/.aios-core/development/tasks/create-suite.md +7 -0
  159. package/.aios-core/development/tasks/dev-develop-story.md +9 -1
  160. package/.aios-core/development/tasks/execute-checklist.md +7 -0
  161. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +56 -0
  162. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +70 -0
  163. package/.aios-core/development/tasks/github-issue-triage.md +118 -0
  164. package/.aios-core/development/tasks/health-check.yaml +206 -171
  165. package/.aios-core/development/tasks/kb-mode-interaction.md +3 -3
  166. package/.aios-core/development/tasks/plan-create-context.md +47 -1
  167. package/.aios-core/development/tasks/plan-create-implementation.md +55 -0
  168. package/.aios-core/development/tasks/po-close-story.md +7 -0
  169. package/.aios-core/development/tasks/pr-automation.md +5 -5
  170. package/.aios-core/development/tasks/qa-create-fix-request.md +7 -0
  171. package/.aios-core/development/tasks/qa-fix-issues.md +7 -0
  172. package/.aios-core/development/tasks/qa-gate.md +56 -0
  173. package/.aios-core/development/tasks/qa-review-story.md +32 -1
  174. package/.aios-core/development/tasks/release-management.md +7 -0
  175. package/.aios-core/development/tasks/resolve-github-issue.md +608 -0
  176. package/.aios-core/development/tasks/review-contributor-pr.md +152 -0
  177. package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
  178. package/.aios-core/development/tasks/spec-critique.md +8 -0
  179. package/.aios-core/development/tasks/spec-gather-requirements.md +7 -0
  180. package/.aios-core/development/tasks/spec-research-dependencies.md +4 -0
  181. package/.aios-core/development/tasks/spec-write-spec.md +5 -0
  182. package/.aios-core/development/tasks/triage-github-issues.md +356 -0
  183. package/.aios-core/development/tasks/validate-agents.md +4 -0
  184. package/.aios-core/development/tasks/validate-next-story.md +17 -0
  185. package/.aios-core/development/templates/agent-handoff-tmpl.yaml +48 -0
  186. package/.aios-core/development/templates/code-intel-integration-pattern.md +199 -0
  187. package/.aios-core/development/templates/ptc-entity-validation.md +113 -0
  188. package/.aios-core/development/templates/ptc-qa-gate.md +100 -0
  189. package/.aios-core/development/templates/ptc-research-aggregation.md +94 -0
  190. package/.aios-core/development/templates/service-template/README.md.hbs +158 -158
  191. package/.aios-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  192. package/.aios-core/development/templates/service-template/client.ts.hbs +403 -403
  193. package/.aios-core/development/templates/service-template/errors.ts.hbs +182 -182
  194. package/.aios-core/development/templates/service-template/index.ts.hbs +120 -120
  195. package/.aios-core/development/templates/service-template/package.json.hbs +87 -87
  196. package/.aios-core/development/templates/service-template/types.ts.hbs +145 -145
  197. package/.aios-core/development/templates/squad/agent-template.md +11 -0
  198. package/.aios-core/development/templates/squad/task-template.md +21 -0
  199. package/.aios-core/development/templates/squad-template/LICENSE +21 -21
  200. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +1 -1
  201. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1 -1
  202. package/.aios-core/framework-config.yaml +8 -0
  203. package/.aios-core/index.esm.js +1 -1
  204. package/.aios-core/index.js +1 -1
  205. package/.aios-core/infrastructure/integrations/ai-providers/index.js +1 -1
  206. package/.aios-core/infrastructure/schemas/task-v3-schema.json +6 -0
  207. package/.aios-core/infrastructure/scripts/collect-tool-usage.js +311 -0
  208. package/.aios-core/infrastructure/scripts/generate-optimization-report.js +497 -0
  209. package/.aios-core/infrastructure/scripts/generate-settings-json.js +300 -0
  210. package/.aios-core/infrastructure/scripts/git-config-detector.js +65 -9
  211. package/.aios-core/infrastructure/scripts/ide-sync/index.js +3 -1
  212. package/.aios-core/infrastructure/scripts/ide-sync/transformers/github-copilot.js +184 -0
  213. package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
  214. package/.aios-core/infrastructure/templates/aios-sync.yaml.template +182 -182
  215. package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  216. package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  217. package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  218. package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  219. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
  220. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  221. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  222. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  223. package/.aios-core/install-manifest.yaml +613 -305
  224. package/.aios-core/lib/build.json +1 -0
  225. package/.aios-core/local-config.yaml.template +71 -71
  226. package/.aios-core/monitor/hooks/lib/__init__.py +1 -1
  227. package/.aios-core/monitor/hooks/lib/enrich.py +58 -58
  228. package/.aios-core/monitor/hooks/lib/send_event.py +47 -47
  229. package/.aios-core/monitor/hooks/notification.py +29 -29
  230. package/.aios-core/monitor/hooks/post_tool_use.py +45 -45
  231. package/.aios-core/monitor/hooks/pre_compact.py +29 -29
  232. package/.aios-core/monitor/hooks/pre_tool_use.py +40 -40
  233. package/.aios-core/monitor/hooks/stop.py +29 -29
  234. package/.aios-core/monitor/hooks/subagent_stop.py +29 -29
  235. package/.aios-core/monitor/hooks/user_prompt_submit.py +38 -38
  236. package/.aios-core/product/templates/adr.hbs +125 -125
  237. package/.aios-core/product/templates/dbdr.hbs +241 -241
  238. package/.aios-core/product/templates/epic.hbs +212 -212
  239. package/.aios-core/product/templates/ide-rules/claude-rules.md +125 -0
  240. package/.aios-core/product/templates/pmdr.hbs +186 -186
  241. package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
  242. package/.aios-core/product/templates/prd.hbs +201 -201
  243. package/.aios-core/product/templates/story.hbs +263 -263
  244. package/.aios-core/product/templates/task.hbs +170 -170
  245. package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  246. package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
  247. package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  248. package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  249. package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
  250. package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
  251. package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
  252. package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
  253. package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
  254. package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
  255. package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  256. package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
  257. package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
  258. package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
  259. package/.aios-core/product/templates/tmpl-view.sql +177 -177
  260. package/.aios-core/scripts/pm.sh +0 -0
  261. package/.aios-core/user-guide.md +15 -15
  262. package/.aios-core/utils/filters/constants.js +10 -0
  263. package/.aios-core/utils/filters/content-filter.js +223 -0
  264. package/.aios-core/utils/filters/field-filter.js +126 -0
  265. package/.aios-core/utils/filters/index.js +180 -0
  266. package/.aios-core/utils/filters/schema-filter.js +157 -0
  267. package/.claude/CLAUDE.md +62 -0
  268. package/.claude/hooks/enforce-architecture-first.py +196 -196
  269. package/.claude/hooks/enforce-git-push-authority.sh +33 -0
  270. package/.claude/hooks/mind-clone-governance.py +192 -192
  271. package/.claude/hooks/read-protection.py +151 -151
  272. package/.claude/hooks/slug-validation.py +176 -176
  273. package/.claude/hooks/sql-governance.py +182 -182
  274. package/.claude/hooks/synapse-engine.cjs +28 -5
  275. package/.claude/hooks/write-path-validation.py +194 -194
  276. package/.claude/rules/agent-authority.md +105 -0
  277. package/.claude/rules/agent-handoff.md +97 -0
  278. package/.claude/rules/agent-memory-imports.md +15 -0
  279. package/.claude/rules/coderabbit-integration.md +101 -0
  280. package/.claude/rules/ids-principles.md +119 -0
  281. package/.claude/rules/story-lifecycle.md +145 -0
  282. package/.claude/rules/tool-examples.md +64 -0
  283. package/.claude/rules/tool-response-filtering.md +57 -0
  284. package/.claude/rules/workflow-execution.md +150 -0
  285. package/LICENSE +33 -33
  286. package/bin/aios-graph.js +9 -0
  287. package/bin/aios-init.js +2 -2
  288. package/bin/aios-minimal.js +0 -0
  289. package/bin/aios.js +17 -221
  290. package/bin/utils/detect-fsmonitor.js +70 -0
  291. package/bin/utils/framework-guard.js +238 -0
  292. package/bin/utils/validate-publish.js +108 -0
  293. package/package.json +6 -3
  294. package/packages/aios-install/bin/aios-install.js +0 -0
  295. package/packages/aios-install/bin/edmcp.js +0 -0
  296. package/packages/aios-pro-cli/bin/aios-pro.js +2 -0
  297. package/packages/installer/src/config/templates/core-config-template.js +25 -0
  298. package/packages/installer/src/installer/brownfield-upgrader.js +68 -5
  299. package/packages/installer/src/merger/index.js +3 -0
  300. package/packages/installer/src/merger/strategies/index.js +6 -0
  301. package/packages/installer/src/merger/strategies/yaml-merger.js +181 -0
  302. package/packages/installer/src/updater/index.js +4 -4
  303. package/packages/installer/src/wizard/i18n.js +321 -3
  304. package/packages/installer/src/wizard/ide-config-generator.js +173 -25
  305. package/packages/installer/src/wizard/index.js +119 -1
  306. package/packages/installer/src/wizard/pro-setup.js +137 -121
  307. package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +271 -0
  308. package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +192 -0
  309. package/packages/installer/tests/unit/doctor/doctor-checks.test.js +610 -0
  310. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +134 -0
  311. package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +186 -0
  312. package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +309 -0
  313. package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +230 -0
  314. package/packages/installer/tests/unit/merger/strategies.test.js +2 -2
  315. package/packages/installer/tests/unit/merger/yaml-merger.test.js +327 -0
  316. package/scripts/check-markdown-links.py +352 -352
  317. package/scripts/dashboard-parallel-dev.sh +0 -0
  318. package/scripts/dashboard-parallel-phase3.sh +0 -0
  319. package/scripts/dashboard-parallel-phase4.sh +0 -0
  320. package/scripts/install-monitor-hooks.sh +0 -0
  321. package/scripts/package-synapse.js +2 -1
  322. package/pro/README.md +0 -66
  323. package/pro/license/degradation.js +0 -220
  324. package/pro/license/errors.js +0 -450
  325. package/pro/license/feature-gate.js +0 -354
  326. package/pro/license/index.js +0 -181
  327. package/pro/license/license-api.js +0 -651
  328. package/pro/license/license-cache.js +0 -523
  329. package/pro/license/license-crypto.js +0 -303
@@ -1,194 +1,194 @@
1
- #!/usr/bin/env python3
2
- """
3
- Hook: Write Path Validation
4
-
5
- REGRA: Documentos devem ir para os paths corretos conforme convenções.
6
-
7
- Este hook intercepta Write/Edit e AVISA (não bloqueia) quando o path
8
- parece violar as convenções de organização de documentos.
9
-
10
- Exit Codes:
11
- - 0: Sempre (apenas avisa, nunca bloqueia)
12
- """
13
-
14
- import json
15
- import sys
16
- import os
17
- import re
18
- from datetime import datetime
19
-
20
- # =============================================================================
21
- # CONFIGURAÇÃO: Regras de organização de documentos
22
- # =============================================================================
23
-
24
- PATH_RULES = [
25
- # (pattern no nome/conteúdo, path esperado, descrição)
26
- {
27
- "name_patterns": [r"session", r"handoff", r"^2\d{3}-\d{2}-\d{2}"],
28
- "expected_path": "docs/sessions/",
29
- "description": "Session logs e handoffs → docs/sessions/YYYY-MM/",
30
- },
31
- {
32
- "name_patterns": [r"architecture", r"system-design", r"infra"],
33
- "expected_path": "docs/architecture/",
34
- "description": "Docs de arquitetura → docs/architecture/",
35
- "exclude_patterns": [r"ARCHITECTURE_RULES"], # Exceção para MMOS
36
- },
37
- {
38
- "name_patterns": [r"guide", r"tutorial", r"how-to"],
39
- "expected_path": "docs/guides/",
40
- "description": "Guias e tutoriais → docs/guides/",
41
- },
42
- {
43
- "name_patterns": [r"prd\.md$", r"epic.*\.md$", r"story.*\.md$"],
44
- "expected_path": "docs/projects/",
45
- "description": "PRDs, Epics, Stories → docs/projects/{project}/",
46
- },
47
- {
48
- "name_patterns": [r"mind.*specific", r"mind.*validation"],
49
- "expected_path": "outputs/minds/",
50
- "description": "Docs específicos de mind → outputs/minds/{slug}/docs/",
51
- },
52
- ]
53
-
54
- # Paths que são sempre válidos (não avisar)
55
- ALWAYS_VALID_PATHS = [
56
- ".claude/",
57
- ".aios-core/",
58
- ".aios-upstream/",
59
- "squads/",
60
- "node_modules/",
61
- ".git/",
62
- "app/",
63
- "supabase/",
64
- "outputs/",
65
- ]
66
-
67
- # =============================================================================
68
- # LÓGICA DO HOOK
69
- # =============================================================================
70
-
71
- def get_project_root():
72
- """Obtém o root do projeto."""
73
- return os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
74
-
75
- def normalize_path(file_path: str, project_root: str) -> str:
76
- """Normaliza path para relativo."""
77
- if file_path.startswith(project_root):
78
- return file_path[len(project_root):].lstrip("/")
79
- return file_path
80
-
81
- def is_always_valid(relative_path: str) -> bool:
82
- """Verifica se o path está em área sempre válida."""
83
- for valid in ALWAYS_VALID_PATHS:
84
- if relative_path.startswith(valid):
85
- return True
86
- return False
87
-
88
- def is_documentation_file(relative_path: str) -> bool:
89
- """Verifica se é um arquivo de documentação."""
90
- doc_extensions = [".md", ".mdx", ".txt", ".rst"]
91
- return any(relative_path.endswith(ext) for ext in doc_extensions)
92
-
93
- def check_path_rules(relative_path: str) -> list[dict]:
94
- """
95
- Verifica se o path viola alguma regra.
96
-
97
- Returns:
98
- Lista de violações com sugestões
99
- """
100
- violations = []
101
- filename = os.path.basename(relative_path)
102
-
103
- for rule in PATH_RULES:
104
- # Verificar se o nome do arquivo corresponde ao pattern
105
- matches_name = False
106
- for pattern in rule["name_patterns"]:
107
- if re.search(pattern, filename, re.IGNORECASE):
108
- matches_name = True
109
- break
110
-
111
- if not matches_name:
112
- continue
113
-
114
- # Verificar exceções
115
- if "exclude_patterns" in rule:
116
- is_excluded = False
117
- for exc_pattern in rule["exclude_patterns"]:
118
- if re.search(exc_pattern, filename, re.IGNORECASE):
119
- is_excluded = True
120
- break
121
- if is_excluded:
122
- continue
123
-
124
- # Verificar se está no path esperado
125
- expected = rule["expected_path"]
126
- if not relative_path.startswith(expected):
127
- violations.append({
128
- "current_path": relative_path,
129
- "expected_path": expected,
130
- "description": rule["description"],
131
- })
132
-
133
- return violations
134
-
135
- def main():
136
- # Ler input do stdin
137
- try:
138
- input_data = json.load(sys.stdin)
139
- except json.JSONDecodeError:
140
- sys.exit(0)
141
-
142
- tool_name = input_data.get("tool_name", "")
143
- tool_input = input_data.get("tool_input", {})
144
-
145
- # Só processar Write e Edit
146
- if tool_name not in ["Write", "Edit"]:
147
- sys.exit(0)
148
-
149
- file_path = tool_input.get("file_path", "")
150
- if not file_path:
151
- sys.exit(0)
152
-
153
- # Normalizar path
154
- project_root = get_project_root()
155
- relative_path = normalize_path(file_path, project_root)
156
-
157
- # Verificar se é área sempre válida
158
- if is_always_valid(relative_path):
159
- sys.exit(0)
160
-
161
- # Só verificar arquivos de documentação
162
- if not is_documentation_file(relative_path):
163
- sys.exit(0)
164
-
165
- # Verificar regras
166
- violations = check_path_rules(relative_path)
167
-
168
- if not violations:
169
- sys.exit(0)
170
-
171
- # AVISAR (não bloquear)
172
- violation = violations[0] # Mostrar primeira violação
173
-
174
- warning_message = f"""
175
- ┌──────────────────────────────────────────────────────────────────────────────┐
176
- │ ⚠️ PATH WARNING: Documento pode estar no local errado │
177
- ├──────────────────────────────────────────────────────────────────────────────┤
178
- │ │
179
- │ Arquivo: {relative_path[:60]:<60} │
180
- │ │
181
- │ Convenção: {violation['description'][:56]:<56} │
182
- │ Esperado: {violation['expected_path']:<57} │
183
- │ │
184
- │ NOTA: Este é apenas um AVISO, a operação será executada. │
185
- │ Verifique se o path está correto antes de continuar. │
186
- │ │
187
- └──────────────────────────────────────────────────────────────────────────────┘
188
- """
189
- # Imprimir warning mas NÃO bloquear (exit 0)
190
- print(warning_message, file=sys.stderr)
191
- sys.exit(0)
192
-
193
- if __name__ == "__main__":
194
- main()
1
+ #!/usr/bin/env python3
2
+ """
3
+ Hook: Write Path Validation
4
+
5
+ REGRA: Documentos devem ir para os paths corretos conforme convenções.
6
+
7
+ Este hook intercepta Write/Edit e AVISA (não bloqueia) quando o path
8
+ parece violar as convenções de organização de documentos.
9
+
10
+ Exit Codes:
11
+ - 0: Sempre (apenas avisa, nunca bloqueia)
12
+ """
13
+
14
+ import json
15
+ import sys
16
+ import os
17
+ import re
18
+ from datetime import datetime
19
+
20
+ # =============================================================================
21
+ # CONFIGURAÇÃO: Regras de organização de documentos
22
+ # =============================================================================
23
+
24
+ PATH_RULES = [
25
+ # (pattern no nome/conteúdo, path esperado, descrição)
26
+ {
27
+ "name_patterns": [r"session", r"handoff", r"^2\d{3}-\d{2}-\d{2}"],
28
+ "expected_path": "docs/sessions/",
29
+ "description": "Session logs e handoffs → docs/sessions/YYYY-MM/",
30
+ },
31
+ {
32
+ "name_patterns": [r"architecture", r"system-design", r"infra"],
33
+ "expected_path": "docs/architecture/",
34
+ "description": "Docs de arquitetura → docs/architecture/",
35
+ "exclude_patterns": [r"ARCHITECTURE_RULES"], # Exceção para MMOS
36
+ },
37
+ {
38
+ "name_patterns": [r"guide", r"tutorial", r"how-to"],
39
+ "expected_path": "docs/guides/",
40
+ "description": "Guias e tutoriais → docs/guides/",
41
+ },
42
+ {
43
+ "name_patterns": [r"prd\.md$", r"epic.*\.md$", r"story.*\.md$"],
44
+ "expected_path": "docs/projects/",
45
+ "description": "PRDs, Epics, Stories → docs/projects/{project}/",
46
+ },
47
+ {
48
+ "name_patterns": [r"mind.*specific", r"mind.*validation"],
49
+ "expected_path": "outputs/minds/",
50
+ "description": "Docs específicos de mind → outputs/minds/{slug}/docs/",
51
+ },
52
+ ]
53
+
54
+ # Paths que são sempre válidos (não avisar)
55
+ ALWAYS_VALID_PATHS = [
56
+ ".claude/",
57
+ ".aios-core/",
58
+ ".aios-upstream/",
59
+ "squads/",
60
+ "node_modules/",
61
+ ".git/",
62
+ "app/",
63
+ "supabase/",
64
+ "outputs/",
65
+ ]
66
+
67
+ # =============================================================================
68
+ # LÓGICA DO HOOK
69
+ # =============================================================================
70
+
71
+ def get_project_root():
72
+ """Obtém o root do projeto."""
73
+ return os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
74
+
75
+ def normalize_path(file_path: str, project_root: str) -> str:
76
+ """Normaliza path para relativo."""
77
+ if file_path.startswith(project_root):
78
+ return file_path[len(project_root):].lstrip("/")
79
+ return file_path
80
+
81
+ def is_always_valid(relative_path: str) -> bool:
82
+ """Verifica se o path está em área sempre válida."""
83
+ for valid in ALWAYS_VALID_PATHS:
84
+ if relative_path.startswith(valid):
85
+ return True
86
+ return False
87
+
88
+ def is_documentation_file(relative_path: str) -> bool:
89
+ """Verifica se é um arquivo de documentação."""
90
+ doc_extensions = [".md", ".mdx", ".txt", ".rst"]
91
+ return any(relative_path.endswith(ext) for ext in doc_extensions)
92
+
93
+ def check_path_rules(relative_path: str) -> list[dict]:
94
+ """
95
+ Verifica se o path viola alguma regra.
96
+
97
+ Returns:
98
+ Lista de violações com sugestões
99
+ """
100
+ violations = []
101
+ filename = os.path.basename(relative_path)
102
+
103
+ for rule in PATH_RULES:
104
+ # Verificar se o nome do arquivo corresponde ao pattern
105
+ matches_name = False
106
+ for pattern in rule["name_patterns"]:
107
+ if re.search(pattern, filename, re.IGNORECASE):
108
+ matches_name = True
109
+ break
110
+
111
+ if not matches_name:
112
+ continue
113
+
114
+ # Verificar exceções
115
+ if "exclude_patterns" in rule:
116
+ is_excluded = False
117
+ for exc_pattern in rule["exclude_patterns"]:
118
+ if re.search(exc_pattern, filename, re.IGNORECASE):
119
+ is_excluded = True
120
+ break
121
+ if is_excluded:
122
+ continue
123
+
124
+ # Verificar se está no path esperado
125
+ expected = rule["expected_path"]
126
+ if not relative_path.startswith(expected):
127
+ violations.append({
128
+ "current_path": relative_path,
129
+ "expected_path": expected,
130
+ "description": rule["description"],
131
+ })
132
+
133
+ return violations
134
+
135
+ def main():
136
+ # Ler input do stdin
137
+ try:
138
+ input_data = json.load(sys.stdin)
139
+ except json.JSONDecodeError:
140
+ sys.exit(0)
141
+
142
+ tool_name = input_data.get("tool_name", "")
143
+ tool_input = input_data.get("tool_input", {})
144
+
145
+ # Só processar Write e Edit
146
+ if tool_name not in ["Write", "Edit"]:
147
+ sys.exit(0)
148
+
149
+ file_path = tool_input.get("file_path", "")
150
+ if not file_path:
151
+ sys.exit(0)
152
+
153
+ # Normalizar path
154
+ project_root = get_project_root()
155
+ relative_path = normalize_path(file_path, project_root)
156
+
157
+ # Verificar se é área sempre válida
158
+ if is_always_valid(relative_path):
159
+ sys.exit(0)
160
+
161
+ # Só verificar arquivos de documentação
162
+ if not is_documentation_file(relative_path):
163
+ sys.exit(0)
164
+
165
+ # Verificar regras
166
+ violations = check_path_rules(relative_path)
167
+
168
+ if not violations:
169
+ sys.exit(0)
170
+
171
+ # AVISAR (não bloquear)
172
+ violation = violations[0] # Mostrar primeira violação
173
+
174
+ warning_message = f"""
175
+ ┌──────────────────────────────────────────────────────────────────────────────┐
176
+ │ ⚠️ PATH WARNING: Documento pode estar no local errado │
177
+ ├──────────────────────────────────────────────────────────────────────────────┤
178
+ │ │
179
+ │ Arquivo: {relative_path[:60]:<60} │
180
+ │ │
181
+ │ Convenção: {violation['description'][:56]:<56} │
182
+ │ Esperado: {violation['expected_path']:<57} │
183
+ │ │
184
+ │ NOTA: Este é apenas um AVISO, a operação será executada. │
185
+ │ Verifique se o path está correto antes de continuar. │
186
+ │ │
187
+ └──────────────────────────────────────────────────────────────────────────────┘
188
+ """
189
+ # Imprimir warning mas NÃO bloquear (exit 0)
190
+ print(warning_message, file=sys.stderr)
191
+ sys.exit(0)
192
+
193
+ if __name__ == "__main__":
194
+ main()
@@ -0,0 +1,105 @@
1
+ # Agent Authority — Detailed Rules
2
+
3
+ ## Delegation Matrix
4
+
5
+ ### @devops (Gage) — EXCLUSIVE Authority
6
+
7
+ | Operation | Exclusive? | Other Agents |
8
+ |-----------|-----------|--------------|
9
+ | `git push` / `git push --force` | YES | BLOCKED |
10
+ | `gh pr create` / `gh pr merge` | YES | BLOCKED |
11
+ | MCP add/remove/configure | YES | BLOCKED |
12
+ | CI/CD pipeline management | YES | BLOCKED |
13
+ | Release management | YES | BLOCKED |
14
+
15
+ ### @pm (Morgan) — Epic Orchestration
16
+
17
+ | Operation | Exclusive? | Delegated From |
18
+ |-----------|-----------|---------------|
19
+ | `*execute-epic` | YES | — |
20
+ | `*create-epic` | YES | — |
21
+ | EPIC-{ID}-EXECUTION.yaml management | YES | — |
22
+ | Requirements gathering | YES | — |
23
+ | Spec writing (spec pipeline) | YES | — |
24
+
25
+ ### @po (Pax) — Story Validation
26
+
27
+ | Operation | Exclusive? | Details |
28
+ |-----------|-----------|---------|
29
+ | `*validate-story-draft` | YES | 10-point checklist |
30
+ | Story context tracking in epics | YES | — |
31
+ | Epic context management | YES | — |
32
+ | Backlog prioritization | YES | — |
33
+
34
+ ### @sm (River) — Story Creation
35
+
36
+ | Operation | Exclusive? | Details |
37
+ |-----------|-----------|---------|
38
+ | `*draft` / `*create-story` | YES | From epic/PRD |
39
+ | Story template selection | YES | — |
40
+
41
+ ### @dev (Dex) — Implementation
42
+
43
+ | Allowed | Blocked |
44
+ |---------|---------|
45
+ | `git add`, `git commit`, `git status` | `git push` (delegate to @devops) |
46
+ | `git branch`, `git checkout`, `git merge` (local) | `gh pr create/merge` (delegate to @devops) |
47
+ | `git stash`, `git diff`, `git log` | MCP management |
48
+ | Story file updates (File List, checkboxes) | Story file updates (AC, scope, title) |
49
+
50
+ ### @architect (Aria) — Design Authority
51
+
52
+ | Owns | Delegates To |
53
+ |------|-------------|
54
+ | System architecture decisions | — |
55
+ | Technology selection | — |
56
+ | High-level data architecture | @data-engineer (detailed DDL) |
57
+ | Integration patterns | @data-engineer (query optimization) |
58
+ | Complexity assessment | — |
59
+
60
+ ### @data-engineer (Dara) — Database
61
+
62
+ | Owns (delegated from @architect) | Does NOT Own |
63
+ |----------------------------------|-------------|
64
+ | Schema design (detailed DDL) | System architecture |
65
+ | Query optimization | Application code |
66
+ | RLS policies implementation | Git operations |
67
+ | Index strategy execution | Frontend/UI |
68
+ | Migration planning & execution | — |
69
+
70
+ ### @aios-master — Framework Governance
71
+
72
+ | Capability | Details |
73
+ |-----------|---------|
74
+ | Execute ANY task directly | No restrictions |
75
+ | Framework governance | Constitutional enforcement |
76
+ | Override agent boundaries | When necessary for framework health |
77
+
78
+ ## Cross-Agent Delegation Patterns
79
+
80
+ ### Git Push Flow
81
+ ```
82
+ ANY agent → @devops *push
83
+ ```
84
+
85
+ ### Schema Design Flow
86
+ ```
87
+ @architect (decides technology) → @data-engineer (implements DDL)
88
+ ```
89
+
90
+ ### Story Flow
91
+ ```
92
+ @sm *draft → @po *validate → @dev *develop → @qa *qa-gate → @devops *push
93
+ ```
94
+
95
+ ### Epic Flow
96
+ ```
97
+ @pm *create-epic → @pm *execute-epic → @sm *draft (per story)
98
+ ```
99
+
100
+ ## Escalation Rules
101
+
102
+ 1. Agent cannot complete task → Escalate to @aios-master
103
+ 2. Quality gate fails → Return to @dev with specific feedback
104
+ 3. Constitutional violation detected → BLOCK, require fix before proceed
105
+ 4. Agent boundary conflict → @aios-master mediates
@@ -0,0 +1,97 @@
1
+ # Agent Handoff Protocol — Context Compaction
2
+
3
+ ## Purpose
4
+
5
+ Prevent context window accumulation when switching between AIOS agents (`@agent` commands). Each agent switch compacts the previous agent's full persona into a structured handoff artifact (~379 tokens) instead of retaining the full definition (~3-5K tokens).
6
+
7
+ ## When This Applies
8
+
9
+ This protocol activates whenever:
10
+ 1. A user invokes a new agent via `@agent-name` or `/AIOS:agents:agent-name`
11
+ 2. The current session already has a different agent active
12
+
13
+ ## Handoff Protocol
14
+
15
+ ### On Agent Switch (outgoing agent)
16
+
17
+ Before loading the new agent, mentally generate a handoff artifact with:
18
+
19
+ ```yaml
20
+ handoff:
21
+ from_agent: "{current_agent_id}"
22
+ to_agent: "{new_agent_id}"
23
+ story_context:
24
+ story_id: "{active story ID}"
25
+ story_path: "{active story path}"
26
+ story_status: "{current status}"
27
+ current_task: "{last task being worked on}"
28
+ branch: "{current git branch}"
29
+ decisions:
30
+ - "{key decision 1}"
31
+ - "{key decision 2}"
32
+ files_modified:
33
+ - "{file 1}"
34
+ - "{file 2}"
35
+ blockers:
36
+ - "{any active blockers}"
37
+ next_action: "{what the incoming agent should do}"
38
+ ```
39
+
40
+ ### On Agent Switch (incoming agent)
41
+
42
+ The incoming agent receives:
43
+ 1. Its own **full agent profile** (persona, commands, dependencies)
44
+ 2. The **handoff artifact** from the previous agent (compact summary)
45
+ 3. **NOT** the previous agent's full persona/instructions/tool definitions
46
+
47
+ ### Compaction Limits
48
+
49
+ | Limit | Value |
50
+ |-------|-------|
51
+ | Max handoff artifact size | 500 tokens |
52
+ | Max retained agent summaries | 3 (oldest discarded on 4th switch) |
53
+ | Max decisions in artifact | 5 |
54
+ | Max files_modified entries | 10 |
55
+ | Max blockers | 3 |
56
+
57
+ ### What to Preserve (ALWAYS include)
58
+
59
+ - Active story ID and path
60
+ - Current task being worked on
61
+ - Git branch name
62
+ - Key architectural decisions made
63
+ - Files created or modified
64
+ - Active blockers
65
+
66
+ ### What to Discard (NEVER carry forward)
67
+
68
+ - Previous agent's full persona definition
69
+ - Previous agent's command list
70
+ - Previous agent's dependency list
71
+ - Previous agent's tool configurations
72
+ - Previous agent's CodeRabbit integration details
73
+ - Previous agent's greeting templates
74
+
75
+ ## Storage
76
+
77
+ Handoff artifacts are stored at `.aios/handoffs/` (runtime, gitignored). Format: `handoff-{from}-to-{to}-{timestamp}.yaml`.
78
+
79
+ ## Template Reference
80
+
81
+ Full template: `.aios-core/development/templates/agent-handoff-tmpl.yaml`
82
+
83
+ ## Example
84
+
85
+ Session flow: `@sm` creates story → `@dev` implements → `@qa` reviews
86
+
87
+ After `@sm` → `@dev` switch:
88
+ - `@sm` full persona (~3K tokens) is **discarded**
89
+ - Handoff artifact (~379 tokens) is **retained**: story ID, decisions, files, next action
90
+ - `@dev` full persona (~5K tokens) is **loaded**
91
+ - **Total context: ~5.4K** instead of ~8K (33% reduction per switch)
92
+
93
+ After `@dev` → `@qa` switch:
94
+ - `@dev` full persona is **discarded**
95
+ - `@dev` handoff artifact is **retained** alongside `@sm` handoff
96
+ - `@qa` full persona is **loaded**
97
+ - **Total context: ~5.2K** instead of ~12K (57% reduction after 2 switches)
@@ -0,0 +1,15 @@
1
+ ---
2
+ paths: .aios-core/development/agents/**
3
+ ---
4
+
5
+ # Agent Memory Imports
6
+
7
+ Each AIOS agent has a canonical MEMORY.md containing persistent knowledge.
8
+ These are the canonical locations — agents should read their memory on activation.
9
+
10
+ @import .aios-core/development/agents/dev/MEMORY.md
11
+ @import .aios-core/development/agents/qa/MEMORY.md
12
+ @import .aios-core/development/agents/architect/MEMORY.md
13
+ @import .aios-core/development/agents/devops/MEMORY.md
14
+ @import .aios-core/development/agents/pm/MEMORY.md
15
+ @import .aios-core/development/agents/po/MEMORY.md