@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
@@ -30,7 +30,8 @@
30
30
  * lockfile-freshness · bridge-drift · mcp-mode · mcp-beta-readiness ·
31
31
  * offline-readiness · python-runtime · humanizer-runtime · tier-usage-readiness ·
32
32
  * council-cli · team ·
33
- * unsupported-combos · wizard-state.
33
+ * unsupported-combos · wizard-state · settings-review-pending ·
34
+ * memory-merge-union.
34
35
  * Each emits a structured `{id, status, message, remedy}` record with
35
36
  * `status` ∈ `ok` / `warn` / `fail` / `skipped` (rendered
36
37
  * `✅` / `⚠️` / `❌` / `⏭️`). `--check <id>` runs a single check.
@@ -88,6 +89,7 @@ import * as installed_lock from '../_lib/installed_lock.js';
88
89
  import * as installed_tools from '../_lib/installed_tools.js';
89
90
  import * as user_global_paths from '../_lib/user_global_paths.js';
90
91
  import * as global_deploy_inventory from '../_lib/global_deploy_inventory.js';
92
+ import * as sync_gitattributes from '../sync_gitattributes.js';
91
93
  import {
92
94
  PROJECT_ROOT_ENV,
93
95
  ROOT_OVERRIDE_ENV,
@@ -759,6 +761,7 @@ const CHECK_IDS = [
759
761
  'unsupported-combos',
760
762
  'wizard-state',
761
763
  'settings-review-pending',
764
+ 'memory-merge-union',
762
765
  ] as const;
763
766
 
764
767
  /** Checks that need only the project root and run regardless of a lockfile. */
@@ -782,6 +785,7 @@ const GLOBAL_CHECK_IDS: ReadonlySet<string> = new Set([
782
785
  'team',
783
786
  'wizard-state',
784
787
  'settings-review-pending',
788
+ 'memory-merge-union',
785
789
  ]);
786
790
 
787
791
  /** Checks that genuinely cannot run without the project manifest. */
@@ -2557,6 +2561,61 @@ function _check_settings_review_pending(): Dict {
2557
2561
  };
2558
2562
  }
2559
2563
 
2564
+ /**
2565
+ * `memory-merge-union` — read-only warn check (road-to-reachable-code-memory
2566
+ * Phase 5). The `merge=union` .gitattributes block lets two branches each
2567
+ * appending a NEW memory entry (intake JSONL, or the flat curated
2568
+ * `agents/memory/<type>.yml` files) merge cleanly instead of conflicting.
2569
+ * Without it, ordinary parallel memory writes on separate branches produce a
2570
+ * merge conflict the human has to resolve by hand. Never fails the run —
2571
+ * this is advisory, same posture as `offline-readiness`.
2572
+ */
2573
+ function _check_memory_merge_union(project_root: string): Dict {
2574
+ const remedy =
2575
+ 'run: npx tsx src/scripts/sync_gitattributes.ts (or `agent-config refresh --project`)';
2576
+ const target = path.join(project_root, sync_gitattributes.DEFAULT_GITATTRIBUTES);
2577
+ if (!pathExists(target)) {
2578
+ return {
2579
+ id: 'memory-merge-union',
2580
+ status: 'warn',
2581
+ message:
2582
+ 'no .gitattributes at project root — memory merge-safety attributes not applied',
2583
+ remedy,
2584
+ };
2585
+ }
2586
+ let text: string;
2587
+ try {
2588
+ text = readText(target);
2589
+ } catch (exc) {
2590
+ return {
2591
+ id: 'memory-merge-union',
2592
+ status: 'warn',
2593
+ message: `unreadable .gitattributes at ${target}: ${osErrorStr(exc)}`,
2594
+ remedy,
2595
+ };
2596
+ }
2597
+ const has_block = text.includes(sync_gitattributes.SECTION_HEADER);
2598
+ const has_intake_union = /agents\/memory\/intake\/\*\.jsonl\s+merge=union/.test(text);
2599
+ if (has_block && has_intake_union) {
2600
+ return {
2601
+ id: 'memory-merge-union',
2602
+ status: 'ok',
2603
+ message:
2604
+ '.gitattributes carries the memory merge-safety block (intake JSONL union-merge present)',
2605
+ remedy: '',
2606
+ };
2607
+ }
2608
+ return {
2609
+ id: 'memory-merge-union',
2610
+ status: 'warn',
2611
+ message: has_block
2612
+ ? '.gitattributes has the managed block but is missing the intake merge=union line'
2613
+ : '.gitattributes is missing the memory merge-safety block — parallel-branch ' +
2614
+ 'memory writes can conflict instead of merging',
2615
+ remedy,
2616
+ };
2617
+ }
2618
+
2560
2619
  interface JsonDecodeError {
2561
2620
  msg: string;
2562
2621
  lineno: number;
@@ -2691,6 +2750,7 @@ function _run_checks(
2691
2750
  'unsupported-combos': () => _check_unsupported_combos(manifest),
2692
2751
  'wizard-state': _check_wizard_state,
2693
2752
  'settings-review-pending': _check_settings_review_pending,
2753
+ 'memory-merge-union': () => _check_memory_merge_union(project_root),
2694
2754
  };
2695
2755
  const out: Dict[] = [];
2696
2756
  for (const cid of CHECK_IDS) {
@@ -2765,6 +2825,7 @@ function _run_checks_no_manifest(
2765
2825
  'unsupported-combos': () => _skipped_manifest_check('unsupported-combos'),
2766
2826
  'wizard-state': _check_wizard_state,
2767
2827
  'settings-review-pending': _check_settings_review_pending,
2828
+ 'memory-merge-union': () => _check_memory_merge_union(project_root),
2768
2829
  };
2769
2830
  const out: Dict[] = [];
2770
2831
  for (const cid of CHECK_IDS) {
@@ -0,0 +1,197 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * `agent-config memory:get` — CLI twin of the `memory_get` MCP tool
4
+ * (`src/scripts/mcp_server/tools.ts` `_memoryGetHandler`, road-to-memory-
5
+ * retrieval-economy Phase 1).
6
+ *
7
+ * Batch-fetches FULL memory entries by id — the second half of the
8
+ * index-first retrieval workflow: `memory:lookup --detail index` returns
9
+ * compact priced rows, this fetches ONLY the bodies actually needed, in one
10
+ * call. Reuses the exact same shared function the MCP tool calls
11
+ * (`memory_get_v1` in `../memory_lookup.js`) — no duplicated lookup logic.
12
+ *
13
+ * Unlike the MCP handler (which `chdir`s into the consumer root before
14
+ * calling), this CLI relies on `agent-config`'s existing invariant that the
15
+ * dispatcher never changes CWD — `memory_get_v1` resolves `agents/memory`
16
+ * relative to `process.cwd()`, which is already the consumer's repo root.
17
+ *
18
+ * Usage: memory:get <id> [<id> ...] [--format text|json]
19
+ * Exit codes:
20
+ * 0 — every requested id was found.
21
+ * 1 — at least one requested id was not found (unknown id).
22
+ * 2 — usage error (no ids given, unrecognized flag, missing flag value).
23
+ */
24
+ import process from 'node:process';
25
+ import * as fs from 'node:fs';
26
+ import * as path from 'node:path';
27
+ import { fileURLToPath, pathToFileURL } from 'node:url';
28
+
29
+ import { memory_get_v1 } from '../memory_lookup.js';
30
+
31
+ const PROG = 'agent-config memory:get';
32
+ const USAGE = `usage: ${PROG} <id> [<id> ...] [--format text|json]\n`;
33
+
34
+ /** argparse-style usage / help exit (code 2 / 0). Caught at the CLI entry. */
35
+ class ArgparseExit extends Error {
36
+ constructor(public readonly code: number) {
37
+ super(`argparse-exit-${code}`);
38
+ }
39
+ }
40
+
41
+ interface Opts {
42
+ ids: string[];
43
+ format: 'text' | 'json';
44
+ }
45
+
46
+ function _argError(msg: string): never {
47
+ process.stderr.write(USAGE);
48
+ process.stderr.write(`${PROG}: error: ${msg}\n`);
49
+ throw new ArgparseExit(2);
50
+ }
51
+
52
+ function _parse(argv: string[]): Opts {
53
+ const opts: Opts = { ids: [], format: 'text' };
54
+ let i = 0;
55
+ while (i < argv.length) {
56
+ const a = argv[i] as string;
57
+ if (a === '-h' || a === '--help') {
58
+ process.stdout.write(
59
+ `${USAGE}\n` +
60
+ 'Batch-fetch FULL memory entries by id — the second half of the\n' +
61
+ "index-first retrieval workflow (`memory:lookup --detail index`\n" +
62
+ 'first, then `memory:get` the ids that justify the fetch).\n\n' +
63
+ 'options:\n' +
64
+ ' --format text|json output format (default: text)\n' +
65
+ ' -h, --help show this help and exit\n\n' +
66
+ 'exit codes:\n' +
67
+ ' 0 every requested id was found\n' +
68
+ ' 1 at least one requested id was not found\n' +
69
+ ' 2 usage error\n',
70
+ );
71
+ throw new ArgparseExit(0);
72
+ } else if (a === '--format') {
73
+ const val = argv[i + 1];
74
+ if (val === undefined) _argError('argument --format: expected one argument');
75
+ if (val !== 'text' && val !== 'json') {
76
+ _argError(`argument --format: invalid choice: '${val}' (choose from 'text', 'json')`);
77
+ }
78
+ opts.format = val;
79
+ i += 2;
80
+ } else if (a.startsWith('--format=')) {
81
+ const val = a.slice('--format='.length);
82
+ if (val !== 'text' && val !== 'json') {
83
+ _argError(`argument --format: invalid choice: '${val}' (choose from 'text', 'json')`);
84
+ }
85
+ opts.format = val;
86
+ i += 1;
87
+ } else if (a.startsWith('--')) {
88
+ _argError(`unrecognized arguments: ${a}`);
89
+ } else {
90
+ opts.ids.push(a);
91
+ i += 1;
92
+ }
93
+ }
94
+ if (opts.ids.length === 0) {
95
+ _argError('at least one <id> is required');
96
+ }
97
+ return opts;
98
+ }
99
+
100
+ function isPlainObject(value: unknown): value is Record<string, unknown> {
101
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
102
+ }
103
+
104
+ /** Render one fetched entry as an indented `key: value` block. */
105
+ function _renderEntryText(entry: Record<string, unknown>): string {
106
+ const lines: string[] = [];
107
+ const id = typeof entry['id'] === 'string' ? entry['id'] : '(unknown id)';
108
+ const type = typeof entry['type'] === 'string' ? entry['type'] : '(unknown type)';
109
+ lines.push(`[${id}] ${type}`);
110
+ const body = entry['body'];
111
+ if (isPlainObject(body)) {
112
+ for (const key of Object.keys(body).sort()) {
113
+ lines.push(` ${key}: ${_renderValue(body[key])}`);
114
+ }
115
+ }
116
+ return lines.join('\n');
117
+ }
118
+
119
+ /**
120
+ * Render one body value for text output. `memory_lookup.ts` wraps YAML
121
+ * date scalars in a `PyTimestamp`-shaped object (`{ pyStr: string }`, not
122
+ * exported) to mirror Python's `yaml.safe_load` date parsing — duck-type
123
+ * that shape rather than importing the private class.
124
+ */
125
+ function _renderValue(value: unknown): string {
126
+ if (typeof value === 'string') return value;
127
+ if (isPlainObject(value) && typeof value['pyStr'] === 'string' && Object.keys(value).length === 1) {
128
+ return value['pyStr'];
129
+ }
130
+ return JSON.stringify(value);
131
+ }
132
+
133
+ export function main(argv: string[] | null = null): number {
134
+ const opts = _parse(argv ?? process.argv.slice(2));
135
+ const envelope = memory_get_v1(opts.ids);
136
+ const entries = Array.isArray(envelope['entries']) ? (envelope['entries'] as Record<string, unknown>[]) : [];
137
+ const idStatus = isPlainObject(envelope['ids']) ? (envelope['ids'] as Record<string, string>) : {};
138
+ const unknown = opts.ids.filter((id) => idStatus[id] === 'unknown');
139
+
140
+ if (opts.format === 'json') {
141
+ process.stdout.write(`${JSON.stringify(envelope, null, 2)}\n`);
142
+ } else {
143
+ if (entries.length === 0) {
144
+ process.stdout.write(' (no entries found)\n');
145
+ } else {
146
+ for (const entry of entries) {
147
+ process.stdout.write(`${_renderEntryText(entry)}\n`);
148
+ }
149
+ }
150
+ for (const id of unknown) {
151
+ process.stderr.write(`${PROG}: unknown id: ${id}\n`);
152
+ }
153
+ }
154
+
155
+ return unknown.length > 0 ? 1 : 0;
156
+ }
157
+
158
+ // --- CLI entry ---
159
+
160
+ const _HERE = fileURLToPath(import.meta.url);
161
+
162
+ function _isCliEntry(): boolean {
163
+ if (process.argv[1] === undefined) {
164
+ return false;
165
+ }
166
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
167
+ if (import.meta.url === argvUrl) {
168
+ return true;
169
+ }
170
+ // A symlinked invocation (e.g. via an installed `.augment/` projection,
171
+ // or macOS /var → /private/var temp dirs) makes the raw URLs differ:
172
+ // import.meta.url is the resolved real path while argv[1] keeps the
173
+ // symlink path. Compare realpaths so the entry guard still fires
174
+ // (without this the CLI silently no-ops when run through a symlink).
175
+ try {
176
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
177
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
178
+ return here === argv;
179
+ } catch {
180
+ return false;
181
+ }
182
+ }
183
+
184
+ if (_isCliEntry() || process.argv[1] === _HERE) {
185
+ try {
186
+ process.exitCode = main(process.argv.slice(2));
187
+ } catch (exc) {
188
+ if (exc instanceof ArgparseExit) {
189
+ process.exitCode = exc.code;
190
+ } else {
191
+ throw exc;
192
+ }
193
+ }
194
+ }
195
+
196
+ export { ArgparseExit };
197
+ export type { Opts };
@@ -68,6 +68,7 @@ import { fileURLToPath, pathToFileURL } from 'node:url';
68
68
 
69
69
  import * as cli_wrapper from '../_lib/cli_wrapper.js';
70
70
  import * as sync_gitignore from '../sync_gitignore.js';
71
+ import * as sync_gitattributes from '../sync_gitattributes.js';
71
72
 
72
73
  const PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..', '..');
73
74
 
@@ -306,6 +307,12 @@ function _refresh_project(project_root: string, out: OutSink, err: OutSink): num
306
307
  if (rc !== 0) {
307
308
  return rc;
308
309
  }
310
+
311
+ // Memory merge-safety attributes (road-to-reachable-code-memory Phase 5):
312
+ // advisory, same shape as the gitignore sync above — never fails the
313
+ // refresh on its own.
314
+ _sync_gitattributes(project_root, out, err);
315
+
309
316
  _print(out, '✅ refresh --project complete.');
310
317
  return 0;
311
318
  }
@@ -329,6 +336,28 @@ function _sync_gitignore(project_root: string, out: OutSink, err: OutSink): numb
329
336
  return 0;
330
337
  }
331
338
 
339
+ /**
340
+ * Sync the memory-merge-safety block into the consumer's `.gitattributes`.
341
+ * Advisory only (mirrors `_sync_gitignore`'s failure shape) — a missing
342
+ * template or a write failure is reported but never fails the refresh.
343
+ */
344
+ function _sync_gitattributes(project_root: string, out: OutSink, err: OutSink): number {
345
+ let mod: typeof sync_gitattributes;
346
+ try {
347
+ mod = sync_gitattributes;
348
+ } catch (exc) {
349
+ _print(err, `⚠️ refresh --project: gitattributes sync unavailable (${osErrorStr(exc)})`);
350
+ return 0;
351
+ }
352
+ const rc = mod.main(['--path', path.join(project_root, '.gitattributes')]);
353
+ if (rc !== 0 && rc !== null && rc !== undefined) {
354
+ _print(err, `⚠️ refresh --project: gitattributes sync returned ${rc}`);
355
+ } else {
356
+ _print(out, '✅ .gitattributes memory merge-safety block synced.');
357
+ }
358
+ return 0;
359
+ }
360
+
332
361
  interface Args {
333
362
  is_global: boolean;
334
363
  is_project: boolean;
@@ -460,6 +489,7 @@ export {
460
489
  _is_source_repo,
461
490
  _refresh_project,
462
491
  _sync_gitignore,
492
+ _sync_gitattributes,
463
493
  _remove_legacy_consumer_bridge_marker,
464
494
  ArgparseExit,
465
495
  };
@@ -76,6 +76,7 @@ TS-shell native (run via the installed `agent-config` binary):
76
76
  commands [ls|explain] List/explain the command surface from the discovery manifest
77
77
  mcp-server Turnkey read-only stdio MCP server (no repo clone; ADR-085)
78
78
  doctor-shell Probe the TS-shell environment
79
+ rtk:detect rtk (Rust Token Killer) presence + identity readout (--json)
79
80
  eval:record Record a live trigger-eval result into a corpus manifest
80
81
  EOF
81
82
 
@@ -173,6 +174,8 @@ Tier 2 — maintenance / internal (hooks, MCP, memory, telemetry):
173
174
  relation-graph with a node budget. Flags: --budget N
174
175
  benchmark Report context-token reduction vs the full always-loaded
175
176
  projection (from the pinned token baseline). Flags: --format
177
+ code-graph Deterministic code-graph engine (ADR-124, Class A).
178
+ Usage: code-graph build|validate|detect|query|explain|affected|path [options]
176
179
  roadmap:progress Regenerate agents/roadmaps-progress.md from open roadmaps
177
180
  roadmap:progress-check Fail if agents/roadmaps-progress.md is stale (for CI)
178
181
  roadmap:archive Archive completed roadmaps (branch-touched by default;
@@ -215,12 +218,21 @@ Tier 2 — maintenance / internal (hooks, MCP, memory, telemetry):
215
218
  read-only request per declared backend; never runs in CI,
216
219
  writes nothing)
217
220
  memory:lookup Retrieve memory entries (text or JSON envelope)
221
+ memory:get Batch-fetch full memory entries by id (CLI twin of the
222
+ memory_get MCP tool). Usage: memory:get <id> [<id> ...] [--format text|json]
218
223
  linked-projects:list List opted-in IDE-attached sibling repos (path · detected_via · large)
219
224
  Flags: --all (show undecided too), --format json
220
225
  memory:signal Append a provisional intake signal (memory proposal)
221
226
  memory:hash Hash a memory entry (YAML or JSON stdin)
222
227
  memory:check Validate memory YAML schema + staleness
223
228
  memory:check-proposal Run the admission gate on a memory proposal
229
+ memory:learn Aggregate memory intake signals into the local learning
230
+ sidecar (read-only; --write to emit). Usage: memory:learn [--intake-dir DIR]
231
+ [--out-dir DIR] [--now ISO] [--write] [--format text|json]
232
+ analytics Local-only workspace analytics (emit|show|prune|migrate).
233
+ Usage: analytics show [--window 30d|7d|24h] · analytics prune
234
+ knowledge Global knowledge-card store (list|show|trace|forget|promote|
235
+ validate|lead-check|purge). Usage: knowledge list [--json]
224
236
  proposal:check Validate a learning/skill/rule proposal markdown
225
237
  refine-ticket:detect Run the deterministic refine-ticket detection helper
226
238
  chat-history:hook Platform hook entry point (read JSON from stdin)
@@ -305,8 +317,12 @@ Examples (Tier 2):
305
317
  ./agent-config hooks:install
306
318
  ./agent-config hooks:replay --platform augment --event post_tool_use --payload post_tool_use --json
307
319
  ./agent-config memory:lookup --types domain-invariants --key billing
320
+ ./agent-config memory:get a1-crosshost-subagent-degradation
308
321
  ./agent-config memory:signal --type architecture-decision --path src/Foo.php --body "…"
309
322
  ./agent-config memory:check --path agents/memory
323
+ ./agent-config memory:learn --format json
324
+ ./agent-config code-graph detect
325
+ ./agent-config code-graph query <symbol>
310
326
  ./agent-config refine-ticket:detect ticket-body.txt
311
327
  ./agent-config telemetry:status
312
328
  ./agent-config telemetry:status --format json
@@ -464,6 +480,15 @@ cmd_benchmark() {
464
480
  exec_ts "$script" "$@"
465
481
  }
466
482
 
483
+ # `agent-config code-graph` — deterministic code-graph engine (ADR-124,
484
+ # Class A). Delegates 1:1 to the engine CLI's own subcommand dispatch
485
+ # (build|validate|detect|query|explain|affected|path); no re-parsing here.
486
+ cmd_code_graph() {
487
+ local script
488
+ script="$(resolve_script "src/scripts/code_graph/cli.ts")"
489
+ exec_ts "$script" "$@"
490
+ }
491
+
467
492
  cmd_mcp_check() {
468
493
  local script
469
494
  script="$(resolve_script "src/scripts/mcp_render.ts")"
@@ -480,6 +505,13 @@ cmd_mcp_setup() {
480
505
  # package (PACKAGE_ROOT/src/scripts/mcp_server/) as a TypeScript module run
481
506
  # via tsx — no Python venv / SDK install any more (the runtime is Node/tsx).
482
507
  cmd_mcp_run() {
508
+ # Precompiled bundle first (road-to-credible-install Phase 1 tsx sweep):
509
+ # one node start, no tsx in the runtime tree. tsx path is the dev-tree
510
+ # fallback only.
511
+ local server_bundle="$PACKAGE_ROOT/dist/mcp/server.mjs"
512
+ if [[ -f "$server_bundle" ]]; then
513
+ exec node "$server_bundle" "$@"
514
+ fi
483
515
  local server_main="$PACKAGE_ROOT/src/scripts/mcp_server/__main__.ts"
484
516
  if [[ ! -f "$server_main" ]]; then
485
517
  echo "❌ agent-config: MCP server module not found at $server_main" >&2
@@ -551,6 +583,43 @@ cmd_memory_lookup() {
551
583
  exec_ts "$script" "$@"
552
584
  }
553
585
 
586
+ # `agent-config memory:get` — CLI twin of the `memory_get` MCP tool
587
+ # (batch full-entry fetch by id). Package-internal handler
588
+ # (src/scripts/_cli/cmd_memory_get.ts) reuses `memory_get_v1` from
589
+ # src/scripts/memory_lookup.ts — no separate resolve needed, same
590
+ # direct-PACKAGE_ROOT pattern as cmd_export / cmd_sync / cmd_validate.
591
+ cmd_memory_get() {
592
+ exec_ts "$PACKAGE_ROOT/src/scripts/_cli/cmd_memory_get.ts" "$@"
593
+ }
594
+
595
+ # `agent-config memory:learn` — aggregate the memory intake signal log
596
+ # into the local, gitignored learning sidecar (road-to-retrieval-
597
+ # substrate-hardening B3). Read-only by default (the sidecar's own
598
+ # default); `--write` emits `.agent-learning.json` + `LESSONS.md`.
599
+ cmd_memory_learn() {
600
+ local script
601
+ script="$(resolve_script "src/scripts/learning_sidecar.ts")" || return 1
602
+ exec_ts "$script" "$@"
603
+ }
604
+
605
+ # `agent-config analytics` — local-only workspace analytics
606
+ # (docs/contracts/local-analytics.md). Delegates 1:1 to the module's own
607
+ # subcommand dispatch (emit|show|prune|migrate|decrypt-all|rekey).
608
+ cmd_analytics() {
609
+ local script
610
+ script="$(resolve_script "src/cli/python/workspace_analytics.ts")" || return 1
611
+ exec_ts "$script" "$@"
612
+ }
613
+
614
+ # `agent-config knowledge` — file-first global knowledge-card store
615
+ # (ADR-100). Delegates 1:1 to the store CLI's own subcommand dispatch
616
+ # (list|show|trace|forget|promote|validate|lead-check|purge).
617
+ cmd_knowledge() {
618
+ local script
619
+ script="$(resolve_script "src/scripts/knowledge_global_cli.ts")" || return 1
620
+ exec_ts "$script" "$@"
621
+ }
622
+
554
623
  cmd_linked_projects_list() {
555
624
  local script
556
625
  script="$(resolve_script "src/scripts/linked_projects_list.ts")" || return 1
@@ -630,6 +699,13 @@ cmd_context_hygiene_hook() {
630
699
  }
631
700
 
632
701
  cmd_dispatch_hook() {
702
+ # Hook hot path (road-to-credible-install Phase 1): prefer the precompiled
703
+ # single-process bundle — one node start, concerns in-process, no tsx.
704
+ # Fallback to the tsx path only on a stale dev tree without dist/.
705
+ local bundle="$PACKAGE_ROOT/dist/hooks/dispatch.js"
706
+ if [[ -f "$bundle" ]]; then
707
+ exec node "$bundle" "$@"
708
+ fi
633
709
  exec_hook "src/scripts/hooks/dispatch_hook" "$@"
634
710
  }
635
711
 
@@ -1072,6 +1148,7 @@ main() {
1072
1148
  affected) cmd_affected "$@" ;;
1073
1149
  graph-explain) cmd_graph_explain "$@" ;;
1074
1150
  benchmark) cmd_benchmark "$@" ;;
1151
+ code-graph) cmd_code_graph "$@" ;;
1075
1152
  roadmap:progress) cmd_roadmap_progress "$@" ;;
1076
1153
  roadmap:progress-check) cmd_roadmap_progress_check "$@" ;;
1077
1154
  roadmap:archive) cmd_roadmap_archive "$@" ;;
@@ -1083,11 +1160,15 @@ main() {
1083
1160
  implement-ticket) cmd_implement_ticket "$@" ;;
1084
1161
  work) cmd_work "$@" ;;
1085
1162
  memory:lookup) cmd_memory_lookup "$@" ;;
1163
+ memory:get) cmd_memory_get "$@" ;;
1086
1164
  linked-projects:list) cmd_linked_projects_list "$@" ;;
1087
1165
  memory:signal) cmd_memory_signal "$@" ;;
1088
1166
  memory:hash) cmd_memory_hash "$@" ;;
1089
1167
  memory:check) cmd_memory_check "$@" ;;
1090
1168
  memory:check-proposal) cmd_memory_check_proposal "$@" ;;
1169
+ memory:learn) cmd_memory_learn "$@" ;;
1170
+ analytics) cmd_analytics "$@" ;;
1171
+ knowledge) cmd_knowledge "$@" ;;
1091
1172
  proposal:check) cmd_proposal_check "$@" ;;
1092
1173
  refine-ticket:detect) cmd_refine_ticket_detect "$@" ;;
1093
1174
  chat-history:hook) cmd_chat_history_hook "$@" ;;
@@ -15,7 +15,13 @@
15
15
  */
16
16
  import { describe, expect, it } from 'vitest';
17
17
 
18
- import { classifyTask, type ActivationInputs, type TaskSignals } from './auto_dispatch.js';
18
+ import {
19
+ classifyLookup,
20
+ classifyTask,
21
+ type ActivationInputs,
22
+ type LookupClass,
23
+ type TaskSignals,
24
+ } from './auto_dispatch.js';
19
25
 
20
26
  const ON: ActivationInputs = { enabled: true, auto: 'on', subagent_spawn: true };
21
27
 
@@ -85,3 +91,60 @@ describe('parallelizable classifier — corpus recall', () => {
85
91
  }
86
92
  });
87
93
  });
94
+
95
+ /**
96
+ * Lookup-class corpus (L0 — road-to-lean-agent-init Phase 1). The first four
97
+ * entries are the live-observed 2026-07-28 task shapes that burned ~1.21M
98
+ * subagent tokens; each must route to a primitive, never a spawn. The
99
+ * negative controls are non-lookup tasks that must escalate unchanged.
100
+ */
101
+ const LOOKUP_CORPUS: Array<{ id: string; text: string; expect: LookupClass | null }> = [
102
+ // ── the four observed shapes (live evidence, 2026-07-28 session) ──
103
+ { id: 'lk-01', text: 'Confirming ExternalApiProviderEnum definition location', expect: 'definition' },
104
+ { id: 'lk-02', text: 'Confirming GWInput import call sites', expect: 'references' },
105
+ { id: 'lk-03', text: 'Running check_enforcement_coverage report', expect: 'report-run' },
106
+ { id: 'lk-04', text: 'Probing candidate strings with tsx', expect: 'string-existence' },
107
+ // ── generalizations of the same shapes ──
108
+ { id: 'lk-05', text: 'Where is classifyTask defined?', expect: 'definition' },
109
+ { id: 'lk-06', text: 'Who calls readOrchestrationMetrics across the repo?', expect: 'references' },
110
+ { id: 'lk-07', text: 'Does the string "lean-init-2026" exist anywhere in src/?', expect: 'string-existence' },
111
+ { id: 'lk-08', text: 'Run the roadmap:progress-check report and summarize', expect: 'report-run' },
112
+ { id: 'lk-09', text: 'Find all usages of InferredTier in tests', expect: 'references' },
113
+ { id: 'lk-10', text: 'Locate the enum that lists the dispatch actions', expect: 'definition' },
114
+ // ── negative controls — must escalate, never route to a primitive ──
115
+ { id: 'lk-n1', text: 'Refactor the auth middleware to use the new session store', expect: null },
116
+ { id: 'lk-n2', text: 'Fix the failing corpus test and explain the root cause', expect: null },
117
+ { id: 'lk-n3', text: 'Design a migration plan for the audit schema', expect: null },
118
+ { id: 'lk-n4', text: 'Review this diff for security issues', expect: null },
119
+ ];
120
+
121
+ describe('lookup-class routing — corpus recall + FP=0 (lean-init L0)', () => {
122
+ for (const c of LOOKUP_CORPUS) {
123
+ it(`${c.id}: ${c.text}`, () => {
124
+ const r = classifyLookup(c.text);
125
+ expect(r.lookup_class).toBe(c.expect);
126
+ expect(r.route).toBe(c.expect === null ? 'escalate' : 'primitive');
127
+ });
128
+ }
129
+
130
+ it('recall on the four live-observed shapes is 4/4', () => {
131
+ const observed = LOOKUP_CORPUS.filter((c) => c.id.startsWith('lk-0') && Number(c.id.slice(3)) <= 4);
132
+ expect(observed).toHaveLength(4);
133
+ for (const c of observed) {
134
+ expect(classifyLookup(c.text).route).toBe('primitive');
135
+ }
136
+ });
137
+
138
+ it('false-positive rate is 0 — no negative control routes to a primitive', () => {
139
+ for (const c of LOOKUP_CORPUS.filter((x) => x.expect === null)) {
140
+ expect(classifyLookup(c.text).route).toBe('escalate');
141
+ }
142
+ });
143
+
144
+ it('unknown resolves to escalate with a non-degradation reason', () => {
145
+ const r = classifyLookup('Do something clever with the codebase');
146
+ expect(r.route).toBe('escalate');
147
+ expect(r.primitive).toBeNull();
148
+ expect(r.reason).toContain('never down-guessed');
149
+ });
150
+ });