@event4u/agent-config 9.7.0 → 9.9.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 (901) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +314 -190
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +57 -11
  6. package/dist/agent-src/commands/agents/audit.md +1 -1
  7. package/dist/agent-src/commands/agents/optimize.md +2 -2
  8. package/dist/agent-src/commands/agents/user.md +1 -1
  9. package/dist/agent-src/commands/agents.md +1 -1
  10. package/dist/agent-src/commands/check-current-md.md +3 -3
  11. package/dist/agent-src/commands/commit/in-chunks.md +8 -0
  12. package/dist/agent-src/commands/commit.md +17 -0
  13. package/dist/agent-src/commands/fix/portability.md +2 -2
  14. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  15. package/dist/agent-src/commands/fix/refs.md +2 -2
  16. package/dist/agent-src/commands/fix/route.md +4 -3
  17. package/dist/agent-src/commands/fix.md +9 -6
  18. package/dist/agent-src/commands/ghostwriter.md +1 -1
  19. package/dist/agent-src/commands/image.md +1 -1
  20. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  21. package/dist/agent-src/commands/optimize/skills.md +2 -2
  22. package/dist/agent-src/commands/post-as.md +1 -1
  23. package/dist/agent-src/commands/pr/create.md +4 -0
  24. package/dist/agent-src/commands/research.md +1 -1
  25. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  26. package/dist/agent-src/commands/security-audit-config.md +1 -1
  27. package/dist/agent-src/commands/team/delegate.md +4 -0
  28. package/dist/agent-src/commands/video.md +1 -1
  29. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  30. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  31. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  32. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  33. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  34. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  35. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  36. package/dist/agent-src/contexts/override-system.md +75 -5
  37. package/dist/agent-src/rules/code-provenance.md +112 -0
  38. package/dist/agent-src/rules/context-hygiene.md +2 -0
  39. package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
  40. package/dist/agent-src/rules/domain-safety-pii.md +1 -0
  41. package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
  42. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
  43. package/dist/agent-src/rules/git-history-discipline.md +2 -0
  44. package/dist/agent-src/rules/history-discipline.md +80 -0
  45. package/dist/agent-src/rules/language-and-tone.md +2 -0
  46. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
  47. package/dist/agent-src/rules/media-governance-routing.md +2 -0
  48. package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
  49. package/dist/agent-src/rules/no-roadmap-references.md +4 -1
  50. package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
  51. package/dist/agent-src/rules/onboarding-gate.md +2 -0
  52. package/dist/agent-src/rules/output-discipline.md +2 -0
  53. package/dist/agent-src/rules/persona-governance.md +2 -0
  54. package/dist/agent-src/rules/php-coding.md +1 -0
  55. package/dist/agent-src/rules/preservation-guard.md +3 -0
  56. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  57. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  58. package/dist/agent-src/rules/roadmap-progress-sync.md +9 -0
  59. package/dist/agent-src/rules/scale-discipline.md +92 -0
  60. package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
  61. package/dist/agent-src/rules/security-sensitive-stop.md +11 -1
  62. package/dist/agent-src/rules/session-canary.md +77 -0
  63. package/dist/agent-src/rules/skill-quality.md +2 -0
  64. package/dist/agent-src/rules/source-confidentiality.md +2 -0
  65. package/dist/agent-src/rules/source-of-truth.md +2 -0
  66. package/dist/agent-src/rules/telegraph-speak.md +2 -0
  67. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -1
  68. package/dist/agent-src/rules/tool-safety.md +4 -1
  69. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  70. package/dist/agent-src/rules/verify-before-complete.md +2 -0
  71. package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
  72. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  73. package/dist/agent-src/skills/code-intelligence/SKILL.md +97 -0
  74. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  75. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  76. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  77. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  78. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  79. package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
  80. package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
  81. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  82. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  83. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  84. package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
  85. package/dist/agent-src/skills/image-editing/SKILL.md +2 -1
  86. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  87. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  88. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  89. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  90. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  91. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  92. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  93. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  94. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  95. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  96. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  97. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  98. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  99. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  100. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  101. package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
  102. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  103. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  104. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  105. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  106. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  107. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  108. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  109. package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
  110. package/dist/agent-src/skills/secrets-management/SKILL.md +43 -1
  111. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  112. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  113. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  114. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  115. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  116. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  117. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  118. package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
  119. package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
  120. package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
  121. package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
  122. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
  123. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
  124. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
  125. package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
  126. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  127. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  128. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  129. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
  130. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  131. package/dist/agent-src/templates/AGENTS.md +1 -1
  132. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  133. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  134. package/dist/agent-src/templates/command.md +3 -3
  135. package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
  136. package/dist/agent-src/templates/persona.md +2 -2
  137. package/dist/agent-src/templates/rule.md +2 -2
  138. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  139. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  140. package/dist/cli/commands/doctorShell.js +20 -0
  141. package/dist/cli/commands/doctorShell.js.map +1 -1
  142. package/dist/cli/commands/rtkDetect.js +58 -0
  143. package/dist/cli/commands/rtkDetect.js.map +1 -0
  144. package/dist/cli/configRoot.js +112 -0
  145. package/dist/cli/configRoot.js.map +1 -0
  146. package/dist/cli/configRoot.test.js +97 -0
  147. package/dist/cli/configRoot.test.js.map +1 -0
  148. package/dist/cli/firstRunNotice.js +70 -0
  149. package/dist/cli/firstRunNotice.js.map +1 -0
  150. package/dist/cli/help.js +4 -1
  151. package/dist/cli/help.js.map +1 -1
  152. package/dist/cli/main.js +54 -5
  153. package/dist/cli/main.js.map +1 -1
  154. package/dist/cli/registry.js +8 -1
  155. package/dist/cli/registry.js.map +1 -1
  156. package/dist/discovery/deprecation-report.md +1 -1
  157. package/dist/discovery/discovery-manifest.json +502 -101
  158. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  159. package/dist/discovery/discovery-manifest.summary.md +6 -4
  160. package/dist/discovery/orphan-report.md +1 -1
  161. package/dist/discovery/packs.json +95 -8
  162. package/dist/discovery/trust-report.md +11 -11
  163. package/dist/discovery/workspaces.json +36 -7
  164. package/dist/hooks/dispatch.js +19475 -0
  165. package/dist/install/agentSwitchDetection.js +75 -0
  166. package/dist/install/agentSwitchDetection.js.map +1 -0
  167. package/dist/install/agentSwitchProfile.js +117 -0
  168. package/dist/install/agentSwitchProfile.js.map +1 -0
  169. package/dist/install/atomic.js +1 -1
  170. package/dist/install/detect.js +1 -1
  171. package/dist/install/install.mjs +791 -486
  172. package/dist/install/rtkDetection.js +213 -0
  173. package/dist/install/rtkDetection.js.map +1 -0
  174. package/dist/install/rule_scope.js +2 -1
  175. package/dist/install/rule_scope.js.map +1 -1
  176. package/dist/install/types.js +2 -2
  177. package/dist/install/wizard-plan.js +1 -1
  178. package/dist/install/wizardDismissals.js +58 -0
  179. package/dist/install/wizardDismissals.js.map +1 -0
  180. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  181. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  182. package/dist/mcp/registry-manifest.json +15 -4
  183. package/dist/mcp/server.json +20 -0
  184. package/dist/mcp/server.mjs +44292 -0
  185. package/dist/router.json +1 -1
  186. package/dist/scripts/condense.js +14 -7
  187. package/dist/scripts/condense.js.map +1 -1
  188. package/dist/server/app.js +12 -0
  189. package/dist/server/app.js.map +1 -1
  190. package/dist/server/io/sharedWriteCheck.js +101 -0
  191. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  192. package/dist/server/routes/ping.js +32 -0
  193. package/dist/server/routes/ping.js.map +1 -1
  194. package/dist/server/routes/settings.js +21 -4
  195. package/dist/server/routes/settings.js.map +1 -1
  196. package/dist/server/routes/userMd.js +21 -4
  197. package/dist/server/routes/userMd.js.map +1 -1
  198. package/dist/server/routes/wizard.js +68 -25
  199. package/dist/server/routes/wizard.js.map +1 -1
  200. package/dist/server/schemas/settings.js +12 -2
  201. package/dist/server/schemas/settings.js.map +1 -1
  202. package/dist/server/serverInfo.js +6 -2
  203. package/dist/server/serverInfo.js.map +1 -1
  204. package/dist/server/token.js +11 -4
  205. package/dist/server/token.js.map +1 -1
  206. package/dist/server/writeRoot.js +15 -1
  207. package/dist/server/writeRoot.js.map +1 -1
  208. package/dist/shared/capabilities.js +33 -0
  209. package/dist/shared/capabilities.js.map +1 -0
  210. package/dist/shared/capabilities.test.js +39 -0
  211. package/dist/shared/capabilities.test.js.map +1 -0
  212. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  213. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  214. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  215. package/dist/ui/index.html +15 -6
  216. package/docs/MIGRATION.md +16 -0
  217. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  218. package/package.json +22 -9
  219. package/src/agent-src/templates/AGENTS.md +1 -1
  220. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  221. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  222. package/src/config/agent-settings.template.yml +94 -13
  223. package/src/config/discovery/packs.yml +22 -0
  224. package/src/config/discovery/workspaces.yml +1 -1
  225. package/src/config/evaluator-budgets.json +47 -0
  226. package/src/config/hook-latency-budget.json +20 -0
  227. package/src/config/reach-channels.yml +217 -0
  228. package/src/config/reach-prescriptions-intake.yml +200 -0
  229. package/src/install/agentSwitchDetection.ts +90 -0
  230. package/src/install/agentSwitchProfile.ts +131 -0
  231. package/src/install/atomic.ts +1 -1
  232. package/src/install/detect.ts +1 -1
  233. package/src/install/rtkDetection.ts +274 -0
  234. package/src/install/rule_scope.ts +9 -2
  235. package/src/install/types.ts +2 -2
  236. package/src/install/wizard-plan.ts +1 -1
  237. package/src/install/wizardDismissals.ts +60 -0
  238. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  239. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  240. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  241. package/src/scripts/_dispatch.bash +96 -0
  242. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  243. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  244. package/src/scripts/_lib/detect_target_license.ts +714 -0
  245. package/src/scripts/_lib/exec_evidence.ts +251 -0
  246. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +15 -0
  247. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +15 -0
  248. package/src/scripts/_lib/install_drift.ts +194 -0
  249. package/src/scripts/_lib/kernel_rules.ts +46 -0
  250. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  251. package/src/scripts/_lib/orchestration_record.ts +91 -2
  252. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  253. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  254. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  255. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  256. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  257. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  258. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  259. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  260. package/src/scripts/_lib/persistence/types.ts +109 -0
  261. package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
  262. package/src/scripts/_lib/risk_paths.ts +160 -0
  263. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  264. package/src/scripts/_lib/secret_detector.test.ts +108 -0
  265. package/src/scripts/_lib/secret_detector.ts +328 -0
  266. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  267. package/src/scripts/_lib/spawn_env.ts +7 -0
  268. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  269. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  270. package/src/scripts/_lib/tool_probe.ts +359 -0
  271. package/src/scripts/_lib/worker_budget.ts +107 -0
  272. package/src/scripts/adr/regenerate_index.ts +81 -6
  273. package/src/scripts/ai_council/blind_review.ts +0 -0
  274. package/src/scripts/ai_council/config.ts +12 -6
  275. package/src/scripts/ai_council/orchestrator.ts +73 -3
  276. package/src/scripts/ai_team/review_gate.ts +8 -10
  277. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  278. package/src/scripts/audit_adr_coverage.ts +33 -0
  279. package/src/scripts/audit_initial_context.ts +1 -1
  280. package/src/scripts/bench_cross_source_eval.ts +400 -0
  281. package/src/scripts/bench_honesty_score.ts +1093 -0
  282. package/src/scripts/bench_hook_latency.ts +218 -0
  283. package/src/scripts/build_mcp_catalog.ts +275 -0
  284. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  285. package/src/scripts/build_proof.ts +207 -0
  286. package/src/scripts/chat_history.ts +8 -5
  287. package/src/scripts/check_adr_frontmatter.ts +195 -0
  288. package/src/scripts/check_artefact_count_messaging.ts +4 -0
  289. package/src/scripts/check_backstop_debt.ts +210 -0
  290. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  291. package/src/scripts/check_claims.ts +188 -8
  292. package/src/scripts/check_comparison.ts +12 -0
  293. package/src/scripts/check_enforcement_coverage.ts +592 -0
  294. package/src/scripts/check_evaluator_budgets.ts +99 -0
  295. package/src/scripts/check_kernel_rule_bundle.ts +16 -12
  296. package/src/scripts/check_knowledge_sharing.ts +12 -1
  297. package/src/scripts/check_no_external_sources.ts +2 -2
  298. package/src/scripts/check_reach_channels.ts +407 -0
  299. package/src/scripts/check_reach_staleness.ts +364 -0
  300. package/src/scripts/check_secret_leak.test.ts +47 -0
  301. package/src/scripts/check_secret_leak.ts +290 -0
  302. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  303. package/src/scripts/code_graph/build.ts +0 -0
  304. package/src/scripts/code_graph/cli.ts +379 -0
  305. package/src/scripts/code_graph/detect.ts +186 -0
  306. package/src/scripts/code_graph/extract.ts +386 -0
  307. package/src/scripts/code_graph/intent.ts +45 -0
  308. package/src/scripts/code_graph/loader.ts +123 -0
  309. package/src/scripts/code_graph/query.ts +290 -0
  310. package/src/scripts/code_graph/sanitize.ts +30 -0
  311. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  312. package/src/scripts/code_graph/types.ts +83 -0
  313. package/src/scripts/code_graph/validate.ts +63 -0
  314. package/src/scripts/condense.ts +14 -6
  315. package/src/scripts/context_hygiene_hook.ts +8 -5
  316. package/src/scripts/council_cli.ts +126 -12
  317. package/src/scripts/detect_target_license.ts +203 -0
  318. package/src/scripts/evaluator_umbrella.sh +145 -0
  319. package/src/scripts/external_sources_denylist.json +8 -4
  320. package/src/scripts/first_run_gate_hook.ts +9 -5
  321. package/src/scripts/generate_subagent_floor.ts +194 -0
  322. package/src/scripts/hermetic-install.sh +3 -3
  323. package/src/scripts/hook_manifest.yaml +65 -16
  324. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  325. package/src/scripts/hooks/block_no_verify.ts +9 -9
  326. package/src/scripts/hooks/code_graph_nudge_hook.ts +191 -0
  327. package/src/scripts/hooks/concern_registry.ts +75 -0
  328. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  329. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  330. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  331. package/src/scripts/hooks/hook_stdin.ts +42 -0
  332. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  333. package/src/scripts/hot_context_hook.ts +7 -6
  334. package/src/scripts/injection_scan_hook.ts +9 -1
  335. package/src/scripts/install +6 -6
  336. package/src/scripts/install-hooks.sh +4 -4
  337. package/src/scripts/install.sh +5 -4
  338. package/src/scripts/install.ts +264 -23
  339. package/src/scripts/iron_law_sha.ts +3 -12
  340. package/src/scripts/learning_sidecar.ts +0 -0
  341. package/src/scripts/lint_budget_ownership.ts +89 -0
  342. package/src/scripts/lint_command_routing.ts +35 -5
  343. package/src/scripts/lint_command_verbs.ts +42 -9
  344. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  345. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  346. package/src/scripts/lint_documented_commands.ts +670 -0
  347. package/src/scripts/lint_framework_leakage.ts +17 -3
  348. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  349. package/src/scripts/lint_governed_writes.ts +335 -0
  350. package/src/scripts/lint_hidden_unicode.ts +6 -0
  351. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  352. package/src/scripts/lint_memory_tripwire.ts +186 -0
  353. package/src/scripts/lint_override_kernel_guard.ts +267 -0
  354. package/src/scripts/lint_persistence.ts +171 -0
  355. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  356. package/src/scripts/lint_provenance.ts +547 -0
  357. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  358. package/src/scripts/lint_spawn_payload.ts +283 -0
  359. package/src/scripts/lint_store_boundary.ts +152 -0
  360. package/src/scripts/lint_versioned_cache.ts +7 -1
  361. package/src/scripts/mcp_server/__main__.ts +7 -2
  362. package/src/scripts/mcp_server/catalog.ts +23 -1
  363. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  364. package/src/scripts/mcp_server/prompts.ts +6 -0
  365. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  366. package/src/scripts/mcp_server/tools.ts +56 -5
  367. package/src/scripts/mcp_telemetry_query.ts +2 -33
  368. package/src/scripts/mcp_telemetry_store.ts +64 -34
  369. package/src/scripts/measure_rule_budget.ts +3 -12
  370. package/src/scripts/memory_learn_hook.ts +126 -0
  371. package/src/scripts/memory_lookup.ts +0 -0
  372. package/src/scripts/memory_replay_24.ts +312 -0
  373. package/src/scripts/memory_report.ts +16 -3
  374. package/src/scripts/memory_signal.ts +48 -0
  375. package/src/scripts/memory_status.ts +6 -0
  376. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  377. package/src/scripts/onboarding_gate_hook.ts +8 -5
  378. package/src/scripts/orchestration_record.ts +16 -0
  379. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  380. package/src/scripts/prepack-check.mjs +17 -0
  381. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  382. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  383. package/src/scripts/profile_staleness_hook.ts +8 -7
  384. package/src/scripts/reach_doctor.ts +1651 -0
  385. package/src/scripts/release.ts +24 -3
  386. package/src/scripts/report_install_drift.ts +109 -0
  387. package/src/scripts/risk_escalation_shadow.ts +160 -0
  388. package/src/scripts/roadmap_progress_hook.ts +8 -5
  389. package/src/scripts/schemas/agent-settings.schema.json +23 -0
  390. package/src/scripts/schemas/license-policy.schema.json +89 -0
  391. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  392. package/src/scripts/schemas/reach-channels.schema.json +134 -0
  393. package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
  394. package/src/scripts/schemas/rule.schema.json +20 -0
  395. package/src/scripts/self_review_gate.test.ts +173 -1
  396. package/src/scripts/self_review_gate.ts +155 -15
  397. package/src/scripts/session_canary_hook.ts +182 -0
  398. package/src/scripts/skill_linter.ts +55 -0
  399. package/src/scripts/smoke_quickstart.ts +2 -2
  400. package/src/scripts/surface_probe_hook.ts +8 -7
  401. package/src/scripts/sync_gitattributes.ts +310 -0
  402. package/src/scripts/team_review_gate_hook.ts +13 -16
  403. package/src/scripts/validate_reach_prescriptions.ts +751 -0
  404. package/src/scripts/verify_before_complete_hook.ts +8 -5
  405. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  406. package/src/server/schemas/settings.ts +24 -2
  407. package/src/shared/capabilities.test.ts +43 -0
  408. package/src/shared/capabilities.ts +75 -0
  409. package/src/templates/minimal/agents-overrides-readme.md +20 -0
  410. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  411. package/dist/ui/assets/index-BiEZiZ31.js +0 -40
  412. package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
  413. package/docs/CLAIMS.md +0 -261
  414. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  415. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  416. package/docs/SKILL_CENSUS.md +0 -352
  417. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  418. package/docs/adrs/cost/README.md +0 -9
  419. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  420. package/docs/adrs/memory/README.md +0 -10
  421. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  422. package/docs/adrs/router/README.md +0 -9
  423. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  424. package/docs/adrs/schema/README.md +0 -9
  425. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  426. package/docs/adrs/smoke/README.md +0 -9
  427. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  428. package/docs/adrs/telegraph/README.md +0 -9
  429. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  430. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  431. package/docs/anti-reskin-gate.md +0 -60
  432. package/docs/architecture/augment-projection.md +0 -70
  433. package/docs/architecture/claude-bundle.md +0 -77
  434. package/docs/architecture/current-onboard-baseline.md +0 -126
  435. package/docs/architecture/current-safety-behavior.md +0 -137
  436. package/docs/architecture/multi-tool-projection.md +0 -125
  437. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  438. package/docs/architecture/source-projection.md +0 -85
  439. package/docs/architecture.md +0 -390
  440. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  441. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  442. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  443. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  444. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  445. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  446. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  447. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  448. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  449. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  450. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  451. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  452. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  453. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  454. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  455. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  456. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  457. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  458. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  459. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  460. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  461. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  462. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  463. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  464. package/docs/artefact-census.md +0 -71
  465. package/docs/benchmark.md +0 -648
  466. package/docs/benchmark.pinned.yml +0 -31
  467. package/docs/benchmarks.md +0 -85
  468. package/docs/capability-matrix.md +0 -33
  469. package/docs/case-studies/_template.md +0 -60
  470. package/docs/case-studies/frontend-design-positioning.md +0 -86
  471. package/docs/catalog.md +0 -721
  472. package/docs/command-flows.md +0 -272
  473. package/docs/command-naming-audit.md +0 -60
  474. package/docs/comparison.yaml +0 -45
  475. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  476. package/docs/contracts/STABILITY.md +0 -188
  477. package/docs/contracts/adoption-signal-floor.md +0 -127
  478. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  479. package/docs/contracts/adr-chat-history-split.md +0 -140
  480. package/docs/contracts/adr-command-suggestion.md +0 -144
  481. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  482. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  483. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  484. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  485. package/docs/contracts/adr-layout.md +0 -107
  486. package/docs/contracts/adr-level-6-productization.md +0 -145
  487. package/docs/contracts/adr-mcp-runtime.md +0 -128
  488. package/docs/contracts/adr-product-ui-track.md +0 -381
  489. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  490. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  491. package/docs/contracts/adr-user-types-axis.md +0 -127
  492. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  493. package/docs/contracts/agent-user-schema.md +0 -170
  494. package/docs/contracts/agents-layout.md +0 -148
  495. package/docs/contracts/agents-md-tech-stack.md +0 -75
  496. package/docs/contracts/ai-council-config.md +0 -829
  497. package/docs/contracts/ai-team-config.md +0 -224
  498. package/docs/contracts/analysis-memory-loop.md +0 -149
  499. package/docs/contracts/at-rest-encryption.md +0 -191
  500. package/docs/contracts/audit-log-v1.md +0 -150
  501. package/docs/contracts/auto-orchestration-v1.md +0 -70
  502. package/docs/contracts/benchmark-ab-contract.md +0 -106
  503. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  504. package/docs/contracts/benchmark-report-schema.md +0 -113
  505. package/docs/contracts/branch-protection-policy.md +0 -139
  506. package/docs/contracts/brand-token-consumption.md +0 -74
  507. package/docs/contracts/capability-boundary.md +0 -69
  508. package/docs/contracts/capability-packs.md +0 -217
  509. package/docs/contracts/ci-cost-budget.md +0 -111
  510. package/docs/contracts/ci-green-floor.md +0 -141
  511. package/docs/contracts/command-category-governance.md +0 -84
  512. package/docs/contracts/command-clusters.md +0 -399
  513. package/docs/contracts/command-surface-tiers.md +0 -176
  514. package/docs/contracts/command-taxonomy.md +0 -137
  515. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  516. package/docs/contracts/config-presets.md +0 -144
  517. package/docs/contracts/conformance.md +0 -84
  518. package/docs/contracts/consumer-bridge.md +0 -73
  519. package/docs/contracts/context-paths.md +0 -101
  520. package/docs/contracts/context-spine.md +0 -179
  521. package/docs/contracts/cost-dashboard.md +0 -143
  522. package/docs/contracts/cost-enforcement.md +0 -134
  523. package/docs/contracts/cost-profile-defaults.md +0 -110
  524. package/docs/contracts/cost-summary-schema.md +0 -107
  525. package/docs/contracts/creative-pack-boundary.md +0 -63
  526. package/docs/contracts/cross-repo-retrieval.md +0 -64
  527. package/docs/contracts/cross-wing-handoff.md +0 -134
  528. package/docs/contracts/daily-workspace.md +0 -147
  529. package/docs/contracts/decision-engine-gates.md +0 -120
  530. package/docs/contracts/decision-trace-v1.md +0 -177
  531. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  532. package/docs/contracts/design-artifact-verification.md +0 -153
  533. package/docs/contracts/discovery-manifest.md +0 -209
  534. package/docs/contracts/discovery-manifest.schema.json +0 -254
  535. package/docs/contracts/evidence-based-pruning.md +0 -102
  536. package/docs/contracts/explain-modes.md +0 -187
  537. package/docs/contracts/explain-trace.schema.json +0 -144
  538. package/docs/contracts/file-ownership-matrix.json +0 -13941
  539. package/docs/contracts/file-ownership-matrix.md +0 -135
  540. package/docs/contracts/frontmatter-contract.md +0 -140
  541. package/docs/contracts/ghostwriter-schema.md +0 -337
  542. package/docs/contracts/governance-enforcement-projection.md +0 -159
  543. package/docs/contracts/gui-wizard.md +0 -350
  544. package/docs/contracts/harness-expectations.md +0 -128
  545. package/docs/contracts/hook-architecture-v1.md +0 -325
  546. package/docs/contracts/host-agent-protocol.md +0 -110
  547. package/docs/contracts/implement-ticket-flow.md +0 -625
  548. package/docs/contracts/init-telemetry.md +0 -132
  549. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  550. package/docs/contracts/install-layout.md +0 -249
  551. package/docs/contracts/install-scopes.md +0 -82
  552. package/docs/contracts/installed-tools-lockfile.md +0 -144
  553. package/docs/contracts/installer-agent-mode.md +0 -137
  554. package/docs/contracts/iron-law-overrides.txt +0 -26
  555. package/docs/contracts/kernel-membership.md +0 -339
  556. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  557. package/docs/contracts/linear-ai-three-layers.md +0 -130
  558. package/docs/contracts/linter-structural-model.md +0 -181
  559. package/docs/contracts/load-context-budget-model.md +0 -259
  560. package/docs/contracts/load-context-schema.md +0 -220
  561. package/docs/contracts/local-analytics.md +0 -160
  562. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  563. package/docs/contracts/local-server-api.md +0 -134
  564. package/docs/contracts/low-impact-corpus-format.md +0 -95
  565. package/docs/contracts/mcp-beta-criteria.md +0 -130
  566. package/docs/contracts/mcp-cloud-scope.md +0 -355
  567. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  568. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  569. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  570. package/docs/contracts/mcp-tool-inventory.md +0 -64
  571. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  572. package/docs/contracts/measurement-baseline.md +0 -103
  573. package/docs/contracts/memory-visibility-v1.md +0 -160
  574. package/docs/contracts/mental-models.md +0 -336
  575. package/docs/contracts/migrate-command.md +0 -233
  576. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  577. package/docs/contracts/namespace.md +0 -125
  578. package/docs/contracts/no-runtime-boundary.md +0 -61
  579. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  580. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  581. package/docs/contracts/package-self-orientation.md +0 -163
  582. package/docs/contracts/pilot/agent-authority.md +0 -24
  583. package/docs/contracts/pilot/direct-answers.md +0 -70
  584. package/docs/contracts/pilot/language-and-tone.md +0 -63
  585. package/docs/contracts/plain-language-surface.md +0 -117
  586. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  587. package/docs/contracts/profile-system.md +0 -167
  588. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  589. package/docs/contracts/release-pr-gating.md +0 -151
  590. package/docs/contracts/release-sizing.md +0 -107
  591. package/docs/contracts/release-trunk-sync.md +0 -105
  592. package/docs/contracts/review-lens-schema.md +0 -64
  593. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  594. package/docs/contracts/role-experience.md +0 -125
  595. package/docs/contracts/router-blending.md +0 -71
  596. package/docs/contracts/rule-classification.md +0 -171
  597. package/docs/contracts/rule-interactions.md +0 -132
  598. package/docs/contracts/rule-interactions.yml +0 -260
  599. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  600. package/docs/contracts/rule-router.md +0 -287
  601. package/docs/contracts/safety-model.md +0 -129
  602. package/docs/contracts/session-profile-overlay.md +0 -157
  603. package/docs/contracts/settings-api.md +0 -264
  604. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  605. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  606. package/docs/contracts/skill-bundled-assets.md +0 -62
  607. package/docs/contracts/skill-discovery.md +0 -80
  608. package/docs/contracts/skill-distribution-channels.md +0 -66
  609. package/docs/contracts/skill-domains.md +0 -144
  610. package/docs/contracts/skill-dry-run.md +0 -47
  611. package/docs/contracts/skill-family-map.yml +0 -915
  612. package/docs/contracts/smoke-contracts.md +0 -144
  613. package/docs/contracts/subagent-boundary.md +0 -59
  614. package/docs/contracts/surface-agent-contracts.md +0 -153
  615. package/docs/contracts/surface-matrix.md +0 -108
  616. package/docs/contracts/surface-tiers.md +0 -81
  617. package/docs/contracts/telegraph-telemetry.md +0 -83
  618. package/docs/contracts/ticket-bundle-format.md +0 -233
  619. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  620. package/docs/contracts/trust-and-safety.md +0 -144
  621. package/docs/contracts/ui-stack-extension.md +0 -237
  622. package/docs/contracts/ui-track-flow.md +0 -329
  623. package/docs/contracts/universal-skills.md +0 -91
  624. package/docs/contracts/user-type-schema.md +0 -146
  625. package/docs/contracts/value-dashboard-spec.md +0 -378
  626. package/docs/contracts/value-report-schema.md +0 -168
  627. package/docs/contracts/workflow-packs.md +0 -121
  628. package/docs/contracts/workspace-boundary.md +0 -84
  629. package/docs/contracts/workspace-documents.md +0 -144
  630. package/docs/contracts/write-engine.md +0 -182
  631. package/docs/cookbook.md +0 -152
  632. package/docs/customization.md +0 -685
  633. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  634. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  635. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  636. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  637. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  638. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  639. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  640. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  641. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  642. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  643. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  644. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  645. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  646. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  647. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  648. package/docs/decisions/ADR-016-installer-architecture.md +0 -189
  649. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  650. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  651. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  652. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  653. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  654. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  655. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  656. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  657. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  658. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  659. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  660. package/docs/decisions/ADR-028-root-layout.md +0 -147
  661. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  662. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  663. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  664. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  665. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  666. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  667. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  668. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  669. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  670. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  671. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  672. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  673. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  674. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  675. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  676. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  677. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  678. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  679. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  680. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  681. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  682. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  683. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  684. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  685. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  686. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  687. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  688. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  689. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  690. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  691. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  692. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  693. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  694. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  695. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  696. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  697. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  698. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  699. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  700. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  701. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  702. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  703. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  704. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  705. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  706. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  707. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  708. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  709. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  710. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  711. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  712. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  713. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  714. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  715. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  716. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  717. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  718. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  719. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  720. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  721. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  722. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  723. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  724. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  725. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  726. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  727. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  728. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  729. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  730. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  731. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  732. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  733. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  734. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  735. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  736. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  737. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  738. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  739. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  740. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  741. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -246
  742. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -110
  743. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  744. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  745. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -201
  746. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  747. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  748. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  749. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  750. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  751. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  752. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  753. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  754. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  755. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  756. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  757. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  758. package/docs/decisions/INDEX.md +0 -136
  759. package/docs/deploy/connector-setup.md +0 -129
  760. package/docs/deploy/env-vars.md +0 -70
  761. package/docs/deploy/policy-cookbook.md +0 -130
  762. package/docs/deploy/quickstart.md +0 -112
  763. package/docs/deploy/small-team-recipe.md +0 -148
  764. package/docs/deploy/team-deployment-posture.md +0 -111
  765. package/docs/design/adversarial-council-eval.md +0 -106
  766. package/docs/design/council-vs-solo-baseline.md +0 -92
  767. package/docs/design/cross-model-parity-eval.md +0 -82
  768. package/docs/design/length-neutral-judge-rerun.md +0 -92
  769. package/docs/design/utilization-window-criteria.md +0 -51
  770. package/docs/development.md +0 -230
  771. package/docs/distribution/awesome-list-submission.md +0 -46
  772. package/docs/distribution/consumer-matrix.md +0 -96
  773. package/docs/distribution/launch-story-draft.md +0 -58
  774. package/docs/distribution/mcp-submission-checklist.md +0 -95
  775. package/docs/distribution/public-install-smoke.md +0 -68
  776. package/docs/distribution/registries.md +0 -117
  777. package/docs/distribution/registry-submissions.md +0 -85
  778. package/docs/distribution/telemetry-privacy.md +0 -128
  779. package/docs/distribution/telemetry-schema.md +0 -174
  780. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  781. package/docs/end-to-end-walkthroughs.md +0 -165
  782. package/docs/enforcement-by-host.md +0 -44
  783. package/docs/examples/agent-user.example.md +0 -22
  784. package/docs/experiences/agency.md +0 -49
  785. package/docs/experiences/content_creator.md +0 -49
  786. package/docs/experiences/developer.md +0 -49
  787. package/docs/experiences/finance.md +0 -50
  788. package/docs/experiences/founder.md +0 -49
  789. package/docs/experiences/ops.md +0 -49
  790. package/docs/featured-commands.md +0 -27
  791. package/docs/featured-skills.md +0 -95
  792. package/docs/flows.md +0 -67
  793. package/docs/getting-started-by-role.md +0 -190
  794. package/docs/getting-started-laravel.md +0 -72
  795. package/docs/getting-started-local-stdio.md +0 -77
  796. package/docs/getting-started.md +0 -254
  797. package/docs/github-topics.md +0 -93
  798. package/docs/governance-advantage.md +0 -72
  799. package/docs/governance.md +0 -96
  800. package/docs/guides/cross-repo-linked-projects.md +0 -93
  801. package/docs/guides/cross-repo-retrieval.md +0 -61
  802. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  803. package/docs/guides/local-analytics.md +0 -125
  804. package/docs/guides/local-knowledge.md +0 -127
  805. package/docs/guides/skill-discovery.md +0 -71
  806. package/docs/guides/skill-preview.md +0 -71
  807. package/docs/hook-payload-capture.md +0 -221
  808. package/docs/install-friction-report.md +0 -66
  809. package/docs/installation.md +0 -959
  810. package/docs/maintainers/branch-protection.md +0 -105
  811. package/docs/maintainers/dev-mode.md +0 -106
  812. package/docs/maintainers/optional-media-deps.md +0 -50
  813. package/docs/maintainers/system-map.md +0 -85
  814. package/docs/mcp-registries.md +0 -94
  815. package/docs/mcp-server.md +0 -175
  816. package/docs/mcp.md +0 -147
  817. package/docs/media/proof-demo.cast +0 -14
  818. package/docs/media/proof-demo.gif +0 -0
  819. package/docs/migration/consumer-template-consumption-model.md +0 -145
  820. package/docs/migration/divergences/README.md +0 -55
  821. package/docs/migration/divergences/_template.md +0 -50
  822. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  823. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  824. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  825. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  826. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  827. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  828. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  829. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  830. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  831. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  832. package/docs/migration/node-floor.md +0 -86
  833. package/docs/migration/v1-to-v2.md +0 -156
  834. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  835. package/docs/migrations/commands-1.15.0.md +0 -117
  836. package/docs/parity/bench-external.json +0 -58
  837. package/docs/parity/bench.json +0 -41
  838. package/docs/parity/command-frontmatter.md +0 -60
  839. package/docs/parity/external-runtime.md +0 -46
  840. package/docs/personas.md +0 -178
  841. package/docs/positioning-evidence.md +0 -86
  842. package/docs/profiles.md +0 -108
  843. package/docs/proof.md +0 -176
  844. package/docs/quality.md +0 -98
  845. package/docs/readme-split-plan.md +0 -102
  846. package/docs/recruits/_template.md +0 -81
  847. package/docs/release-runbook.md +0 -141
  848. package/docs/role-experiences.md +0 -19
  849. package/docs/safety.md +0 -30
  850. package/docs/second-brain-scope.md +0 -116
  851. package/docs/self-review-gate.md +0 -65
  852. package/docs/setup/enterprise-and-offline.md +0 -201
  853. package/docs/setup/mcp-client-config.md +0 -358
  854. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  855. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  856. package/docs/setup/mcp-cloud-setup.md +0 -183
  857. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  858. package/docs/setup/mcp-server-docker.md +0 -101
  859. package/docs/setup/per-ide/aider.md +0 -48
  860. package/docs/setup/per-ide/antigravity.md +0 -68
  861. package/docs/setup/per-ide/augment.md +0 -89
  862. package/docs/setup/per-ide/claude-code.md +0 -97
  863. package/docs/setup/per-ide/claude-desktop.md +0 -207
  864. package/docs/setup/per-ide/cline.md +0 -43
  865. package/docs/setup/per-ide/codebuddy.md +0 -63
  866. package/docs/setup/per-ide/codex.md +0 -46
  867. package/docs/setup/per-ide/continue.md +0 -68
  868. package/docs/setup/per-ide/copilot.md +0 -80
  869. package/docs/setup/per-ide/cursor.md +0 -125
  870. package/docs/setup/per-ide/droid.md +0 -65
  871. package/docs/setup/per-ide/gemini-cli.md +0 -45
  872. package/docs/setup/per-ide/jetbrains.md +0 -76
  873. package/docs/setup/per-ide/kilocode.md +0 -66
  874. package/docs/setup/per-ide/kiro.md +0 -72
  875. package/docs/setup/per-ide/opencode.md +0 -62
  876. package/docs/setup/per-ide/qoder.md +0 -63
  877. package/docs/setup/per-ide/roocode.md +0 -68
  878. package/docs/setup/per-ide/trae.md +0 -63
  879. package/docs/setup/per-ide/warp.md +0 -63
  880. package/docs/setup/per-ide/windsurf.md +0 -109
  881. package/docs/setup/per-ide/zed.md +0 -73
  882. package/docs/showcase.md +0 -209
  883. package/docs/skill-duplication-findings.md +0 -91
  884. package/docs/skills-catalog.md +0 -265
  885. package/docs/skills-taxonomy.md +0 -90
  886. package/docs/spawn-site-policy.md +0 -72
  887. package/docs/succession.md +0 -80
  888. package/docs/threat-model.md +0 -29
  889. package/docs/troubleshooting.md +0 -155
  890. package/docs/ui-track-mental-model.md +0 -121
  891. package/docs/us-vs-the-category.md +0 -38
  892. package/docs/value.md +0 -86
  893. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  894. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  895. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  896. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  897. package/docs/walkthroughs/daily-workspace.md +0 -127
  898. package/docs/wedge/production-validator/README.md +0 -81
  899. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  900. package/docs/wedge/production-validator/production-validator.md +0 -83
  901. package/docs/wizard.md +0 -173
@@ -1,94 +0,0 @@
1
- ---
2
- adr: 047
3
- status: accepted
4
- date: 2026-06-03
5
- decision: framework-neutral-stack-adaptive-commands
6
- supersedes: —
7
- superseded_by: —
8
- phase: v6.0.0 · D structural restructure
9
- type: decision
10
- ---
11
-
12
- # ADR-047 — Framework-neutral global commands; stack-adaptive resolution for engineering
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-03. Authored as Phase 7 / Step 20 of
17
- [`road-to-6.0.0-d-structural-restructure`](../../agents/roadmaps/archive/road-to-6.0.0-d-structural-restructure.md).
18
- Codifies, as an architecture decision, the floor already enforced by the
19
- [`framework-neutrality-in-generic-skills`](../../src/rules/framework-neutrality-in-generic-skills.md)
20
- rule and the "stack-adaptive set" resolved in the
21
- [`command-classification worksheet`](../../agents/reports/command-classification-6.0.0-d.md).
22
-
23
- ## Context
24
-
25
- The suite ships **global** commands that run against any consumer project,
26
- whatever its stack. A naive design produces one of two failure modes:
27
-
28
- 1. **Framework leakage** — a generic command hardcodes a single stack's tooling
29
- (`php artisan test`, `vendor/bin/phpunit`, `FormRequest`), so it silently
30
- misbehaves on a Next.js or Python project.
31
- 2. **Per-stack command explosion** — `php-test-run`, `jest-test-run`,
32
- `pytest-run`, … one command per toolchain, multiplying the surface for what
33
- is conceptually one action.
34
-
35
- Both are wrong. The right shape is a single framework-neutral command whose
36
- implementation **detects** the toolchain and runs the right tool.
37
-
38
- ## Decision
39
-
40
- 1. **Generic commands are framework-neutral.** A global command never mandates a
41
- specific framework. Stack specifics live in carve-out artefacts
42
- (`laravel-*`, `nextjs-*`, `pest-*`, …) the neutral command composes — never
43
- inlined. This is the existing
44
- [`framework-neutrality-in-generic-skills`](../../src/rules/framework-neutrality-in-generic-skills.md)
45
- rule, now ratified as architecture.
46
-
47
- 2. **A bounded stack-adaptive set, scoped to engineering.** The commands that
48
- DETECT the toolchain and dispatch are: `test-run`, `test-create`,
49
- `quality-fix` (`fix-quality`), `review-changes`, and `work`. A resolver
50
- detects the stack (phpunit / pest / playwright / vitest / jest / pytest / …)
51
- and runs the matching tool. There is **no per-stack command explosion**.
52
-
53
- 3. **Monorepo guard.** Stack-adaptive test/quality commands default to the FAST
54
- path; `--include-slow` / `--include-e2e` opts into the heavy runs.
55
- `--all`-style "run everything" is a monorepo footgun and is not the default.
56
-
57
- 4. **Non-interactive by construction.** Detection-based commands must work in CI:
58
- detect a non-TTY, honor explicit flags (`--php`, `--json`, `--yes`), and never
59
- block on a prompt. A prompt that hangs CI is "provably wrong for CI/CD".
60
-
61
- 5. **Genuinely stack-locked commands stay locked.** A command that only makes
62
- sense for one stack (e.g. `update-form-request-messages` for Laravel
63
- FormRequests) stays in that stack's pack and is not forced neutral. The
64
- resolver is for the bounded engineering set, not a universal mandate.
65
-
66
- ## Consequences
67
-
68
- - **Positive.** One command per action, correct on every stack; the surface does
69
- not multiply per toolchain.
70
- - **Positive.** The neutrality rule gains an architectural backing decision, so
71
- the lint is not "just a style check" but the enforcement of a recorded contract.
72
- - **Negative / accepted.** The resolver carries detection logic that must stay
73
- current as toolchains evolve; per-stack run skills it composes are the units
74
- that change, not the command.
75
- - **Negative / accepted.** Detection can be ambiguous in mixed-stack repos; the
76
- monorepo guard (fast-default + explicit opt-in) and the `--<stack>` narrowing
77
- flag are the escape hatches.
78
-
79
- ## Alternatives considered
80
-
81
- - **Per-stack commands.** Rejected: `php-test-run` / `jest-test-run` is the bad
82
- world — surface explosion for one conceptual action.
83
- - **One neutral command with stack hardcoded to the maintainer's stack.**
84
- Rejected: that is framework leakage; it breaks on every other consumer.
85
- - **Universal stack-adaptive (every command detects).** Rejected: only the
86
- engineering set benefits; forcing detection onto genuinely stack-locked
87
- commands adds complexity for no gain.
88
-
89
- ## References
90
-
91
- - [`framework-neutrality-in-generic-skills`](../../src/rules/framework-neutrality-in-generic-skills.md) — the enforcing rule.
92
- - [`agents/reports/command-classification-6.0.0-d.md`](../../agents/reports/command-classification-6.0.0-d.md) — the stack-adaptive set + monorepo-guard resolution.
93
- - [`ADR-046`](ADR-046-thin-command-principle.md) — thin commands compose per-stack skills.
94
- - [`ADR-044`](ADR-044-command-naming-scheme-hyphenated.md) — naming scheme.
@@ -1,106 +0,0 @@
1
- ---
2
- adr: 048
3
- status: accepted
4
- date: 2026-06-03
5
- decision: command-justification-rule
6
- supersedes: —
7
- superseded_by: —
8
- phase: v6.0.0 · D structural restructure
9
- type: decision
10
- ---
11
-
12
- # ADR-048 — Command justification: a command earns a top-level slot in exactly three cases
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-03. Authored as Phase 7 / Step 20b of
17
- [`road-to-6.0.0-d-structural-restructure`](../../agents/roadmaps/archive/road-to-6.0.0-d-structural-restructure.md)
18
- (feedback-5/7: "the rule that ends every future discussion"). **Locks** the
19
- "Command justification" section already captured in
20
- [`command-clusters.md`](../contracts/command-clusters.md#command-justification--a-command-must-earn-a-top-level-slot)
21
- — the contract text itself defers its dedicated ADR to "the 6.0.0-D structural
22
- rollout"; this is that ADR. Composes with
23
- [`ADR-041`](ADR-041-controlled-command-verbs.md) (a new verb still needs an ADR)
24
- and [`ADR-046`](ADR-046-thin-command-principle.md) (demoted behavior survives as
25
- a skill).
26
-
27
- ## Context
28
-
29
- The command surface re-bloats one well-meaning addition at a time. Across the
30
- 6.0.0-D council passes (anthropic/claude-sonnet-4-5 + openai/gpt-4o, 2026-06-03)
31
- two failure modes were named: **125 commands overwhelms** (no one can find the
32
- daily five) and **~29 commands buries features** (product-surfaces like `council`
33
- / `research` vanish as skills and lose discoverability). The defensible target is
34
- a small, justified set — every top-level command earns its slot or becomes a
35
- skill the agent triggers by task.
36
-
37
- ## Decision
38
-
39
- A new command earns a top-level slot in **exactly three** cases. Everything else
40
- is a **skill**.
41
-
42
- 1. **Flow-entry** — a daily starting point of a flow the user TYPES to begin
43
- work: `work`, `git-commit`, `git-pr-create`, `ticket-implement`,
44
- `feature-plan`, `review-changes`, `fix-ci`, `test-run`, `bug-fix`.
45
-
46
- 2. **State-query** — a read-only check typed many times a day: `agent-status`,
47
- `session-status`, `project-health`, `profile-show`, `analytics-show`.
48
-
49
- 3. **Product-surface** — a FEATURE the user starts deliberately (not daily, but
50
- consciously): `council`, `challenge-me`, `research`, `roadmap`,
51
- `video-storyboard`. Burying these as skills destroys discoverability; a skill
52
- is `code-review` / `git-workflow` / `testing`, never `council` / `research`.
53
-
54
- If none of the three applies, it is a **skill**. Skills trigger automatically by
55
- task, so each of the following does NOT need a top-level command:
56
-
57
- - a **sub-action** of a flow (a phase, not a front door);
58
- - a **one-off / setup-once** operation;
59
- - a **pipeline stage**;
60
- - a **destructive op** — a skill **with a mandatory confirmation gate**
61
- (destructive ≠ command; the confirm covers the mis-parse risk);
62
- - a **system / admin op** — the `agent-admin` platform surface, which is **NOT a
63
- flow** (it is system administration, not user work).
64
-
65
- Two corollaries:
66
-
67
- - **Sibling variants become a flag, never a second command** — `git-commit
68
- --in-chunks` not `git-commit-in-chunks`; `roadmap --step` not a separate
69
- `roadmap-process-step`. `roadmap` with no scope defaults to processing the
70
- WHOLE roadmap (that is why you write one).
71
- - **A new verb still needs an ADR** per ADR-041. This ADR governs *whether*
72
- something is a command; ADR-041 governs *what verb* it may use.
73
-
74
- **Sweet spot ≈ 40–50 visible commands** (≈15 workflow + ≈10 status/admin +
75
- ≈15–20 product features) — not 125, not ~29.
76
-
77
- ## Consequences
78
-
79
- - **Positive.** "Should X be a command?" has a deterministic answer: run the
80
- three-case test; if it fails, X is a skill. A proposed `jira-comment` — not
81
- flow-entry, not state-query, not a product-surface — is a skill. Done.
82
- - **Positive.** Product-surface features stay discoverable as commands; pure
83
- implementation helpers stay out of the surface as task-triggered skills.
84
- - **Negative / accepted.** Aggressive demotion to skills depends on reliable
85
- task→skill routing; that is handled at conversion time (6.1) via a confirmation
86
- gate on each new skill, not by a telemetry wait. Nothing is lost — a demoted
87
- command's behavior stays reachable as a task-triggered skill.
88
- - **Negative / accepted.** "Daily" and "deliberately started" are judgement
89
- calls; the contract + this ADR set the frame, review applies it.
90
-
91
- ## Alternatives considered
92
-
93
- - **No justification rule (additive surface).** Rejected: that is the 125-command
94
- bloat the rebuild exists to undo.
95
- - **Maximally aggressive (~29 commands, everything else a skill).** Rejected:
96
- buried real product-surface features and hurt discoverability (feedback-7).
97
- - **A precision-admin command category for destructive ops.** Rejected (maintainer
98
- line): a destructive op is a skill with a mandatory confirmation gate; the
99
- confirm covers mis-parse risk, so it does not need a top-level slot.
100
-
101
- ## References
102
-
103
- - [`command-clusters.md` § Command justification](../contracts/command-clusters.md#command-justification--a-command-must-earn-a-top-level-slot) — the locked contract text.
104
- - [`ADR-041`](ADR-041-controlled-command-verbs.md) — controlled verb allowlist (a new verb needs an ADR).
105
- - [`ADR-046`](ADR-046-thin-command-principle.md) — demoted behavior survives as a composed skill.
106
- - [`agents/reports/command-classification-6.0.0-d.md`](../../agents/reports/command-classification-6.0.0-d.md) — the 150-command classification applying this rule.
@@ -1,132 +0,0 @@
1
- ---
2
- adr: 049
3
- status: accepted
4
- date: 2026-06-03
5
- decision: configuration-trust-boundary
6
- supersedes: —
7
- superseded_by: —
8
- phase: v6.0.0 · settings-scope hardening
9
- type: decision
10
- ---
11
-
12
- # ADR-049 — Configuration trust boundary: the user-global whitelist is a security boundary
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-03. **Council-config *placement* superseded by
17
- [ADR-093](ADR-093-ai-council-config-user-global.md) → [ADR-104](ADR-104-ai-council-config-global-only.md)**
18
- (council config now lives user-global at
19
- `~/.event4u/agent-config/settings/.ai-council.yml`, never project-local).
20
- The **trust-boundary decision below still stands**: `ai_council` is not on
21
- the user-global *settings merge whitelist* (`.agent-settings.yml` keys) —
22
- the council reads its own dedicated `.ai-council.yml`, not a merged
23
- settings key. Wherever this ADR says council config "lives project-local",
24
- read "lives user-global per ADR-104".
25
-
26
- Locks the AI-council convergence
27
- (anthropic/claude-sonnet-4-5 + openai/gpt-4o, design mode + peer-review,
28
- 2026-06-03) on where the source of truth for personal preferences and AI-council
29
- configuration lives. Refines [`ADR-020`](ADR-020-global-only-consumer-scope.md)
30
- (global-only consumer scope) and sits alongside
31
- [`ADR-038`](ADR-038-canonical-settings-path.md) (canonical project settings
32
- path) and the resolver cascade in `scripts/_lib/agent_settings.py`.
33
-
34
- ## Context
35
-
36
- [`ADR-020`](ADR-020-global-only-consumer-scope.md) framed its consequences as
37
- "one source of truth for `personal.*`, `agent_council.*`, and `personas:`",
38
- which read as a mandate to push personal preferences, council configuration, and
39
- personas into the **user-global** layer (`~/.event4u/agent-config/`). The
40
- implementation never did this: the loader's user-global layer is **whitelist-
41
- filtered** to a small curated set (`MERGEABLE_KEYS` = `name`, `ide`,
42
- `rule_loading_tier`, `memory.cadence`, `personal.bot_icon`, `personal.autonomy`,
43
- `telegraph.speak_scope`); everything else in a user-global file is silently
44
- ignored. `ai_council` is not on the whitelist, and council configuration lives
45
- project-local in `agents/settings/.ai-council.yml` (per
46
- [`ai-council-config`](../contracts/ai-council-config.md), the Phase-0 single
47
- source of truth). <!-- Council placement superseded by ADR-104: the config is
48
- now user-global only (`~/.event4u/agent-config/settings/.ai-council.yml`),
49
- never project-local. The trust-boundary reasoning below is unaffected. -->
50
-
51
- The maintainer questioned whether that project-local placement is a bug. The AI
52
- council was asked to decide and **converged** that it is **not** a bug — the
53
- whitelist is a deliberate **security trust boundary**, and ADR-020's
54
- "everything global" framing was aspirational overreach the implementation
55
- correctly rejected. The decisive argument is the **untrusted-project escalation
56
- test**: if `ai_council` or arbitrary `personal.*` keys cascaded from any layer a
57
- project repo controls, a cloned repo could set `personal.autonomy: full` or point
58
- a provider key at an attacker endpoint and have it silently inherited into the
59
- user's scope. Only a whitelist that filters what a project may escalate survives
60
- that test. Two further arguments hold even under this package's team-internal,
61
- all-repos-trusted reality: workflow configuration (council member selection,
62
- personas, rule tier) **belongs in version control**, and onboarding stays clean
63
- (`clone → install → correct config`) without out-of-band global state.
64
-
65
- ## Decision
66
-
67
- 1. **The `MERGEABLE_KEYS` whitelist is a security trust boundary**, not a feature
68
- gate. Project-controlled layers (repo-root, intermediate, CWD, and the
69
- user-global file *when populated from an untrusted source*) may only escalate
70
- the curated identity keys on the whitelist into the merged settings. Every
71
- other key resolves **project-local**.
72
-
73
- 2. **Council configuration and personas stay project-local.** The canonical home
74
- for council config is `agents/settings/.ai-council.yml`
75
- ([`ai-council-config`](../contracts/ai-council-config.md)); personas live in
76
- the project surface. Neither is a user-global concern.
77
- <!-- Superseded for the COUNCIL part by ADR-104: council config is now
78
- user-global only, never project-local (personas are unaffected). -->
79
- **Update (ADR-104):** the council half of this decision was reversed — the
80
- council config now lives user-global only
81
- (`~/.event4u/agent-config/settings/.ai-council.yml`) and the project tree is
82
- never read. Personas stay project-local as stated.
83
-
84
- 3. **Only secrets and the curated identity whitelist are global.** Provider API
85
- keys already live global in `~/.event4u/agent-config/<provider>.key` (0600);
86
- the whitelist carries cross-project user identity (`name`, `ide`, autonomy,
87
- bot icon, rule tier, memory cadence, telegraph scope). This is the complete
88
- global surface.
89
-
90
- 4. **Expanding the whitelist requires a threat model, not just product
91
- rationale.** Any future PR that adds a key to `MERGEABLE_KEYS` must state, in
92
- an ADR, why an untrusted project escalating that key into user scope is safe.
93
-
94
- ## Consequences
95
-
96
- - **Positive.** The untrusted-project escalation hole is closed by construction.
97
- Council config and personas are diffable and reviewable in git. The
98
- global surface stays minimal and auditable (`~/.event4u/agent-config/`).
99
- - **Naming.** ADR-020's `agent_council.*` is corrected to `ai_council` and
100
- dropped from the "global" list — see the ADR-020 amendment. `ai_council` is the
101
- single canonical key; the standalone `.ai-council.yml` file is its canonical
102
- home; the `ai_council:` block in `.agent-settings.yml` is the Phase-0
103
- one-line breadcrumb only.
104
- - **No code change required.** The loader already implements this boundary; this
105
- ADR documents it as load-bearing so a future contributor does not "fix" the
106
- whitelist by widening it without a threat pass.
107
- - **Dev-mode is unaffected.** `AGENT_CONFIG_DEV_MODE=1` treats the package repo
108
- as its own project surface; project-local council/persona files there are the
109
- test fixtures, not a workaround — see the ADR-038 amendment.
110
-
111
- ## Alternatives considered
112
-
113
- - **Make `ai_council` + `personal.*` global (implement ADR-020 literally).**
114
- Rejected by the council: reintroduces the untrusted-project escalation hole and
115
- moves version-controllable workflow config out of git. Even under a fully
116
- trusted team-internal scope the version-control and onboarding arguments stand.
117
- - **Split identity vs workflow into two new files
118
- (`.agent-identity.yml` / `.agent-workflow.yml`).** Rejected: the whitelist
119
- already is the boundary; new filenames add migration debt and a "which file do
120
- I edit?" cognitive load without closing any gap the whitelist leaves open.
121
- - **Status quo, undocumented.** Rejected: the gap between ADR-020's wording and
122
- the implementation is exactly what triggered the "is this a bug?" question; an
123
- undocumented boundary invites a future well-meaning widening.
124
-
125
- ## References
126
-
127
- - AI-council convergence: anthropic/claude-sonnet-4-5 + openai/gpt-4o, design
128
- mode + peer-review, 2026-06-03 (hybrid / security-bounded model).
129
- - [`ADR-020`](ADR-020-global-only-consumer-scope.md) — global-only consumer scope; this ADR refines its "global source of truth" wording.
130
- - [`ADR-038`](ADR-038-canonical-settings-path.md) — canonical project settings path; dev-mode amendment added there.
131
- - [`ai-council-config`](../contracts/ai-council-config.md) — `.ai-council.yml` as the Phase-0 single source of truth for council config.
132
- - `scripts/_lib/agent_settings.py` — `MERGEABLE_KEYS` whitelist and the resolver cascade this ADR locks.
@@ -1,121 +0,0 @@
1
- ---
2
- adr: 050
3
- status: accepted
4
- date: 2026-06-05
5
- decision: workspace-vs-package-root-boundary
6
- supersedes: —
7
- superseded_by: —
8
- phase: v6.0.0 · D structural restructure · Step 16 closure
9
- type: structural
10
- ---
11
-
12
- # ADR-050 — Workspace-vs-package root boundary (Step 16 closure)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-05. Closes Step 16 of
17
- [`road-to-6.0.0-d-structural-restructure`](../../agents/roadmaps/archive/road-to-6.0.0-d-structural-restructure.md).
18
- **Refines** [`ADR-045`](ADR-045-src-source-layout-and-profiles-as-views.md): ADR-045's
19
- profiles-as-views and hard-break decisions stand unchanged; this ADR refines
20
- ADR-045's stated *root inventory* against the executed reality. Routed through the
21
- AI council (anthropic/claude-sonnet-4-5 + openai/gpt-4o, design mode, 2026-06-05;
22
- converged 2-round) which both members signed off on the trust-boundary framing.
23
-
24
- ## Context
25
-
26
- ADR-045 specified an end-state where `src/` is "the whole package, structured" and
27
- "root keeps only tooling/agent-host essentials + `src/` + `tests/` + `taskfiles/`",
28
- with `src/app/` holding the TS runtime and `src/internal/` holding maintainer infra.
29
- Step 16's remaining work (`internal/`, `hooks/`, the maintainer `agents/` workspace)
30
- forced a re-examination, and three facts emerged that ADR-045's diagram did not
31
- account for:
32
-
33
- 1. **The repo is a dual-artifact workspace, not a monolith.** It ships an npm
34
- package (`src/`) *and* hosts a maintainer workspace (CI, evals, benchmarks,
35
- council runtime, roadmaps, settings). These have different lifecycles, trust
36
- boundaries, and consumers. Forcing workspace tooling under `src/` implies it is
37
- a package internal when it is a workspace peer of `.github/`.
38
- 2. **`hooks/hooks.json` is pinned to the plugin root by an external convention.**
39
- Claude Code plugins auto-discover hooks at `<plugin-root>/hooks/hooks.json`
40
- (`condense.generate_plugin_hooks()` writes `PROJECT_ROOT/hooks/hooks.json`;
41
- `.claude-plugin/marketplace.json` ships it). Moving it under `src/` silently
42
- breaks plugin hook discovery in every marketplace-install consumer — a coupling
43
- invisible to static grep (the council rated `hooks/` "1 ref, trivial" without it).
44
- 3. **`src/app/` was never created; flat `src/{cli,server,install,shared,ui}` is the
45
- executed reality** and is *more* correct for a dual-artifact repo than the false
46
- `src/app/` module boundary the diagram assumed.
47
-
48
- The council's converged verdict: the value of Step 16 was structural clarity for the
49
- *package*; that is achieved. The remaining dirs have design blockers, not
50
- implementation laziness, and the honest disposition is a documented trust boundary
51
- plus deferral — not contorting workspace tooling to fit a diagram drawn for the
52
- wrong repo shape.
53
-
54
- ## Decision
55
-
56
- 1. **Two root tiers, by trust boundary.**
57
- - **Package source — `src/`** (shipped via npm `files[]`): `app`-equivalent
58
- entrypoints (`cli/`, `server/`, `install/`, `shared/`, `ui/` — kept flat under
59
- `src/`, *not* under a `src/app/` wrapper), `domains/`, `skills/`, `rules/`,
60
- `flows/`, `profiles/`, `config/`, `templates/`, `scripts/`, `schemas/`.
61
- - **Workspace tooling + external-convention anchors — root** (not shipped as
62
- package source): `internal/`, `agents/`, `.github/`, `taskfiles/`, `docs/`,
63
- `hooks/`.
64
-
65
- 2. **Kept-at-root exception set (final for 6.0.0), with rationale per dir.**
66
-
67
- | Dir | Class | Why it stays at root |
68
- |---|---|---|
69
- | `docs/` | external convention | GitHub renders `docs/`, npm `files[]`, ~386 cross-refs + 5 generator/verifier scripts hardcode it (decided 2026-06-05, pre-this-ADR). |
70
- | `hooks/` | external convention | Claude Code plugin spec auto-discovers `<plugin-root>/hooks/hooks.json`; moving it breaks consumer hook discovery. |
71
- | `internal/` | workspace tooling | `bench/ docker/ evals/ schemas/ workers/` — never shipped; 117 repo-local refs; a workspace peer of `.github/`, not a package internal. |
72
- | `agents/` | workspace tooling + namespace | Maintainer roadmaps/settings/runtime; 443 refs; `agents/settings/.agent-settings.yml` is read at runtime by `_lib/agent_settings.py` (self-referential move hazard); collides conceptually with the consumer-facing `agents/` convention the package ships. **Deferred — see below.** |
73
-
74
- 3. **`src/app/` is not created.** Flat `src/{cli,server,install,shared,ui}` is the
75
- accepted layout. ADR-045's `src/app/` line is refined away as a false abstraction
76
- for a dual-artifact repo.
77
-
78
- 4. **Deferred to a follow-up structural roadmap** (not 6.1 behavioral consolidation):
79
- - **`packages/` dual-tree collapse.** 308 tracked files still coexist with
80
- `src/domains/` and remain in CI (`packages/core/installer/**`,
81
- `packages/<PACK>/.agent-src.uncondensed/`). Step 10 ("move remaining packs")
82
- copied command surfaces but did not remove `packages/`. Completing the collapse
83
- is its own roadmap — it is bigger than Step 16 and touches the install/CI
84
- contract.
85
- - **`agents/` namespace + runtime-coupling resolution.** Resolve the
86
- maintainer-vs-consumer `agents/` collision and the settings-loader
87
- self-reference before any move; requires a pre-flight path test, not a
88
- bundled file move.
89
-
90
- ## Consequences
91
-
92
- - **Positive.** Step 16 closes honestly: package source is structured under `src/`;
93
- root carries only essentials + the two tiers above, each with a stated reason.
94
- - **Positive.** No high-blast-radius move (443-ref `agents/`, 117-ref `internal/`,
95
- plugin-pinned `hooks/`) is executed in an autonomous run, avoiding the kill-switch
96
- the roadmap warned about.
97
- - **Negative / accepted.** The root is not reduced to the minimal inventory ADR-045
98
- diagrammed; the dual-artifact reality means workspace tooling stays at root by
99
- design. The acceptance criteria are amended to record this (see the roadmap).
100
- - **Negative / accepted.** `packages/` still exists; the "root contains only
101
- essentials" goal is met *modulo* the documented dual-tree pending its own roadmap.
102
-
103
- ## Alternatives considered
104
-
105
- - **Move `hooks/` under `src/` (the council's first-pass verdict).** Rejected on a
106
- fact the council lacked: the Claude plugin spec pins `hooks/hooks.json` to the
107
- plugin root. Moving it breaks consumer hook auto-discovery.
108
- - **Move `internal/` + `agents/` under `src/` to satisfy ADR-045's diagram.**
109
- Rejected: violates the workspace-vs-package trust boundary and (for `agents/`)
110
- risks a self-referential runtime break; pure churn with negative value.
111
- - **Keep Step 16 open until every dir moves.** Rejected: the remaining moves have
112
- design blockers, not effort gaps; closing with a documented boundary + a scoped
113
- follow-up is more honest than an open-ended step.
114
-
115
- ## References
116
-
117
- - [`ADR-045`](ADR-045-src-source-layout-and-profiles-as-views.md) — `src/` source
118
- layout + profiles-as-views (refined here on the root inventory only).
119
- - [`ADR-028`](ADR-028-root-layout.md) — earlier root-layout verdict (superseded by ADR-045).
120
- - [`road-to-6.0.0-d-structural-restructure`](../../agents/roadmaps/archive/road-to-6.0.0-d-structural-restructure.md) — Step 16 + amended acceptance criteria.
121
- - AI council, design mode, 2026-06-05 (anthropic/claude-sonnet-4-5 + openai/gpt-4o) — converged on the trust-boundary closure.
@@ -1,114 +0,0 @@
1
- ---
2
- adr: 051
3
- status: accepted
4
- date: 2026-06-05
5
- decision: uncondensed-source-container-relocation
6
- supersedes: —
7
- superseded_by: —
8
- phase: v6.0.x · workspace structural cleanup · Phase 1 sub-phase 1a
9
- type: structural
10
- ---
11
-
12
- # ADR-051 — Relocate the uncondensed source container to `src/agent-src/`
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-05. Lands sub-phase **1a** of
17
- [`road-to-6.0.x-workspace-structural-cleanup`](../../agents/roadmaps/archive/road-to-6.0.x-workspace-structural-cleanup.md).
18
- **Builds on** [`ADR-043`](ADR-043-monorepo-collapse-to-src-domains.md) (commands →
19
- `src/domains/`) and [`ADR-045`](ADR-045-src-source-layout-and-profiles-as-views.md)
20
- (the flat `src/skills` + `src/rules` library). Routed through the AI council
21
- (`claude-sonnet-4-5` + `gpt-4o`, 2026-06-05).
22
-
23
- ## Context
24
-
25
- The 6.0.0-D restructure moved **skills** → `src/skills/`, **rules** →
26
- `src/rules/`, and **commands** → `src/domains/<pack>/<verb>/command.md`, but
27
- left every other uncondensed artefact category (contexts, personas, templates,
28
- profiles, presets, user-types, ghostwriter, scripts, packs — ~221 files) under
29
- `packages/core/.agent-src.uncondensed/`. That directory was therefore **still
30
- the live uncondensed source** for those categories — `condense.py` (via
31
- `_lib/agent_src.py::_root_specs()` / `artefact_roots()`) walked
32
- `packages/*/.agent-src.uncondensed/` to find it. It was not a dead duplicate.
33
-
34
- Collapsing `packages/` (the roadmap's goal) thus requires first giving those
35
- ~221 source files a `src/` home and repointing the generator — a real
36
- source-of-truth move, not a delete.
37
-
38
- ## Decision
39
-
40
- Relocate the remaining uncondensed categories into a single container
41
- **`src/agent-src/`** (prefix `""`, original per-category subdir names), and
42
- register it in `_root_specs()` (leaf view) and `artefact_roots()` (container
43
- view, ordered **before** `src/` so the three categories that also exist under
44
- `src/` as a *different* concern — `src/templates` = workspace TS templates,
45
- `src/profiles` = runtime profile-views, `src/scripts` = Python tooling — resolve
46
- to the uncondensed source first, exactly the precedence
47
- `packages/core/.agent-src.uncondensed/` held).
48
-
49
- A **collision guard** in `_root_specs()` now raises if two roots emit the same
50
- non-empty logical prefix (silent overwrite of one category's condensed output
51
- by another's was the council's named #1 failure mode).
52
-
53
- ### Council convergence and the execution refinement
54
-
55
- The council converged on **per-category `src/<category>` roots** with logical
56
- prefixes (Option A), mirroring `src/skills`→`skills/`. Execution refined that
57
- to the **single `src/agent-src/` container** because per-category physical
58
- names collide with the three pre-existing `src/` dirs above, which would break
59
- six `artefact_roots()`+category-append consumers (the profile loader and five
60
- test conftests resolving `root / "templates" / "scripts"`, `root / "scripts"`,
61
- `root / "profiles"`). The container delivers the council's stated #1 priority —
62
- no generated-tree corruption, no collision — with **zero consumer edits**,
63
- keeps the source under `src/` (the council rejected a root-level
64
- `.agent-src.uncondensed/` for reverting the at-`src/` direction), and preserves
65
- logical identity exactly.
66
-
67
- ## Consequences
68
-
69
- - The condensed `.agent-src/` output is **byte-identical** before/after the
70
- move (the decisive correctness gate; verified by snapshot diff). Consumers
71
- see no change.
72
- - `generate_pack_manifests` collects the **core** pack's artefacts from both
73
- `packages/core/.agent-src.uncondensed/` and `src/agent-src/`, so the core
74
- pack manifest stays byte-stable — the move is metadata-neutral.
75
- - Gate path-integrity (`check_gate_paths`) now asserts targets resolve under
76
- the **source tree** (`src/` / `packages/`) rather than `packages/core/`; the
77
- four gates it guards (`lint_agents_md`, `audit_command_surface`,
78
- `audit_initial_context`, `inventory_abstraction_budget`) were repointed to
79
- the new homes. `audit_command_surface` was additionally repointed from its
80
- pre-existing Step-10 silent-no-op (it read the evals-only `packages` commands
81
- dir) onto the real `src/domains/` command surface — now audits 161 commands.
82
-
83
- ## What this ADR does NOT do — the deferred blocker
84
-
85
- Sub-phase 1a relocates the **artefact source only**. It does **not** remove
86
- `packages/`, because `packages/` also hosts a **live pack-home / manifest
87
- layer**: `pack.yaml` + `README.md` (+ `FIRST_WIN.md`) for 11 capability packs
88
- (finance, gtm, founder-strategy, ops-people, and the language packs) that are
89
- **not** in `src/domains/`, plus `packages/core/installer/` (superseded by
90
- `src/cli`+`src/install`+`src/server`), `packages/core/deploy/`, and
91
- `packages/cloud/telemetry-worker/`. These are not mirrored elsewhere; deleting
92
- them would violate the roadmap's acceptance criterion ("no skill/rule/command
93
- deleted beyond duplicates proven already-mirrored").
94
-
95
- **Where the 13 pack homes + installer + deploy + cloud worker migrate is an
96
- open design decision** (e.g. `src/domains/<pack>/` homes vs a dedicated
97
- `src/packs/` home; the semantics of capability-packs-as-domains) and is routed
98
- to a follow-up council session + its own staged PR — consistent with the
99
- roadmap's Goal that Phase 1 and Phase 2 ship as separate, never-bundled PRs.
100
-
101
- ## Alternatives considered
102
-
103
- - **Per-category `src/<category>` roots (council Option A)** — rejected at
104
- execution for the six-consumer collision breakage above.
105
- - **Root-level `.agent-src.uncondensed/`** — rejected by the council for
106
- reverting the at-`src/` flat-library direction.
107
- - **Add `packs:` frontmatter to ~180 shared artefacts** — rejected as invasive
108
- and orthogonal; the container preserves attribution without touching content.
109
-
110
- ## References
111
-
112
- - [`road-to-6.0.x-workspace-structural-cleanup`](../../agents/roadmaps/archive/road-to-6.0.x-workspace-structural-cleanup.md)
113
- - [`ADR-043`](ADR-043-monorepo-collapse-to-src-domains.md) · [`ADR-045`](ADR-045-src-source-layout-and-profiles-as-views.md) · [`ADR-050`](ADR-050-workspace-vs-package-root-boundary.md)
114
- - `src/scripts/_lib/agent_src.py` — `_root_specs()`, `artefact_roots()`, collision guard.
@@ -1,86 +0,0 @@
1
- ---
2
- adr: 052
3
- status: accepted
4
- date: 2026-06-05
5
- decision: packages-removal-and-pack-home-migration
6
- supersedes: —
7
- superseded_by: —
8
- phase: v6.0.x · workspace structural cleanup · Phase 1 sub-phase 1b
9
- type: structural
10
- ---
11
-
12
- # ADR-052 — Remove `packages/`; migrate pack homes to `src/packs/` + ops dirs to `deploy/`
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-05. Completes Phase 1 (Steps 2–3) of
17
- [`road-to-6.0.x-workspace-structural-cleanup`](../../agents/roadmaps/archive/road-to-6.0.x-workspace-structural-cleanup.md);
18
- builds on [`ADR-051`](ADR-051-uncondensed-source-container-relocation.md) (sub-phase 1a) and executes
19
- [`ADR-043`](ADR-043-monorepo-collapse-to-src-domains.md)'s collapse. Routed through the AI council
20
- (`claude-sonnet-4-5` + `gpt-4o`, 2026-06-05, two rounds incl. a tie-break).
21
-
22
- ## Context
23
-
24
- After 1a relocated the uncondensed artefact source to `src/agent-src/`, the remaining `packages/`
25
- content was **not** dead duplication:
26
-
27
- - **11 manifest-only capability packs** (`pack-finance-*`, `pack-gtm-sales`, `pack-founder-strategy`,
28
- `pack-ops-people`, `pack-{php,python,react,symfony,typescript,nextjs}`) — `pack.yaml` + `README.md`
29
- (+ some `FIRST_WIN.md`); 0 commands; artefacts are flat `src/skills`/`src/rules` grouped by
30
- frontmatter `packs:`. (Their old manifests were silently **empty** — `artefact_count: 0` — because
31
- the generator rglob'd a non-existent `.agent-src.uncondensed/` under each.)
32
- - **`packages/core/`** — pack manifest + `installer/` + `deploy/`.
33
- - **`packages/cloud/`** — a vestigial `pack.yaml`/`README` + a Cloudflare `telemetry-worker/`.
34
-
35
- ## Decision
36
-
37
- | Item | Destination | Mode |
38
- |---|---|---|
39
- | 11 capability packs | `src/packs/<id>/` | `flat` (frontmatter `packs:`) |
40
- | `core` pack | `src/packs/core/` manifest; artefacts collected from the full `src/agent-src/` container | `core` |
41
- | `installer/python/` workspace modules (8 `.py`) | `src/cli/python/` | runtime |
42
- | `installer/` (TS entry, package.json) | **deleted** (superseded by `src/cli`+`src/install`+`src/server`) | — |
43
- | `deploy/` (Dockerfile, compose) | root `deploy/` | build artefact |
44
- | `cloud/telemetry-worker/` | root `deploy/telemetry-worker/` | deployable |
45
- | `cloud` pack registration | **dropped** (a deployable is not an installable pack) | — |
46
-
47
- `generate_pack_manifests._pack_homes()` now resolves homes from `src/packs/` + `src/domains/`
48
- (+ legacy `packages/` for back-compat), with a 3-way collection mode (`core` / `flat` / `physical`).
49
- The pack subsystem (`validate_pack_yaml`, `lint_pack_dependencies`, `lint_pack_first_win`,
50
- `check_release_pr_shape`, `release.py`) was repointed off `packages/*`.
51
-
52
- ### Council convergence and the execution refinements
53
-
54
- Round 1 converged on `src/packs/<id>/` for the 11 packs (Option B) — **not** `src/domains/`, to avoid
55
- the *activation-gate inversion* (a command-less domain home would let a downstream installer that
56
- greps for `command.md` silently skip the pack). The tie-break round resolved **core → `src/agent-src/`**
57
- (home == artefact root). Execution **refined core to `src/packs/core/`** instead, because
58
- `src/agent-src/` is a **condense source root** (prefix `""`) — a `pack.yaml`/`README.md` placed there
59
- would leak into the condensed `.agent-src/` output (the README would overwrite the real source README
60
- once `packages/` was gone). The silent-data-loss risk that drove the council to `src/agent-src/` does
61
- **not** apply: `_collect_core()` rglobs the *entire* `src/agent-src/` container (no whitelist), so a
62
- future category is auto-included.
63
-
64
- ## Consequences
65
-
66
- - `packages/` no longer exists at repo root; `package.json files:` never shipped it, so the published
67
- package is unaffected.
68
- - Condensed `.agent-src/` output stays **byte-identical** (1a's snapshot guard, re-verified).
69
- - The 11 capability-pack manifests now list their **real** artefacts (previously empty) — a correction,
70
- surfaced by the per-pack manifest snapshot guard, not silent drift.
71
- - The `installer/python/` workspace modules (`workspace_*`, `knowledge_ingest`) — live runtime + test
72
- dependencies, **not** part of the superseded TS installer — were preserved at `src/cli/python/`.
73
-
74
- ## Alternatives considered
75
-
76
- - **Pack homes under `src/domains/`** — rejected (activation-gate inversion).
77
- - **core manifest at `src/agent-src/`** (tie-break winner) — rejected at execution (condense-source
78
- pollution).
79
- - **Keeping `packages/` as a thin shim** — rejected; the roadmap goal is its removal, and nothing in
80
- `files:` or the build depends on it.
81
-
82
- ## References
83
-
84
- - [`road-to-6.0.x-workspace-structural-cleanup`](../../agents/roadmaps/archive/road-to-6.0.x-workspace-structural-cleanup.md)
85
- - [`ADR-051`](ADR-051-uncondensed-source-container-relocation.md) · [`ADR-043`](ADR-043-monorepo-collapse-to-src-domains.md)
86
- - `src/scripts/generate_pack_manifests.py` — `_pack_homes()`, `_collect_core()`.