@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,342 +0,0 @@
1
- ---
2
- adr: 013
3
- status: accepted
4
- date: 2026-05-19
5
- decision: discovery-frontmatter-contract
6
- supersedes: —
7
- superseded_by: —
8
- phase: v2.x · automated-pack-workspace-and-skill-discovery Phase 0
9
- type: prospective
10
- ---
11
-
12
- # ADR-013 — Discovery Frontmatter Contract
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-05-19 · in-session + external AI Council pass complete
17
- (`agents/runtime/council/responses/2026-05-18T*-r3-automated-discovery/`). Cost: $0.19.
18
- The 5 external CRITICAL/HIGH items have been folded into Phases 1, 2, 3, 5
19
- of `agents/roadmaps/archive/automated-pack-workspace-and-skill-discovery.md`
20
- (archived 2026-05-19, status: completed).
21
-
22
- ## Context
23
-
24
- `event4u/agent-config` ships 218 skills, 72 rules, 129 commands, and 141
25
- templates as of `2.26.0`. Three downstream surfaces — the setup wizard
26
- (`unified-setup-and-settings-gui`), the agent-mode installer (`--agent`),
27
- and the strategic-visibility positioning lint
28
- (`strategic-visibility-mcp-topics-positioning`) — need to know **which
29
- workspaces and packs each artefact belongs to** without anyone manually
30
- maintaining the list.
31
-
32
- A release-time scan over artefact frontmatter is the cheapest source of
33
- truth. The scan emits a single `dist/discovery/discovery-manifest.json`
34
- shipped inside the npm tarball; every downstream surface reads from that
35
- file and from nothing else. This ADR locks the **frontmatter shape**, the
36
- **closed vocabularies**, and the **non-overlap rule** that keeps the new
37
- keys from colliding with the existing `rule_loading_tier` / `profile.id` axes
38
- (ADR-010).
39
-
40
- ### Why a closed vocabulary
41
-
42
- Free-form `domain:` (existing today) has 6 distinct values across 218
43
- skills — usable, but unenforced. Free-form `workspaces:` / `packs:`
44
- would degenerate into 30+ near-duplicate strings within one release
45
- cycle. The vocabulary is closed; amendments require an ADR-013
46
- amendment and a `lint_discovery_vocabulary.py` update in the same PR.
47
-
48
- ### Why additive, not renaming
49
-
50
- `domain:` and `recommended_for_user_types:` exist on every annotated
51
- skill today. Renaming would force every consumer (router, skill linter,
52
- analysis pipeline) to retag at the same time. The new keys are
53
- **additive**: `workspaces:` and `packs:` live alongside `domain:`,
54
- the migration is mechanical (Phase 4 of the implementing roadmap), and
55
- no existing reader breaks.
56
-
57
- ## Decision
58
-
59
- ### Frontmatter shape — additive block
60
-
61
- ```yaml
62
- # ── existing keys stay ──
63
- name: <slug>
64
- description: <one-liner>
65
- source: package
66
- domain: <existing free-form> # untouched
67
-
68
- # ── new keys (additive; optional Phases 1–3, required Phase 4+) ──
69
- workspaces:
70
- - engineering
71
- - product
72
- packs:
73
- - engineering-base
74
- lifecycle: active # active | deprecated | experimental | archived
75
- trust:
76
- level: core # core | professional | experimental | advisory | restricted
77
- confidence: high # high | medium | low
78
- human_review_required: false
79
- install:
80
- default: true
81
- removable: true
82
- ```
83
-
84
- ### Closed vocabulary — `workspaces:`
85
-
86
- | id | label | one-line definition |
87
- |---|---|---|
88
- | `engineering` | Engineering | Code, tests, CI, reviews, architecture. |
89
- | `product` | Product | Discovery, roadmaps, prioritisation, AC tightening. |
90
- | `finance` | Finance / CFO | Cashflow, forecasting, DCF, board reporting. |
91
- | `founder` | Founder | Strategy, fundraising, vision, board narrative. |
92
- | `gtm` | Go-to-Market | Sales pipeline, marketing, positioning, launch. |
93
- | `ops` | Operations | Hiring, comp, perf, org design, runbooks. |
94
- | `small-business` | Small Business | Self-employed / SMB-shaped owner workflows. |
95
- | `construction` | Construction | Trade-business workflows (planning, quotes). |
96
- | `legal` | Legal | In-house legal — contract/NDA/DPA review, privacy, legal triage (EU/DE scope). |
97
- | `agent-config-maintainer` | Maintainer | Skills/rules/commands that maintain *this* package. |
98
-
99
- Amendments to the workspace list require an ADR-013 amendment.
100
-
101
- ### Closed vocabulary — `packs:`
102
-
103
- | id | description |
104
- |---|---|
105
- | `engineering-base` | Framework-neutral engineering hygiene (git, tests, reviews). |
106
- | `php` | PHP-language patterns (framework-free). |
107
- | `laravel` | Laravel framework; advisory hint depends on `php`, `engineering-base`. |
108
- | `symfony` | Symfony framework; advisory hint depends on `php`, `engineering-base`. |
109
- | `javascript` | JavaScript-language patterns. |
110
- | `typescript` | TypeScript-language patterns. |
111
- | `react` | React framework patterns. |
112
- | `nextjs` | Next.js framework patterns. |
113
- | `python` | Python-language patterns. |
114
- | `product-basic` | Core PO/PM artefacts (ticket refinement, AC, estimation). |
115
- | `product-discovery` | JTBD, interviews, VoC, hypothesis testing. |
116
- | `finance-basic` | Cashflow, runway, basic forecasting. |
117
- | `finance-advanced` | DCF, scenario modelling, comp banding. |
118
- | `gtm-sales` | Pipeline, MEDDIC, forecast accuracy. |
119
- | `gtm-marketing` | Positioning, messaging, editorial, content funnel. |
120
- | `ops-people` | Hiring loops, onboarding programs, comp banding. (Renamed from `ops` to honour the non-overlap rule against `profile.id: ops`.) |
121
- | `founder-strategy` | Vision, fundraising narrative, competitive moat. (Renamed from `founder` to honour the non-overlap rule against `profile.id: founder`.) |
122
- | `small-business` | SMB-shaped owner workflows. |
123
- | `construction` | Trade-business workflows. |
124
- | `legal` | In-house legal — EU/DE-scoped contract/NDA/DPA review and legal triage; procedure-only, attorney-review draft output. |
125
- | `ai-video` | AI video pipeline (per ADR-011, the only heavyweight domain). |
126
- | `fun` | Non-essential social/fun workflows (prediction-pool tips, etc.). Optional under the `small-business` workspace; `experimental` trust. |
127
- | `meta` | Artefacts that maintain *this* package (`agent-config` itself). |
128
- | `git` | Git workflow — commit, pull requests, branch sync. Carries `slug_prefix: git` (ADR-044 §A3); `requires: engineering-base`. Added 2026-06-04 for 6.0.0-D Step 12 Class B1 (`commit`→`git-commit`, `create-pr`→`git-pr-create`). |
129
- | `frontend-design` | Grounded design intelligence — design-knowledge corpus + BM25 grounding engine, design tokens, stack best-practice and chart/typography knowledge. `requires: engineering-base`; `suggests: react, nextjs`. Added 2026-06-07 (ADR-061). |
130
- | `analysis-workbench` | RCA, post-mortem, premortem, decision-review as an integrated learning loop. `requires: engineering-base`; opt-in under the `engineering` workspace. Added 2026-06-15 (ADR-096). |
131
- | `brand` | Brand as a first-class UX layer — archetype/voice/identity grounding corpus, brand→token derivation, and consistency governance that constrains UI. `requires: frontend-design`; `suggests: ai-image`; opt-in under the `engineering` workspace. Added 2026-06-16 (road-to-image-brand-typography Phase B). |
132
-
133
- Amendments to the pack list require an ADR-013 amendment and the
134
- matching `src/config/discovery/packs.yml` row in the same PR.
135
-
136
- ### Non-overlap rule (ADR-010 alignment)
137
-
138
- - `rule_loading_tier` values (`minimal`, `balanced`, `full`, `custom`) are
139
- **not** pack ids. The scanner hard-fails on overlap.
140
- - `profile.id` values (`founder`, `developer`, `content_creator`,
141
- `agency`, `finance`, `ops`) are **not** pack ids. The scanner
142
- hard-fails on overlap. (Note: `founder`, `finance`, `ops` are
143
- **workspace ids**; the collision check is against pack ids.)
144
- - `lint_discovery_vocabulary.py` enforces both checks at PR time.
145
-
146
- ### Migration rule
147
-
148
- - **Phases 1–3** (implementing roadmap): artefacts without the new keys
149
- are accepted; the scanner emits `unassigned[]` warnings; CI logs but
150
- does not fail.
151
- - **Phase 4**: every artefact under
152
- `.agent-src.uncondensed/{skills,rules,commands,templates}` either
153
- declares the new keys, or sits in `src/config/discovery/unassigned-artefacts.yml`
154
- with a one-line reason.
155
- - **Phase 4+**: CI flips strict; missing annotation is a fail.
156
-
157
- ### Trust-root allow-list (security-engineer council fold-in)
158
-
159
- The scanner honours frontmatter only on files under the trusted roots:
160
- `.augment/`, `.claude/`, `.agent-src.uncondensed/`, `.agent-src/`.
161
- Files under `agents/`, `tmp/`, or any consumer-writable path **cannot**
162
- claim ownership of a workspace or pack. Phase 2 enforces.
163
-
164
- ### Release-only manifest (external council CRITICAL fold-in)
165
-
166
- The manifest is built on `main` post-merge, never in PR CI. PR CI
167
- asserts the manifest is **absent** from the working tree, preventing a
168
- contributor from smuggling a pre-built manifest claiming
169
- `trust.level: core`. Phase 5 enforces.
170
-
171
- ### Signing (security-engineer council fold-in)
172
-
173
- Phase 6 emits `discovery-manifest.json.sha256` alongside the manifest.
174
- The CLI verifies on first read; verification failure aborts before any
175
- discovery-driven action.
176
-
177
- ## Consequences
178
-
179
- ### Positive
180
-
181
- - One source of truth for workspaces/packs across wizard, agent-mode,
182
- CLI, server route, and positioning lint.
183
- - Manifest extraction is mechanical when ADR-011's trigger flips; no
184
- refactor of artefact bodies needed at that time.
185
- - Vocabulary drift is caught by lint, not by review-by-eye.
186
-
187
- ### Negative
188
-
189
- - Every artefact author must learn 4 new keys (`workspaces`, `packs`,
190
- `lifecycle`, `trust`, `install`). Mitigation: defaults documented in
191
- Phase 4 mapping rules; one ADR amendment per new vocabulary entry.
192
- - A future "extract video into its own npm package" decision (ADR-011
193
- trigger flip) inherits the manifest as scaffolding. Mitigation: the
194
- manifest declares *labels*, not directory boundaries; extraction is
195
- still a separate roadmap.
196
-
197
- ### Risks accepted
198
-
199
- - **Free-form `domain:` stays alongside `workspaces:`.** Duplication
200
- is intentional during the additive migration; a follow-up roadmap
201
- may collapse them.
202
- - **`requires_hint:` on packs is advisory only.** The runtime does
203
- not act on it. Acceptable for v1 per the council's "MEDIUM" note.
204
-
205
- ## Amendments
206
-
207
- ### 2026-05-21 — Monorepo Phase 1 closure (enforcement live)
208
-
209
- The five required keys (`workspaces`, `packs`, `lifecycle`, `trust`,
210
- `install`) are now **strictly enforced** across every artefact under
211
- `.agent-src.uncondensed/{skills,rules,commands,templates}` by
212
- [`scripts/lint_artefact_frontmatter.py`](../../src/scripts/lint_artefact_frontmatter.py),
213
- wired into `task lint-artefact-frontmatter`, `task ci`, and the opt-in
214
- combined pre-commit hook (`./agent-config hooks:install`). The migration
215
- rule's "Phase 4+" strict flip described above is therefore in effect.
216
-
217
- Worked examples per artefact type live in
218
- [`docs/contracts/frontmatter-contract.md`](../contracts/frontmatter-contract.md);
219
- roundtrip stability across the `task sync` pipeline is guarded by
220
- `tests/test_frontmatter_roundtrip.py`.
221
-
222
- The Phase-1 roadmap initially proposed splitting the contract into a
223
- separate `ADR-014-frontmatter-v2-contract.md`. That split was dropped —
224
- this ADR remains the single source of truth and absorbed the worked
225
- examples instead. No ADR-014 issued.
226
-
227
- Driven by [`agents/roadmaps/monorepo-phase-1-frontmatter-metadata.md`](../../agents/roadmaps/monorepo-phase-1-frontmatter-metadata.md).
228
-
229
- ### 2026-05-27 — Additive advisory `cluster:` key on packs
230
-
231
- Pack entries in [`src/config/discovery/packs.yml`](../../config/discovery/packs.yml)
232
- may carry an optional `cluster: <language-id>` field. It groups a framework
233
- pack under a programming-language tile in the setup wizard's capability-packs
234
- step (e.g. `laravel: cluster: php`, `react: cluster: typescript`). Like
235
- `requires_hint`, it is **advisory only** — the installer does not act on it; it
236
- drives the wizard UI's collapsible language→framework grouping. The value must
237
- be a known pack id (and not self-referential), enforced by
238
- [`scripts/lint_discovery_vocabulary.py`](../../src/scripts/lint_discovery_vocabulary.py)
239
- and emitted into the discovery manifest. Additive, no vocabulary rename.
240
-
241
- Driven by [`agents/roadmaps/road-to-wizard-ux-improvements.md`](../../agents/roadmaps/road-to-wizard-ux-improvements.md) § Phase 4 (AI-council-resolved: reuse `packs.yml` as the single source of truth rather than a second mapping file).
242
-
243
- ### 2026-05-27 — Additive advisory `example_roles:` key on workspaces
244
-
245
- Workspace entries in [`src/config/discovery/workspaces.yml`](../../config/discovery/workspaces.yml)
246
- may carry an optional `example_roles: [<title>, …]` list of illustrative job
247
- titles (e.g. `engineering: [Developer, CTO]`, `finance: [CFO]`). The wizard's
248
- roles step shows the workspace as the *area* and these titles as examples under
249
- it. **Advisory and free-form** — NOT a closed vocabulary: the stored
250
- `.agent-user.yml` `role[]` is the workspace id, never these examples; nothing
251
- acts on the strings beyond display. Emitted into the discovery manifest;
252
- allowed by [`discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json).
253
- Additive, no vocabulary rename. (Same change cleaned the `finance` label from
254
- "Finance / CFO" to "Finance".)
255
-
256
- ### 2026-06-01 — New `fun` pack
257
-
258
- Added pack id `fun` to the closed vocabulary (Non-essential social/fun
259
- workflows — prediction-pool tip optimization, etc.). Mirrored in
260
- [`src/config/discovery/packs.yml`](../../config/discovery/packs.yml) and the
261
- `ADR_PACKS` frozenset in
262
- [`scripts/lint_discovery_vocabulary.py`](../../src/scripts/lint_discovery_vocabulary.py).
263
- Optional under the `small-business` workspace (alongside `ai-video`);
264
- `trust_level_default: experimental`, `install.default: false`. First
265
- artefacts: the `/prediction-pool` command + `prediction-pool-optimizer` skill in
266
- `packages/pack-fun/`. Additive, no rename; non-overlap with cost-profile
267
- and `profile.id` reservations holds.
268
-
269
- ### 2026-06-07 — New `frontend-design` pack
270
-
271
- Added pack id `frontend-design` to the closed vocabulary (grounded design
272
- intelligence — design-knowledge corpus + BM25 grounding engine, design tokens,
273
- stack best-practice and chart/typography knowledge, adopted from the MIT
274
- an external reference corpus per ADR-061). Mirrored in
275
- [`src/config/discovery/packs.yml`](../../src/config/discovery/packs.yml) and the
276
- `ADR_PACKS` frozenset in
277
- [`scripts/lint_discovery_vocabulary.py`](../../src/scripts/lint_discovery_vocabulary.py).
278
- `workspaces: [engineering]`, `requires: [engineering-base]`,
279
- `suggests: [react, nextjs]` (the corpus is stack-agnostic data — React is
280
- suggested, never required), `trust_level_default: professional`,
281
- `size_class: medium`. Council-resolved 2026-06-07 (anthropic/claude-sonnet-4-5 +
282
- openai/gpt-4o, converged A2: opt-in pack over inflating `engineering-base`
283
- with ~1 MB of design data). Additive, no rename; non-overlap with
284
- cost-profile and `profile.id` reservations holds.
285
-
286
- ### 2026-06-16 — New `brand` pack
287
-
288
- Added pack id `brand` to the closed vocabulary (brand as a first-class UX layer
289
- — archetype/voice/identity grounding corpus, brand→token derivation, and
290
- consistency governance that constrains UI). Mirrored in
291
- [`src/config/discovery/packs.yml`](../../src/config/discovery/packs.yml) and the
292
- `ADR_PACKS` frozenset in
293
- [`scripts/lint_discovery_vocabulary.py`](../../src/scripts/lint_discovery_vocabulary.py).
294
- `workspaces: [engineering]`, `requires: [frontend-design]`, `suggests:
295
- [ai-image]` (pack-brand exports tokens, pack-ai-image consumes them — B → A),
296
- `trust_level_default: professional`, `size_class: medium`. Council-resolved
297
- 2026-06-13 (road-to-image-brand-typography Phase B). Additive, no rename;
298
- non-overlap with cost-profile and `profile.id` reservations holds.
299
-
300
- ### 2026-06-24 — New `legal` workspace + `legal` pack
301
-
302
- Added workspace id `legal` and pack id `legal` to the closed vocabularies
303
- (in-house legal — EU/DE-scoped contract/NDA/DPA review and legal triage;
304
- procedure-only, no default legal positions; every output a draft for attorney
305
- review). Mirrored in
306
- [`src/config/discovery/workspaces.yml`](../../src/config/discovery/workspaces.yml),
307
- [`src/config/discovery/packs.yml`](../../src/config/discovery/packs.yml), and the
308
- `ADR_WORKSPACES` + `ADR_PACKS` sets in
309
- [`src/scripts/lint_discovery_vocabulary.ts`](../../src/scripts/lint_discovery_vocabulary.ts).
310
- `workspaces: [legal]`, `domain: legal`, `size_class: medium`,
311
- `trust_level_default: experimental`, `surface_tier: lab` (gated lab-tier until the
312
- Gate-2 maintenance owner + external qualification is confirmed —
313
- road-to-legal-pack Phase 0.2). Council-resolved across three rounds 2026-06-24
314
- (road-to-legal-pack). Additive, no rename; non-overlap with cost-profile and
315
- `profile.id` reservations holds.
316
-
317
- ### 2026-06-24 — Rename `legal` → `legal-review-prep` (workspace + pack)
318
-
319
- Renamed the workspace id and pack id `legal` → `legal-review-prep` in both
320
- closed vocabularies, the schema enums, and all artefacts (`src/domains/legal/`
321
- → `src/domains/legal-review-prep/`, the five skill frontmatters, the
322
- `legal-safety-floor` rule). Driven by a deep AI-council (3 rounds,
323
- anthropic/claude-sonnet-4-5 + openai/gpt-4o, 2026-06-24) + ~8 external
324
- 7.1.0 reviewers: the name `legal` reads as "legal advice" and undermines the
325
- not-legal-advice positioning; `legal-review-prep` names the actual capability
326
- (prepare for attorney review). The `domain: legal` classifier and the `legal`
327
- user-type are a different axis and are unchanged. Rename, not additive;
328
- non-overlap reservations still hold. See `road-to-legal-review-prep` Phase 0.
329
-
330
- ## Cross-references
331
-
332
- - [ADR-007 — Agent Discovery Scopes](ADR-007-agent-discovery-scopes.md):
333
- the manifest path resolves against the **active scope** (project vs.
334
- global), not against `cwd` alone.
335
- - [ADR-010 — Profile / Pack / Preset Boundary](ADR-010-profile-pack-preset-boundary.md):
336
- this ADR touches the **pack axis only**; the non-overlap rule keeps
337
- the other three axes intact.
338
- - [ADR-011 — Domain-Pack Readiness](ADR-011-domain-pack-readiness.md):
339
- packs are **labels on in-repo artefacts**, not separately-installable
340
- npm packages. Extraction stays blocked until ADR-011's trigger flips.
341
- - [Implementing roadmap (archived, status: completed)](../../agents/roadmaps/archive/automated-pack-workspace-and-skill-discovery.md).
342
- - Schema artefact: [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json).
@@ -1,136 +0,0 @@
1
- ---
2
- adr: 014
3
- status: accepted
4
- date: 2026-05-20
5
- decision: gui-framework-choice
6
- supersedes: —
7
- superseded_by: —
8
- phase: v2.x · unified-setup-and-settings-gui Phase 0
9
- type: prospective
10
- ---
11
-
12
- # ADR-014 — GUI Framework Choice (Preact + Signals)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-05-20 · in-session council recommendation folded.
17
- External AI Council pass on the implementing roadmap
18
- (`agents/roadmaps/unified-setup-and-settings-gui.md`) did not contest
19
- the framework choice; it focused on data integrity (atomic writes,
20
- optimistic locking) which is orthogonal to the rendering layer.
21
-
22
- ## Context
23
-
24
- `unified-setup-and-settings-gui.md` introduces the first browser-facing
25
- surface of `@event4u/agent-config` — a local UI that doubles as a
26
- first-run wizard and a settings editor. The package is distributed via
27
- `npx`, so every byte of UI ships in the npm tarball and re-downloads on
28
- every fresh install. The wizard has **at most 8 screens**; the settings
29
- editor renders **one zod-derived form tree**. There is no router-driven
30
- deep navigation, no SSR, no SEO surface, no offline-first concern.
31
-
32
- Picking a heavyweight framework here would inflate the tarball with no
33
- proportional benefit and would make hand-off audits (a maintainer
34
- opening `src/ui/` cold) substantially harder. The choice is locked
35
- **now**, in this ADR, because Phase 2 onwards depends on the form
36
- primitives being written against a stable rendering API.
37
-
38
- ## Decision
39
-
40
- **Preact 10 + `@preact/signals` for state.** Vite as the build tool
41
- (already in `package.json`). No router beyond a 1 KB hash-route
42
- helper. Plain CSS files with design tokens, no CSS-in-JS, no UI kit.
43
-
44
- ### Decision matrix
45
-
46
- | Framework | Hello-world + 5 fields + wizard (gzip) | Forms ecosystem | TS support | Mental model | Verdict |
47
- |---|---|---|---|---|---|
48
- | **Preact + signals** | **~6 KB** | Manual primitives, ergonomic | Excellent | React-compatible | **Chosen** |
49
- | Svelte 5 (runes) | ~10 KB | Built-in form bindings | Good | Single-file components | Rejected: compiler magic harder to audit; smaller community for form libs vs Preact |
50
- | lit-html / Lit | ~7 KB | None — manual | Good | Web Components, shadow DOM | Rejected: shadow DOM complicates token-driven styling and a11y |
51
- | Vanilla + uhtml + mfsv | ~3 KB | None — bring your own | Manual | Tagged-template HTML | Rejected: 8 screens + multi-step form is the threshold where "bring your own" costs more than the saved KB |
52
- | React 18 + RSC-disabled | ~45 KB | Best-in-class | Excellent | Industry default | Rejected: 7× the bundle for the same JSX surface; over-spec for an `npx`-shipped UI |
53
-
54
- ### Forbidden adds
55
-
56
- - **Routers heavier than `wouter-preact` / `preact-router`** (≤ 1 KB
57
- gzipped). The UI has ≤ 8 screens; a 40 KB router is over-spec.
58
- - **CSS frameworks** — Tailwind, MUI, Chakra, Mantine, shadcn-ui.
59
- Shipping 50 KB+ of CSS into an `npx`-installed binary is poor
60
- stewardship. We ship hand-written CSS using design tokens (see
61
- `src/ui/tokens.css`).
62
- - **State libraries beyond signals** — no Redux, no Zustand, no Jotai.
63
- Signals are a built-in reactive primitive; the wizard's partial
64
- state lives server-side in `wizard-state.json` anyway.
65
- - **SSR / streaming frameworks** — Next.js, Remix, SolidStart, Astro.
66
- The server is local Fastify; the UI is a static bundle mounted
67
- under `/`. No SSR concern exists.
68
-
69
- ### Reactive state pattern
70
-
71
- ```ts
72
- import { signal, computed } from '@preact/signals';
73
-
74
- const settings = signal<SettingsValues | null>(null);
75
- const isDirty = computed(() => /* compare against load-time snapshot */ false);
76
- ```
77
-
78
- - **`signal`** holds the editable form values; component subtrees
79
- re-render only on the signals they read.
80
- - **`computed`** derives the dirty flag, the diff preview, and the
81
- per-field error map without prop-drilling.
82
- - No `useState` for cross-component shared state; only for local
83
- ephemera (open/closed of a single modal, focus rings).
84
-
85
- ### Build target
86
-
87
- - **ES2022**, native modules, no transpilation to ES5. The UI runs
88
- in the developer's browser, which is always evergreen.
89
- - Vite builds emit `dist/ui/assets/*.js` + `*.css`; the Fastify
90
- static handler serves them under `/`.
91
- - Bundle budget: **≤ 35 KB gzip** total (the wizard + the settings
92
- editor combined). Enforced by `tests/ui/bundle-budget.test.ts` in
93
- Phase 2. Breach is a CI fail, not a warning.
94
-
95
- ### Testing stack
96
-
97
- - **Vitest 2.x** (already in `package.json`) + **happy-dom** for UI
98
- unit tests. No Jest. No React Testing Library (Preact has
99
- `@testing-library/preact` but we keep the primitives small enough
100
- that direct DOM assertions suffice).
101
-
102
- ## Consequences
103
-
104
- ### Positive
105
-
106
- - Tarball stays under control: the entire GUI ships in < 50 KB gzip
107
- of `dist/ui/` regardless of how many screens accumulate.
108
- - React-shaped JSX means contributors familiar with React onboard in
109
- hours, not weeks.
110
- - Signals eliminate the prop-drilling overhead Form state would
111
- otherwise require.
112
- - Zero CSS-in-JS keeps Vite's output predictable and lets a maintainer
113
- grep `.css` files for token usage at audit time.
114
-
115
- ### Negative
116
-
117
- - Preact's smaller ecosystem means **some** React-only libraries
118
- (e.g. `react-hook-form`) cannot be reused without a shim. Mitigation:
119
- we hand-write form primitives anyway per the "no UI kit" rule, so
120
- the gap is theoretical for this scope.
121
- - Contributors who only know Vue or Svelte must learn Preact's
122
- JSX-flavoured API. Mitigation: documented in `docs/architecture.md`
123
- alongside the existing TS-CLI onboarding notes.
124
-
125
- ### Risks accepted
126
-
127
- - **No React migration path is preserved**. If a future roadmap needs
128
- RSC, streaming, or React-only libraries, the UI is rewritten end-to-
129
- end. Acceptable because the UI is feature-bounded (wizard + settings)
130
- and any RSC-shaped future is a different product.
131
-
132
- ## Cross-references
133
-
134
- - [Implementing roadmap](../../agents/roadmaps/unified-setup-and-settings-gui.md).
135
- - [ADR-012 — TypeScript CLI Shell](ADR-012-typescript-cli-shell.md): the host server that mounts this UI.
136
- - [ADR-013 — Discovery Frontmatter Contract](ADR-013-discovery-frontmatter-contract.md): the discovery manifest the GUI reads to render workspace / pack pickers in a future phase.
@@ -1,146 +0,0 @@
1
- ---
2
- adr: 015
3
- status: accepted
4
- date: 2026-05-21
5
- decision: discovery-manifest-contract
6
- supersedes: —
7
- superseded_by: —
8
- phase: v2.x · monorepo-phase-2-virtual-packs-discovery Phase 1
9
- type: prospective
10
- ---
11
-
12
- # ADR-015 — Discovery Manifest Contract
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-05-21 · in-session AI Council pass. Folds the Phase-2
17
- intake invariant (`agents/tmp/refactor-package.txt`, last paragraph) and
18
- the additive-vs-rewrite call into the schema. Phase-1 prerequisite for
19
- [`monorepo-phase-2-virtual-packs-discovery`](../../agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md).
20
-
21
- ## Context
22
-
23
- [ADR-013](ADR-013-discovery-frontmatter-contract.md) locked the five
24
- per-artefact frontmatter keys. The release pipeline now needs a single
25
- JSON contract — `dist/discovery/discovery-manifest.json` — that the
26
- TypeScript installer (Phase 3), the browser wizard (Phase 6), the docs
27
- site, and any third-party consumer read instead of walking the source
28
- tree. The invariant from the founder intake:
29
-
30
- > Beim Erstellen eines Releases müssen alle Skills, etc. nach Workspace <!-- md-language-check: ignore -->
31
- > und Pack untersucht werden, so dass das für den Installer gespeichert <!-- md-language-check: ignore -->
32
- > wird und zur Verfügung steht. Es soll keine manuelle Package & <!-- md-language-check: ignore -->
33
- > Workspace Liste gepflegt werden. <!-- md-language-check: ignore -->
34
-
35
- **No manual list. Ever.** The pack and workspace shape grows by stamping
36
- frontmatter, not by editing a list.
37
-
38
- A v1 manifest schema already lives at
39
- [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json)
40
- (carried over from the archived R3 discovery roadmap). The Phase-2
41
- roadmap §"Manifest shape" sketched an *ideal* shape that differs from
42
- the on-disk schema in several places (per-artefact `checksum`,
43
- optional `requires`, a `stats` block). The decision is whether to
44
- rewrite the schema or extend it additively.
45
-
46
- ## Decision
47
-
48
- **Extend the v1 schema additively.** Three changes, no removals, no
49
- field renames, version stays `1`:
50
-
51
- 1. **`artefact.checksum`** — `sha256:<hex>`, REQUIRED. Computed over the
52
- on-disk file bytes after frontmatter normalization (sorted keys,
53
- trailing newline). Drift detector for the Phase-3 installer.
54
- 2. **`artefact.requires`** — `array<pack_id>`, OPTIONAL. Pack-level
55
- dependency edges resolved by the installer; empty/absent means the
56
- artefact has no extra pack requirements beyond its own `packs[]`.
57
- 3. **`stats`** — REQUIRED top-level object. `total_artefacts`,
58
- `by_category`, `by_lifecycle`, `by_trust_level`. Cheap sanity surface
59
- for `task discovery-stats` + downstream dashboards.
60
-
61
- The Phase-2 roadmap's example also mentioned `id`, `owner`, and
62
- `install.managed`. **Not adopted.** The path is the canonical artefact
63
- identity (matches ADR-013), ownership is already encoded in
64
- `workspaces[]` + `packs[]`, and `install.managed` adds a third
65
- install-axis without a current consumer. Re-evaluate in Phase 5.
66
-
67
- ### Source-of-truth tree
68
-
69
- The generator walks `.agent-src.uncondensed/`, **not** `.agent-src/`.
70
- The Phase-2 roadmap text §Phase 2 says "the condensed canonical tree"
71
- — that is a documentation slip. `source-of-truth` rule states
72
- that uncondensed is canonical; the condensed tree is a build output
73
- and may be regenerated. Manifest pipelines that read build outputs are
74
- fragile to bootstrap order.
75
-
76
- ### No git in the manifest
77
-
78
- The roadmap example included `source_commit`. **Not adopted.** The
79
- existing `scanner_version` (first 12 hex of `sha256(build_discovery_manifest.py)`)
80
- already pins generator identity. Embedding `git rev-parse HEAD` breaks
81
- hermetic determinism tests in environments without a git checkout
82
- (CI shallow clones, vendor tarballs). A consumer that needs the commit
83
- can pin from the surrounding release artefact (changelog, tag).
84
-
85
- ## Consequences
86
-
87
- ### Positive
88
-
89
- - Existing consumers (the Phase-1 linter, the round-trip test, the
90
- `lint_discovery_manifest.py` validator) keep working — top-level
91
- `version` stays `1`, all v1 fields stay required.
92
- - Per-artefact `checksum` makes the Phase-3 installer drift-detection
93
- trivial — one hash compare per file.
94
- - `requires` is opt-in: artefacts that don't need cross-pack deps cost
95
- zero extra bytes.
96
- - Stats are computed from the artefact list — no second walk of the
97
- tree, no risk of stats/list desync.
98
-
99
- ### Negative
100
-
101
- - Every artefact entry grows by ~80 bytes (the checksum). For ~420
102
- artefacts, the manifest grows ~33 KB. Acceptable.
103
- - The first build after this ADR rewrites every artefact entry; the
104
- diff is large. Reviewed once and committed.
105
-
106
- ### Neutral
107
-
108
- - `version` stays `1`. A future breaking change (rename `packs` to
109
- `pack_ids`, drop `unassigned`, etc.) bumps to `2`. This ADR sets the
110
- precedent that **additive** changes do not bump.
111
-
112
- ## Determinism contract
113
-
114
- Two builds of the same source tree MUST produce byte-identical JSON
115
- when `generated_at` is normalized. Specifically:
116
-
117
- - All arrays sorted (`artefacts` by `path`, `workspaces`/`packs` in
118
- vocabulary order, `requires`/`workspaces[]`/`packs[]` per-entry sorted).
119
- - JSON serialized with `sort_keys=True`, `indent=2`, trailing newline.
120
- - The global `checksum` covers the manifest minus `generated_at` and
121
- itself (zeroed during hash input).
122
- - Per-artefact `checksum` covers the file content with frontmatter
123
- normalized (sorted keys, trailing newline, no trailing whitespace).
124
-
125
- ## Failure modes guarded against
126
-
127
- - **Manual drift** — no pack list to hand-edit; new packs/workspaces
128
- enter via frontmatter stamps on artefacts.
129
- - **Stale manifest in release** — Phase 3 ships `task validate-discovery-manifest`
130
- which re-builds to a tempdir and `diff`s against the committed file.
131
- - **Checksum collision with content edits** — per-artefact `checksum`
132
- surfaces any file mutation; the installer can refuse to overwrite a
133
- user-modified artefact (Phase 3).
134
- - **`version: 1` reused for breaking changes** — this ADR explicitly
135
- scopes `version: 1` to additive evolutions; breaking → bump + new ADR.
136
-
137
- ## References
138
-
139
- - [ADR-013](ADR-013-discovery-frontmatter-contract.md) — frontmatter
140
- contract (the input side of this manifest).
141
- - [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json)
142
- — the locked schema.
143
- - [`docs/contracts/discovery-manifest.md`](../contracts/discovery-manifest.md)
144
- — worked examples + consumer guide.
145
- - [`agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md`](../../agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md)
146
- — the implementing roadmap.