@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
@@ -7,18 +7,27 @@
7
7
  * and had been, invisibly, because no workflow ran them. A rule declared a
8
8
  * backstop; the backstop existed; the backstop was red; nothing said so.
9
9
  *
10
- * Those failures are pre-existing debt, not regressions from the wiring change,
11
- * and fixing eleven framework-leakage spots plus eighteen source-confidentiality
12
- * hits is a different piece of work with a different reviewer. Folding them in
13
- * would make one PR unreviewable and would mix "make the gate run" with "clean up
14
- * what the gate found".
15
- *
16
10
  * So the established pattern applies — the one the decision-homing work already
17
11
  * uses and the council endorsed: **baseline the legacy, enforce the boundary.**
18
12
  * Each gate's current finding count is committed. The count may fall freely; it
19
13
  * may not rise. New violations fail, existing debt is visible and counted, and
20
14
  * nothing is silently tolerated.
21
15
  *
16
+ * **The baseline is now 0 across all five gates.** The 37 findings were cleared
17
+ * in a follow-up pass, so this file no longer records debt — it holds the line at
18
+ * zero. Keeping the ratchet after the cleanup is the point: it is what stops the
19
+ * counts creeping back, and the mechanism is identical whether the baseline is 37
20
+ * or 0.
21
+ *
22
+ * Worth recording, because it changes how the next such number should be read:
23
+ * roughly two thirds of the 37 were never violations. `CREDITS.md` was flagged
24
+ * for the license-required attribution that `source-confidentiality` explicitly
25
+ * exempts. A checklist row naming five ecosystems on ONE line read as
26
+ * PHP-specific because only the PHP family carried a plain-language window hint.
27
+ * An archived acceptance criterion was flagged for the source names it quotes in
28
+ * order to assert their absence. Wiring a gate proves that it runs; it does not
29
+ * prove its findings are real. That takes reading them one at a time.
30
+ *
22
31
  * What this deliberately is NOT: a `continue-on-error` step. That is a WARN
23
32
  * wearing a gate's clothes, and removing exactly that confusion is why this
24
33
  * workflow exists.
@@ -112,12 +121,12 @@ function main(argv: string[]): number {
112
121
  JSON.stringify(
113
122
  {
114
123
  _doc:
115
- 'Pre-existing findings in rule backstops that were red when they were first ' +
116
- 'wired into CI — they had been failing invisibly because no workflow ran them. ' +
117
- 'Counts may FALL freely; a rise fails the build. This is debt made visible, ' +
118
- 'not debt tolerated: every number here is a rule whose declared backstop is ' +
119
- 'currently not clean. Regenerate with --write-baseline only when the change ' +
120
- 'is deliberate.',
124
+ 'Per-gate finding counts for the rule backstops wired into CI by ' +
125
+ 'rule-backstops.yml. Counts may FALL freely; a rise fails the build. These ' +
126
+ 'gates were red on arrival (37 findings) because no workflow had ever run ' +
127
+ 'them; that debt is now cleared and the baseline holds the line at 0. A ' +
128
+ 'non-zero number here is a rule whose declared backstop is not currently ' +
129
+ 'clean. Regenerate with --write-baseline only when the change is deliberate.',
121
130
  gates: Object.fromEntries(measured.map((m) => [m.script, { rule: m.rule, findings: m.findings }])),
122
131
  total: measured.reduce((a, m) => a + m.findings, 0),
123
132
  },
@@ -172,7 +181,8 @@ function main(argv: string[]): number {
172
181
  process.stderr.write('❌ rule-backstop debt ratchet:\n');
173
182
  for (const r of regressions) process.stderr.write(` · ${r}\n`);
174
183
  process.stderr.write(
175
- ' These gates are already failing on pre-existing debt; the ratchet only forbids ADDING to it.\n',
184
+ ' The baseline is 0 — these gates are clean, so a rise is a NEW violation, not inherited debt.\n' +
185
+ ' Fix the finding, or re-baseline with --write-baseline if the change is deliberate.\n',
176
186
  );
177
187
  return 1;
178
188
  }
@@ -0,0 +1,343 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Guard against build-machine path leakage in the tracked install bundle.
4
+ *
5
+ * road-to-feedback-9.2.0-followups Phase 4.1. Three 9.1 commits
6
+ * (f8752443b, 5933bf1a9, f30adb5a1) each rebuilt `dist/install/install.mjs`
7
+ * solely to strip a leaked build-environment path esbuild had baked into its
8
+ * per-module `// <path>` boundary comments: a worktree-relative `../../../
9
+ * node_modules/...` hop, a repo-relative `../agent-config/node_modules/...`
10
+ * hop, and a full `/Users/<name>/.../node_modules/...` absolute path. Each
11
+ * fix was a manual rebuild-and-diff after the fact; this guard makes the
12
+ * class fail the build instead, so a future leak cannot merge silently.
13
+ *
14
+ * Every pattern below is scoped to avoid flagging legitimate bundle content:
15
+ * the bundle's own emitted runtime strings use relative forms only (e.g.
16
+ * `"./node_modules/@event4u/agent-config/plugin/agent-config"`, a real
17
+ * consumer-facing plugin-manifest path), and esbuild's per-module registry
18
+ * keys are bare `node_modules/<pkg>/...` (no leading `/` or `../`) — neither
19
+ * shape trips any pattern here.
20
+ *
21
+ * - `macos-linux-home` — absolute `/Users/<name>/…` or
22
+ * `/home/<name>/…`, i.e. a real machine's home directory. Requires at
23
+ * least one path segment after the username so a bare `/Users/` or
24
+ * `/home/` mention (unlikely, but not impossible in prose) does not
25
+ * match on its own.
26
+ * - `private-or-opt-root` — an absolute `/private/…` (macOS's
27
+ * `/var` → `/private/var` realpath) or `/opt/…` (common CI-runner tool
28
+ * root, e.g. GitHub Actions' hostedtoolcache) path.
29
+ * - `windows-drive` — an absolute Windows path (`C:\…`).
30
+ * - `worktree-path` — a `.claude/worktrees/…` path. This
31
+ * package's own git-worktree convention (`worktree-lifecycle` skill) —
32
+ * it can never legitimately appear in a shipped consumer artifact.
33
+ * - `parent-relative-node-modules` — any `../`-escaping path that reaches
34
+ * a `node_modules/` directory, however many hops or intermediate
35
+ * segments (`../../../node_modules/…`, `../agent-config/node_modules/…`).
36
+ * A legitimate bundled module reference never needs to climb out of the
37
+ * repo root via string literals — node's own resolution algorithm
38
+ * handles that internally, not via baked-in `../` path text.
39
+ * - `absolute-node-modules` — any OTHER absolute path (not already
40
+ * caught by the three rules above) reaching a `node_modules/` directory.
41
+ * The negative lookbehind excludes `./node_modules/…` and mid-identifier
42
+ * slashes so a legitimate relative reference is never flagged.
43
+ * - `absolute-sourcemap` — a `sourceMappingURL=` comment pointing
44
+ * at an absolute path instead of a bundle-relative filename (the shape
45
+ * `.map` files should always use — see `dist/install/*.js.map`, whose
46
+ * `sources` field is repo-relative, e.g. `../../src/install/atomic.ts`).
47
+ *
48
+ * Usage:
49
+ * tsx src/scripts/check_bundle_path_leakage.ts
50
+ * tsx src/scripts/check_bundle_path_leakage.ts --quiet
51
+ * tsx src/scripts/check_bundle_path_leakage.ts <file> [<file> ...]
52
+ *
53
+ * Exit codes: 0 = clean, 1 = leak found, 2 = usage error.
54
+ */
55
+ import { spawnSync } from 'node:child_process';
56
+ import * as fs from 'node:fs';
57
+ import * as path from 'node:path';
58
+ import { fileURLToPath, pathToFileURL } from 'node:url';
59
+
60
+ const _HERE = fileURLToPath(import.meta.url);
61
+ const REPO = path.resolve(path.dirname(_HERE), '..', '..');
62
+
63
+ // Tracked directories that may hold a build-generated bundle. Only
64
+ // `dist/install/` is force-included in `.gitignore` today (`!/dist/install/`);
65
+ // `dist/hooks/` and `dist/mcp/` are listed defensively in case a future
66
+ // change tracks them too — `git ls-files` on an untracked directory returns
67
+ // nothing, so listing an as-yet-untracked root here is always safe.
68
+ const BUNDLE_ROOTS: readonly string[] = ['dist/install', 'dist/hooks', 'dist/mcp'];
69
+
70
+ interface LeakPattern {
71
+ readonly name: string;
72
+ readonly re: RegExp;
73
+ readonly hint: string;
74
+ }
75
+
76
+ // Every regex carries the `g` flag (all hits scanned, not just the first)
77
+ // and excludes `\s'"` )` from its "rest of the path" class so a match never
78
+ // swallows past the end of a quoted string / comment / parenthesized call.
79
+ const LEAK_PATTERNS: readonly LeakPattern[] = [
80
+ {
81
+ name: 'macos-linux-home',
82
+ re: /\/(?:Users|home)\/[^/\s'"`)]+\/[^\s'"`)]*/g,
83
+ hint: 'rebuild from a clean, non-worktree checkout after a fresh `npm ci`',
84
+ },
85
+ {
86
+ name: 'private-or-opt-root',
87
+ re: /(?:^|[^\w.])\/(?:private|opt)\/[^\s'"`)]*/g,
88
+ hint: 'rebuild in a plain (non-macOS-symlinked, non-CI-tool-cache) tree',
89
+ },
90
+ {
91
+ name: 'windows-drive',
92
+ re: /\b[A-Za-z]:\\[^\s'"`)]*/g,
93
+ hint: 'rebuild on a POSIX runner — the published bundle must not carry a Windows path',
94
+ },
95
+ {
96
+ name: 'worktree-path',
97
+ re: /\.claude\/worktrees\/[^\s'"`)]*/g,
98
+ hint: 'rebuild from the primary checkout, not a `.claude/worktrees/` git worktree',
99
+ },
100
+ {
101
+ name: 'parent-relative-node-modules',
102
+ re: /\.\.\/(?:[^\s'"`)]*\/)*node_modules\//g,
103
+ hint: 'esbuild resolved a dependency outside the repo root (foreign/symlinked node_modules) — rebuild after `npm ci` inside the repo',
104
+ },
105
+ {
106
+ name: 'absolute-node-modules',
107
+ re: /(?<![.\w/])\/(?:[^\s'"`)]*\/)*node_modules\//g,
108
+ hint: 'an absolute path reached a node_modules directory — rebuild from a repo-relative tree',
109
+ },
110
+ {
111
+ name: 'absolute-sourcemap',
112
+ re: /sourceMappingURL=(?:\/|[A-Za-z]:\\)[^\s'"`)]*/g,
113
+ hint: 'the sourcemap comment must reference a bundle-relative filename, not an absolute path',
114
+ },
115
+ ];
116
+
117
+ interface Hit {
118
+ readonly file: string;
119
+ readonly pattern: string;
120
+ readonly line: number;
121
+ readonly snippet: string;
122
+ }
123
+
124
+ const MAX_SNIPPET = 140;
125
+ const MAX_HITS_SHOWN_PER_GROUP = 5;
126
+
127
+ /**
128
+ * Redact the username segment of a `/Users/<name>/…`, `/home/<name>/…`, or
129
+ * `C:\Users\<name>\…` match before it reaches a log line — the machine
130
+ * username is incidental PII, not the point of the finding (the finding is
131
+ * "an absolute path leaked", not "whose machine it was").
132
+ */
133
+ function mask_snippet(raw: string): string {
134
+ const masked = raw
135
+ .replace(/(\/(?:Users|home)\/)[^/\s'"`)]+/, '$1<masked>')
136
+ .replace(/(:\\Users\\)[^\\'"`)]+/i, '$1<masked>');
137
+ return masked.length > MAX_SNIPPET ? `${masked.slice(0, MAX_SNIPPET)}…` : masked;
138
+ }
139
+
140
+ /** 1-based line number of a character offset, mirroring the other check_* scripts' style. */
141
+ function line_of(text: string, index: number): number {
142
+ let line = 1;
143
+ for (let i = 0; i < index; i += 1) {
144
+ if (text.charCodeAt(i) === 0x0a) line += 1;
145
+ }
146
+ return line;
147
+ }
148
+
149
+ /**
150
+ * Pure scan core: every pattern hit in `content`, tagged with the (already
151
+ * relative) file path the caller supplies. No filesystem or git access —
152
+ * tests drive this directly with synthetic strings.
153
+ */
154
+ function scan_content(relPath: string, content: string): Hit[] {
155
+ const hits: Hit[] = [];
156
+ for (const pattern of LEAK_PATTERNS) {
157
+ pattern.re.lastIndex = 0;
158
+ let m: RegExpExecArray | null;
159
+ while ((m = pattern.re.exec(content))) {
160
+ hits.push({
161
+ file: relPath,
162
+ pattern: pattern.name,
163
+ line: line_of(content, m.index),
164
+ snippet: mask_snippet(m[0]),
165
+ });
166
+ // Zero-width safety net (none of the patterns above can match
167
+ // empty, but this mirrors the other check_* scripts' loop guard).
168
+ if (pattern.re.lastIndex === m.index) pattern.re.lastIndex += 1;
169
+ }
170
+ }
171
+ return hits;
172
+ }
173
+
174
+ function _git(args: readonly string[]): string {
175
+ const res = spawnSync('git', [...args], {
176
+ cwd: REPO,
177
+ encoding: 'utf-8',
178
+ maxBuffer: 256 * 1024 * 1024,
179
+ });
180
+ return res.stdout ?? '';
181
+ }
182
+
183
+ function _splitlines(text: string): string[] {
184
+ return text.split('\n').filter((l) => l.length > 0);
185
+ }
186
+
187
+ /** Every tracked path under the bundle roots, deduped and sorted. */
188
+ function tracked_bundle_files(): string[] {
189
+ const seen = new Set<string>();
190
+ for (const root of BUNDLE_ROOTS) {
191
+ for (const rel of _splitlines(_git(['ls-files', root]))) {
192
+ seen.add(rel);
193
+ }
194
+ }
195
+ return [...seen].sort();
196
+ }
197
+
198
+ /**
199
+ * Scan one file from disk. Binary / non-UTF-8 content is skipped (a bundle
200
+ * artifact is always text; a decode failure means this isn't one).
201
+ */
202
+ function scan_file(relPath: string): Hit[] {
203
+ // `--file` args accept both repo-relative (the `git ls-files` default
204
+ // target list) and absolute paths (ad hoc / test use) — never silently
205
+ // resolve an already-absolute path underneath REPO.
206
+ const abs = path.isAbsolute(relPath) ? relPath : path.join(REPO, relPath);
207
+ let text: string;
208
+ try {
209
+ text = new TextDecoder('utf-8', { fatal: true }).decode(fs.readFileSync(abs));
210
+ } catch {
211
+ return [];
212
+ }
213
+ return scan_content(relPath, text);
214
+ }
215
+
216
+ function scan_files(relPaths: readonly string[]): Hit[] {
217
+ const hits: Hit[] = [];
218
+ for (const rel of relPaths) hits.push(...scan_file(rel));
219
+ return hits;
220
+ }
221
+
222
+ function format_report(hits: readonly Hit[]): string {
223
+ const groups = new Map<string, Hit[]>();
224
+ for (const hit of hits) {
225
+ const key = `${hit.file}::${hit.pattern}`;
226
+ const group = groups.get(key);
227
+ if (group) group.push(hit);
228
+ else groups.set(key, [hit]);
229
+ }
230
+ const lines: string[] = [
231
+ '❌ check_bundle_path_leakage: build-machine path leakage in the tracked bundle:',
232
+ ];
233
+ for (const [key, group] of groups) {
234
+ const [file, patternName] = key.split('::') as [string, string];
235
+ const pattern = LEAK_PATTERNS.find((p) => p.name === patternName);
236
+ lines.push(` ${file} [${patternName}] (${group.length} occurrence(s))`);
237
+ for (const hit of group.slice(0, MAX_HITS_SHOWN_PER_GROUP)) {
238
+ lines.push(` line ${hit.line}: ${hit.snippet}`);
239
+ }
240
+ if (group.length > MAX_HITS_SHOWN_PER_GROUP) {
241
+ lines.push(` (+${group.length - MAX_HITS_SHOWN_PER_GROUP} more)`);
242
+ }
243
+ if (pattern) lines.push(` → ${pattern.hint}`);
244
+ }
245
+ return lines.join('\n');
246
+ }
247
+
248
+ interface Options {
249
+ quiet: boolean;
250
+ files: string[];
251
+ }
252
+
253
+ /** Thrown instead of calling `process.exit` directly, so `main()` stays testable. */
254
+ class ExitCode extends Error {
255
+ code: number;
256
+ constructor(code: number) {
257
+ super(`exit ${code}`);
258
+ this.code = code;
259
+ }
260
+ }
261
+
262
+ function parse_args(argv: readonly string[]): Options {
263
+ const opts: Options = { quiet: false, files: [] };
264
+ for (const arg of argv) {
265
+ if (arg === '--quiet') {
266
+ opts.quiet = true;
267
+ } else if (arg === '-h' || arg === '--help') {
268
+ process.stdout.write(
269
+ 'usage: check_bundle_path_leakage.ts [--quiet] [<file> ...]\n',
270
+ );
271
+ throw new ExitCode(0);
272
+ } else if (arg.startsWith('--')) {
273
+ process.stderr.write(
274
+ `❌ check_bundle_path_leakage: unrecognized argument: ${arg}\n`,
275
+ );
276
+ throw new ExitCode(2);
277
+ } else {
278
+ opts.files.push(arg);
279
+ }
280
+ }
281
+ return opts;
282
+ }
283
+
284
+ function main(argv: readonly string[] = process.argv.slice(2)): number {
285
+ const opts = parse_args(argv);
286
+ const targets = opts.files.length > 0 ? opts.files : tracked_bundle_files();
287
+ const hits = scan_files(targets);
288
+
289
+ if (hits.length > 0) {
290
+ process.stderr.write(`${format_report(hits)}\n`);
291
+ return 1;
292
+ }
293
+
294
+ if (!opts.quiet) {
295
+ process.stdout.write(
296
+ `✅ check_bundle_path_leakage: no build-machine path leakage ` +
297
+ `(${targets.length} tracked bundle file(s) scanned).\n`,
298
+ );
299
+ }
300
+ return 0;
301
+ }
302
+
303
+ function _isCliEntry(): boolean {
304
+ if (process.argv[1] === undefined) return false;
305
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
306
+ if (import.meta.url === argvUrl) return true;
307
+ try {
308
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
309
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
310
+ return here === argv;
311
+ } catch {
312
+ return false;
313
+ }
314
+ }
315
+
316
+ if (_isCliEntry() || process.argv[1] === _HERE) {
317
+ try {
318
+ process.exit(main());
319
+ } catch (exc) {
320
+ if (exc instanceof ExitCode) {
321
+ process.exit(exc.code);
322
+ }
323
+ throw exc;
324
+ }
325
+ }
326
+
327
+ export {
328
+ REPO,
329
+ BUNDLE_ROOTS,
330
+ LEAK_PATTERNS,
331
+ MAX_SNIPPET,
332
+ MAX_HITS_SHOWN_PER_GROUP,
333
+ mask_snippet,
334
+ scan_content,
335
+ scan_file,
336
+ scan_files,
337
+ tracked_bundle_files,
338
+ format_report,
339
+ parse_args,
340
+ main,
341
+ ExitCode,
342
+ };
343
+ export type { Hit, LeakPattern, Options };
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * check_evaluator_budgets — enforce the outside-in evaluator budgets
4
+ * (road-to-credible-install Phase 6) against a measurements JSON.
5
+ *
6
+ * Two failure modes per metric:
7
+ * 1. absolute: measured > budgets[metric].max
8
+ * 2. regression: measured > last_measured * (1 + regression_pct/100)
9
+ * — fails EVEN WHEN still under the absolute budget (the >10%
10
+ * creep rule), so slow rot cannot hide under a generous cap.
11
+ *
12
+ * Usage:
13
+ * ./scripts-run src/scripts/check_evaluator_budgets --measurements <file.json>
14
+ * (measurements: flat { metric: number } — produced by evaluator_umbrella.sh)
15
+ *
16
+ * Exit codes: 0 green · 1 budget/regression exceeded · 2 internal error.
17
+ */
18
+ import * as fs from 'node:fs';
19
+ import * as path from 'node:path';
20
+ import { fileURLToPath } from 'node:url';
21
+
22
+ const REPO_ROOT = path.resolve(fileURLToPath(import.meta.url), '..', '..', '..');
23
+ const BUDGETS_PATH = path.join(REPO_ROOT, 'src', 'config', 'evaluator-budgets.json');
24
+
25
+ interface BudgetEntry {
26
+ max: number;
27
+ last_measured: number;
28
+ method: string;
29
+ /** Per-metric creep override — wall-clock timings get a loose one
30
+ * (absolute cap is their real gate); sizes/counts keep the tight
31
+ * global default. */
32
+ regression_pct?: number;
33
+ }
34
+ interface BudgetsDoc {
35
+ regression_pct: number;
36
+ budgets: Record<string, BudgetEntry>;
37
+ }
38
+
39
+ export function evaluate(
40
+ budgetsDoc: BudgetsDoc,
41
+ measurements: Record<string, number>,
42
+ ): string[] {
43
+ const errors: string[] = [];
44
+ for (const [metric, entry] of Object.entries(budgetsDoc.budgets)) {
45
+ const measured = measurements[metric];
46
+ if (measured === undefined || Number.isNaN(measured)) {
47
+ errors.push(`${metric}: no measurement supplied (method: ${entry.method})`);
48
+ continue;
49
+ }
50
+ if (measured > entry.max) {
51
+ errors.push(`${metric}: measured ${measured} exceeds budget ${entry.max}`);
52
+ continue;
53
+ }
54
+ const pct = entry.regression_pct ?? budgetsDoc.regression_pct;
55
+ const ceiling = entry.last_measured * (1 + pct / 100);
56
+ if (entry.last_measured > 0 && measured > ceiling) {
57
+ errors.push(
58
+ `${metric}: measured ${measured} regressed >${pct}% vs ` +
59
+ `last_measured ${entry.last_measured} (ceiling ${ceiling.toFixed(2)}) — ` +
60
+ 'fails even under the absolute budget',
61
+ );
62
+ }
63
+ }
64
+ return errors;
65
+ }
66
+
67
+ export function main(argv: string[] = process.argv.slice(2)): number {
68
+ const idx = argv.indexOf('--measurements');
69
+ if (idx < 0 || argv[idx + 1] === undefined) {
70
+ process.stderr.write('usage: check_evaluator_budgets --measurements <file.json>\n');
71
+ return 2;
72
+ }
73
+ let budgetsDoc: BudgetsDoc;
74
+ let measurements: Record<string, number>;
75
+ try {
76
+ budgetsDoc = JSON.parse(fs.readFileSync(BUDGETS_PATH, 'utf-8')) as BudgetsDoc;
77
+ measurements = JSON.parse(fs.readFileSync(argv[idx + 1] as string, 'utf-8')) as Record<
78
+ string,
79
+ number
80
+ >;
81
+ } catch (e) {
82
+ process.stderr.write(`check_evaluator_budgets: ${(e as Error).message}\n`);
83
+ return 2;
84
+ }
85
+ const errors = evaluate(budgetsDoc, measurements);
86
+ if (errors.length > 0) {
87
+ for (const e of errors) process.stderr.write(`❌ evaluator budget: ${e}\n`);
88
+ return 1;
89
+ }
90
+ process.stdout.write(
91
+ `✅ evaluator budgets met (${Object.keys(budgetsDoc.budgets).length} metrics)\n`,
92
+ );
93
+ return 0;
94
+ }
95
+
96
+ const _selfPath = fileURLToPath(import.meta.url);
97
+ if (process.argv[1] !== undefined && path.resolve(process.argv[1]) === path.resolve(_selfPath)) {
98
+ process.exit(main());
99
+ }
@@ -66,8 +66,19 @@ export function checkSharing(staged: StagedFile[], readContent: (path: string) =
66
66
  const blocked: string[] = [];
67
67
  const warnings: string[] = [];
68
68
 
69
+ // The intake DIRECTORY SKELETON is tracked so the write path exists on a
70
+ // fresh clone (road-to-reachable-code-memory Phase 4); only the signal
71
+ // CONTENT (JSONL etc.) is local scratch that must never be committed.
72
+ const INTAKE_SKELETON = new Set([
73
+ 'agents/memory/intake/.gitkeep',
74
+ 'agents/memory/intake/README.md',
75
+ 'agents/knowledge/intake/.gitkeep',
76
+ 'agents/knowledge/intake/README.md',
77
+ ]);
69
78
  const intakeFiles = staged.filter(
70
- (f) => f.path.startsWith('agents/memory/intake/') || f.path.startsWith('agents/knowledge/intake/'),
79
+ (f) =>
80
+ (f.path.startsWith('agents/memory/intake/') || f.path.startsWith('agents/knowledge/intake/')) &&
81
+ !INTAKE_SKELETON.has(f.path),
71
82
  );
72
83
  for (const f of intakeFiles) {
73
84
  blocked.push(`${f.path}: gitignored intake staged — intake is local scratch, never committed`);
@@ -21,7 +21,7 @@
21
21
  * - Vendored Apache/MIT code keeps its license-required attribution.
22
22
  * - Recommendation/registry docs may name registries (Smithery/Glama).
23
23
  * - A retained source link must be stored encrypted via
24
- * src/scripts/_lib/link_crypto.py, never in plaintext.
24
+ * src/scripts/_lib/link_crypto.ts, never in plaintext.
25
25
  *
26
26
  * Exit codes: 0 = clean, 1 = at least one denied token in a non-skipped tracked
27
27
  * file, 2 = usage / config error.
@@ -318,7 +318,7 @@ function main(argv: readonly string[]): number {
318
318
  process.stdout.write(
319
319
  '\nThese name an external inspiration/harvest source. Remove the name,\n' +
320
320
  'or — if a real source link must be retained — encrypt it via\n' +
321
- 'src/scripts/_lib/link_crypto.py. Legitimate carve-outs (vendored code,\n' +
321
+ 'src/scripts/_lib/link_crypto.ts. Legitimate carve-outs (vendored code,\n' +
322
322
  'registry recommendations) belong in external_sources_denylist.json\n' +
323
323
  'skip_paths. See rule: source-confidentiality.\n',
324
324
  );
@@ -17,9 +17,12 @@
17
17
  * genuinely-historical line inside an allowlisted file is exempted with an
18
18
  * inline `<!-- pointer-freshness: historical -->` marker.
19
19
  *
20
- * Extend AUTHORING_FILES as the broader `.agent-src.uncondensed` cleanup lands
21
- * (186 files still carry the token; see road-to-doc-follows-code Phase 4/5
22
- * follow-up).
20
+ * Extend AUTHORING_FILES as the broader `.agent-src.uncondensed` cleanup lands.
21
+ * road-to-retire-stale-authoring-pointers (2026-07-28) migrated the stale
22
+ * *authoring-source* pointers (43 `.md` lines) to `src/` and added the now
23
+ * token-free files here; the remaining `.agent-src.uncondensed/` references in
24
+ * `src/` are live code constants / pipeline descriptions / catalog paths that
25
+ * are correct and must stay (not authoring pointers).
23
26
  *
24
27
  * Exit codes: 0 = clean, 1 = a retired pointer in an allowlisted authoring
25
28
  * file, 2 = usage / self-test failure.
@@ -41,8 +44,30 @@ const ROOT = path.resolve(path.dirname(_HERE), '..', '..');
41
44
  // name the retired `.agent-src.uncondensed/` tree as current. Extend as the
42
45
  // broader cleanup lands.
43
46
  const AUTHORING_FILES: readonly string[] = [
47
+ // Seeded by #989 (the source-of-truth README + thin-root skill).
44
48
  'src/agent-src/README.md',
45
49
  'src/skills/agents-md-thin-root/SKILL.md',
50
+ // Added by road-to-retire-stale-authoring-pointers (2026-07-28): files whose
51
+ // stale "edit `.agent-src.uncondensed/`" authoring pointers were migrated to
52
+ // `src/` and are now token-free — locking them against regression. Files that
53
+ // retain legitimate `.agent-src.uncondensed/` references (pipeline
54
+ // descriptions, catalog-asset paths, validator_ignore config, fenced code)
55
+ // are intentionally NOT listed — they are guarded behaviorally by the
56
+ // downstream-changes § Doc-Impact rule, not by this any-occurrence scan.
57
+ 'src/agent-src/templates/persona.md',
58
+ 'src/domains/ai-video/image/command.md',
59
+ 'src/domains/ai-video/video/command.md',
60
+ 'src/domains/engineering-base/fix/portability/command.md',
61
+ 'src/domains/engineering-base/fix/refs/command.md',
62
+ 'src/domains/gtm-marketing/post-as/command.md',
63
+ 'src/domains/meta/agents/command.md',
64
+ 'src/domains/meta/agents/user/command.md',
65
+ 'src/domains/meta/optimize/augmentignore/command.md',
66
+ 'src/domains/product-basic/roadmap/ai-council/command.md',
67
+ 'src/domains/product-discovery/research/command.md',
68
+ 'src/skills/md-language-check/SKILL.md',
69
+ 'src/skills/override-management/SKILL.md',
70
+ 'src/skills/rule-refactor/SKILL.md',
46
71
  ];
47
72
 
48
73
  // Retired source-of-truth pointer. Matches both the bare token and the older
Binary file