@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,91 +0,0 @@
1
- # Divergence: check_memory
2
-
3
- ## Script
4
-
5
- - Python: `src/scripts/check_memory.py`
6
- - TypeScript: `src/scripts/check_memory.ts`
7
-
8
- ## Symptom
9
-
10
- Two byte-level mismatches, both confined to paths that depend on external
11
- behaviour the TS port cannot reproduce in-language:
12
-
13
- ### 1. YAML-parse-error class name (`--path`, malformed `.yml`)
14
-
15
- When a `.yml` file fails to parse, the finding message ends with the parser's
16
- exception class name:
17
-
18
- - **Python output:** `YAML parse error: ScannerError` (or `ParserError`,
19
- `ComposerError`, … — whatever PyYAML's scanner/parser raised for the input)
20
- - **TS output:** `YAML parse error: YAMLError` (constant)
21
- - Affected channel(s): stdout (text + json `message` field)
22
-
23
- ### 2. `--shadow-report` backend label
24
-
25
- - **Python output:** `Shadow report — backend: misconfigured` (or whatever
26
- `scripts.memory_status.status` returns at runtime), with real per-type
27
- hit/shadow counts pulled from `scripts.memory_lookup.retrieve`.
28
- - **TS output:** `Shadow report — backend: unknown`, all per-type counts 0.
29
- - Affected channel(s): stdout (text + json `backend` / `per_type` fields)
30
-
31
- ## Root cause
32
-
33
- ### 1. YAML-parse-error class name
34
-
35
- The Python original catches `except Exception as exc` and renders
36
- `exc.__class__.__name__`. PyYAML's scanner/parser raises specific subclasses
37
- (`ScannerError`, `ParserError`, `ComposerError`, `ConstructorError`) chosen by
38
- its hand-written state machine. The TypeScript port uses the `yaml` npm
39
- package, whose error taxonomy is structurally different (`YAMLParseError` with
40
- `code` values like `BAD_INDENT`, `BAD_SCALAR_START`, `TAB_AS_INDENT`,
41
- `DUPLICATE_KEY`). The two classifiers disagree even on which *phase* the error
42
- belongs to — e.g. an unquoted backtick scalar is a `ScannerError` in PyYAML
43
- but is first reported as `BAD_INDENT` by `yaml`. Reproducing PyYAML's exact
44
- class for an arbitrary malformed input would require porting PyYAML's scanner
45
- and parser state machines verbatim, which is out of scope for this phase and
46
- provides no behavioural value — the class name is a debugging hint appended to
47
- the stable `YAML parse error: ` prefix, not a contract field. The TS port
48
- emits a constant `YAMLError` after that prefix.
49
-
50
- ### 2. `--shadow-report`
51
-
52
- `_shadow_report` imports `scripts.memory_lookup` (`CURATED_TYPES`,
53
- `retrieve`, `RetrievalResult`) and best-effort `scripts.memory_status`. Both
54
- modules are **unported** in Phase 4 (they belong to the memory/telemetry
55
- cluster, Phase 7). The TS port reproduces the scaffold with a zero-shadow
56
- result and a `backend: unknown` label so the CLI surface (flag, channels,
57
- output shape) stays identical until those modules land. The Python original's
58
- `backend` value (`misconfigured` on this machine) reflects the real
59
- `memory_status` probe, which has no TS equivalent yet.
60
-
61
- ## Verdict
62
-
63
- `formatting-only` for (1) — the byte difference is a debugging-hint suffix
64
- with no semantic or consumer impact; the stable `YAML parse error: ` prefix
65
- (which every caller and test asserts on) is preserved.
66
-
67
- `intentional-improvement` is **not** claimed for (2); it is an unavoidable
68
- consequence of cross-phase ordering. The `--shadow-report` path is scaffolding
69
- ("Ships today as scaffolding" per the Python docstring) whose real backend is
70
- absent until `@event4u/agent-memory` and the Phase-7 memory modules exist. The
71
- TS scaffold is behaviourally faithful to the *absent-backend* state the feature
72
- was designed around (zero shadows). Full byte-parity for `--shadow-report`
73
- re-opens when `memory_lookup` / `memory_status` are ported.
74
-
75
- ## Evidence
76
-
77
- - pytest suite `tests/test_check_memory.py` and the TS twin
78
- `tests/scripts/check_memory.test.ts` assert the **substring**
79
- `YAML parse error` (not the class name), so both suites pass under the
80
- divergence.
81
- - Golden-parity tests in the TS suite cover every other `--path` /
82
- `--format` / `--append-only` case byte-exact (stdout + stderr + exit) and
83
- explicitly exclude the malformed-YAML class-name suffix and
84
- `--shadow-report` per this doc.
85
-
86
- ## Approval
87
-
88
- Approved as a Phase-4 documented divergence. Both items are tracked: (1) is
89
- permanent (cross-library error taxonomy); (2) closes when the Phase-7 memory
90
- modules are ported and `--shadow-report` can call real `retrieve` /
91
- `memory_status` twins.
@@ -1,65 +0,0 @@
1
- # Divergence: inventory_abstraction_budget
2
-
3
- ## Script
4
-
5
- - Python: `src/scripts/inventory_abstraction_budget.py`
6
- - TypeScript: `src/scripts/inventory_abstraction_budget.ts`
7
-
8
- ## Symptom
9
-
10
- In the generated `frontmatter.csv` / Markdown audit table, the
11
- `dominant_value` column can differ between the Python and TypeScript runs
12
- **on rows where the top frequency is shared by two or more values** (a
13
- top-frequency tie). All other columns — `class`, `field`, `total`,
14
- `distinct`, `dominant_share`, `bloat_candidate` — are byte-identical.
15
-
16
- - Observed (CI, ext4): `fm row 5 col 4` — Python `4`, TS `3`.
17
- - Not observed locally (macOS APFS) — the two filesystems happened to
18
- iterate the source files in the same order, so the tie resolved to the
19
- same value.
20
- - Affected channel(s): the `dominant_value` cell only, and only on
21
- rows whose `dominant_share` ≤ 50% (no strict majority → a tie is
22
- possible).
23
-
24
- ## Root cause
25
-
26
- `dominant_value` is `Counter.most_common(1)[0]` in Python — among the
27
- max-count group it returns the **first-inserted** value, and insertion
28
- order is the file-iteration order. Python `Path.glob("**/*.md")` returns
29
- files in **unsorted OS `readdir` order**; the TS twin's `_globPattern`
30
- sorts (`out.sort()`). When a field has two values tied at the top count,
31
- the "first-inserted" winner depends on that file order, so the sorted-TS
32
- order and the unsorted-Python order can pick different tied values.
33
-
34
- This is **unreconcilable**, not a port bug: Python's own glob order is
35
- OS-nondeterministic, so two Python runs on different filesystems can
36
- already disagree on the same tie. Forcing the TS twin to sort does not
37
- help (Python is unsorted); forcing it to read unsorted would still not
38
- reliably reproduce CPython's recursive-glob traversal order across
39
- runtimes. Every other derived value (the counts, the share, the bloat
40
- flag) is order-independent and stays byte-identical.
41
-
42
- ## Verdict
43
-
44
- `formatting-only` — the byte difference is confined to a single
45
- display-label column that is inherently OS-iteration-order-dependent in
46
- the Python original itself. No count, share, or bloat-candidate decision
47
- changes. The column that the script exists to drive (`bloat_candidate`,
48
- gated on `dominant_share > 0.95`) is unaffected, because a >95% share is a
49
- strict majority and therefore never tied.
50
-
51
- ## Evidence
52
-
53
- `tests/scripts/inventory_abstraction_budget.test.ts` — the golden-parity
54
- suite asserts `inventory.csv` byte-identical, and for `frontmatter.csv`
55
- compares every column byte-identical **except** `dominant_value` on rows
56
- without a strict majority (`dominant_share` ≤ 50%, where a top tie is
57
- possible). On rows with `dominant_share > 50%` the dominant value is
58
- provably unique and IS compared. The Markdown table comparison
59
- independently permits a per-line divergence only in the `dominant_value`
60
- cell (pipe-cell index 5) and asserts every other cell identical.
61
-
62
- ## Approval
63
-
64
- - Reviewer: matze4u
65
- - Date: 2026-06-12
@@ -1,57 +0,0 @@
1
- # Divergence: lint_marketplace
2
-
3
- ## Script
4
-
5
- - Python: `src/scripts/lint_marketplace.py`
6
- - TypeScript: `src/scripts/lint_marketplace.ts`
7
-
8
- ## Symptom
9
-
10
- One byte-level mismatch, confined to the malformed-`marketplace.json` path
11
- where the message embeds the language's native JSON-parser error text:
12
-
13
- - **Python output:** `❌ .claude-plugin/marketplace.json is not valid JSON: Expecting property name enclosed in double quotes: line 1 column 3 (char 2)`
14
- - **TS output:** `❌ .claude-plugin/marketplace.json is not valid JSON: Expected property name or '}' in JSON at position 2 (line 1 column 3)`
15
- - Affected channel(s): stdout
16
-
17
- Every other case (valid repo, missing file, missing field, version mismatch,
18
- nonexistent / SKILL.md-less / duplicate skill paths, empty plugins, missing
19
- owner email, reverse-drift, completeness exemptions) is byte-identical.
20
-
21
- ## Root cause
22
-
23
- The Python original catches `json.JSONDecodeError` and renders `str(exc)`,
24
- which is CPython's hand-written decoder message
25
- (`Expecting property name enclosed in double quotes: line L column C (char N)`).
26
- The TypeScript port catches the `JSON.parse` `SyntaxError` and renders
27
- `e.message`, which is V8's decoder message
28
- (`Expected property name or '}' in JSON at position N (line L column C)`).
29
- The two decoders disagree on wording, position vs. char offset, and clause
30
- order for the same malformed input. Reproducing CPython's exact decoder
31
- message in TS would require porting CPython's `json.scanner` state machine
32
- verbatim — out of scope and of no consumer value: the message is a debugging
33
- hint appended to the stable `… is not valid JSON: ` prefix, which is the
34
- actual contract (alongside exit code 1). Mirrors the same cross-language
35
- parser-error-text divergence already accepted for `check_memory`
36
- (YAML parse-error class name).
37
-
38
- ## Verdict
39
-
40
- `formatting-only` — the byte difference is a debugging-hint suffix with no
41
- semantic or consumer impact. The stable `… is not valid JSON: ` prefix and the
42
- exit code (1) are preserved; both are what callers and tests assert on.
43
-
44
- ## Evidence
45
-
46
- - The TS twin `tests/scripts/lint_marketplace.test.ts` runs python3 and tsx in
47
- the same tmp cwd and asserts **byte-identical** stdout/stderr/exit for every
48
- fixture **except** the malformed-JSON one, where it asserts the stable
49
- contract (exit 1 + the `is not valid JSON` prefix on both) per this doc.
50
- - The real-repo golden-parity case (the live CI invocation, which has a valid
51
- `marketplace.json`) is byte-identical.
52
-
53
- ## Approval
54
-
55
- Approved as a Phase-4 documented divergence. Permanent — it stems from the
56
- cross-language JSON-decoder error taxonomy, the same class as the accepted
57
- `check_memory` YAML divergence.
@@ -1,70 +0,0 @@
1
- # Divergence: lint_mcp_registry_manifest
2
-
3
- ## Script
4
-
5
- - Python: `src/scripts/lint_mcp_registry_manifest.py`
6
- - TypeScript: `src/scripts/lint_mcp_registry_manifest.ts`
7
-
8
- ## Symptom
9
-
10
- **Conditional, latent divergence — not reached on the real repo.** Golden
11
- parity (python3 vs tsx, no-arg and `--quiet`) is byte-identical today, because
12
- `dist/mcp/` is absent in this worktree, so both versions short-circuit on the
13
- first artefact check and emit:
14
-
15
- - stderr: `❌ missing: dist/mcp/registry-manifest.json`
16
- - exit: 1
17
-
18
- The only branch where the two versions *would* differ is the schema-validation
19
- failure message, which fires solely on a **structurally invalid** manifest
20
- (after all four `dist/mcp/*` artefacts exist):
21
-
22
- - **Python output:** `❌ schema validation: <jsonschema e.message> at <list(e.absolute_path)>`
23
- — wording produced by `jsonschema.Draft202012Validator`.
24
- - **TS output:** `❌ schema validation: <subset-validator message> at [<path…>]`
25
- — wording produced by the hand-rolled Draft-2020-12 subset validator in the
26
- TS port.
27
- - Affected channel(s): stderr (only on an invalid manifest)
28
-
29
- The stable prefix `schema validation: ` and the surrounding control flow
30
- (which artefact is checked, in what order, the exit code 1, the `❌ `
31
- glyph + two-space prefix) are identical. Only the embedded
32
- validator-specific error string and the `at [...]` path rendering can differ.
33
-
34
- ## Root cause
35
-
36
- Python uses `jsonschema.Draft202012Validator(schema).validate(manifest)` and
37
- formats `f"schema validation: {e.message} at {list(e.absolute_path)}"`. The TS
38
- runtime has only `ajv` v6 (Draft-07) available — it cannot evaluate a
39
- Draft-2020-12 schema with `jsonschema`-identical diagnostics. Following the
40
- established Wave-4b pattern (`src/scripts/lint_discovery_manifest.ts`), the TS
41
- port ships a faithful Draft-2020-12 **subset** validator that ACCEPTS every
42
- valid manifest (the golden path) but renders rejection messages in its own
43
- wording. Matching `jsonschema`'s per-keyword English message text + Python
44
- `repr` of the instance + `list(absolute_path)` rendering byte-for-byte is out
45
- of scope and provides no consumer value (the manifest is generated, so an
46
- invalid manifest is a build bug surfaced equally by either version).
47
-
48
- ## Verdict
49
-
50
- `intentional-improvement` — both behaviors reject an invalid manifest with a
51
- non-zero exit and a `schema validation: …` stderr line; the TS wording is a
52
- deliberate, documented substitute for the unavailable Draft-2020-12
53
- `jsonschema` diagnostics. The accept/reject decision (the consumer-relevant
54
- behavior) is preserved.
55
-
56
- ## Evidence
57
-
58
- - `tests/scripts/lint_mcp_registry_manifest.test.ts`:
59
- - the behavioural-spec block asserts the subset validator ACCEPTS a fully
60
- valid manifest and REJECTS each malformed shape (wrong `version` const,
61
- missing required key, unknown additional property, bad `status` enum,
62
- `< minItems` registries) — i.e. the accept/reject contract holds.
63
- - the golden-parity block asserts byte-identical stdout + stderr + exit on
64
- the real repo for both the no-arg and `--quiet` invocations (the
65
- `missing:` branch), proving no actual mismatch ships today.
66
-
67
- ## Approval
68
-
69
- - Reviewer: <pending>
70
- - Date: <pending>
@@ -1,60 +0,0 @@
1
- # Divergence: spotcheck_thin_root
2
-
3
- ## Script
4
-
5
- - Python: `src/scripts/spotcheck_thin_root.py`
6
- - TypeScript: `src/scripts/spotcheck_thin_root.ts`
7
-
8
- ## Symptom
9
-
10
- The entire `main()` is a **live AI-council call** (Anthropic `claude-sonnet-4-5`
11
- + OpenAI `gpt-4o`) that requires API keys + network access and produces a
12
- **non-deterministic** report — per-call `latency_ms` and `tokens_in/out` vary
13
- every run, and the model prose is not reproducible. There is therefore no
14
- golden-parity path: python3 vs tsx output cannot be byte-compared, and the
15
- script cannot run inside CI.
16
-
17
- - Affected channel(s): written files (`thin-root-platform-spotcheck.md` /
18
- `.json`) + stderr (`Running …`, `✅ Wrote …`).
19
-
20
- ## Root cause
21
-
22
- The Python original imports three still-Python `ai_council` modules with no TS
23
- twin in this wave:
24
-
25
- - `ai_council.clients` — `AnthropicClient`, `OpenAIClient`,
26
- `load_anthropic_key`, `load_openai_key` (~1,385 lines, network clients).
27
- - `ai_council.orchestrator` — `CostBudget`, `CouncilQuestion`, `consult`
28
- (~1,206 lines).
29
- - `ai_council.pricing` — `load_prices` (ported as `ai_council/pricing.ts`).
30
-
31
- A `.ts` cannot import a `.py`, and the "PORT + import, never inline the
32
- un-ported logic" rule forbids re-implementing those ~2,800 lines of
33
- network-calling code inside this twin. Per the established precedent for
34
- un-ported Python deps (`check_discovery_determinism.ts` runs its un-ported
35
- scanner via `python3`; `smoke_quickstart.ts` Step 3 imports `decision_engine`
36
- via a `python3` shim), the TS twin delegates the live `consult(...)` call to a
37
- `python3` shim that imports the real Python modules. The deterministic parts —
38
- artefact assembly, the `json.dumps(indent=2)` writer, the Markdown report
39
- layout, the stderr lines — are ported faithfully in TS.
40
-
41
- ## Verdict
42
-
43
- `intentional-improvement` — both behaviors are defensible; the TS twin
44
- preserves the byte-shape of the written report and the stderr surface while
45
- running the unportable, non-deterministic, network-bound council step through
46
- the still-Python modules. Porting the two large network clients is out of this
47
- wave's scope and tracked separately.
48
-
49
- ## Evidence
50
-
51
- `tests/scripts/spotcheck_thin_root.test.ts` asserts the module imports without
52
- a top-level throw and exposes the `main` entry point (the deterministic CLI
53
- surface). The live council path (network + keys) is excluded from CI by
54
- construction — there is no fixture that could pin a non-deterministic
55
- LLM-latency report.
56
-
57
- ## Approval
58
-
59
- - Reviewer: <pending — porting subagent, Wave 8h>
60
- - Date: 2026-06-13
@@ -1,58 +0,0 @@
1
- # Divergence: validate_agent_settings
2
-
3
- ## Script
4
-
5
- - Python: `src/scripts/validate_agent_settings.py`
6
- - TypeScript: `src/scripts/validate_agent_settings.ts`
7
-
8
- ## Symptom
9
-
10
- Only the **error-message prose** of a schema violation can differ. The exit
11
- code, the GitHub `::error file=…::<loc>:` location prefix, the violation
12
- count, the summary line, and the clean-pass line are byte-identical.
13
-
14
- - **Python output (violation):** `::error file=…::rule_loading_tier: 'lean' is not one of ['minimal', 'balanced', 'full', 'custom']`
15
- — the trailing clause is produced verbatim by the `jsonschema` library and
16
- is Python-version-dependent.
17
- - **TS output (violation):** same `::error file=…::rule_loading_tier:` prefix
18
- and field path; the enum/type clause is reproduced by a minimal Draft-07
19
- validator (`_iter_errors`) and may differ in exact wording from a given
20
- `jsonschema` release.
21
- - Affected channel(s): stdout (only the prose tail of a violation line).
22
-
23
- ## Root cause
24
-
25
- The Python script delegates message text to `jsonschema.Draft7Validator`,
26
- whose `ValidationError.message` wording is not a stable contract (it has
27
- changed across `jsonschema` releases). The package ships no `ajv`/jsonschema
28
- dependency for the TS side and `package.json` is frozen for this wave, so the
29
- twin implements the exact constraint subset the shared schema uses (`type`
30
- object/string, string `enum`, `properties`, permissive `additionalProperties:
31
- true`) and approximates the message text. Per ADR-200 §4 the parity contract
32
- for schema-validation findings is **exit code + flagged field-paths**, not
33
- byte-exact jsonschema prose.
34
-
35
- ## Verdict
36
-
37
- `formatting-only` — the constraint set, the violating field path, the error
38
- location prefix, the violation count, and both summary lines match exactly;
39
- only the human-readable enum/type clause may differ, with no semantic or
40
- consumer impact (CI greps the `::error file=…::<loc>:` location, not the tail).
41
-
42
- ## Evidence
43
-
44
- - `tests/scripts/validate_agent_settings.test.ts` asserts: every valid
45
- `rule_loading_tier` accepted; an out-of-enum value rejected **at the
46
- `['rule_loading_tier']` path** with a message naming the allowed values;
47
- the legacy `cost_profile` key tolerated (shipped reality); nested enums
48
- (`memory.cadence`, `model.auto_switch`, `worktrees.mode`) enforced at the
49
- correct paths.
50
- - Golden parity: the same test runs `python3 validate_agent_settings.py` vs
51
- `tsx validate_agent_settings.ts` on the real repo and asserts stdout, stderr,
52
- and exit code are byte-identical (the clean repo never triggers a violation
53
- line, so the only golden-parity surface is the OK summary — byte-identical).
54
-
55
- ## Approval
56
-
57
- - Reviewer: <pending — porting subagent, ADR-200 Phase 4 / Wave 4c>
58
- - Date: 2026-06-11
@@ -1,86 +0,0 @@
1
- # Node Floor Audit
2
-
3
- > Phase 1 Step 12 of `agents/roadmaps/archive/road-to-typescript-only-scripts.md`.
4
- > Decision: which Node.js floor the TS-only script suite supports, where it is
5
- > enforced, and what CI tests.
6
-
7
- ## Facts (as audited 2026-06-11, branch feat/py2ts-phase1-infra)
8
-
9
- | Surface | Value | Source |
10
- |---|---|---|
11
- | `engines.node` | `>=20.11.0` | `package.json:53-55` |
12
- | tsconfig target | `ES2022` (`module: ESNext`, `moduleResolution: Bundler`) | `tsconfig.json:3-5` |
13
- | tsconfig lib | `ES2022` (+ `DOM` in `tsconfig.ui.json:4`, `tsconfig.test.json:6`) | tsconfig files |
14
- | CI — tests.yml | Node `20` | `.github/workflows/tests.yml:241` |
15
- | CI — release-drift.yml | Node `20` | `.github/workflows/release-drift.yml:44` |
16
- | CI — publish-npm.yml | Node `20` | `.github/workflows/publish-npm.yml:48` |
17
- | CI — smoke-public-install.yml | matrix `node: ['20', '22']` × 3 OS | `smoke-public-install.yml:78-80` |
18
- | CI — deploy-mcp-worker.yml | Node `22` | `deploy-mcp-worker.yml:68` |
19
- | `engine-strict` | not set (no `.npmrc`) — `engines` is advisory only | repo root |
20
- | Installer Node check | none today (Python installer never inspects `process.version`) | grep of `src/scripts/install*`, `setup.sh` |
21
-
22
- Feature scan of `src/` TypeScript (sampled, not exhaustive):
23
-
24
- - `node:` protocol imports — 34 files (Node ≥ 16; trivially within floor).
25
- - Global `fetch` in Node-side code — `src/server/token.ts` (stable without flag
26
- since Node 18, marked stable in 21; fine on ≥ 20.11).
27
- - No hits for `structuredClone`, top-of-module top-level `await`,
28
- `Array.prototype.at(-…)`, `Object.hasOwn`, `findLast` in `src/` TS.
29
- - Browser-only `fetch` usage (`src/ui/api.ts`) is covered by the `DOM` lib, not
30
- the Node floor.
31
-
32
- Conclusion of the scan: nothing in the current TS code requires more than
33
- Node 18; the ES2022 compile target is the binding constraint and is fully
34
- served by every Node ≥ 18.12. The floor question is therefore a **support
35
- lifecycle** decision, not a syntax one.
36
-
37
- ## Recommendation
38
-
39
- **Raise the floor to Node `>=22.0.0` as part of the TS-only migration; test
40
- 22 (minimum) and 24 (current LTS) in CI.** Keep `>=20.11.0` only until the
41
- first major/breaking release of the migration lands, then flip — the bump is a
42
- semver-major signal per the package's versioning policy.
43
-
44
- ## Rationale
45
-
46
- - **Node 20 is end-of-life.** Its maintenance window ended April 2026. A
47
- migration that will ship through 2026/27 should not anchor its floor on a
48
- line that no longer receives security fixes; keeping it implies supporting
49
- consumers on an unpatched runtime.
50
- - **Node 22 (maintenance LTS) and 24 (active LTS) are the 2026 reality.** CI
51
- already runs 22 in two workflows; the smoke matrix already proves installs
52
- on 22. Raising the floor to 22 costs no code changes (the feature scan shows
53
- no >ES2022 usage to add or remove) and removes a dead line from the matrix.
54
- - **Consumer compatibility risk is low and visible.** The package is a dev-time
55
- tool invoked via `npx`/global install, not a production runtime dependency.
56
- Consumers still on Node 20 get a clear, immediate failure at install time
57
- (see Enforcement) rather than a latent one.
58
- - **Why not 24 as the floor:** 24 only entered LTS in late 2025; many CI images
59
- and corporate baselines still pin 22. Floor = oldest non-EOL LTS (22),
60
- matrix-test up to current LTS (24).
61
-
62
- ## Enforcement points
63
-
64
- 1. **`package.json` `engines`** — flip to `">=22.0.0"` at the breaking release.
65
- Advisory only without `engine-strict`; npm prints a warning, pnpm/yarn fail
66
- harder. Do **not** set `engine-strict` repo-wide (it would also bind
67
- maintainers); rely on point 2 for the hard gate.
68
- 2. **TS installer runtime check (the hard gate).** Phase 3 Step 2 already
69
- requires "Node-version check with a clear error": the TS installer must
70
- compare `process.versions.node` against the floor on startup and fail with
71
- an actionable message before writing anything. This is the enforcement the
72
- Python installer never had — it must land with the TS installer.
73
- 3. **CI matrix** — pin the floor and the current LTS:
74
- - `smoke-public-install.yml`: `node: ['22', '24']` (replacing `['20', '22']`).
75
- - `tests.yml` / `release-drift.yml` / `publish-npm.yml`: bump single-version
76
- jobs `20` → `22`; add a `24` leg to `tests.yml` if budget allows.
77
- 4. **Docs** — README Quickstart and `docs/getting-started.md` state the floor
78
- explicitly ("requires Node 22+"); CHANGELOG `### Breaking` entry +
79
- `BREAKING_CHANGES.md` index the bump per the versioning policy.
80
-
81
- ## Decision status
82
-
83
- Recommended here; the `engines` flip itself is release-gated (semver-major)
84
- and should ride the first breaking release of the TS migration, not this
85
- infra PR. Until then `>=20.11.0` stays in `package.json`, and CI keeps one
86
- Node 20 leg solely to honor the published floor.
@@ -1,156 +0,0 @@
1
- # Migration — v1 → v2 (npx-only runtime)
2
-
3
- > **Status:** active. The one-shot `npx @event4u/agent-config migrate`
4
- > is implemented in `scripts/_cli/cmd_migrate.py`; its action matrix +
5
- > exit-code contract live in
6
- > [`docs/contracts/migrate-command.md`](../contracts/migrate-command.md).
7
- > This document is the user-facing narrative; the contract is the
8
- > normative reference.
9
-
10
- ## Why this change
11
-
12
- v2 retires the local-install scheme (Composer dependency, npm
13
- `postinstall`, `--global` symlink namespace under `~/.claude/`,
14
- `~/.cursor/`, `~/.codeium/windsurf/`, `~/.config/agent-config/`) in
15
- favour of an **npx-only runtime**. The trade-off and the council's Q1
16
- rejection + the user's override are recorded in
17
- [`docs/architecture.md` § Distribution model](../architecture.md#distribution-model--npx-only--version-pin-governance).
18
-
19
- ## TL;DR
20
-
21
- ```bash
22
- npx @event4u/agent-config migrate
23
- ```
24
-
25
- One command, idempotent. Re-runs on an already-migrated repo do nothing.
26
-
27
- ## What disappears from the consumer
28
-
29
- | Path / entry | Reason |
30
- |-------------------------------------------------------|-----------------------------------------|
31
- | `composer.json` → `require-dev.event4u/agent-config` | No Composer dependency under v2. |
32
- | `composer.lock` line for `event4u/agent-config` | Same; lockfile updated by Composer. |
33
- | `package.json` → `devDependencies.@event4u/agent-config` | No npm dependency under v2. |
34
- | `package-lock.json` / `pnpm-lock.yaml` entries | Same. |
35
- | `node_modules/@event4u/agent-config/` | Removed by the package manager once the `package.json` entry is gone. |
36
- | `vendor/event4u/agent-config/` | Removed by Composer once the require entry is gone. |
37
- | `~/.claude/{rules,skills}/event4u/` | Retired `--global` namespace dir. |
38
- | `~/.cursor/rules/imported/event4u/` | Same. |
39
- | `~/.codeium/windsurf/global_workflows/event4u/` | Same. |
40
- | `~/.config/agent-config/{rules,skills}/event4u/` | Same (fallback path). |
41
- | Legacy `.gitignore` block lines marked `event4u/agent-config (legacy local install)` | Replaced by the v2 block written by `sync-gitignore`. |
42
-
43
- The retired `templates/global-install-manifest.yml` shipped inside the
44
- package and is gone in v2; consumers never carried it directly.
45
-
46
- ## What appears in the consumer
47
-
48
- | Path / entry | Owner / shape |
49
- |-------------------------------------------------------|-----------------------------------------|
50
- | `.agent-settings.yml` → `agent_config_version: "<pin>"` | Project version pin, reviewed in PRs. |
51
- | `.agent-settings.yml` → `update_check:` block | Defaults shipped by `init`; opt-out per knob. |
52
- | Updated `.gitignore` block | v2 entries written by `sync-gitignore`. |
53
-
54
- The per-tool glue (`.claude/`, `.cursor/`, `.clinerules/`,
55
- `.windsurfrules`, `GEMINI.md`, `.github/copilot-instructions.md`,
56
- `.augment/`, `.vscode/settings.json`) keeps the same shape as v1 — only
57
- the source that writes them changed (from `vendor/` /
58
- `node_modules/` scripts to the npx-resolved runtime).
59
-
60
- ## The `migrate` command
61
-
62
- ```bash
63
- npx @event4u/agent-config migrate # apply, real changes
64
- npx @event4u/agent-config migrate --dry-run # plan only, zero writes
65
- ```
66
-
67
- One opinionated command, one flag. The full action matrix +
68
- exit-code contract is documented in
69
- [`docs/contracts/migrate-command.md`](../contracts/migrate-command.md);
70
- the operations summary below is the narrative form.
71
-
72
- Order of operations (fixed; foundation-first):
73
-
74
- 1. Detect every legacy signal in one pass: `composer.json` require
75
- entry, `package.json` devDependency, managed symlinks pointing
76
- into `vendor/` / `node_modules/`, v0
77
- `.implement-ticket-state.json`, project-local `.agent-settings.yml`
78
- / `.agent-user.yml` (flat or under `settings/`), empty
79
- `agent-config/` shell.
80
- 2. Under `--dry-run`, print the planned change set and stop with
81
- exit 0.
82
- 3. Strip the package entries from `package.json` / `composer.json`
83
- in-place; preserve sibling keys + formatting.
84
- 4. Purge legacy symlinks; preserve user-managed symlinks elsewhere
85
- with a warning.
86
- 5. Migrate `.implement-ticket-state.json` → `.work-state.json`
87
- (renames the v0 source to `.bak`).
88
- 6. **Hard-delete** legacy project-local config files. The wizard
89
- (`agent-config setup`) recreates fresh global config on the next
90
- run — deletion is the design, not a regression.
91
- 7. Remove the empty `agent-config/` shell directory if present.
92
- 8. Refresh the `.gitignore` agent-config managed block.
93
- 9. Print a summary listing every action taken.
94
-
95
- Idempotency: re-running on a fully-migrated repo prints
96
- *"already migrated — nothing to do"* and exits 0 without touching
97
- the filesystem.
98
-
99
- ## Verification after migration
100
-
101
- ```bash
102
- npx @event4u/agent-config doctor # P3 — runtime sanity check
103
- ```
104
-
105
- Expected: pin resolved, no v1 markers detected, `update_check` reachable.
106
-
107
- ## v2 → v2.4 — `~/.event4u/agent-config/` namespace move
108
-
109
- v2.4 relocates package-owned user-scope state from
110
- `~/.config/agent-config/` to `~/.event4u/agent-config/`. Tool anchors
111
- (`~/.claude/`, `~/.augment/`, `~/.cursor/`, `~/.codeium/windsurf/`) are
112
- **not** moved — those belong to their host tools.
113
-
114
- ### What moves
115
-
116
- | Old path | New path |
117
- |-----------------------------------------------------|---------------------------------------------------------|
118
- | `~/.config/agent-config/agent-settings.yml` | `~/.event4u/agent-config/agent-settings.yml` |
119
- | `~/.config/agent-config/installed.lock` | `~/.event4u/agent-config/installed.lock` |
120
- | `~/.config/agent-config/installed-tools.yml` | `~/.event4u/agent-config/installed-tools.yml` |
121
- | `~/.config/agent-config/update-check.json` | `~/.event4u/agent-config/update-check.json` |
122
- | `~/.config/agent-config/ai-council/` | `~/.event4u/agent-config/ai-council/` |
123
-
124
- ### Migration — zero action required
125
-
126
- A one-shot auto-migration shim runs on the first `init` / `update` /
127
- `uninstall` after upgrading to ≥ 2.4:
128
-
129
- 1. If `~/.event4u/agent-config/` already exists → no-op.
130
- 2. Otherwise, copy every file from `~/.config/agent-config/` to the new
131
- path, preserving mtimes.
132
- 3. Drop a `MIGRATED.md` breadcrumb in the legacy dir pointing at the new
133
- home. Legacy files stay readable; loaders fall back to them until a
134
- subsequent install overwrites the new path.
135
-
136
- Override the target dir with `EVENT4U_HOME=/some/path` if you keep a
137
- non-standard home (`$HOME` substitute) or want to test the migration
138
- against a sandbox.
139
-
140
- ### Claude Desktop — new bundle output
141
-
142
- v2.4 ships a real Claude Desktop deployment instead of the
143
- marker-only stub. Running `npx @event4u/agent-config init
144
- --tools=claude-desktop` (or any superset that includes it) now produces
145
- one ZIP per `.claude/skills/<name>/` under
146
- `~/.event4u/agent-config/claude-desktop/bundles/`. Import them via
147
- Claude Desktop → Customize → Skills → Upload. See
148
- [`docs/setup/per-ide/claude-desktop.md`](../setup/per-ide/claude-desktop.md)
149
- for the click-through.
150
-
151
- ## See also
152
-
153
- - [`docs/architecture.md` § Distribution model](../architecture.md#distribution-model--npx-only--version-pin-governance) — Q1 council rejection + override + pin substitution.
154
- - [`agents/roadmaps/road-to-portable-runtime-and-update-check.md`](../../agents/roadmaps/road-to-portable-runtime-and-update-check.md) — full delivery plan and acceptance criteria.
155
- - [`agents/roadmaps/road-to-event4u-namespace-and-claude-desktop.md`](../../agents/roadmaps/road-to-event4u-namespace-and-claude-desktop.md) — v2.4 namespace + bundle delivery plan.
156
- - [`docs/installation.md`](../installation.md) — v2 install reference.