@event4u/agent-config 9.8.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 (817) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +278 -298
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +55 -9
  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/fix/portability.md +2 -2
  12. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  13. package/dist/agent-src/commands/fix/refs.md +2 -2
  14. package/dist/agent-src/commands/fix/route.md +4 -3
  15. package/dist/agent-src/commands/fix.md +9 -6
  16. package/dist/agent-src/commands/ghostwriter.md +1 -1
  17. package/dist/agent-src/commands/image.md +1 -1
  18. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  19. package/dist/agent-src/commands/optimize/skills.md +2 -2
  20. package/dist/agent-src/commands/post-as.md +1 -1
  21. package/dist/agent-src/commands/research.md +1 -1
  22. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  23. package/dist/agent-src/commands/security-audit-config.md +1 -1
  24. package/dist/agent-src/commands/team/delegate.md +4 -0
  25. package/dist/agent-src/commands/video.md +1 -1
  26. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  27. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  28. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  29. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  30. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  31. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  32. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  33. package/dist/agent-src/rules/code-provenance.md +112 -0
  34. package/dist/agent-src/rules/external-code-graph-interop.md +4 -4
  35. package/dist/agent-src/rules/history-discipline.md +80 -0
  36. package/dist/agent-src/rules/no-roadmap-references.md +1 -1
  37. package/dist/agent-src/rules/php-coding.md +1 -0
  38. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  39. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  40. package/dist/agent-src/rules/roadmap-progress-sync.md +7 -0
  41. package/dist/agent-src/rules/scale-discipline.md +92 -0
  42. package/dist/agent-src/rules/security-sensitive-stop.md +10 -0
  43. package/dist/agent-src/rules/session-canary.md +77 -0
  44. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  45. package/dist/agent-src/rules/tool-safety.md +3 -1
  46. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  47. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  48. package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -14
  49. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  50. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  51. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  52. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  53. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  54. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  55. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  56. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  57. package/dist/agent-src/skills/image-editing/SKILL.md +1 -1
  58. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  59. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  60. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  61. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  62. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  63. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  64. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  65. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  66. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  67. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  68. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  69. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  70. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  71. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  72. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  73. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  74. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  75. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  76. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  77. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  78. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  79. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  80. package/dist/agent-src/skills/secrets-management/SKILL.md +3 -4
  81. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  82. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  83. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  84. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  85. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  86. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  87. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  88. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  89. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  90. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  91. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
  92. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  93. package/dist/agent-src/templates/AGENTS.md +1 -1
  94. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  95. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  96. package/dist/agent-src/templates/command.md +3 -3
  97. package/dist/agent-src/templates/persona.md +2 -2
  98. package/dist/agent-src/templates/rule.md +2 -2
  99. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  100. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  101. package/dist/cli/commands/doctorShell.js +20 -0
  102. package/dist/cli/commands/doctorShell.js.map +1 -1
  103. package/dist/cli/commands/rtkDetect.js +58 -0
  104. package/dist/cli/commands/rtkDetect.js.map +1 -0
  105. package/dist/cli/firstRunNotice.js +70 -0
  106. package/dist/cli/firstRunNotice.js.map +1 -0
  107. package/dist/cli/main.js +35 -3
  108. package/dist/cli/main.js.map +1 -1
  109. package/dist/cli/registry.js +7 -1
  110. package/dist/cli/registry.js.map +1 -1
  111. package/dist/discovery/deprecation-report.md +1 -1
  112. package/dist/discovery/discovery-manifest.json +362 -78
  113. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  114. package/dist/discovery/discovery-manifest.summary.md +6 -4
  115. package/dist/discovery/orphan-report.md +1 -1
  116. package/dist/discovery/packs.json +90 -8
  117. package/dist/discovery/trust-report.md +11 -11
  118. package/dist/discovery/workspaces.json +31 -7
  119. package/dist/hooks/dispatch.js +19475 -0
  120. package/dist/install/agentSwitchDetection.js +75 -0
  121. package/dist/install/agentSwitchDetection.js.map +1 -0
  122. package/dist/install/agentSwitchProfile.js +117 -0
  123. package/dist/install/agentSwitchProfile.js.map +1 -0
  124. package/dist/install/atomic.js +1 -1
  125. package/dist/install/detect.js +1 -1
  126. package/dist/install/install.mjs +775 -486
  127. package/dist/install/rtkDetection.js +213 -0
  128. package/dist/install/rtkDetection.js.map +1 -0
  129. package/dist/install/rule_scope.js +2 -1
  130. package/dist/install/rule_scope.js.map +1 -1
  131. package/dist/install/types.js +2 -2
  132. package/dist/install/wizard-plan.js +1 -1
  133. package/dist/install/wizardDismissals.js +58 -0
  134. package/dist/install/wizardDismissals.js.map +1 -0
  135. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  136. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  137. package/dist/mcp/registry-manifest.json +15 -4
  138. package/dist/mcp/server.json +20 -0
  139. package/dist/mcp/server.mjs +44292 -0
  140. package/dist/router.json +1 -1
  141. package/dist/scripts/condense.js +14 -7
  142. package/dist/scripts/condense.js.map +1 -1
  143. package/dist/server/app.js +4 -2
  144. package/dist/server/app.js.map +1 -1
  145. package/dist/server/io/sharedWriteCheck.js +101 -0
  146. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  147. package/dist/server/routes/ping.js +14 -0
  148. package/dist/server/routes/ping.js.map +1 -1
  149. package/dist/server/routes/settings.js +21 -4
  150. package/dist/server/routes/settings.js.map +1 -1
  151. package/dist/server/routes/userMd.js +21 -4
  152. package/dist/server/routes/userMd.js.map +1 -1
  153. package/dist/server/routes/wizard.js +68 -25
  154. package/dist/server/routes/wizard.js.map +1 -1
  155. package/dist/server/schemas/settings.js +4 -2
  156. package/dist/server/schemas/settings.js.map +1 -1
  157. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  158. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  159. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  160. package/dist/ui/index.html +2 -2
  161. package/docs/MIGRATION.md +16 -0
  162. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  163. package/package.json +21 -11
  164. package/src/agent-src/templates/AGENTS.md +1 -1
  165. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  166. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  167. package/src/config/agent-settings.template.yml +52 -14
  168. package/src/config/discovery/packs.yml +22 -0
  169. package/src/config/discovery/workspaces.yml +1 -1
  170. package/src/config/evaluator-budgets.json +47 -0
  171. package/src/config/hook-latency-budget.json +20 -0
  172. package/src/install/agentSwitchDetection.ts +90 -0
  173. package/src/install/agentSwitchProfile.ts +131 -0
  174. package/src/install/atomic.ts +1 -1
  175. package/src/install/detect.ts +1 -1
  176. package/src/install/rtkDetection.ts +274 -0
  177. package/src/install/rule_scope.ts +9 -2
  178. package/src/install/types.ts +2 -2
  179. package/src/install/wizard-plan.ts +1 -1
  180. package/src/install/wizardDismissals.ts +60 -0
  181. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  182. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  183. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  184. package/src/scripts/_dispatch.bash +81 -0
  185. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  186. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  187. package/src/scripts/_lib/detect_target_license.ts +714 -0
  188. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +5 -0
  189. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
  190. package/src/scripts/_lib/install_drift.ts +194 -0
  191. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  192. package/src/scripts/_lib/orchestration_record.ts +91 -2
  193. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  194. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  195. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  196. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  197. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  198. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  199. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  200. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  201. package/src/scripts/_lib/persistence/types.ts +109 -0
  202. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  203. package/src/scripts/_lib/secret_detector.test.ts +5 -0
  204. package/src/scripts/_lib/secret_detector.ts +9 -0
  205. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  206. package/src/scripts/_lib/spawn_env.ts +7 -0
  207. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  208. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  209. package/src/scripts/_lib/worker_budget.ts +107 -0
  210. package/src/scripts/ai_council/blind_review.ts +0 -0
  211. package/src/scripts/ai_council/config.ts +12 -6
  212. package/src/scripts/ai_council/orchestrator.ts +73 -3
  213. package/src/scripts/ai_team/review_gate.ts +8 -10
  214. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  215. package/src/scripts/audit_initial_context.ts +1 -1
  216. package/src/scripts/bench_cross_source_eval.ts +400 -0
  217. package/src/scripts/bench_honesty_score.ts +1093 -0
  218. package/src/scripts/bench_hook_latency.ts +218 -0
  219. package/src/scripts/build_mcp_catalog.ts +275 -0
  220. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  221. package/src/scripts/build_proof.ts +45 -0
  222. package/src/scripts/chat_history.ts +8 -5
  223. package/src/scripts/check_backstop_debt.ts +23 -13
  224. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  225. package/src/scripts/check_evaluator_budgets.ts +99 -0
  226. package/src/scripts/check_knowledge_sharing.ts +12 -1
  227. package/src/scripts/check_no_external_sources.ts +2 -2
  228. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  229. package/src/scripts/code_graph/build.ts +0 -0
  230. package/src/scripts/code_graph/cli.ts +181 -9
  231. package/src/scripts/code_graph/detect.ts +52 -0
  232. package/src/scripts/code_graph/intent.ts +45 -0
  233. package/src/scripts/code_graph/query.ts +143 -29
  234. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  235. package/src/scripts/condense.ts +14 -6
  236. package/src/scripts/context_hygiene_hook.ts +8 -5
  237. package/src/scripts/council_cli.ts +126 -12
  238. package/src/scripts/detect_target_license.ts +203 -0
  239. package/src/scripts/evaluator_umbrella.sh +145 -0
  240. package/src/scripts/external_sources_denylist.json +5 -3
  241. package/src/scripts/first_run_gate_hook.ts +9 -5
  242. package/src/scripts/hermetic-install.sh +3 -3
  243. package/src/scripts/hook_manifest.yaml +55 -16
  244. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  245. package/src/scripts/hooks/block_no_verify.ts +9 -9
  246. package/src/scripts/hooks/code_graph_nudge_hook.ts +11 -4
  247. package/src/scripts/hooks/concern_registry.ts +75 -0
  248. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  249. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  250. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  251. package/src/scripts/hooks/hook_stdin.ts +42 -0
  252. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  253. package/src/scripts/hot_context_hook.ts +7 -6
  254. package/src/scripts/injection_scan_hook.ts +9 -1
  255. package/src/scripts/install +6 -6
  256. package/src/scripts/install-hooks.sh +4 -4
  257. package/src/scripts/install.sh +5 -4
  258. package/src/scripts/install.ts +264 -23
  259. package/src/scripts/learning_sidecar.ts +0 -0
  260. package/src/scripts/lint_budget_ownership.ts +89 -0
  261. package/src/scripts/lint_command_routing.ts +35 -5
  262. package/src/scripts/lint_command_verbs.ts +42 -9
  263. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  264. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  265. package/src/scripts/lint_documented_commands.ts +670 -0
  266. package/src/scripts/lint_framework_leakage.ts +17 -3
  267. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  268. package/src/scripts/lint_governed_writes.ts +335 -0
  269. package/src/scripts/lint_hidden_unicode.ts +6 -0
  270. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  271. package/src/scripts/lint_memory_tripwire.ts +186 -0
  272. package/src/scripts/lint_override_kernel_guard.ts +74 -26
  273. package/src/scripts/lint_persistence.ts +171 -0
  274. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  275. package/src/scripts/lint_provenance.ts +547 -0
  276. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  277. package/src/scripts/lint_spawn_payload.ts +283 -0
  278. package/src/scripts/lint_store_boundary.ts +152 -0
  279. package/src/scripts/lint_versioned_cache.ts +7 -1
  280. package/src/scripts/mcp_server/__main__.ts +7 -2
  281. package/src/scripts/mcp_server/catalog.ts +23 -1
  282. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  283. package/src/scripts/mcp_server/prompts.ts +6 -0
  284. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  285. package/src/scripts/mcp_server/tools.ts +56 -5
  286. package/src/scripts/mcp_telemetry_query.ts +2 -33
  287. package/src/scripts/mcp_telemetry_store.ts +64 -34
  288. package/src/scripts/memory_learn_hook.ts +126 -0
  289. package/src/scripts/memory_lookup.ts +0 -0
  290. package/src/scripts/memory_replay_24.ts +312 -0
  291. package/src/scripts/memory_report.ts +16 -3
  292. package/src/scripts/memory_signal.ts +48 -0
  293. package/src/scripts/memory_status.ts +6 -0
  294. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  295. package/src/scripts/onboarding_gate_hook.ts +8 -5
  296. package/src/scripts/orchestration_record.ts +16 -0
  297. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  298. package/src/scripts/prepack-check.mjs +17 -0
  299. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  300. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  301. package/src/scripts/profile_staleness_hook.ts +8 -7
  302. package/src/scripts/report_install_drift.ts +109 -0
  303. package/src/scripts/roadmap_progress_hook.ts +8 -5
  304. package/src/scripts/schemas/license-policy.schema.json +89 -0
  305. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  306. package/src/scripts/schemas/rule.schema.json +10 -0
  307. package/src/scripts/self_review_gate.test.ts +173 -1
  308. package/src/scripts/self_review_gate.ts +155 -15
  309. package/src/scripts/session_canary_hook.ts +182 -0
  310. package/src/scripts/smoke_quickstart.ts +2 -2
  311. package/src/scripts/surface_probe_hook.ts +8 -7
  312. package/src/scripts/sync_gitattributes.ts +310 -0
  313. package/src/scripts/team_review_gate_hook.ts +13 -16
  314. package/src/scripts/verify_before_complete_hook.ts +8 -5
  315. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  316. package/src/server/schemas/settings.ts +8 -2
  317. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  318. package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
  319. package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
  320. package/docs/CLAIMS.md +0 -286
  321. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  322. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  323. package/docs/SKILL_CENSUS.md +0 -352
  324. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  325. package/docs/adrs/cost/README.md +0 -9
  326. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  327. package/docs/adrs/memory/README.md +0 -10
  328. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  329. package/docs/adrs/router/README.md +0 -9
  330. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  331. package/docs/adrs/schema/README.md +0 -9
  332. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  333. package/docs/adrs/smoke/README.md +0 -9
  334. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  335. package/docs/adrs/telegraph/README.md +0 -9
  336. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  337. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  338. package/docs/anti-reskin-gate.md +0 -60
  339. package/docs/architecture/augment-projection.md +0 -70
  340. package/docs/architecture/claude-bundle.md +0 -77
  341. package/docs/architecture/current-onboard-baseline.md +0 -126
  342. package/docs/architecture/current-safety-behavior.md +0 -137
  343. package/docs/architecture/multi-tool-projection.md +0 -125
  344. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  345. package/docs/architecture/source-projection.md +0 -85
  346. package/docs/architecture.md +0 -390
  347. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  348. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  349. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  350. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  351. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  352. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  353. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  354. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  355. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  356. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  357. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  358. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  359. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  360. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  361. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  362. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  363. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  364. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  365. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  366. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  367. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  368. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  369. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  370. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  371. package/docs/artefact-census.md +0 -71
  372. package/docs/benchmark.md +0 -785
  373. package/docs/benchmark.pinned.yml +0 -31
  374. package/docs/benchmarks.md +0 -85
  375. package/docs/capability-matrix.md +0 -33
  376. package/docs/case-studies/_template.md +0 -60
  377. package/docs/case-studies/frontend-design-positioning.md +0 -86
  378. package/docs/catalog.md +0 -726
  379. package/docs/command-flows.md +0 -272
  380. package/docs/command-naming-audit.md +0 -60
  381. package/docs/comparison.yaml +0 -87
  382. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  383. package/docs/contracts/STABILITY.md +0 -188
  384. package/docs/contracts/adoption-signal-floor.md +0 -127
  385. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  386. package/docs/contracts/adr-chat-history-split.md +0 -140
  387. package/docs/contracts/adr-command-suggestion.md +0 -144
  388. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  389. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  390. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  391. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  392. package/docs/contracts/adr-layout.md +0 -107
  393. package/docs/contracts/adr-level-6-productization.md +0 -145
  394. package/docs/contracts/adr-mcp-runtime.md +0 -128
  395. package/docs/contracts/adr-product-ui-track.md +0 -381
  396. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  397. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  398. package/docs/contracts/adr-user-types-axis.md +0 -127
  399. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  400. package/docs/contracts/agent-user-schema.md +0 -170
  401. package/docs/contracts/agents-layout.md +0 -148
  402. package/docs/contracts/agents-md-tech-stack.md +0 -75
  403. package/docs/contracts/ai-council-config.md +0 -829
  404. package/docs/contracts/ai-team-config.md +0 -224
  405. package/docs/contracts/analysis-memory-loop.md +0 -149
  406. package/docs/contracts/at-rest-encryption.md +0 -191
  407. package/docs/contracts/audit-log-v1.md +0 -150
  408. package/docs/contracts/auto-orchestration-v1.md +0 -70
  409. package/docs/contracts/benchmark-ab-contract.md +0 -106
  410. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  411. package/docs/contracts/benchmark-report-schema.md +0 -113
  412. package/docs/contracts/branch-protection-policy.md +0 -139
  413. package/docs/contracts/brand-token-consumption.md +0 -74
  414. package/docs/contracts/capability-boundary.md +0 -69
  415. package/docs/contracts/capability-packs.md +0 -217
  416. package/docs/contracts/ci-cost-budget.md +0 -111
  417. package/docs/contracts/ci-green-floor.md +0 -141
  418. package/docs/contracts/command-category-governance.md +0 -84
  419. package/docs/contracts/command-clusters.md +0 -399
  420. package/docs/contracts/command-surface-tiers.md +0 -176
  421. package/docs/contracts/command-taxonomy.md +0 -137
  422. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  423. package/docs/contracts/config-presets.md +0 -144
  424. package/docs/contracts/conformance.md +0 -84
  425. package/docs/contracts/consumer-bridge.md +0 -73
  426. package/docs/contracts/context-paths.md +0 -101
  427. package/docs/contracts/context-spine.md +0 -179
  428. package/docs/contracts/cost-dashboard.md +0 -143
  429. package/docs/contracts/cost-enforcement.md +0 -134
  430. package/docs/contracts/cost-profile-defaults.md +0 -110
  431. package/docs/contracts/cost-summary-schema.md +0 -107
  432. package/docs/contracts/creative-pack-boundary.md +0 -63
  433. package/docs/contracts/cross-repo-retrieval.md +0 -64
  434. package/docs/contracts/cross-wing-handoff.md +0 -134
  435. package/docs/contracts/daily-workspace.md +0 -147
  436. package/docs/contracts/decision-engine-gates.md +0 -120
  437. package/docs/contracts/decision-trace-v1.md +0 -177
  438. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  439. package/docs/contracts/design-artifact-verification.md +0 -153
  440. package/docs/contracts/discovery-manifest.md +0 -209
  441. package/docs/contracts/discovery-manifest.schema.json +0 -254
  442. package/docs/contracts/evidence-based-pruning.md +0 -102
  443. package/docs/contracts/explain-modes.md +0 -187
  444. package/docs/contracts/explain-trace.schema.json +0 -144
  445. package/docs/contracts/file-ownership-matrix.json +0 -13941
  446. package/docs/contracts/file-ownership-matrix.md +0 -135
  447. package/docs/contracts/frontmatter-contract.md +0 -140
  448. package/docs/contracts/ghostwriter-schema.md +0 -337
  449. package/docs/contracts/governance-enforcement-projection.md +0 -159
  450. package/docs/contracts/gui-wizard.md +0 -350
  451. package/docs/contracts/harness-expectations.md +0 -128
  452. package/docs/contracts/hook-architecture-v1.md +0 -325
  453. package/docs/contracts/host-agent-protocol.md +0 -110
  454. package/docs/contracts/implement-ticket-flow.md +0 -625
  455. package/docs/contracts/init-telemetry.md +0 -132
  456. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  457. package/docs/contracts/install-layout.md +0 -249
  458. package/docs/contracts/install-scopes.md +0 -82
  459. package/docs/contracts/installed-tools-lockfile.md +0 -144
  460. package/docs/contracts/installer-agent-mode.md +0 -137
  461. package/docs/contracts/iron-law-overrides.txt +0 -26
  462. package/docs/contracts/kernel-membership.md +0 -339
  463. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  464. package/docs/contracts/linear-ai-three-layers.md +0 -130
  465. package/docs/contracts/linter-structural-model.md +0 -181
  466. package/docs/contracts/load-context-budget-model.md +0 -259
  467. package/docs/contracts/load-context-schema.md +0 -220
  468. package/docs/contracts/local-analytics.md +0 -160
  469. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  470. package/docs/contracts/local-server-api.md +0 -134
  471. package/docs/contracts/local-server-ports.md +0 -53
  472. package/docs/contracts/low-impact-corpus-format.md +0 -95
  473. package/docs/contracts/mcp-beta-criteria.md +0 -130
  474. package/docs/contracts/mcp-cloud-scope.md +0 -355
  475. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  476. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  477. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  478. package/docs/contracts/mcp-tool-inventory.md +0 -64
  479. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  480. package/docs/contracts/measurement-baseline.md +0 -103
  481. package/docs/contracts/memory-visibility-v1.md +0 -160
  482. package/docs/contracts/mental-models.md +0 -336
  483. package/docs/contracts/migrate-command.md +0 -233
  484. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  485. package/docs/contracts/namespace.md +0 -125
  486. package/docs/contracts/no-runtime-boundary.md +0 -61
  487. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  488. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  489. package/docs/contracts/package-self-orientation.md +0 -163
  490. package/docs/contracts/pilot/agent-authority.md +0 -24
  491. package/docs/contracts/pilot/direct-answers.md +0 -70
  492. package/docs/contracts/pilot/language-and-tone.md +0 -63
  493. package/docs/contracts/plain-language-surface.md +0 -117
  494. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  495. package/docs/contracts/profile-system.md +0 -167
  496. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  497. package/docs/contracts/release-pr-gating.md +0 -151
  498. package/docs/contracts/release-sizing.md +0 -107
  499. package/docs/contracts/release-trunk-sync.md +0 -105
  500. package/docs/contracts/review-lens-schema.md +0 -64
  501. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  502. package/docs/contracts/role-experience.md +0 -125
  503. package/docs/contracts/router-blending.md +0 -71
  504. package/docs/contracts/rule-classification.md +0 -171
  505. package/docs/contracts/rule-interactions.md +0 -132
  506. package/docs/contracts/rule-interactions.yml +0 -260
  507. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  508. package/docs/contracts/rule-router.md +0 -287
  509. package/docs/contracts/safety-model.md +0 -129
  510. package/docs/contracts/session-profile-overlay.md +0 -157
  511. package/docs/contracts/settings-api.md +0 -264
  512. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  513. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  514. package/docs/contracts/skill-bundled-assets.md +0 -62
  515. package/docs/contracts/skill-discovery.md +0 -80
  516. package/docs/contracts/skill-distribution-channels.md +0 -66
  517. package/docs/contracts/skill-domains.md +0 -144
  518. package/docs/contracts/skill-dry-run.md +0 -47
  519. package/docs/contracts/skill-family-map.yml +0 -915
  520. package/docs/contracts/smoke-contracts.md +0 -144
  521. package/docs/contracts/subagent-boundary.md +0 -74
  522. package/docs/contracts/surface-agent-contracts.md +0 -153
  523. package/docs/contracts/surface-matrix.md +0 -108
  524. package/docs/contracts/surface-tiers.md +0 -81
  525. package/docs/contracts/telegraph-telemetry.md +0 -83
  526. package/docs/contracts/ticket-bundle-format.md +0 -233
  527. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  528. package/docs/contracts/trust-and-safety.md +0 -144
  529. package/docs/contracts/ui-stack-extension.md +0 -237
  530. package/docs/contracts/ui-track-flow.md +0 -329
  531. package/docs/contracts/universal-skills.md +0 -91
  532. package/docs/contracts/user-type-schema.md +0 -146
  533. package/docs/contracts/value-dashboard-spec.md +0 -378
  534. package/docs/contracts/value-report-schema.md +0 -168
  535. package/docs/contracts/workflow-packs.md +0 -121
  536. package/docs/contracts/workspace-boundary.md +0 -84
  537. package/docs/contracts/workspace-documents.md +0 -144
  538. package/docs/contracts/write-engine.md +0 -182
  539. package/docs/cookbook.md +0 -152
  540. package/docs/customization.md +0 -696
  541. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  542. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  543. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  544. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  545. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  546. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  547. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  548. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  549. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  550. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  551. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  552. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  553. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  554. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  555. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  556. package/docs/decisions/ADR-016-installer-architecture.md +0 -191
  557. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  558. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  559. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  560. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  561. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  562. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  563. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  564. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  565. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  566. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  567. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  568. package/docs/decisions/ADR-028-root-layout.md +0 -147
  569. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  570. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  571. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  572. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  573. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  574. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  575. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  576. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  577. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  578. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  579. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  580. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  581. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  582. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  583. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  584. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  585. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  586. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  587. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  588. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  589. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  590. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  591. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  592. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  593. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  594. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  595. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  596. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  597. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  598. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  599. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  600. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  601. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  602. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  603. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  604. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  605. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  606. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  607. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  608. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  609. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  610. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  611. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  612. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  613. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  614. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  615. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  616. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  617. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  618. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  619. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  620. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  621. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  622. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  623. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  624. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  625. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  626. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  627. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  628. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  629. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  630. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  631. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  632. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  633. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  634. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  635. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  636. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  637. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  638. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  639. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  640. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  641. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  642. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  643. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  644. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  645. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  646. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  647. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  648. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  649. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -248
  650. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
  651. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  652. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  653. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -209
  654. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  655. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  656. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  657. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  658. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  659. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  660. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  661. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  662. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  663. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  664. package/docs/decisions/ADR-124-embedded-engine-doctrine.md +0 -255
  665. package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
  666. package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
  667. package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
  668. package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
  669. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  670. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  671. package/docs/decisions/INDEX.md +0 -157
  672. package/docs/decisions/engine-reclassification-2026-07.md +0 -104
  673. package/docs/deploy/connector-setup.md +0 -129
  674. package/docs/deploy/env-vars.md +0 -70
  675. package/docs/deploy/policy-cookbook.md +0 -130
  676. package/docs/deploy/quickstart.md +0 -112
  677. package/docs/deploy/small-team-recipe.md +0 -148
  678. package/docs/deploy/team-deployment-posture.md +0 -111
  679. package/docs/design/adversarial-council-eval.md +0 -106
  680. package/docs/design/council-vs-solo-baseline.md +0 -92
  681. package/docs/design/cross-model-parity-eval.md +0 -82
  682. package/docs/design/length-neutral-judge-rerun.md +0 -92
  683. package/docs/design/utilization-window-criteria.md +0 -51
  684. package/docs/development.md +0 -230
  685. package/docs/distribution/awesome-list-submission.md +0 -46
  686. package/docs/distribution/consumer-matrix.md +0 -96
  687. package/docs/distribution/launch-story-draft.md +0 -58
  688. package/docs/distribution/mcp-submission-checklist.md +0 -95
  689. package/docs/distribution/public-install-smoke.md +0 -68
  690. package/docs/distribution/registries.md +0 -126
  691. package/docs/distribution/registry-submissions.md +0 -85
  692. package/docs/distribution/telemetry-privacy.md +0 -128
  693. package/docs/distribution/telemetry-schema.md +0 -174
  694. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  695. package/docs/end-to-end-walkthroughs.md +0 -165
  696. package/docs/enforcement-by-host.md +0 -51
  697. package/docs/examples/agent-user.example.md +0 -22
  698. package/docs/experiences/agency.md +0 -49
  699. package/docs/experiences/content_creator.md +0 -49
  700. package/docs/experiences/developer.md +0 -49
  701. package/docs/experiences/finance.md +0 -50
  702. package/docs/experiences/founder.md +0 -49
  703. package/docs/experiences/ops.md +0 -49
  704. package/docs/featured-commands.md +0 -27
  705. package/docs/featured-skills.md +0 -95
  706. package/docs/flows.md +0 -67
  707. package/docs/getting-started-by-role.md +0 -190
  708. package/docs/getting-started-laravel.md +0 -72
  709. package/docs/getting-started-local-stdio.md +0 -77
  710. package/docs/getting-started.md +0 -254
  711. package/docs/github-topics.md +0 -93
  712. package/docs/governance-advantage.md +0 -72
  713. package/docs/governance.md +0 -96
  714. package/docs/guides/cross-repo-linked-projects.md +0 -93
  715. package/docs/guides/cross-repo-retrieval.md +0 -61
  716. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  717. package/docs/guides/gated-platform-reads.md +0 -221
  718. package/docs/guides/local-analytics.md +0 -125
  719. package/docs/guides/local-knowledge.md +0 -127
  720. package/docs/guides/skill-discovery.md +0 -71
  721. package/docs/guides/skill-preview.md +0 -71
  722. package/docs/hook-payload-capture.md +0 -221
  723. package/docs/install-friction-report.md +0 -66
  724. package/docs/installation.md +0 -959
  725. package/docs/maintainers/branch-protection.md +0 -105
  726. package/docs/maintainers/dev-mode.md +0 -106
  727. package/docs/maintainers/optional-media-deps.md +0 -50
  728. package/docs/maintainers/system-map.md +0 -85
  729. package/docs/mcp-registries.md +0 -94
  730. package/docs/mcp-server.md +0 -175
  731. package/docs/mcp.md +0 -147
  732. package/docs/media/proof-demo.cast +0 -14
  733. package/docs/media/proof-demo.gif +0 -0
  734. package/docs/migration/consumer-template-consumption-model.md +0 -145
  735. package/docs/migration/divergences/README.md +0 -55
  736. package/docs/migration/divergences/_template.md +0 -50
  737. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  738. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  739. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  740. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  741. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  742. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  743. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  744. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  745. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  746. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  747. package/docs/migration/node-floor.md +0 -86
  748. package/docs/migration/v1-to-v2.md +0 -156
  749. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  750. package/docs/migrations/commands-1.15.0.md +0 -117
  751. package/docs/parity/bench-external.json +0 -58
  752. package/docs/parity/bench.json +0 -41
  753. package/docs/parity/command-frontmatter.md +0 -60
  754. package/docs/parity/external-runtime.md +0 -46
  755. package/docs/personas.md +0 -178
  756. package/docs/positioning-evidence.md +0 -86
  757. package/docs/profiles.md +0 -108
  758. package/docs/proof.md +0 -252
  759. package/docs/quality.md +0 -98
  760. package/docs/readme-split-plan.md +0 -102
  761. package/docs/recruits/_template.md +0 -81
  762. package/docs/release-runbook.md +0 -141
  763. package/docs/role-experiences.md +0 -19
  764. package/docs/safety.md +0 -30
  765. package/docs/second-brain-scope.md +0 -116
  766. package/docs/self-review-gate.md +0 -65
  767. package/docs/setup/enterprise-and-offline.md +0 -201
  768. package/docs/setup/mcp-client-config.md +0 -358
  769. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  770. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  771. package/docs/setup/mcp-cloud-setup.md +0 -183
  772. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  773. package/docs/setup/mcp-server-docker.md +0 -101
  774. package/docs/setup/per-ide/aider.md +0 -48
  775. package/docs/setup/per-ide/antigravity.md +0 -68
  776. package/docs/setup/per-ide/augment.md +0 -89
  777. package/docs/setup/per-ide/claude-code.md +0 -97
  778. package/docs/setup/per-ide/claude-desktop.md +0 -207
  779. package/docs/setup/per-ide/cline.md +0 -43
  780. package/docs/setup/per-ide/codebuddy.md +0 -63
  781. package/docs/setup/per-ide/codex.md +0 -46
  782. package/docs/setup/per-ide/continue.md +0 -68
  783. package/docs/setup/per-ide/copilot.md +0 -80
  784. package/docs/setup/per-ide/cursor.md +0 -125
  785. package/docs/setup/per-ide/droid.md +0 -65
  786. package/docs/setup/per-ide/gemini-cli.md +0 -45
  787. package/docs/setup/per-ide/jetbrains.md +0 -76
  788. package/docs/setup/per-ide/kilocode.md +0 -66
  789. package/docs/setup/per-ide/kiro.md +0 -72
  790. package/docs/setup/per-ide/opencode.md +0 -62
  791. package/docs/setup/per-ide/qoder.md +0 -63
  792. package/docs/setup/per-ide/roocode.md +0 -68
  793. package/docs/setup/per-ide/trae.md +0 -63
  794. package/docs/setup/per-ide/warp.md +0 -63
  795. package/docs/setup/per-ide/windsurf.md +0 -109
  796. package/docs/setup/per-ide/zed.md +0 -73
  797. package/docs/showcase.md +0 -209
  798. package/docs/skill-duplication-findings.md +0 -91
  799. package/docs/skills-catalog.md +0 -265
  800. package/docs/skills-taxonomy.md +0 -90
  801. package/docs/spawn-site-policy.md +0 -72
  802. package/docs/succession.md +0 -80
  803. package/docs/threat-model.md +0 -30
  804. package/docs/troubleshooting.md +0 -155
  805. package/docs/ui-track-mental-model.md +0 -121
  806. package/docs/us-vs-the-category.md +0 -38
  807. package/docs/value.md +0 -86
  808. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  809. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  810. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  811. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  812. package/docs/walkthroughs/daily-workspace.md +0 -127
  813. package/docs/wedge/production-validator/README.md +0 -81
  814. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  815. package/docs/wedge/production-validator/production-validator.md +0 -83
  816. package/docs/wizard.md +0 -173
  817. package/src/scripts/postinstall_gui.ts +0 -129
@@ -72,10 +72,16 @@ export interface SkillPrompt {
72
72
  }
73
73
 
74
74
  /** Walk up from this file to the repo root (parent of `scripts/`). */
75
+ declare const __AGENT_CONFIG_BUNDLE__: boolean | undefined;
75
76
  export function _project_root(): string {
76
77
  // Python: Path(__file__).resolve().parent.parent.parent.parent
77
78
  // __file__ = src/scripts/mcp_server/prompts.py
78
79
  // → .../src/scripts/mcp_server → src/scripts → src → repo root.
80
+ // Bundled (dist/mcp/server.mjs) the module sits two levels below the
81
+ // package root — the esbuild --define sentinel picks the right depth.
82
+ if (typeof __AGENT_CONFIG_BUNDLE__ !== 'undefined' && __AGENT_CONFIG_BUNDLE__) {
83
+ return path.resolve(fileURLToPath(import.meta.url), '..', '..', '..');
84
+ }
79
85
  return path.resolve(fileURLToPath(import.meta.url), '..', '..', '..', '..');
80
86
  }
81
87
 
@@ -0,0 +1,332 @@
1
+ // Source-of-truth data for `../build_mcp_catalog.ts` (Phase 3 of
2
+ // road-to-credible-install — MCP hygiene: generated truth, honest stubs).
3
+ //
4
+ // `consumer_tool_catalog.json` used to be hand-maintained: every tool's
5
+ // name/description/input_schema had to be kept in sync by hand across the
6
+ // JSON file AND its real handler registration in `tools.ts`. The generator
7
+ // derives the JSON from two registries instead of a third hand-edited copy:
8
+ //
9
+ // - Implemented tools — `ALLOWLIST` in `./tools.ts`. Name, description,
10
+ // input_schema, and side_effect all live on the handler registration
11
+ // itself; the generator reads them directly.
12
+ // - Stub-only tools — `STUB_TOOLS` below. Catalog-listed discovery
13
+ // placeholders with no wired handler (or, for `catalog_search` /
14
+ // `catalog_inspect` / `catalog_load`, a handler that exists in
15
+ // `catalog_tools.ts` but is deliberately not promoted into ALLOWLIST
16
+ // yet — see the file header there). These have no other natural home
17
+ // in the codebase, so their metadata is authored here.
18
+ //
19
+ // Never hand-edit `consumer_tool_catalog.json` — run
20
+ // `npm run build:mcp-catalog` (or `./scripts-run src/scripts/build_mcp_catalog
21
+ // --write`) after changing a tool's registration or a `STUB_TOOLS` entry.
22
+ import type { ToolSideEffect } from './tools.js';
23
+
24
+ export type { ToolSideEffect };
25
+
26
+ /** Free-text top-level `description` field. Human-facing only. */
27
+ export const CATALOG_DESCRIPTION =
28
+ 'Source-of-truth catalog of consumer-relevant MCP tools. Read by the ' +
29
+ 'stdio server (scripts/mcp_server/) and packed into the Cloud Worker ' +
30
+ "bundle (internal/workers/mcp/). The 'implemented_on' field lists " +
31
+ 'transports where the real handler is wired. Entries marked ' +
32
+ "'[stub — implemented on demand]' are DOCUMENTATION of the on-demand " +
33
+ 'backlog: per ADR-132 they are NOT registered on the stdio tools/list ' +
34
+ "(the wire carries implemented tools only); the 'not_implemented' " +
35
+ 'envelope contract (docs/contracts/mcp-tool-stub-envelope.md) remains ' +
36
+ 'for Worker parity. Generated by `src/scripts/build_mcp_catalog.ts` — ' +
37
+ 'never hand-edit this file.';
38
+
39
+ export interface StubToolSource {
40
+ readonly name: string;
41
+ readonly description: string;
42
+ readonly side_effect: ToolSideEffect;
43
+ readonly input_schema: Record<string, unknown>;
44
+ }
45
+
46
+ /**
47
+ * Catalog-only tools with no wired ALLOWLIST handler. `implemented_on` is
48
+ * always `[]` for these — the generator adds the `[stub — implemented on
49
+ * demand]` description marker and omits `annotations` (no real behavior to
50
+ * annotate).
51
+ */
52
+ export const STUB_TOOLS: readonly StubToolSource[] = [
53
+ {
54
+ name: 'skill_trigger_eval',
55
+ description:
56
+ 'Score a user message against the compiled router and return ' +
57
+ 'the skills whose triggers match, each with the reason it ' +
58
+ 'fired. Use to predict which skills a given message would ' +
59
+ 'activate, for debugging trigger coverage. Read-only and ' +
60
+ 'deterministic. Returns a ranked list of matching skills with ' +
61
+ 'their trigger reasons.',
62
+ side_effect: 'ro',
63
+ input_schema: {
64
+ type: 'object',
65
+ properties: {
66
+ message: { type: 'string', description: 'The user message to score against skill triggers.' },
67
+ context: { type: 'string', description: 'Optional recent-turn context to sharpen the match.' },
68
+ limit: {
69
+ type: 'integer',
70
+ minimum: 1,
71
+ default: 5,
72
+ description: 'Maximum number of matching skills to return. Defaults to 5.',
73
+ },
74
+ },
75
+ required: ['message'],
76
+ additionalProperties: false,
77
+ },
78
+ },
79
+ {
80
+ name: 'suggest_command',
81
+ description:
82
+ 'Run the command-suggestion engine: score the available slash ' +
83
+ 'commands against a user message and context, and return a ' +
84
+ 'ranked, numbered-options block of the best matches. Use to ' +
85
+ 'recommend a command for a free-form request without invoking ' +
86
+ 'anything. Read-only and deterministic. Returns the formatted ' +
87
+ 'suggestion block plus the scored candidates.',
88
+ side_effect: 'ro',
89
+ input_schema: {
90
+ type: 'object',
91
+ properties: {
92
+ message: { type: 'string', description: 'The user message to match commands against.' },
93
+ context: { type: 'string', description: 'Optional recent-turn context to sharpen the match.' },
94
+ },
95
+ required: ['message'],
96
+ additionalProperties: false,
97
+ },
98
+ },
99
+ {
100
+ name: 'suggest_skill_for_task',
101
+ description:
102
+ 'Match a free-form task description to the most relevant ' +
103
+ 'skills, ranked by their frontmatter triggers. Use to pick a ' +
104
+ 'skill for a described task before starting work. Read-only. ' +
105
+ 'Returns a ranked list of skills with name, description, and ' +
106
+ 'match reason.',
107
+ side_effect: 'ro',
108
+ input_schema: {
109
+ type: 'object',
110
+ properties: {
111
+ task: { type: 'string', description: 'Free-form description of the task to find a skill for.' },
112
+ limit: {
113
+ type: 'integer',
114
+ minimum: 1,
115
+ default: 5,
116
+ description: 'Maximum number of skills to return. Defaults to 5.',
117
+ },
118
+ },
119
+ required: ['task'],
120
+ additionalProperties: false,
121
+ },
122
+ },
123
+ {
124
+ name: 'mine_session',
125
+ description:
126
+ 'Extract reusable patterns, decisions, and learnings from a ' +
127
+ 'single chat-history session, as candidate memory entries. Use ' +
128
+ 'to distill a finished session into durable memory before it ' +
129
+ 'ages out. Read-only. Returns the mined candidates grouped by ' +
130
+ 'kind.',
131
+ side_effect: 'ro',
132
+ input_schema: {
133
+ type: 'object',
134
+ properties: {
135
+ session: { type: 'string', description: 'Session id to mine.' },
136
+ path: {
137
+ type: 'string',
138
+ description: 'Optional path to a chat-history JSONL; defaults to the standard location.',
139
+ },
140
+ },
141
+ additionalProperties: false,
142
+ },
143
+ },
144
+ {
145
+ name: 'update_form_request_messages',
146
+ description:
147
+ "Synchronise the `messages()` method of a Laravel FormRequest " +
148
+ 'class: add entries for validation rules that lack a custom ' +
149
+ 'message, link them to translation keys, and drop stale ones. ' +
150
+ "Use after changing a FormRequest's `rules()`. Edits the class " +
151
+ 'file on disk and returns the planned or applied message ' +
152
+ 'changes. Set `dry_run: true` to preview the diff without ' +
153
+ 'writing.',
154
+ side_effect: 'fs-write',
155
+ input_schema: {
156
+ type: 'object',
157
+ properties: {
158
+ request_class: {
159
+ type: 'string',
160
+ description: 'Fully-qualified FormRequest class FQN or repo-relative file path.',
161
+ },
162
+ dry_run: {
163
+ type: 'boolean',
164
+ default: false,
165
+ description: 'When true, return the planned message changes without editing the file.',
166
+ },
167
+ },
168
+ required: ['request_class'],
169
+ additionalProperties: false,
170
+ },
171
+ },
172
+ {
173
+ name: 'sync_gitignore',
174
+ description:
175
+ 'Synchronise the managed `event4u/agent-config` block in the ' +
176
+ "consumer project's `.gitignore` — add missing canonical " +
177
+ 'entries while preserving user-added lines. Use after ' +
178
+ 'upgrading the package or when generated paths are being ' +
179
+ 'tracked by mistake. Edits `.gitignore` and returns the added ' +
180
+ '/ removed entries. Set `dry_run: true` to preview the changes.',
181
+ side_effect: 'fs-write',
182
+ input_schema: {
183
+ type: 'object',
184
+ properties: {
185
+ dry_run: {
186
+ type: 'boolean',
187
+ default: false,
188
+ description: 'When true, return the planned `.gitignore` changes without writing the file.',
189
+ },
190
+ },
191
+ additionalProperties: false,
192
+ },
193
+ },
194
+ {
195
+ name: 'sync_agent_settings',
196
+ description:
197
+ 'Synchronise `.agent-settings.yml` against the current ' +
198
+ 'template and active profile — add new sections and keys ' +
199
+ 'while preserving existing user values. Use after a package ' +
200
+ 'upgrade to pick up newly introduced settings. Edits the ' +
201
+ 'settings file and returns the keys that were (or would be) ' +
202
+ 'added. Set `dry_run: true` to preview.',
203
+ side_effect: 'fs-write',
204
+ input_schema: {
205
+ type: 'object',
206
+ properties: {
207
+ profile: { type: 'string', description: 'Override the profile pinned in the settings file.' },
208
+ dry_run: {
209
+ type: 'boolean',
210
+ default: false,
211
+ description: 'When true, return the planned settings changes without writing the file.',
212
+ },
213
+ },
214
+ additionalProperties: false,
215
+ },
216
+ },
217
+ {
218
+ name: 'run_quality_checks',
219
+ description:
220
+ "Run the consumer project's configured quality gate (PHPStan " +
221
+ '/ Rector / ECS or the stack equivalent) and return a ' +
222
+ 'structured per-tool result. Use before committing to confirm ' +
223
+ 'static-analysis and style gates pass. Shell-bound. Pass ' +
224
+ '`tool` to run a single gate; omit to run all.',
225
+ side_effect: 'shell',
226
+ input_schema: {
227
+ type: 'object',
228
+ properties: {
229
+ tool: { type: 'string', description: 'Restrict to a single quality tool by name (e.g. phpstan, rector, ecs).' },
230
+ },
231
+ additionalProperties: false,
232
+ },
233
+ },
234
+ {
235
+ name: 'compile_router',
236
+ description:
237
+ 'Regenerate the compiled router (`router.compiled.json`) from ' +
238
+ 'the current rule, skill, and command frontmatter, so ' +
239
+ 'trigger-based routing reflects the latest artifacts. Use ' +
240
+ "after adding or editing a rule / skill / command's trigger " +
241
+ 'metadata. Shell-bound — wraps `scripts/compile_router.py` — ' +
242
+ 'and returns the regenerated router summary. Set `dry_run: ' +
243
+ 'true` to compute the result without writing the file.',
244
+ side_effect: 'shell',
245
+ input_schema: {
246
+ type: 'object',
247
+ properties: {
248
+ dry_run: {
249
+ type: 'boolean',
250
+ default: false,
251
+ description: 'When true, compute the router without writing `router.compiled.json` to disk.',
252
+ },
253
+ },
254
+ additionalProperties: false,
255
+ },
256
+ },
257
+ {
258
+ name: 'catalog_search',
259
+ description:
260
+ "Search the package's own artifact catalog (skills, personas, " +
261
+ 'commands) by free-text query and return ranked summaries — ' +
262
+ 'name, description, tags, score — WITHOUT loading any body. ' +
263
+ 'Use to discover which skill or persona fits a task when the ' +
264
+ 'full catalog is not in context. Read-only, deterministic ' +
265
+ '(BM25 over an on-disk index). Activation deferred behind a ' +
266
+ 'task-quality A/B (see catalog_tools.ts).',
267
+ side_effect: 'ro',
268
+ input_schema: {
269
+ type: 'object',
270
+ properties: {
271
+ query: { type: 'string', description: 'Free-text search query.' },
272
+ class: {
273
+ type: 'string',
274
+ enum: ['skill', 'persona', 'command'],
275
+ description: 'Optional: restrict to one artifact class.',
276
+ },
277
+ pack: { type: 'string', description: 'Optional: restrict to entries tagged with this pack/domain.' },
278
+ limit: {
279
+ type: 'integer',
280
+ minimum: 1,
281
+ default: 8,
282
+ description: 'Maximum results. Defaults to 8.',
283
+ },
284
+ },
285
+ required: ['query'],
286
+ additionalProperties: false,
287
+ },
288
+ },
289
+ {
290
+ name: 'catalog_inspect',
291
+ description:
292
+ 'Return the metadata for one catalog entry by id (id, class, ' +
293
+ 'name, description, tags, path). Body is returned ONLY when ' +
294
+ 'include_body is true. Use after catalog_search to look at a ' +
295
+ 'candidate before loading it. Read-only. Activation deferred ' +
296
+ '(see catalog_search).',
297
+ side_effect: 'ro',
298
+ input_schema: {
299
+ type: 'object',
300
+ properties: {
301
+ id: { type: 'string', description: 'Catalog id, e.g. `skill:api-design` or `persona:backend-architect`.' },
302
+ include_body: {
303
+ type: 'boolean',
304
+ default: false,
305
+ description: 'When true, include the full body. Defaults to false (metadata only).',
306
+ },
307
+ },
308
+ required: ['id'],
309
+ additionalProperties: false,
310
+ },
311
+ },
312
+ {
313
+ name: 'catalog_load',
314
+ description:
315
+ 'Load the full body of one catalog entry by id, wrapped in a ' +
316
+ "neutral reference preamble that subordinates it to the user's " +
317
+ 'request and system instructions. Use to bring a ' +
318
+ 'skill/persona/command body into context on demand. Read-only, ' +
319
+ 'path-confined to the package root. Never injects or acts — ' +
320
+ 'the host decides what to do with the body. Activation ' +
321
+ 'deferred (see catalog_search).',
322
+ side_effect: 'ro',
323
+ input_schema: {
324
+ type: 'object',
325
+ properties: {
326
+ id: { type: 'string', description: 'Catalog id to load the body for.' },
327
+ },
328
+ required: ['id'],
329
+ additionalProperties: false,
330
+ },
331
+ },
332
+ ];
@@ -30,6 +30,9 @@
30
30
  // TS port of the retired Python tools.py (ADR-200). Preserves the full public surface:
31
31
  // STDIO_TRANSPORT, BuiltinTool, ToolHandler, ALLOWLIST, to_mcp_tool_meta,
32
32
  // CATALOG_STUBS, STUB_NAMES, REGISTRY, ToolCache, boot_log_line.
33
+ // TS-only addition (Phase 3 of road-to-credible-install): `ToolSideEffect` +
34
+ // `BuiltinTool.side_effect` — the generated-catalog source of truth for a
35
+ // tool's side-effect classification and `readOnlyHint` annotation.
33
36
  import * as fs from 'node:fs';
34
37
  import * as path from 'node:path';
35
38
  import { fileURLToPath } from 'node:url';
@@ -77,6 +80,16 @@ export type ToolHandler = (
77
80
  consumerRoot: string,
78
81
  ) => Promise<Record<string, unknown>>;
79
82
 
83
+ /**
84
+ * Side-effect classification surfaced in `consumer_tool_catalog.json` and
85
+ * (for implemented tools) as the `readOnlyHint` MCP annotation. `ro` never
86
+ * writes or spawns; `fs-write` edits the filesystem; `shell` spawns a
87
+ * subprocess. Single source of truth for a tool's own classification — the
88
+ * catalog generator (`build_mcp_catalog.ts`) reads it directly off
89
+ * `ALLOWLIST` rather than a hand-maintained shadow list.
90
+ */
91
+ export type ToolSideEffect = 'ro' | 'fs-write' | 'shell';
92
+
80
93
  /**
81
94
  * Static registration record for an allowlisted MCP tool.
82
95
  *
@@ -85,12 +98,15 @@ export type ToolHandler = (
85
98
  * validated arguments + the resolved `consumer_root` path.
86
99
  *
87
100
  * Mirrors the Python frozen dataclass `BuiltinTool` (field order
88
- * preserved).
101
+ * preserved). `side_effect` is a TS-only addition (Phase 3 of
102
+ * road-to-credible-install) — the Python original predates the generated
103
+ * catalog and had no analogous field.
89
104
  */
90
105
  export interface BuiltinTool {
91
106
  readonly name: string;
92
107
  readonly description: string;
93
108
  readonly input_schema: Record<string, unknown>;
109
+ readonly side_effect: ToolSideEffect;
94
110
  readonly handler: ToolHandler;
95
111
  }
96
112
 
@@ -1197,6 +1213,7 @@ async function _readResourceBodyHandler(
1197
1213
  export const ALLOWLIST: Record<string, BuiltinTool> = {
1198
1214
  lint_skills: {
1199
1215
  name: 'lint_skills',
1216
+ side_effect: 'ro',
1200
1217
  description:
1201
1218
  'Lint skill, rule, command, guideline, and persona markdown ' +
1202
1219
  'files for frontmatter and structural errors. Use before ' +
@@ -1225,6 +1242,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1225
1242
  },
1226
1243
  chat_history_append: {
1227
1244
  name: 'chat_history_append',
1245
+ side_effect: 'fs-write',
1228
1246
  description:
1229
1247
  "Append one structured entry to the consumer project's " +
1230
1248
  'chat-history log (a JSONL file). Use to record a decision, ' +
@@ -1286,6 +1304,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1286
1304
  },
1287
1305
  chat_history_read: {
1288
1306
  name: 'chat_history_read',
1307
+ side_effect: 'ro',
1289
1308
  description:
1290
1309
  "Read recent entries back from the consumer project's " +
1291
1310
  'chat-history JSONL ' +
@@ -1362,6 +1381,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1362
1381
  },
1363
1382
  memory_lookup: {
1364
1383
  name: 'memory_lookup',
1384
+ side_effect: 'ro',
1365
1385
  description:
1366
1386
  'Retrieve engineering-memory entries for one or more memory ' +
1367
1387
  'types, optionally narrowed to specific anchor paths. Use ' +
@@ -1429,6 +1449,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1429
1449
  },
1430
1450
  memory_get: {
1431
1451
  name: 'memory_get',
1452
+ side_effect: 'ro',
1432
1453
  description:
1433
1454
  'Batch-fetch FULL memory entries by id — the second half of ' +
1434
1455
  'the index-first retrieval workflow. Call memory_lookup with ' +
@@ -1453,6 +1474,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1453
1474
  },
1454
1475
  memory_status: {
1455
1476
  name: 'memory_status',
1477
+ side_effect: 'ro',
1456
1478
  description:
1457
1479
  'Report the memory backend status. Memory is entirely ' +
1458
1480
  'file-backed (`agents/memory/`); there is no external backend. ' +
@@ -1467,6 +1489,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1467
1489
  },
1468
1490
  list_skills: {
1469
1491
  name: 'list_skills',
1492
+ side_effect: 'ro',
1470
1493
  description:
1471
1494
  'Enumerate every skill the server currently exposes as a ' +
1472
1495
  'prompt, each with its name, description, and source. Use to ' +
@@ -1482,6 +1505,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1482
1505
  },
1483
1506
  list_commands: {
1484
1507
  name: 'list_commands',
1508
+ side_effect: 'ro',
1485
1509
  description:
1486
1510
  'Enumerate every slash command the server currently exposes ' +
1487
1511
  'as a prompt, each with its name and description. Use to ' +
@@ -1497,6 +1521,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1497
1521
  },
1498
1522
  list_rules: {
1499
1523
  name: 'list_rules',
1524
+ side_effect: 'ro',
1500
1525
  description:
1501
1526
  'Enumerate every behavioral rule the server exposes as a ' +
1502
1527
  'resource, each with its URI, name, and description. Use to ' +
@@ -1513,6 +1538,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1513
1538
  },
1514
1539
  read_resource_body: {
1515
1540
  name: 'read_resource_body',
1541
+ side_effect: 'ro',
1516
1542
  description:
1517
1543
  'Fetch the rendered body of a single resource URI (rule, ' +
1518
1544
  'guideline, or context document) in one call, without the ' +
@@ -1538,6 +1564,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1538
1564
  },
1539
1565
  memory_signal: {
1540
1566
  name: 'memory_signal',
1567
+ side_effect: 'fs-write',
1541
1568
  description:
1542
1569
  'Record an engineering-memory signal — a short, anchored ' +
1543
1570
  'observation such as a recurring bug pattern or an ownership ' +
@@ -1572,6 +1599,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1572
1599
  },
1573
1600
  roadmap_progress: {
1574
1601
  name: 'roadmap_progress',
1602
+ side_effect: 'fs-write',
1575
1603
  description:
1576
1604
  'Regenerate `agents/roadmaps-progress.md` from the current ' +
1577
1605
  'checkbox state of every active roadmap. Use after landing ' +
@@ -1595,6 +1623,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1595
1623
  },
1596
1624
  roadmap_archive: {
1597
1625
  name: 'roadmap_archive',
1626
+ side_effect: 'fs-write',
1598
1627
  description:
1599
1628
  'Archive every roadmap that has reached `count_open == 0` and ' +
1600
1629
  'was touched on the current branch — `git mv` to ' +
@@ -1611,6 +1640,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1611
1640
  },
1612
1641
  capabilities_index: {
1613
1642
  name: 'capabilities_index',
1643
+ side_effect: 'fs-write',
1614
1644
  description:
1615
1645
  "Regenerate `CAPABILITIES.yaml`, the package's coverage index " +
1616
1646
  'of skills, rules, commands, and guidelines. Use after adding ' +
@@ -1634,6 +1664,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1634
1664
  },
1635
1665
  doctor_report: {
1636
1666
  name: 'doctor_report',
1667
+ side_effect: 'ro',
1637
1668
  description:
1638
1669
  'Run the consumer-project doctor diagnostic and return a ' +
1639
1670
  'structured health report (install drift, hook wiring, ' +
@@ -1648,6 +1679,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1648
1679
  },
1649
1680
  conformance_check: {
1650
1681
  name: 'conformance_check',
1682
+ side_effect: 'ro',
1651
1683
  description:
1652
1684
  'Run the consumer conformance contract (`doctor --ci` plus ' +
1653
1685
  'installed-and-firing checks) and return pass/fail per check. ' +
@@ -1662,6 +1694,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1662
1694
  },
1663
1695
  telemetry_report: {
1664
1696
  name: 'telemetry_report',
1697
+ side_effect: 'ro',
1665
1698
  description:
1666
1699
  'Return the artefact-engagement telemetry report — essential ' +
1667
1700
  '/ useful / retirement-candidate skills and rules ranked by ' +
@@ -1684,6 +1717,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1684
1717
  },
1685
1718
  council_estimate: {
1686
1719
  name: 'council_estimate',
1720
+ side_effect: 'ro',
1687
1721
  description:
1688
1722
  'Estimate the token cost of an AI-council debate over a given ' +
1689
1723
  'input (roadmap, diff, prompt, or file set) without spending ' +
@@ -1713,6 +1747,7 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1713
1747
  },
1714
1748
  run_tests: {
1715
1749
  name: 'run_tests',
1750
+ side_effect: 'shell',
1716
1751
  description:
1717
1752
  "Run the consumer project's vitest test suite under a " +
1718
1753
  'compiled safety envelope: fixed argv (no shell ' +
@@ -1744,11 +1779,18 @@ export const ALLOWLIST: Record<string, BuiltinTool> = {
1744
1779
 
1745
1780
  /** Render a `BuiltinTool` as kwargs for `mcp.types.Tool`. */
1746
1781
  export function to_mcp_tool_meta(tool: BuiltinTool): Record<string, unknown> {
1747
- return {
1782
+ const meta: Record<string, unknown> = {
1748
1783
  name: tool.name,
1749
1784
  description: tool.description,
1750
1785
  inputSchema: tool.input_schema,
1751
1786
  };
1787
+ // Annotations are honest MCP tool-behavior hints (Phase 3 of
1788
+ // road-to-credible-install): only the implemented set carries them — a
1789
+ // stub never actually runs, so there is nothing true to annotate.
1790
+ if (tool.name in ALLOWLIST) {
1791
+ meta['annotations'] = { readOnlyHint: tool.side_effect === 'ro' };
1792
+ }
1793
+ return meta;
1752
1794
  }
1753
1795
 
1754
1796
  // ---------------------------------------------------------------------
@@ -1790,6 +1832,7 @@ function _buildCatalogRegistry(): [Record<string, BuiltinTool>, ReadonlySet<stri
1790
1832
  name: entry.name,
1791
1833
  description: entry.description,
1792
1834
  input_schema: entry.input_schema,
1835
+ side_effect: entry.side_effect as ToolSideEffect,
1793
1836
  handler: _makeStubHandler(entry, installHintValue),
1794
1837
  };
1795
1838
  stubNames.add(entry.name);
@@ -1801,9 +1844,17 @@ const _catalogBuild = _buildCatalogRegistry();
1801
1844
  export const CATALOG_STUBS: Record<string, BuiltinTool> = _catalogBuild[0];
1802
1845
  export const STUB_NAMES: ReadonlySet<string> = _catalogBuild[1];
1803
1846
 
1804
- // Full wire-surface registry — implemented + stubs. `tools/list` reads
1805
- // from this; `tools/call` dispatches against it.
1806
- export const REGISTRY: Record<string, BuiltinTool> = { ...ALLOWLIST, ...CATALOG_STUBS };
1847
+ // Wire-surface registry — IMPLEMENTED TOOLS ONLY (ADR-132, council revisit
1848
+ // 2026-07-27 after the evaluator scoring-model claim was verified: the
1849
+ // 40%-minimum term makes phantom stub tools the structural worst-scored
1850
+ // entries, and an unlisted tool is uncallable in compliant MCP clients
1851
+ // anyway — so a stub on `tools/list` is pure cost). The 12 stub entries
1852
+ // remain in the GENERATED catalog as the documented implemented-on-demand
1853
+ // backlog (marked "[stub — implemented on demand]"); they are no longer
1854
+ // registered as callable tools on the stdio transport. `CATALOG_STUBS` /
1855
+ // `STUB_NAMES` stay exported for the catalog surface, the cloud packer,
1856
+ // and the parity tests.
1857
+ export const REGISTRY: Record<string, BuiltinTool> = { ...ALLOWLIST };
1807
1858
 
1808
1859
  /**
1809
1860
  * Registry view backing the MCP `tools/*` handlers.
@@ -18,9 +18,9 @@ import * as fs from 'node:fs';
18
18
  import * as path from 'node:path';
19
19
  import { fileURLToPath, pathToFileURL } from 'node:url';
20
20
  import type { DatabaseSync } from 'node:sqlite';
21
- import type * as NodeSqlite from 'node:sqlite';
22
21
 
23
22
  import { resolve_db } from './mcp_telemetry_store.js';
23
+ import { loadSqlite } from './_lib/sqlite_guard.js';
24
24
 
25
25
  export interface ToolRow {
26
26
  tool_name: string;
@@ -48,43 +48,12 @@ function toolRowAsDict(t: ToolRow): Record<string, unknown> {
48
48
  /** Python error subclass marker so main() can mirror the FileNotFoundError branch. */
49
49
  class FileNotFoundLikeError extends Error {}
50
50
 
51
- // Python's stdlib sqlite3 emits nothing on stderr; node:sqlite is flagged
52
- // experimental on node 22 and prints an `ExperimentalWarning: SQLite …` line
53
- // to stderr on first import (stable / silent on node >= 23). Drop only that
54
- // specific warning so stderr stays byte-stable across node versions (tests
55
- // pin the exact bytes). Installed once, narrowly matched.
56
- let _sqliteWarningSilenced = false;
57
- function _silenceSqliteExperimentalWarning(): void {
58
- if (_sqliteWarningSilenced) return;
59
- _sqliteWarningSilenced = true;
60
- const orig = process.emitWarning.bind(process);
61
- process.emitWarning = ((warning: string | Error, ...rest: unknown[]): void => {
62
- const text = typeof warning === 'string' ? warning : (warning?.message ?? '');
63
- if (/SQLite is an experimental/i.test(text)) return;
64
- (orig as (w: string | Error, ...a: unknown[]) => void)(warning, ...rest);
65
- }) as typeof process.emitWarning;
66
- }
67
-
68
- /** Lazy `node:sqlite` import — keeps the module loadable on a runtime without it. */
69
- async function _loadSqlite(): Promise<typeof NodeSqlite> {
70
- _silenceSqliteExperimentalWarning();
71
- try {
72
- return await import('node:sqlite');
73
- } catch (exc) {
74
- const message = exc instanceof Error ? exc.message : String(exc);
75
- throw new Error(
76
- `node:sqlite is unavailable in this runtime (${message}). ` +
77
- 'mcp_telemetry_query requires Node with the built-in SQLite module.',
78
- );
79
- }
80
- }
81
-
82
51
  /** Open read-only. Mirrors `_connect_ro`; raises FileNotFound-like on absence. */
83
52
  async function _connect_ro(db_path: string): Promise<DatabaseSync> {
84
53
  if (!fs.existsSync(db_path)) {
85
54
  throw new FileNotFoundLikeError(`telemetry db not found: ${db_path}`);
86
55
  }
87
- const { DatabaseSync } = await _loadSqlite();
56
+ const { DatabaseSync } = await loadSqlite('mcp_telemetry_query');
88
57
  // `file:<posix>?mode=ro` — Python opens via the same URI form.
89
58
  const uri = `file:${_asPosix(db_path)}?mode=ro`;
90
59
  return new DatabaseSync(uri, { readOnly: true });