@event4u/agent-config 8.4.0 → 8.5.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 (682) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +73 -0
  3. package/README.md +17 -5
  4. package/dist/agent-src/README.md +1 -1
  5. package/dist/agent-src/commands/{analyze-reference-repo.md → analyze/reference-repo.md} +3 -1
  6. package/dist/agent-src/commands/analyze.md +9 -6
  7. package/dist/agent-src/commands/{bug-fix.md → bug/fix.md} +3 -1
  8. package/dist/agent-src/commands/{bug-investigate.md → bug/investigate.md} +4 -2
  9. package/dist/agent-src/commands/bug.md +59 -0
  10. package/dist/agent-src/commands/{set-cost-profile.md → cost/profile.md} +9 -6
  11. package/dist/agent-src/commands/{cost-report.md → cost/report.md} +18 -17
  12. package/dist/agent-src/commands/cost.md +57 -0
  13. package/dist/agent-src/commands/evals/{review-changes.json → review.json} +12 -8
  14. package/dist/agent-src/commands/{quality-fix.md → fix/quality.md} +5 -2
  15. package/dist/agent-src/commands/fix.md +7 -4
  16. package/dist/agent-src/commands/optimize/project.md +250 -0
  17. package/dist/agent-src/commands/{optimize-prompt.md → optimize/prompt.md} +3 -2
  18. package/dist/agent-src/commands/optimize.md +17 -12
  19. package/dist/agent-src/commands/{package-reset.md → package/reset.md} +2 -0
  20. package/dist/agent-src/commands/{package-test.md → package/test.md} +3 -1
  21. package/dist/agent-src/commands/package.md +56 -0
  22. package/dist/agent-src/commands/{project-analyze.md → project/analyze.md} +10 -8
  23. package/dist/agent-src/commands/{project-health.md → project/health.md} +2 -0
  24. package/dist/agent-src/commands/project.md +60 -0
  25. package/dist/agent-src/commands/{review-changes.md → review/changes.md} +26 -24
  26. package/dist/agent-src/commands/{review-routing.md → review/routing.md} +21 -17
  27. package/dist/agent-src/commands/review.md +61 -0
  28. package/dist/agent-src/commands/security-audit-config.md +24 -23
  29. package/dist/agent-src/commands/{sync-agent-settings.md → sync/agent-settings.md} +11 -7
  30. package/dist/agent-src/commands/{sync-gitignore → sync/gitignore}/fix.md +36 -27
  31. package/dist/agent-src/commands/{sync-gitignore.md → sync/gitignore.md} +22 -21
  32. package/dist/agent-src/commands/sync.md +58 -0
  33. package/dist/agent-src/commands/{e2e-heal.md → tests/e2e-heal.md} +5 -2
  34. package/dist/agent-src/commands/{e2e-plan.md → tests/e2e-plan.md} +5 -2
  35. package/dist/agent-src/commands/tests.md +11 -5
  36. package/dist/agent-src/contexts/augment-infrastructure.md +3 -3
  37. package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
  38. package/dist/agent-src/contexts/skills-and-commands.md +2 -2
  39. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
  40. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +2 -2
  41. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  42. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +1 -1
  43. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -1
  44. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +1 -1
  45. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  46. package/dist/agent-src/skills/judge-test-coverage/SKILL.md +1 -1
  47. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  48. package/dist/agent-src/skills/mobile-e2e-strategy/SKILL.md +5 -5
  49. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +2 -2
  50. package/dist/agent-src/skills/quality-tools/SKILL.md +1 -1
  51. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  52. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  53. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  54. package/dist/agent-src/templates/agent-settings.md +1 -1
  55. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
  56. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  57. package/dist/cli/commands/config.js +44 -0
  58. package/dist/cli/commands/config.js.map +1 -0
  59. package/dist/cli/commands/uiServe.js +1 -0
  60. package/dist/cli/commands/uiServe.js.map +1 -1
  61. package/dist/cli/help.js +38 -0
  62. package/dist/cli/help.js.map +1 -0
  63. package/dist/cli/initRouting.js +16 -1
  64. package/dist/cli/initRouting.js.map +1 -1
  65. package/dist/cli/main.js +43 -37
  66. package/dist/cli/main.js.map +1 -1
  67. package/dist/cli/registry.js +45 -44
  68. package/dist/cli/registry.js.map +1 -1
  69. package/dist/discovery/deprecation-report.md +1 -1
  70. package/dist/discovery/discovery-manifest.json +419 -210
  71. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  72. package/dist/discovery/discovery-manifest.summary.md +4 -4
  73. package/dist/discovery/orphan-report.md +1 -1
  74. package/dist/discovery/packs.json +31 -25
  75. package/dist/discovery/trust-report.md +2 -2
  76. package/dist/discovery/workspaces.json +30 -24
  77. package/dist/install/install.mjs +6064 -159
  78. package/dist/install/selectedTools.js +39 -10
  79. package/dist/install/selectedTools.js.map +1 -1
  80. package/dist/mcp/registry-manifest.json +3 -3
  81. package/dist/server/app.js +15 -3
  82. package/dist/server/app.js.map +1 -1
  83. package/dist/server/routes/ping.js +16 -0
  84. package/dist/server/routes/ping.js.map +1 -1
  85. package/dist/server/routes/settings.js +42 -6
  86. package/dist/server/routes/settings.js.map +1 -1
  87. package/dist/server/routes/settingsChanges.js +55 -0
  88. package/dist/server/routes/settingsChanges.js.map +1 -0
  89. package/dist/server/routes/userMd.js +7 -2
  90. package/dist/server/routes/userMd.js.map +1 -1
  91. package/dist/server/routes/wizard.js +76 -14
  92. package/dist/server/routes/wizard.js.map +1 -1
  93. package/dist/server/writeRoot.js +17 -0
  94. package/dist/server/writeRoot.js.map +1 -1
  95. package/dist/shared/settingsSurface.js +120 -0
  96. package/dist/shared/settingsSurface.js.map +1 -0
  97. package/dist/ui/assets/index-BPFMZWUs.css +1 -0
  98. package/dist/ui/assets/index-BiEZiZ31.js +40 -0
  99. package/dist/ui/assets/index-BiEZiZ31.js.map +1 -0
  100. package/dist/ui/index.html +15 -2
  101. package/docs/CLAIMS.md +20 -15
  102. package/docs/architecture.md +1 -1
  103. package/docs/catalog.md +37 -31
  104. package/docs/command-flows.md +22 -16
  105. package/docs/contracts/command-clusters.md +39 -9
  106. package/docs/contracts/file-ownership-matrix.json +21 -0
  107. package/docs/contracts/frontmatter-contract.md +1 -1
  108. package/docs/contracts/gui-wizard.md +16 -4
  109. package/docs/contracts/iron-law-overrides.txt +1 -0
  110. package/docs/contracts/rule-classification.md +2 -2
  111. package/docs/contracts/settings-api.md +58 -2
  112. package/docs/contracts/surface-matrix.md +5 -0
  113. package/docs/cookbook.md +7 -7
  114. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +74 -0
  115. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +91 -0
  116. package/docs/decisions/INDEX.md +2 -0
  117. package/docs/featured-commands.md +1 -1
  118. package/docs/featured-skills.md +4 -4
  119. package/docs/flows.md +2 -2
  120. package/docs/getting-started-by-role.md +1 -1
  121. package/docs/getting-started-laravel.md +1 -1
  122. package/docs/getting-started.md +6 -3
  123. package/docs/governance-advantage.md +1 -1
  124. package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
  125. package/docs/guidelines/agent-infra/ios-simulator-guide.md +1 -1
  126. package/docs/proof.md +11 -2
  127. package/package.json +6 -1
  128. package/src/agent-src/README.md +64 -0
  129. package/src/agent-src/scripts/archive_completed_roadmaps.ts +497 -0
  130. package/src/agent-src/scripts/scan-seeder-violations.php +145 -0
  131. package/src/agent-src/scripts/update_roadmap_progress.ts +1087 -0
  132. package/src/agent-src/templates/AGENTS.md +34 -0
  133. package/src/agent-src/templates/scripts/README.md +195 -0
  134. package/src/agent-src/templates/scripts/check_memory.ts +662 -0
  135. package/src/agent-src/templates/scripts/check_memory_proposal.ts +370 -0
  136. package/src/agent-src/templates/scripts/historical-bug-patterns.example.yml +84 -0
  137. package/src/agent-src/templates/scripts/implement_ticket/__main__.ts +27 -0
  138. package/src/agent-src/templates/scripts/memory_hash.ts +355 -0
  139. package/src/agent-src/templates/scripts/memory_lookup.ts +1089 -0
  140. package/src/agent-src/templates/scripts/memory_report.ts +868 -0
  141. package/src/agent-src/templates/scripts/memory_signal.ts +444 -0
  142. package/src/agent-src/templates/scripts/memory_status.ts +215 -0
  143. package/src/agent-src/templates/scripts/ownership-map.example.yml +87 -0
  144. package/src/agent-src/templates/scripts/pr-risk-config.example.yml +76 -0
  145. package/src/agent-src/templates/scripts/pr_review_routing.ts +544 -0
  146. package/src/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  147. package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  148. package/src/agent-src/templates/scripts/telemetry/boundary.ts +164 -0
  149. package/src/agent-src/templates/scripts/telemetry/engagement.ts +479 -0
  150. package/src/agent-src/templates/scripts/telemetry/report_renderer.ts +394 -0
  151. package/src/agent-src/templates/scripts/telemetry/settings.ts +210 -0
  152. package/src/agent-src/templates/scripts/telemetry_record.ts +276 -0
  153. package/src/agent-src/templates/scripts/telemetry_report.ts +211 -0
  154. package/src/agent-src/templates/scripts/telemetry_status.ts +333 -0
  155. package/src/agent-src/templates/scripts/tier_usage_report.ts +619 -0
  156. package/src/agent-src/templates/scripts/work_engine/__main__.ts +14 -0
  157. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +1261 -0
  158. package/src/agent-src/templates/scripts/work_engine/_lib/user_global_paths.ts +329 -0
  159. package/src/agent-src/templates/scripts/work_engine/cli.ts +206 -0
  160. package/src/agent-src/templates/scripts/work_engine/cli_args.ts +249 -0
  161. package/src/agent-src/templates/scripts/work_engine/delivery_state.ts +225 -0
  162. package/src/agent-src/templates/scripts/work_engine/directives/backend/analyze.ts +125 -0
  163. package/src/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +189 -0
  164. package/src/agent-src/templates/scripts/work_engine/directives/backend/index.ts +94 -0
  165. package/src/agent-src/templates/scripts/work_engine/directives/backend/memory.ts +193 -0
  166. package/src/agent-src/templates/scripts/work_engine/directives/backend/plan.ts +267 -0
  167. package/src/agent-src/templates/scripts/work_engine/directives/backend/refine.ts +518 -0
  168. package/src/agent-src/templates/scripts/work_engine/directives/backend/report.ts +379 -0
  169. package/src/agent-src/templates/scripts/work_engine/directives/backend/test.ts +268 -0
  170. package/src/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +258 -0
  171. package/src/agent-src/templates/scripts/work_engine/directives/index.ts +32 -0
  172. package/src/agent-src/templates/scripts/work_engine/directives/mixed/contract.ts +243 -0
  173. package/src/agent-src/templates/scripts/work_engine/directives/mixed/index.ts +108 -0
  174. package/src/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +259 -0
  175. package/src/agent-src/templates/scripts/work_engine/directives/mixed/ui.ts +216 -0
  176. package/src/agent-src/templates/scripts/work_engine/directives/ui/_passthrough.ts +40 -0
  177. package/src/agent-src/templates/scripts/work_engine/directives/ui/app_spec.ts +241 -0
  178. package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +216 -0
  179. package/src/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +506 -0
  180. package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +325 -0
  181. package/src/agent-src/templates/scripts/work_engine/directives/ui/index.ts +102 -0
  182. package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +462 -0
  183. package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +474 -0
  184. package/src/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +352 -0
  185. package/src/agent-src/templates/scripts/work_engine/directives/ui_trivial/_skipped.ts +33 -0
  186. package/src/agent-src/templates/scripts/work_engine/directives/ui_trivial/apply.ts +213 -0
  187. package/src/agent-src/templates/scripts/work_engine/directives/ui_trivial/index.ts +111 -0
  188. package/src/agent-src/templates/scripts/work_engine/directives/ui_trivial/refine.ts +126 -0
  189. package/src/agent-src/templates/scripts/work_engine/directives/ui_trivial/report.ts +112 -0
  190. package/src/agent-src/templates/scripts/work_engine/directives/ui_trivial/test.ts +164 -0
  191. package/src/agent-src/templates/scripts/work_engine/dispatcher.ts +515 -0
  192. package/src/agent-src/templates/scripts/work_engine/emitters.ts +119 -0
  193. package/src/agent-src/templates/scripts/work_engine/errors.ts +24 -0
  194. package/src/agent-src/templates/scripts/work_engine/hook_bootstrap.ts +104 -0
  195. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +189 -0
  196. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.ts +41 -0
  197. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.ts +89 -0
  198. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_gate.ts +193 -0
  199. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +304 -0
  200. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/directive_set_guard.ts +110 -0
  201. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/halt_surface_audit.ts +118 -0
  202. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/index.ts +17 -0
  203. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +161 -0
  204. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/state_shape_validation.ts +45 -0
  205. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/trace.ts +134 -0
  206. package/src/agent-src/templates/scripts/work_engine/hooks/context.ts +94 -0
  207. package/src/agent-src/templates/scripts/work_engine/hooks/events.ts +58 -0
  208. package/src/agent-src/templates/scripts/work_engine/hooks/exceptions.ts +85 -0
  209. package/src/agent-src/templates/scripts/work_engine/hooks/index.ts +27 -0
  210. package/src/agent-src/templates/scripts/work_engine/hooks/registry.ts +66 -0
  211. package/src/agent-src/templates/scripts/work_engine/hooks/runner.ts +90 -0
  212. package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +260 -0
  213. package/src/agent-src/templates/scripts/work_engine/input_builders.ts +260 -0
  214. package/src/agent-src/templates/scripts/work_engine/intent/classify.ts +466 -0
  215. package/src/agent-src/templates/scripts/work_engine/migration/v0_to_v1.ts +531 -0
  216. package/src/agent-src/templates/scripts/work_engine/orchestration.ts +366 -0
  217. package/src/agent-src/templates/scripts/work_engine/persona_policy.ts +97 -0
  218. package/src/agent-src/templates/scripts/work_engine/resolvers/diff.ts +135 -0
  219. package/src/agent-src/templates/scripts/work_engine/resolvers/file.ts +175 -0
  220. package/src/agent-src/templates/scripts/work_engine/resolvers/prompt.ts +115 -0
  221. package/src/agent-src/templates/scripts/work_engine/scoring/confidence.ts +415 -0
  222. package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +466 -0
  223. package/src/agent-src/templates/scripts/work_engine/scoring/decision_trace.ts +298 -0
  224. package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +444 -0
  225. package/src/agent-src/templates/scripts/work_engine/stack/detect.ts +252 -0
  226. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +745 -0
  227. package/src/agent-src/templates/scripts/work_engine/state.ts +1151 -0
  228. package/src/agent-src/templates/scripts/work_engine/state_io.ts +413 -0
  229. package/src/config/agent-settings.template.yml +1 -1
  230. package/src/install/atomic.ts +111 -0
  231. package/src/install/conflict.ts +226 -0
  232. package/src/install/detect.ts +280 -0
  233. package/src/install/paths.ts +90 -0
  234. package/src/install/plan.ts +205 -0
  235. package/src/install/preflight.ts +210 -0
  236. package/src/install/selectedTools.ts +80 -0
  237. package/src/install/toolDetection.ts +120 -0
  238. package/src/install/txlog.ts +161 -0
  239. package/src/install/types.ts +175 -0
  240. package/src/install/wizard-plan.ts +216 -0
  241. package/src/scripts/_cli/cmd_converge.ts +38 -0
  242. package/src/scripts/_cli/cmd_doctor.ts +113 -2
  243. package/src/scripts/_cli/cmd_explain.ts +2 -2
  244. package/src/scripts/_cli/cmd_export.ts +3 -3
  245. package/src/scripts/_cli/cmd_fleet.ts +13 -1
  246. package/src/scripts/_cli/cmd_migrate.ts +3 -3
  247. package/src/scripts/_cli/cmd_prune.ts +2 -2
  248. package/src/scripts/_cli/cmd_refresh.ts +4 -4
  249. package/src/scripts/_cli/cmd_settings_check.ts +2 -2
  250. package/src/scripts/_cli/cmd_settings_migrate.ts +2 -2
  251. package/src/scripts/_cli/cmd_sync.ts +2 -2
  252. package/src/scripts/_cli/cmd_uninstall.ts +2 -2
  253. package/src/scripts/_cli/cmd_update.ts +8 -8
  254. package/src/scripts/_cli/cmd_upgrade.ts +4 -3
  255. package/src/scripts/_cli/cmd_validate.ts +3 -3
  256. package/src/scripts/_cli/cmd_versions.ts +2 -2
  257. package/src/scripts/_cli/explain_last/assumptions.ts +2 -2
  258. package/src/scripts/_cli/explain_last/council.ts +2 -2
  259. package/src/scripts/_cli/explain_last/halt.ts +2 -2
  260. package/src/scripts/_cli/explain_last/index.ts +2 -2
  261. package/src/scripts/_cli/explain_last/inputs.ts +4 -4
  262. package/src/scripts/_cli/explain_last/memory.ts +2 -2
  263. package/src/scripts/_cli/explain_last/provider.ts +2 -2
  264. package/src/scripts/_cli/explain_last/render.ts +2 -2
  265. package/src/scripts/_cli/explain_last/route.ts +2 -2
  266. package/src/scripts/_cli/explain_last/scrubber.ts +2 -2
  267. package/src/scripts/_cli/explain_last/sections/assumptions.ts +2 -2
  268. package/src/scripts/_cli/explain_last/sections/council.ts +2 -2
  269. package/src/scripts/_cli/explain_last/sections/halt.ts +2 -2
  270. package/src/scripts/_cli/explain_last/sections/header.ts +2 -2
  271. package/src/scripts/_cli/explain_last/sections/index.ts +1 -1
  272. package/src/scripts/_cli/explain_last/sections/inputs.ts +2 -2
  273. package/src/scripts/_cli/explain_last/sections/memory.ts +2 -2
  274. package/src/scripts/_cli/explain_last/sections/pack.ts +2 -2
  275. package/src/scripts/_cli/explain_last/sections/provider.ts +2 -2
  276. package/src/scripts/_cli/explain_last/sections/route.ts +2 -2
  277. package/src/scripts/_cli/explain_last/state_loader.ts +2 -2
  278. package/src/scripts/_dispatch.bash +20 -1
  279. package/src/scripts/_lib/agent_settings.ts +1 -1
  280. package/src/scripts/_lib/agent_src.ts +7 -7
  281. package/src/scripts/_lib/agents_overlay.ts +1 -1
  282. package/src/scripts/_lib/bench_ab_cache.ts +1 -1
  283. package/src/scripts/_lib/bench_ab_scoring.ts +1 -1
  284. package/src/scripts/_lib/bench_ab_scoring_v2.ts +3 -3
  285. package/src/scripts/_lib/bench_cost.ts +1 -1
  286. package/src/scripts/_lib/bench_quality.ts +3 -3
  287. package/src/scripts/_lib/bench_report.ts +4 -4
  288. package/src/scripts/_lib/bench_telegraph.ts +1 -1
  289. package/src/scripts/_lib/bench_telegraph_report.ts +4 -4
  290. package/src/scripts/_lib/changelog_eras.ts +1 -1
  291. package/src/scripts/_lib/claude_desktop_bundler.ts +1 -1
  292. package/src/scripts/_lib/cli_wrapper.ts +1 -1
  293. package/src/scripts/_lib/fs_atomic.ts +1 -1
  294. package/src/scripts/_lib/global_deploy_inventory.ts +1 -1
  295. package/src/scripts/_lib/install_layout.ts +1 -1
  296. package/src/scripts/_lib/install_regenerator.ts +1 -1
  297. package/src/scripts/_lib/installed_lock.ts +1 -1
  298. package/src/scripts/_lib/installed_tools.ts +1 -1
  299. package/src/scripts/_lib/json_pointers.ts +1 -1
  300. package/src/scripts/_lib/knowledge_global.ts +1 -1
  301. package/src/scripts/_lib/knowledge_global_promote.ts +2 -2
  302. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  303. package/src/scripts/_lib/link_crypto.ts +4 -4
  304. package/src/scripts/_lib/linked_projects.ts +4 -4
  305. package/src/scripts/_lib/model_tier.ts +1 -1
  306. package/src/scripts/_lib/module_detection.ts +2 -2
  307. package/src/scripts/_lib/pin_resolver.ts +1 -1
  308. package/src/scripts/_lib/script_output.ts +1 -1
  309. package/src/scripts/_lib/security_lint.ts +1 -1
  310. package/src/scripts/_lib/surface_tiers.ts +1 -1
  311. package/src/scripts/_lib/text_similarity.ts +1 -1
  312. package/src/scripts/_lib/update_check.ts +2 -2
  313. package/src/scripts/_lib/user_global_paths.ts +1 -1
  314. package/src/scripts/_lib/value_ladder.ts +1 -1
  315. package/src/scripts/_lib/value_report.ts +1 -1
  316. package/src/scripts/_lib/zip_min.ts +2 -2
  317. package/src/scripts/adoption_report.ts +3 -3
  318. package/src/scripts/adoption_snapshot.ts +3 -3
  319. package/src/scripts/adoption_status.ts +2 -2
  320. package/src/scripts/adr/regenerate_index.ts +3 -3
  321. package/src/scripts/ai_council/_default_prices.ts +2 -3
  322. package/src/scripts/ai_council/advisors.ts +1 -1
  323. package/src/scripts/ai_council/airgap.ts +1 -1
  324. package/src/scripts/ai_council/budget_guard.ts +1 -1
  325. package/src/scripts/ai_council/bundler.ts +1 -1
  326. package/src/scripts/ai_council/cli_hints.ts +1 -1
  327. package/src/scripts/ai_council/clients.ts +5 -5
  328. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  329. package/src/scripts/ai_council/confidence_gate.ts +1 -1
  330. package/src/scripts/ai_council/config.ts +1 -1
  331. package/src/scripts/ai_council/consensus.ts +1 -1
  332. package/src/scripts/ai_council/events_log.ts +1 -1
  333. package/src/scripts/ai_council/learn_low_impact_preview.ts +1 -1
  334. package/src/scripts/ai_council/low_impact_corpus.ts +1 -1
  335. package/src/scripts/ai_council/low_impact_intake.ts +1 -1
  336. package/src/scripts/ai_council/modes.ts +1 -1
  337. package/src/scripts/ai_council/orchestrator.ts +3 -3
  338. package/src/scripts/ai_council/pricing.ts +2 -2
  339. package/src/scripts/ai_council/probation_gate.ts +2 -2
  340. package/src/scripts/ai_council/project_context.ts +1 -1
  341. package/src/scripts/ai_council/prompts.ts +1 -1
  342. package/src/scripts/ai_council/redact_low_impact_entry.ts +2 -2
  343. package/src/scripts/ai_council/session.ts +1 -1
  344. package/src/scripts/ai_council/shadow_dispatch.ts +1 -1
  345. package/src/scripts/ai_council/solo_dispatch.ts +1 -1
  346. package/src/scripts/analysis_freshness.ts +2 -2
  347. package/src/scripts/annotate_discovery.ts +2 -2
  348. package/src/scripts/apply_modules_config.ts +2 -2
  349. package/src/scripts/audit_adr_coverage.ts +3 -3
  350. package/src/scripts/audit_auto_rules.ts +2 -2
  351. package/src/scripts/audit_cloud_compatibility.ts +3 -3
  352. package/src/scripts/audit_command_surface.ts +2 -2
  353. package/src/scripts/audit_initial_context.ts +7 -6
  354. package/src/scripts/audit_likelihood.ts +5 -5
  355. package/src/scripts/audit_mcp_tools.ts +3 -3
  356. package/src/scripts/audit_overlap.ts +2 -2
  357. package/src/scripts/audit_skill_descriptions.ts +2 -2
  358. package/src/scripts/audit_skill_overlap.ts +5 -5
  359. package/src/scripts/audit_user_type_axis.ts +4 -4
  360. package/src/scripts/backfill_model_tier.ts +1 -1
  361. package/src/scripts/bench_ab_cache_dispatch.ts +2 -2
  362. package/src/scripts/bench_ab_clone.ts +2 -2
  363. package/src/scripts/bench_ab_diff.ts +3 -3
  364. package/src/scripts/bench_ab_integrity.ts +2 -2
  365. package/src/scripts/bench_ab_run.ts +4 -4
  366. package/src/scripts/bench_ab_task_runner.ts +1 -1
  367. package/src/scripts/bench_ab_tracka_run.ts +2 -2
  368. package/src/scripts/bench_ab_v2_run.ts +1 -1
  369. package/src/scripts/bench_ab_v2_stats.ts +2 -2
  370. package/src/scripts/bench_baseline_ready.ts +1 -1
  371. package/src/scripts/bench_condense_memory.ts +4 -4
  372. package/src/scripts/bench_drift_check.ts +3 -3
  373. package/src/scripts/bench_per_tool.ts +1 -1
  374. package/src/scripts/bench_rtk_savings.ts +4 -4
  375. package/src/scripts/bench_run.ts +4 -4
  376. package/src/scripts/bench_runner.ts +1 -1
  377. package/src/scripts/build_cloud_bundle.ts +3 -3
  378. package/src/scripts/build_discovery_manifest.ts +13 -15
  379. package/src/scripts/build_linear_digest.ts +2 -2
  380. package/src/scripts/build_mcp_registry_manifest.ts +3 -3
  381. package/src/scripts/build_proof.ts +6 -0
  382. package/src/scripts/build_rule_trigger_matrix.ts +2 -2
  383. package/src/scripts/capture_showcase_session.ts +3 -3
  384. package/src/scripts/chat_history.ts +1 -1
  385. package/src/scripts/check_always_budget.ts +1 -1
  386. package/src/scripts/check_artefact_checksums.ts +4 -4
  387. package/src/scripts/check_artefact_count_messaging.ts +197 -0
  388. package/src/scripts/check_augment_description_cap.ts +3 -3
  389. package/src/scripts/check_augmentignore.ts +1 -1
  390. package/src/scripts/check_beta_review_markers.ts +3 -3
  391. package/src/scripts/check_bite_sized_granularity.ts +1 -1
  392. package/src/scripts/check_cluster_patterns.ts +47 -3
  393. package/src/scripts/check_command_count_messaging.ts +2 -2
  394. package/src/scripts/check_condensation.ts +2 -2
  395. package/src/scripts/check_condensed_paths.ts +6 -6
  396. package/src/scripts/check_context_paths.ts +1 -1
  397. package/src/scripts/check_council_config_location.ts +3 -3
  398. package/src/scripts/check_council_layout.ts +2 -2
  399. package/src/scripts/check_council_references.ts +2 -2
  400. package/src/scripts/check_discovery_determinism.ts +3 -3
  401. package/src/scripts/check_gate_paths.ts +4 -4
  402. package/src/scripts/check_iron_law_prominence.ts +2 -2
  403. package/src/scripts/check_kernel_rule_bundle.ts +3 -3
  404. package/src/scripts/check_knowledge_cards.ts +4 -4
  405. package/src/scripts/check_knowledge_pages.ts +1 -1
  406. package/src/scripts/check_md_language.ts +3 -3
  407. package/src/scripts/check_memory.ts +3 -3
  408. package/src/scripts/check_memory_proposal.ts +2 -2
  409. package/src/scripts/check_module_management_neutral.ts +1 -1
  410. package/src/scripts/check_no_conflict_markers.ts +1 -1
  411. package/src/scripts/check_no_external_sources.ts +1 -1
  412. package/src/scripts/check_no_local_settings_committed.ts +2 -2
  413. package/src/scripts/check_no_new_legacy_path.ts +3 -3
  414. package/src/scripts/check_no_roadmap_refs.ts +3 -3
  415. package/src/scripts/check_one_off_location.ts +3 -3
  416. package/src/scripts/check_overlay_cascade_subdirs.ts +3 -3
  417. package/src/scripts/check_portability.ts +3 -3
  418. package/src/scripts/check_proposal.ts +0 -0
  419. package/src/scripts/check_public_catalog_links.ts +1 -1
  420. package/src/scripts/check_public_links.ts +2 -2
  421. package/src/scripts/check_references.ts +3 -3
  422. package/src/scripts/check_release_includes_discovery.ts +2 -2
  423. package/src/scripts/check_release_pr_shape.ts +2 -2
  424. package/src/scripts/check_release_published.ts +1 -1
  425. package/src/scripts/check_release_trunk_sync.ts +3 -3
  426. package/src/scripts/check_reply_consistency.ts +1 -1
  427. package/src/scripts/check_roadmap_trackable.ts +2 -2
  428. package/src/scripts/check_role_doc_links.ts +2 -2
  429. package/src/scripts/check_safety_floor_untouched.ts +3 -3
  430. package/src/scripts/check_skill_requires.ts +2 -2
  431. package/src/scripts/check_structural_breaking.ts +2 -2
  432. package/src/scripts/check_surface_tiers.ts +2 -2
  433. package/src/scripts/check_template_pin_drift.ts +1 -1
  434. package/src/scripts/check_test_coverage_diff.ts +2 -2
  435. package/src/scripts/check_token_optimizer_freshness.ts +3 -3
  436. package/src/scripts/check_trigger_evals.ts +2 -2
  437. package/src/scripts/check_update_banner.ts +1 -1
  438. package/src/scripts/ci_status.ts +0 -0
  439. package/src/scripts/ci_summary.ts +3 -3
  440. package/src/scripts/ci_time_ratio.ts +1 -1
  441. package/src/scripts/command_suggester/cooldown.ts +1 -1
  442. package/src/scripts/command_suggester/index.ts +1 -1
  443. package/src/scripts/command_suggester/loader.ts +1 -1
  444. package/src/scripts/command_suggester/match.ts +1 -1
  445. package/src/scripts/command_suggester/rank.ts +1 -1
  446. package/src/scripts/command_suggester/render.ts +1 -1
  447. package/src/scripts/command_suggester/sanitize.ts +1 -1
  448. package/src/scripts/command_suggester/settings.ts +1 -1
  449. package/src/scripts/command_suggester/types.ts +0 -0
  450. package/src/scripts/compile_router.ts +4 -4
  451. package/src/scripts/condense.ts +3 -3
  452. package/src/scripts/condense_memory.ts +1 -1
  453. package/src/scripts/config/index.ts +1 -1
  454. package/src/scripts/config/packs.ts +1 -1
  455. package/src/scripts/config/presets.ts +1 -1
  456. package/src/scripts/config/profile_explain.ts +1 -1
  457. package/src/scripts/config/profiles.ts +1 -1
  458. package/src/scripts/config/session_profiles.ts +1 -1
  459. package/src/scripts/context_hygiene_hook.ts +2 -2
  460. package/src/scripts/cost_by_conversation.ts +1 -1
  461. package/src/scripts/cost_summary.ts +2 -2
  462. package/src/scripts/council_cli.ts +1 -1
  463. package/src/scripts/council_prune.ts +1 -1
  464. package/src/scripts/cross_repo_retrieve.ts +2 -2
  465. package/src/scripts/discovery_stats.ts +3 -3
  466. package/src/scripts/evidence_report.ts +4 -4
  467. package/src/scripts/extract_audit_patterns.ts +2 -2
  468. package/src/scripts/first_run_gate_hook.ts +1 -1
  469. package/src/scripts/gen_discovery_baseline.ts +2 -2
  470. package/src/scripts/generate_capabilities_index.ts +2 -2
  471. package/src/scripts/generate_capability_matrix.ts +2 -2
  472. package/src/scripts/generate_catalog.ts +2 -2
  473. package/src/scripts/generate_command_flows.ts +2 -2
  474. package/src/scripts/generate_cookbook.ts +1 -1
  475. package/src/scripts/generate_index.ts +3 -3
  476. package/src/scripts/generate_ownership_matrix.ts +2 -2
  477. package/src/scripts/generate_pack_manifests.ts +2 -2
  478. package/src/scripts/generate_role_experiences_catalog.ts +3 -3
  479. package/src/scripts/hooks/block_no_verify.ts +2 -2
  480. package/src/scripts/hooks/dispatch_hook.ts +2 -2
  481. package/src/scripts/hooks/dispatch_issues.ts +1 -1
  482. package/src/scripts/hooks/envelope.ts +1 -1
  483. package/src/scripts/hooks/replay_hook.ts +1 -1
  484. package/src/scripts/hooks/state_io.ts +1 -1
  485. package/src/scripts/hooks_doctor.ts +1 -1
  486. package/src/scripts/hooks_status.ts +1 -1
  487. package/src/scripts/injection_scan_hook.ts +1 -1
  488. package/src/scripts/install.ts +145 -3
  489. package/src/scripts/inventory_abstraction_budget.ts +5 -5
  490. package/src/scripts/inventory_frontmatter.ts +1 -1
  491. package/src/scripts/inventory_meta_layers.ts +1 -1
  492. package/src/scripts/iron_law_sha.ts +1 -1
  493. package/src/scripts/knowledge_global_cli.ts +3 -3
  494. package/src/scripts/linked_projects_list.ts +1 -1
  495. package/src/scripts/lint_agent_security.ts +4 -4
  496. package/src/scripts/lint_agent_skill_names.ts +1 -1
  497. package/src/scripts/lint_agents_layout.ts +2 -2
  498. package/src/scripts/lint_agents_md.ts +3 -3
  499. package/src/scripts/lint_archived_skills.ts +2 -2
  500. package/src/scripts/lint_artefact_frontmatter.ts +2 -2
  501. package/src/scripts/lint_bench_ab.ts +2 -2
  502. package/src/scripts/lint_bench_corpus.ts +1 -1
  503. package/src/scripts/lint_command_flow_coverage.ts +1 -1
  504. package/src/scripts/lint_command_routing.ts +2 -2
  505. package/src/scripts/lint_command_tiers.ts +1 -1
  506. package/src/scripts/lint_command_verbs.ts +4 -4
  507. package/src/scripts/lint_commit_subjects.ts +2 -2
  508. package/src/scripts/lint_context_spine_usage.ts +3 -3
  509. package/src/scripts/lint_discovery_manifest.ts +4 -4
  510. package/src/scripts/lint_discovery_vocabulary.ts +2 -2
  511. package/src/scripts/lint_empty_roadmaps.ts +3 -3
  512. package/src/scripts/lint_eval_freshness.ts +2 -2
  513. package/src/scripts/lint_examples.ts +2 -2
  514. package/src/scripts/lint_explain_trace.ts +2 -2
  515. package/src/scripts/lint_featured_skills.ts +0 -0
  516. package/src/scripts/lint_flows.ts +5 -5
  517. package/src/scripts/lint_framework_leakage.ts +1 -1
  518. package/src/scripts/lint_framework_leakage_allowlist.json +10 -2
  519. package/src/scripts/lint_frontmatter_boilerplate.ts +2 -2
  520. package/src/scripts/lint_ghostwriter_source.ts +3 -3
  521. package/src/scripts/lint_global_paths.ts +1 -1
  522. package/src/scripts/lint_handoffs.ts +1 -1
  523. package/src/scripts/lint_hidden_unicode.ts +1 -1
  524. package/src/scripts/lint_hook_concern_budget.ts +2 -2
  525. package/src/scripts/lint_hook_manifest.ts +2 -2
  526. package/src/scripts/lint_instruction_smuggling.ts +1 -1
  527. package/src/scripts/lint_load_context.ts +2 -2
  528. package/src/scripts/lint_marketplace.ts +1 -1
  529. package/src/scripts/lint_marketplace_install_completeness.ts +2 -2
  530. package/src/scripts/lint_mcp_config_security.ts +1 -1
  531. package/src/scripts/lint_mcp_registry_manifest.ts +1 -1
  532. package/src/scripts/lint_media_policy_linkage.ts +3 -3
  533. package/src/scripts/lint_missions.ts +3 -3
  534. package/src/scripts/lint_model_tier_coverage.ts +3 -3
  535. package/src/scripts/lint_namespace.ts +2 -2
  536. package/src/scripts/lint_namespace_collisions.ts +2 -2
  537. package/src/scripts/lint_new_skill_gate.ts +3 -3
  538. package/src/scripts/lint_no_new_atomic_commands.ts +9 -6
  539. package/src/scripts/lint_no_python_twin_rationale.ts +102 -0
  540. package/src/scripts/lint_one_off_age.ts +2 -2
  541. package/src/scripts/lint_orchestration_dsl.ts +3 -3
  542. package/src/scripts/lint_orchestrator_auto_detect.ts +1 -1
  543. package/src/scripts/lint_pack_boundaries.ts +2 -2
  544. package/src/scripts/lint_pack_dependencies.ts +2 -2
  545. package/src/scripts/lint_pack_first_win.ts +2 -2
  546. package/src/scripts/lint_persona_governance.ts +3 -3
  547. package/src/scripts/lint_positioning.ts +1 -1
  548. package/src/scripts/lint_profile_overlay_set_only.ts +2 -2
  549. package/src/scripts/lint_readme_jargon.ts +2 -2
  550. package/src/scripts/lint_readme_size.ts +2 -2
  551. package/src/scripts/lint_regression.ts +3 -3
  552. package/src/scripts/lint_roadmap_ci_steps.ts +3 -3
  553. package/src/scripts/lint_roadmap_complexity.ts +1 -1
  554. package/src/scripts/lint_roadmap_later_disposition.ts +2 -2
  555. package/src/scripts/lint_role_experiences.ts +2 -2
  556. package/src/scripts/lint_rule_interactions.ts +1 -1
  557. package/src/scripts/lint_rule_tiers.ts +1 -1
  558. package/src/scripts/lint_showcase_sessions.ts +2 -2
  559. package/src/scripts/lint_skill_frontmatter_safety.ts +1 -1
  560. package/src/scripts/lint_skill_originality.ts +1 -1
  561. package/src/scripts/lint_skill_tools.ts +3 -3
  562. package/src/scripts/lint_ticket_buildable.ts +2 -2
  563. package/src/scripts/lint_topics_yaml.ts +3 -3
  564. package/src/scripts/lint_trust_coherence.ts +3 -3
  565. package/src/scripts/lint_value_dashboard.ts +3 -3
  566. package/src/scripts/lint_workflow_security.ts +3 -3
  567. package/src/scripts/lint_workspace_boundary.ts +2 -2
  568. package/src/scripts/mcp_parity_smoke.ts +1 -1
  569. package/src/scripts/mcp_render.ts +1 -1
  570. package/src/scripts/mcp_server/catalog.ts +1 -1
  571. package/src/scripts/mcp_server/index.ts +1 -1
  572. package/src/scripts/mcp_server/metadata.ts +1 -1
  573. package/src/scripts/mcp_server/prompts.ts +1 -1
  574. package/src/scripts/mcp_server/resources.ts +1 -1
  575. package/src/scripts/mcp_server/server.ts +1 -1
  576. package/src/scripts/mcp_server/telemetry.ts +1 -1
  577. package/src/scripts/mcp_server/tools.ts +1 -1
  578. package/src/scripts/mcp_telemetry_health.ts +1 -1
  579. package/src/scripts/mcp_telemetry_query.ts +3 -3
  580. package/src/scripts/mcp_telemetry_store.ts +3 -3
  581. package/src/scripts/measure_augment_budget.ts +2 -2
  582. package/src/scripts/measure_density.ts +2 -2
  583. package/src/scripts/measure_frugality_savings.ts +3 -3
  584. package/src/scripts/measure_markitdown_lift.ts +1 -1
  585. package/src/scripts/measure_patterns.ts +1 -1
  586. package/src/scripts/measure_projection_bytes.ts +1 -1
  587. package/src/scripts/measure_rule_budget.ts +1 -1
  588. package/src/scripts/measure_skill_reduction.ts +1 -1
  589. package/src/scripts/memory_hash.ts +1 -1
  590. package/src/scripts/memory_lookup.ts +6 -6
  591. package/src/scripts/memory_report.ts +1 -1
  592. package/src/scripts/memory_signal.ts +1 -1
  593. package/src/scripts/memory_status.ts +2 -2
  594. package/src/scripts/migrate_command_suggestions.ts +1 -1
  595. package/src/scripts/migrate_frontmatter_defaults.ts +1 -1
  596. package/src/scripts/mine_session.ts +3 -3
  597. package/src/scripts/minimal_safe_diff_hook.ts +2 -2
  598. package/src/scripts/move_artefact.ts +3 -3
  599. package/src/scripts/new_skill.ts +3 -3
  600. package/src/scripts/onboarding_gate_hook.ts +2 -2
  601. package/src/scripts/pack_mcp_content.ts +1 -1
  602. package/src/scripts/parity/replay.ts +3 -2
  603. package/src/scripts/pattern_share.ts +2 -2
  604. package/src/scripts/plan_physical_move.ts +3 -3
  605. package/src/scripts/prediction-pool/poisson_sim.ts +2 -2
  606. package/src/scripts/prediction-pool/pool_winsim.ts +2 -2
  607. package/src/scripts/prediction-pool/score_ev.ts +2 -2
  608. package/src/scripts/prepack-check.mjs +108 -5
  609. package/src/scripts/print_required_checks.ts +2 -2
  610. package/src/scripts/probe_projection_fidelity.ts +2 -2
  611. package/src/scripts/probe_skill_registration.ts +2 -2
  612. package/src/scripts/profile_staleness_hook.ts +2 -2
  613. package/src/scripts/profile_use.ts +2 -2
  614. package/src/scripts/project_thin_rules.ts +3 -3
  615. package/src/scripts/propose_modules_config.ts +2 -2
  616. package/src/scripts/prototype_lint_contradictions.ts +2 -2
  617. package/src/scripts/prove_pack_extractable.ts +1 -1
  618. package/src/scripts/readme_linter.ts +4 -4
  619. package/src/scripts/redact_hook_capture.ts +2 -2
  620. package/src/scripts/refine_ticket_detect.ts +1 -1
  621. package/src/scripts/release.ts +30 -19
  622. package/src/scripts/render_benchmark_md.ts +2 -2
  623. package/src/scripts/render_value_md.ts +2 -2
  624. package/src/scripts/roadmap_progress_hook.ts +1 -1
  625. package/src/scripts/router_telemetry.ts +1 -1
  626. package/src/scripts/run_skill_evals.ts +2 -2
  627. package/src/scripts/runtime_dispatcher.ts +1 -1
  628. package/src/scripts/runtime_handler.ts +1 -1
  629. package/src/scripts/runtime_registry.ts +3 -3
  630. package/src/scripts/score_skill_selection.ts +1 -1
  631. package/src/scripts/security_audit_config.ts +2 -2
  632. package/src/scripts/skill_collision_clusters.ts +1 -1
  633. package/src/scripts/skill_discovery.ts +1 -1
  634. package/src/scripts/skill_linter.ts +8 -7
  635. package/src/scripts/skill_overlap.ts +2 -2
  636. package/src/scripts/skill_preview.ts +1 -1
  637. package/src/scripts/skill_tools/audit_persona_coverage.ts +3 -3
  638. package/src/scripts/skill_tools/audit_user_type_coverage.ts +3 -3
  639. package/src/scripts/skill_tools/index.ts +1 -1
  640. package/src/scripts/skill_tools/run_block_d_eval.ts +3 -3
  641. package/src/scripts/skill_tools/score_skill_relevance.ts +3 -3
  642. package/src/scripts/skill_tools/suggest_skill_for_task.ts +3 -3
  643. package/src/scripts/skill_trigger_eval.ts +2 -2
  644. package/src/scripts/skill_usage_collect.ts +2 -2
  645. package/src/scripts/skill_usage_report.ts +2 -2
  646. package/src/scripts/smoke_path_resolution.ts +2 -2
  647. package/src/scripts/smoke_quickstart.ts +4 -4
  648. package/src/scripts/snapshot_agent_outputs.ts +2 -2
  649. package/src/scripts/spotcheck_thin_root.ts +2 -2
  650. package/src/scripts/surface-tiers.yml +1 -0
  651. package/src/scripts/sync_agent_settings.ts +2 -2
  652. package/src/scripts/sync_github_metadata.ts +4 -4
  653. package/src/scripts/sync_gitignore.ts +3 -3
  654. package/src/scripts/sync_yaml_rt.ts +2 -2
  655. package/src/scripts/telegraph_stats.ts +1 -1
  656. package/src/scripts/tool_registry.ts +2 -2
  657. package/src/scripts/tools/adapter_errors.ts +1 -1
  658. package/src/scripts/tools/base_adapter.ts +1 -1
  659. package/src/scripts/tools/github_adapter.ts +1 -1
  660. package/src/scripts/tools/jira_adapter.ts +1 -1
  661. package/src/scripts/trigger_coverage.ts +2 -2
  662. package/src/scripts/update_counts.ts +68 -6
  663. package/src/scripts/update_prices.ts +3 -3
  664. package/src/scripts/validate_agent_settings.ts +3 -3
  665. package/src/scripts/validate_decision_engine.ts +2 -2
  666. package/src/scripts/validate_discovery_manifest.ts +3 -3
  667. package/src/scripts/validate_frontmatter.ts +5 -5
  668. package/src/scripts/validate_pack_yaml.ts +0 -0
  669. package/src/scripts/validate_safe_paths.ts +2 -2
  670. package/src/scripts/validate_telegraph_carveouts.ts +3 -3
  671. package/src/scripts/verify_before_complete_hook.ts +2 -2
  672. package/src/scripts/verify_physical_move.ts +2 -2
  673. package/src/scripts/wrapper_freshness_hook.ts +3 -3
  674. package/src/server/schemas/settings.ts +426 -0
  675. package/src/shared/settingsSurface.ts +184 -0
  676. package/src/shared/userMd/formAdapter.ts +86 -0
  677. package/src/shared/userMd/schema.ts +59 -0
  678. package/src/shared/userMd/utils.ts +91 -0
  679. package/dist/agent-src/commands/optimize-project.md +0 -243
  680. package/dist/ui/assets/index-BbWWuFrF.css +0 -1
  681. package/dist/ui/assets/index-UjcTG_9O.js +0 -40
  682. package/dist/ui/assets/index-UjcTG_9O.js.map +0 -1
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * End-to-end release automation for `event4u/agent-config` (TypeScript twin).
4
4
  *
5
- * TypeScript twin of `src/scripts/release.py` (ADR-200, py2ts migration).
6
- * The CLI contract mirrors the Python original EXACTLY — same flags, same
5
+ * Ported from the retired Python `src/scripts/release.py` (ADR-200).
6
+ * The CLI contract pins the historical contract exactly — same flags, same
7
7
  * exit codes, same stdout/stderr split, byte-identical emitted output, same
8
8
  * subprocess argv/cwd/env. No behaviour changes — latent quirks are
9
9
  * replicated and flagged inline, not fixed.
@@ -145,7 +145,7 @@ class ArgparseExit extends Error {
145
145
 
146
146
  /**
147
147
  * Mirror of `subprocess.CalledProcessError`. Thrown by `run()` when a command
148
- * fails with `check=True` and output is NOT captured — the Python original
148
+ * fails with `check=True` and output is NOT captured — the retired Python implementation
149
149
  * lets `CalledProcessError` propagate in that path. The CLI entry guard does
150
150
  * NOT catch this, so it surfaces (non-zero exit + traceback), matching Python.
151
151
  */
@@ -680,7 +680,7 @@ function latest_tag(): string | null {
680
680
  *
681
681
  * `test_trend_line` — optional pre-computed `Tests: N (+M …)` footer
682
682
  * (road-to-feedback-followups P3.2). Computed by the caller so tests don't
683
- * trigger a recursive pytest collection.
683
+ * trigger a recursive vitest collection.
684
684
  */
685
685
  function render_changelog_entry(
686
686
  version: string,
@@ -770,32 +770,40 @@ function _changelog_line(c: Commit): string {
770
770
  // ─── test-count trend (road-to-feedback-followups P3.2) ───────────────────────
771
771
 
772
772
  const _TEST_COUNT_LINE_RE = /^Tests:\s+(\d+)/m;
773
- const _PYTEST_COLLECTED_RE = /^(\d+)\s+tests?\s+collected/m;
774
773
 
775
774
  /**
776
- * Return the count from `pytest --collect-only -q` on the current tree.
777
- * Returns null when pytest isn't available or collection fails — the trend
778
- * line is informational, never a release blocker.
775
+ * Return the collected vitest test-case count on the current tree
776
+ * (`npx vitest list`, one line per case; ~14s wall). Returns null when
777
+ * collection fails — the trend line is informational, never a release
778
+ * blocker. (Replaced the dead `pytest --collect-only` probe on 2026-07-08,
779
+ * road-to-truth-and-reference-hygiene Phase 3: the Python suite was retired
780
+ * with ADR-200, so the old probe always degraded to null and the `Tests:`
781
+ * footer silently vanished from release notes.)
779
782
  */
780
783
  function _count_tests_current(): number | null {
781
- // Release-time pytest-collection probe: python-test-tooling, not package
782
- // runtime — there is no tsx equivalent of pytest collection. Degrades to
783
- // null (informational trend line dropped) when python3/pytest is absent.
784
- const res = spawnSync('python3', ['-m', 'pytest', '--collect-only', '-q'], {
784
+ // Recursion/cost guard: `npx vitest list` inside a vitest-driven release
785
+ // test would collect the whole suite from within the suite (the child
786
+ // inherits VITEST=… from the runner) — the exact recursion the caller
787
+ // comment warns about. Degrade to null there, same as any other
788
+ // collection failure.
789
+ if (process.env['VITEST'] !== undefined) {
790
+ return null;
791
+ }
792
+ const res = spawnSync('npx', ['vitest', 'list'], {
785
793
  cwd: REPO_ROOT,
786
794
  encoding: 'utf-8',
787
795
  stdio: ['ignore', 'pipe', 'pipe'],
788
- timeout: 120_000,
796
+ timeout: 180_000,
789
797
  });
790
798
  if (res.error) {
791
- // FileNotFoundError (ENOENT) or TimeoutExpired (ETIMEDOUT) → None.
799
+ // ENOENT or ETIMEDOUT → null (informational line dropped).
792
800
  return null;
793
801
  }
794
802
  if ((res.status ?? 1) !== 0) {
795
803
  return null;
796
804
  }
797
- const match = _PYTEST_COLLECTED_RE.exec(res.stdout ?? '');
798
- return match ? Number.parseInt(match[1] as string, 10) : null;
805
+ const lines = (res.stdout ?? '').split('\n').filter((l) => l.trim().length > 0);
806
+ return lines.length > 0 ? lines.length : null;
799
807
  }
800
808
 
801
809
  /**
@@ -1833,7 +1841,10 @@ function main(argv: readonly string[] | null = null): number {
1833
1841
  }
1834
1842
 
1835
1843
  const today = todayIso();
1836
- const test_trend_line = _render_test_trend_line(prev);
1844
+ // Dry-run stays fast: the trend line costs a full vitest collection
1845
+ // (~15s+), which `--dry-run exits 0 without needing …` contracts (and
1846
+ // the release test) assume never runs. Real releases compute it.
1847
+ const test_trend_line = args.dry_run ? null : _render_test_trend_line(prev);
1837
1848
  const [full, body] = render_changelog_entry(target, prev, commits, today, {
1838
1849
  test_trend_line,
1839
1850
  });
@@ -1922,8 +1933,8 @@ if (_isCliEntry() || process.argv[1] === _HERE) {
1922
1933
  try {
1923
1934
  // main() can return an int directly OR throw SystemExitError via die();
1924
1935
  // both flow into process.exitCode. CalledProcessError is intentionally
1925
- // NOT caught here, so it propagates (non-zero + traceback), matching the
1926
- // Python original letting subprocess.CalledProcessError raise.
1936
+ // NOT caught here, so it propagates (non-zero + traceback) — the historical
1937
+ // contract let subprocess errors raise.
1927
1938
  process.exitCode = main(process.argv.slice(2));
1928
1939
  } catch (e) {
1929
1940
  if (e instanceof SystemExitError || e instanceof ArgparseExit) {
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Render `docs/benchmark.md` from the latest paired A/B bench reports.
4
4
  *
5
- * TypeScript twin of `src/scripts/render_benchmark_md.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/render_benchmark_md.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). Mirrors the CLI contract EXACTLY — the `--quiet` flag, exit code,
7
7
  * the stdout/stderr split, byte-identical stdout AND byte-identical rendered
8
8
  * `docs/benchmark.md`. The renderer is deterministic — it does not run any
@@ -15,7 +15,7 @@
15
15
  * If no reports exist yet, the script writes a placeholder document — never
16
16
  * errors out, so the file is always a real description of the bench state.
17
17
  *
18
- * No behaviour changes — latent Python quirks replicated. The only volatile
18
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour. The only volatile
19
19
  * value is the embedded `utc_iso()` timestamp; golden parity for this script
20
20
  * pins on structure + the deterministic placeholder/report shape, not on the
21
21
  * second-precision timestamp.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Render `docs/value.md` from the latest `value-v1` JSON report.
4
4
  *
5
- * TypeScript twin of `src/scripts/render_value_md.py` (ADR-200, Phase 8
5
+ * Ported from the retired Python `src/scripts/render_value_md.py` (ADR-200, Phase 8
6
6
  * / Wave 8b). The public surface and rendered output mirror the Python
7
7
  * original EXACTLY — same module-level path constants (exposed through a
8
8
  * mutable test seam so the pytest `monkeypatch.setattr` injection ports
@@ -412,7 +412,7 @@ function render_placeholder(): string {
412
412
  /**
413
413
  * Mirror `Path.relative_to(REPO_ROOT)` — throws when `p` is NOT under the
414
414
  * repo root (Python `ValueError`). The default `OUT_PATH` is always in-repo
415
- * (`docs/value.md`); replicated for fidelity with the Python original.
415
+ * (`docs/value.md`); replicated for fidelity with the retired Python implementation.
416
416
  */
417
417
  function _relativeToRepo(p: string): string {
418
418
  const abs = path.resolve(p);
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Platform-agnostic PostToolUse hook for the `roadmap-progress-sync` rule.
4
4
  *
5
- * TypeScript twin of `src/scripts/roadmap_progress_hook.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/roadmap_progress_hook.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 6 / hooks). Public API mirrors the Python
7
7
  * module exactly (snake_case kept deliberately — fidelity over TS idiom).
8
8
  *
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Local replay of the router against a corpus — pure, no API spend.
4
4
  *
5
- * TypeScript twin of `src/scripts/router_telemetry.py` (ADR-089 —
5
+ * Ported from the retired Python `src/scripts/router_telemetry.py` (ADR-089 —
6
6
  * Python→TS migration, Phase 7). Mirrors the Python CLI contract
7
7
  * exactly: flags (`--corpus`, `--sample-cap`, `--profile`, `--out`,
8
8
  * `--quiet`), exit codes, stdout/stderr split, byte-identical messages,
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Quantitative skill-eval orchestrator (skill-writing § 7).
4
4
  *
5
- * TypeScript twin of `src/scripts/run_skill_evals.py` (ADR-200 — Python→TS
6
- * migration, Phase 8 / Wave 8e). The CLI contract is mirrored EXACTLY:
5
+ * Ported from the retired Python `src/scripts/run_skill_evals.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8e). The CLI contract is pinned:
7
7
  * same subcommands (`scaffold`, `aggregate`, `report`), same flags
8
8
  * (`--run`), same exit codes (0 success; 1 on `sys.exit(msg)` errors),
9
9
  * same byte-identical stdout / stderr prose and byte-identical written
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Runtime Dispatcher — resolves execution type and drives real handler execution.
4
4
  *
5
- * TypeScript twin of `src/scripts/runtime_dispatcher.py` (ADR-200). Mirrors the
5
+ * Ported from the retired Python `src/scripts/runtime_dispatcher.py` (ADR-200). Mirrors the
6
6
  * Python public surface and CLI contract EXACTLY — `ExecutionRequest`,
7
7
  * `DispatchResult`, `dispatch`, `run`, the `resolve` / `run` subcommands, the
8
8
  * legacy flat `--skill` flag, `--format text|json`, `--root`, `--cwd`,
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Runtime Handler — executes a skill's declared command and captures the result.
4
4
  *
5
- * TypeScript twin of `src/scripts/runtime_handler.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/runtime_handler.py` (ADR-200, Phase 8 /
6
6
  * Wave 8h). Library module imported by the still-Python `runtime_dispatcher`
7
7
  * (the `.py` stays in place); this `.ts` twin sits beside it. Mirrors the
8
8
  * Python public surface EXACTLY — `DEFAULT_ENV_ALLOWLIST`, `ExecutionResult`,
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Runtime Registry — discovers skills with execution metadata.
4
4
  *
5
- * TypeScript twin of `src/scripts/runtime_registry.py` (ADR-200, Phase 8 /
6
- * Wave 8h). Mirrors the Python CLI contract EXACTLY — `--root`, `--format`
5
+ * Ported from the retired Python `src/scripts/runtime_registry.py` (ADR-200, Phase 8 /
6
+ * Wave 8h). The CLI contract is pinned — `--root`, `--format`
7
7
  * (text|json), `--validate` flags, exit codes (0 ok / valid, 1 invalid),
8
8
  * byte-identical stdout/stderr, and byte-identical `json.dumps(indent=2)`
9
9
  * output. No behaviour changes.
@@ -18,7 +18,7 @@
18
18
  * tsx scripts/runtime_registry.ts [--root ROOT] [--format text|json]
19
19
  *
20
20
  * Library role: `runtime_dispatcher.py` imports `SkillRuntime` and
21
- * `build_registry` from the Python original — the `.py` stays in place so the
21
+ * `build_registry` from the retired Python implementation — the `.py` stays in place so the
22
22
  * still-Python dispatcher keeps importing it. This `.ts` twin sits beside it.
23
23
  *
24
24
  * Imports the SAME primitives the `.py` imports from `skill_linter`:
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Selection-accuracy scorer (council file 05, Phase 2.2).
4
4
  *
5
- * TypeScript twin of `src/scripts/score_skill_selection.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/score_skill_selection.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
7
7
  * flags (`--predictions`, `--baseline`, `--source`, `--out`), exit codes
8
8
  * (0 / 2 when neither --predictions nor --baseline given), byte-identical
@@ -1,6 +1,6 @@
1
1
  // P3.1 — consumer-facing agent-config security audit (road-to-security-pillar.md).
2
2
  //
3
- // TypeScript twin of `src/scripts/security_audit_config.py` (ADR-200 —
3
+ // Ported from the retired Python `src/scripts/security_audit_config.py` (ADR-200 —
4
4
  // Python→TS migration). Behaviour mirrors the Python module byte-for-byte.
5
5
  //
6
6
  // Points the Phase-1 detection logic at a *consumer's assembled* agent config —
@@ -101,7 +101,7 @@ function _category(f: sl.Finding): string {
101
101
  * traversal *structure* (component recursion, `**` self-then-subdirs depth-first,
102
102
  * `is_file` filter, first-seen dedup) is replicated faithfully; intra-directory
103
103
  * entry order follows `fs.readdirSync`. Multi-file-per-pattern consumer trees can
104
- * therefore differ in finding order from the Python original on platforms where
104
+ * therefore differ in finding order from the retired Python implementation on platforms where
105
105
  * scandir != readdir. The golden test pins one-file-per-pattern fixtures so the
106
106
  * order is unambiguous; the clean real-`src/` path emits no findings.
107
107
  */
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill-collision cluster analysis (Phase 2.2 of step-1-v2-feedback-followup).
4
4
  *
5
- * TypeScript twin of `skill_collision_clusters.py` (Phase 8 / Wave 8e).
5
+ * Ported from the retired Python `skill_collision_clusters.py` (Phase 8 / Wave 8e).
6
6
  *
7
7
  * Walks `.agent-src.uncondensed/skills/<id>/SKILL.md`, extracts the
8
8
  * `description` frontmatter, computes pairwise keyword overlap, and groups
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill discovery recommender — local-only, explained, no network.
4
4
  *
5
- * TypeScript twin of `skill_discovery.py` (Phase 8 / Wave 8e).
5
+ * Ported from the retired Python `skill_discovery.py` (Phase 8 / Wave 8e).
6
6
  *
7
7
  * Phase 3 of `road-to-leaner-core-and-discovery`. Turns existing local signals
8
8
  * (skill catalog frontmatter, role shortlists, optional local-analytics JSONL)
@@ -2,16 +2,16 @@
2
2
  /**
3
3
  * skill_linter.ts — minimal skill/rule linter for agent-config repositories.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_linter.py` (ADR-200, Phase 4 Wave 4a).
5
+ * Ported from the retired Python `src/scripts/skill_linter.py` (ADR-200).
6
6
  * The public CLI contract is mirrored EXACTLY: same flags (`--all`,
7
7
  * `--changed`, `--format`, `--pairs`, `--duplicates`, `--condensation-quality`,
8
8
  * `--strict-warnings`, `--report`, `--repo-root`, `--quiet`, positional paths),
9
9
  * same exit codes (0 pass / 1 warn-with-strict / 2 fail / 3 malice-or-internal),
10
- * same stdout/stderr split, and byte-for-byte finding messages. No behaviour
11
- * changes — latent Python quirks are replicated.
10
+ * same stdout/stderr split, and byte-for-byte finding messages (pinned by tests). No behaviour
11
+ * changes — historical quirks are preserved.
12
12
  *
13
13
  * Dependencies: imports the `validate_frontmatter` twin (local, ported because
14
- * the Python original is a later-wave dependency) and the `_lib/agent_src`
14
+ * the retired Python implementation is a later-wave dependency) and the `_lib/agent_src`
15
15
  * twin for multi-root artefact resolution.
16
16
  *
17
17
  * MVP checks:
@@ -1136,8 +1136,9 @@ function _stripWing3CarveOuts(text: string): string {
1136
1136
  // `## Do NOT` strip: Python uses MULTILINE|DOTALL → `^##` matches at every
1137
1137
  // line start. `\Z` = end of string (no trailing-newline subtlety needed).
1138
1138
  out = out.replace(/^##\s+Do NOT\s*$[\s\S]*?(?=^##\s+|$(?![\s\S]))/gm, '');
1139
- // `**WHEN NOT to use this**` strip — LATENT PYTHON BUG REPLICATED: the
1140
- // Python original passes only DOTALL|IGNORECASE (NO MULTILINE), so the
1139
+ // `**WHEN NOT to use this**` strip — HISTORICAL PYTHON-ERA BUG, PRESERVED
1140
+ // (goldens pin it): the retired implementation passed only
1141
+ // DOTALL|IGNORECASE (NO MULTILINE), so the
1141
1142
  // `^##\s+` alternative in its lookahead matches only at string position 0,
1142
1143
  // never at a mid-text line start. With no `**WHEN` after the first one, the
1143
1144
  // non-greedy `.*?` therefore consumes to end-of-string — stripping every
@@ -2781,7 +2782,7 @@ function lint_execution_quality(p: string, text: string): Issue[] {
2781
2782
  const hasVerificationSection = sectionHeadersLower.some((h) =>
2782
2783
  ['verify', 'validat', 'test', 'acceptance', 'quality gate'].some((kw) => h.includes(kw)),
2783
2784
  );
2784
- // hasAntipatternSection computed in the Python original but never used downstream.
2785
+ // hasAntipatternSection computed in the retired Python implementation but never used downstream.
2785
2786
  void sectionHeadersLower.some((h) =>
2786
2787
  ['do not', "don't", 'gotcha', 'anti-pattern', 'avoid'].some((kw) => h.includes(kw)),
2787
2788
  );
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * Structural overlap detection across skills (description + triggers).
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_overlap.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/skill_overlap.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). The public surface, CLI contract, exit codes, stderr text,
7
- * stdout text, and rendered markdown mirror the Python original EXACTLY
7
+ * stdout text, and rendered markdown mirror the retired Python implementation EXACTLY
8
8
  * — same custom frontmatter parser, same tokenizer + stopword set, same
9
9
  * symbol-path regex, same Jaccard math with `round(x, 3)` banker's
10
10
  * rounding, same thresholds, same `combinations` pair order, same sort
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill preview — non-destructive "what will this skill do?" summary.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_preview.py` (ADR-200 — Python→TS
5
+ * Ported from the retired Python `src/scripts/skill_preview.py` (ADR-200 — Python→TS
6
6
  * migration, Phase 8 / Wave 8e). Public surface mirrors the Python module
7
7
  * exactly: `load_preview` / `render_plain` / `render_technical` / `PreviewError`,
8
8
  * the CLI flags (`name`, `--technical`, `--format text|json`), the exit codes
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D3 — audit_persona_coverage.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/audit_persona_coverage.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/audit_persona_coverage.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--skills-dir`, `--personas-dir`, `--json`), exit code (0 always),
8
8
  * stdout split, byte-identical human table AND byte-identical JSON
9
9
  * (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -23,7 +23,7 @@
23
23
  * Output: per-persona citation count + tier + status (ok / under-cited / orphan).
24
24
  * Exit code: 0 always (this is an advisory tool, not a CI gate).
25
25
  *
26
- * No behaviour changes — latent Python quirks replicated.
26
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
27
27
  */
28
28
  import * as fs from 'node:fs';
29
29
  import * as path from 'node:path';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D3 — audit_user_type_coverage.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/audit_user_type_coverage.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/audit_user_type_coverage.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--user-types-dir`, `--search-root`, `--json`), exit code (0
8
8
  * always), stdout split, byte-identical human table AND byte-identical JSON
9
9
  * (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -27,7 +27,7 @@
27
27
  * Output: per-user-type reference count + status (ok / never-referenced /
28
28
  * orphan). Exit code: 0 always (advisory, not a CI gate).
29
29
  *
30
- * No behaviour changes — latent Python quirks replicated.
30
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
31
31
  */
32
32
  import * as fs from 'node:fs';
33
33
  import * as path from 'node:path';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Block D pilot tools for skill discovery and persona auditing.
3
3
  *
4
- * TypeScript twin of `src/scripts/skill_tools/__init__.py` (ADR-200,
4
+ * Ported from the retired Python `src/scripts/skill_tools/__init__.py` (ADR-200,
5
5
  * Phase 8 Wave 8h). The Python package marker carries only a module
6
6
  * docstring; this index mirrors it as the package entry comment.
7
7
  *
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D5 — eval gate runner.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/run_block_d_eval.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/run_block_d_eval.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--skills-dir`, `--personas-dir`, `--corpus-dir`, `--json`), exit
8
8
  * codes (0 pass / 1 fail), stdout split, byte-identical human summary AND
9
9
  * byte-identical JSON (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -21,7 +21,7 @@
21
21
  *
22
22
  * Pilot pass = ≥ 2 / 3 tools pass. Anything less → kill switch.
23
23
  *
24
- * No behaviour changes — latent Python quirks replicated.
24
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
25
25
  */
26
26
  import * as fs from 'node:fs';
27
27
  import * as path from 'node:path';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D2 — score_skill_relevance.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/score_skill_relevance.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/score_skill_relevance.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--task`, `--skills-dir`, `--top`, `--json`, `--sample`), exit
8
8
  * codes (0 / 2), stdout/stderr split, byte-identical human table AND
9
9
  * byte-identical JSON (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -28,7 +28,7 @@
28
28
  *
29
29
  * Output: ranked list with integer scores 0–100, descending. Ties break on name.
30
30
  *
31
- * No behaviour changes — latent Python quirks replicated.
31
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
32
32
  */
33
33
  import * as fs from 'node:fs';
34
34
  import * as path from 'node:path';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D4 — suggest_skill_for_task.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/suggest_skill_for_task.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/suggest_skill_for_task.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--task`, `--skills-dir`, `--personas-dir`, `--top`, `--json`,
8
8
  * `--sample`), exit codes (0 / 2), stdout/stderr split, byte-identical
9
9
  * human output AND byte-identical JSON (`json.dump(..., indent=2)`,
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * Output: ranked combos with `skill`, `score`, `personas[]`, and `why`.
24
24
  *
25
- * No behaviour changes — latent Python quirks replicated.
25
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
26
26
  */
27
27
  import * as path from 'node:path';
28
28
  import * as fs from 'node:fs';
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Skill trigger evaluation runner.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_trigger_eval.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/skill_trigger_eval.py` (ADR-200,
6
6
  * Phase 8 / Wave 8b). The public surface, CLI contract, exit codes,
7
7
  * stdout/stderr split, byte-for-byte messages, the on-disk key gate
8
8
  * (0600 + `sk-ant-` prefix), the controlling-terminal confirmation gate,
9
9
  * and the written JSON (Python `json.dumps(asdict(result), indent=2)` +
10
- * trailing newline) mirror the Python original EXACTLY. No behaviour
10
+ * trailing newline) mirror the retired Python implementation EXACTLY. No behaviour
11
11
  * changes.
12
12
  *
13
13
  * Design notes preserved:
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Collect skill-activation signal from Claude Code session jsonl.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_usage_collect.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/skill_usage_collect.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). Mirrors the CLI contract EXACTLY — the `--project-slug`, `--out`,
7
7
  * `--quiet` flags, exit codes, the stdout/stderr split, byte-identical
8
8
  * messages AND the byte-identical appended JSONL (`json.dumps(rec,
@@ -16,7 +16,7 @@
16
16
  * Emits one JSONL record per (session, turn, slug, kind), append-only, deduped
17
17
  * on the (session_id, turn_idx, slug, kind) tuple.
18
18
  *
19
- * No behaviour changes — latent Python quirks replicated.
19
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
20
20
  */
21
21
  import * as crypto from 'node:crypto';
22
22
  import * as fs from 'node:fs';
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * Aggregate `agents/runtime/metrics/skill-usage.jsonl` into a per-skill report.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_usage_report.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/skill_usage_report.py` (ADR-200,
6
6
  * Phase 8 / Wave 8b). The public surface, CLI contract, exit code,
7
- * stdout text, and rendered markdown mirror the Python original EXACTLY
7
+ * stdout text, and rendered markdown mirror the retired Python implementation EXACTLY
8
8
  * — same record grouping, same 30-day window math, same status
9
9
  * classification, same known-slug discovery roots, same sort key, same
10
10
  * byte-for-byte report body. No behaviour changes.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Smoke-test path resolution against the package's own `.augment/` projection.
4
4
  *
5
- * TypeScript twin of `src/scripts/smoke_path_resolution.py` (ADR-200, Phase 8
6
- * / Wave 8h). Mirrors the Python CLI contract EXACTLY — no flags, exit codes
5
+ * Ported from the retired Python `src/scripts/smoke_path_resolution.py` (ADR-200, Phase 8
6
+ * / Wave 8h). The CLI contract is pinned — no flags, exit codes
7
7
  * (0 all entries resolve, 1 one or more misses, 3 no `.augment/rules/`),
8
8
  * byte-identical stdout/stderr. No behaviour changes.
9
9
  *
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env tsx
2
2
  /** Structural smoke-test for the README Quickstart path.
3
3
  *
4
- * TypeScript twin of `src/scripts/smoke_quickstart.py` (ADR-200, Phase 8 /
5
- * Wave 8h). Mirrors the Python CLI contract EXACTLY — no flags, exit codes
4
+ * Ported from the retired Python `src/scripts/smoke_quickstart.py` (ADR-200, Phase 8 /
5
+ * Wave 8h). The CLI contract is pinned — no flags, exit codes
6
6
  * (0 green, 1 one or more checks failed, 2 setup error), byte-identical
7
7
  * stdout/stderr (`::error::…` GitHub-annotation lines, the ✅/❌ summary). No
8
8
  * behaviour changes.
@@ -79,7 +79,7 @@ function _checkInstallerRuns(tmpdir: string): [number, string | null] {
79
79
  // ADR-020: --project is reserved for maintainers; CI is a maintainer context.
80
80
  const env = { ...process.env, AGENT_CONFIG_DEV_MODE: '1' };
81
81
  // Run the installer's `.ts` twin via the repo-local tsx binary (was
82
- // `python3 install.py`; the Python original is deleted).
82
+ // `python3 install.py`; the retired Python implementation is deleted).
83
83
  const result = spawnSync(TSX_BIN, cmd, {
84
84
  encoding: 'utf-8',
85
85
  timeout: 60000,
@@ -128,7 +128,7 @@ function _checkDefaultProfile(settings: string): number {
128
128
  * the same parse the runtime uses: extract the `decision_engine` block from the
129
129
  * settings YAML, feed it to `parse()`, and assert the result is a
130
130
  * `DecisionEngineSettings`. A parser rejection is reported via `_fail` so the
131
- * `::error::` annotation matches the Python original's failure shape.
131
+ * `::error::` annotation matches the retired Python implementation's failure shape.
132
132
  */
133
133
  function _checkDecisionEngineBlock(settings: string): number {
134
134
  const parsed: unknown = parseYaml(fs.readFileSync(settings, 'utf-8'), { version: '1.1' });
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Snapshot the agent-config build outputs for byte-identity verification.
4
4
  *
5
- * TypeScript twin of `src/scripts/snapshot_agent_outputs.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/snapshot_agent_outputs.py` (ADR-200,
6
6
  * Phase 8 / Wave 8b). Mirrors the CLI contract EXACTLY — the `--out` flag,
7
7
  * exit codes, the stdout/stderr split, byte-identical stdout AND the
8
8
  * byte-identical written snapshot JSON (`json.dumps(indent=2,
@@ -22,7 +22,7 @@
22
22
  * `_SKIP_NAMES`) for `verify_physical_move.ts`, mirroring the Python
23
23
  * `from snapshot_agent_outputs import (...)`.
24
24
  *
25
- * No behaviour changes — latent Python quirks replicated.
25
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
26
26
  */
27
27
  import * as crypto from 'node:crypto';
28
28
  import * as fs from 'node:fs';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env tsx
2
2
  /** Phase 6.6 platform spot-check via AI council.
3
3
  *
4
- * TypeScript twin of `src/scripts/spotcheck_thin_root.py` (ADR-200, Phase 8 /
4
+ * Ported from the retired Python `src/scripts/spotcheck_thin_root.py` (ADR-200, Phase 8 /
5
5
  * Wave 8h). Mirrors the Python contract — no flags, exit 0, the two
6
6
  * `Running … / ✅ Wrote …` stderr lines, and byte-identical written
7
7
  * `thin-root-platform-spotcheck.md` / `.json`. No behaviour changes.
@@ -73,7 +73,7 @@ interface ResponseRow {
73
73
 
74
74
  /**
75
75
  * Run the live council in-process via the `ai_council` TS twins. Returns the
76
- * council responses as plain rows. Mirrors the Python original's
76
+ * council responses as plain rows. Mirrors the retired Python implementation's
77
77
  * `consult(members, question, budget, table=table, rounds=1)` call exactly
78
78
  * (same members, prompt, max_tokens, budget). `table` + `rounds` ride in the
79
79
  * twin's `opts` argument.
@@ -35,6 +35,7 @@ clusters:
35
35
  ai_council: lab # multi-model council orchestration, external API deps
36
36
  command_suggester: lab # context-aware command suggestion engine, pilot
37
37
  cost: lab # cost tracking / budget gate (observability, Node .mjs)
38
+ mcp_exec: lab # compiled safety envelope for MCP exec-tier tools (run_tests pilot)
38
39
  mcp_server: lab # MCP stdio server, separate runtime, pilot distribution
39
40
  media: lab # shared adapter substrate for ai-video / ai-image
40
41
  parity: lab # py2ts parity rigs (compare / coverage-diff), migration tooling
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Sync `.agent-settings.yml` against the template + profile (additive merge).
4
4
  *
5
- * TypeScript twin of `src/scripts/sync_agent_settings.py` (ADR-200).
5
+ * Ported from the retired Python `src/scripts/sync_agent_settings.py` (ADR-200).
6
6
  * Applies the section-aware merge rules documented in
7
7
  * `docs/guidelines/agent-infra/layered-settings.md`:
8
8
  *
@@ -32,7 +32,7 @@
32
32
  * 0 — already in sync, or changes applied (or --dry-run ran cleanly)
33
33
  * 2 — drift detected under --check, or invalid arguments / missing files
34
34
  *
35
- * No behaviour changes vs. the Python original — latent bugs replicated.
35
+ * No behaviour changes vs. the retired Python implementation — historical quirks preserved (consumers pin the exact behaviour).
36
36
  */
37
37
 
38
38
  import * as fs from 'node:fs';