@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
  * lint_profile_overlay_set_only — freeze the set-only overlay invariant.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_profile_overlay_set_only.py` (ADR-200,
6
- * Phase 4 / Wave 4b). Mirrors the Python CLI contract EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_profile_overlay_set_only.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * flag from argv at module load, four YAML surfaces + sorted *.yml ordering,
8
8
  * finding messages (incl. Python `type(x).__name__` and `{x!r}` rendering),
9
9
  * stdout/stderr split, exit codes. No behaviour changes — latent bugs
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * CI guard for README.md above-fold jargon density.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_readme_jargon.py` (ADR-200, Phase 4 /
6
- * Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet` flag, exit
5
+ * Ported from the retired Python `src/scripts/lint_readme_jargon.py` (ADR-200, Phase 4 /
6
+ * Wave 4b). The CLI contract is pinned — `--quiet` flag, exit
7
7
  * codes (0 within budget, 1 over budget / missing), stdout/stderr split,
8
8
  * byte-identical finding messages, same noise-stripping order, same
9
9
  * whole-word watchlist matching.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * CI guard for README.md line budget.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_readme_size.py` (ADR-200, Phase 4 /
6
- * Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet` flag, exit
5
+ * Ported from the retired Python `src/scripts/lint_readme_size.py` (ADR-200, Phase 4 /
6
+ * Wave 4b). The CLI contract is pinned — `--quiet` flag, exit
7
7
  * codes (0 within budget, 1 over budget / missing), stdout/stderr split,
8
8
  * byte-identical finding messages.
9
9
  *
@@ -2,13 +2,13 @@
2
2
  /**
3
3
  * Detect lint regressions between the current branch and a baseline.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_regression.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--baseline`
5
+ * Ported from the retired Python `src/scripts/lint_regression.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--baseline`
7
7
  * / `--format` / `--repo-root` flags, exit codes (0 clean, 1 regressions /
8
8
  * new-files, 2 bad baseline / disjoint-result guard), stdout/stderr split,
9
9
  * byte-identical report text (text / json / markdown), the same disjoint
10
10
  * sanity guard, and the same worktree-based baseline strategy. snake_case
11
- * kept. No behaviour changes — latent bugs replicated.
11
+ * kept. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
12
12
  *
13
13
  * Runs skill_linter --all --format json on both the baseline (via a temp
14
14
  * `git worktree`) and the working tree, then compares results to find new
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Hard-Gate linter for the `roadmap-ci-steps-policy` rule.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_roadmap_ci_steps.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_roadmap_ci_steps.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * detected by argv membership (no argparse), exit codes (0 / 1),
8
8
  * stdout/stderr split, byte-identical messages, same scan scope
9
9
  * (`agents/roadmaps/*.md`, sorted) and detection order. No behaviour
10
- * changes — latent bugs replicated.
10
+ * changes — historical quirks preserved (consumers pin the exact behaviour).
11
11
  *
12
12
  * Forbids full-pipeline CI literals (`task ci`, `make test`, `npm run check`
13
13
  * etc.) inside `agents/roadmaps/*.md` checkbox steps or fenced bash blocks
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Phase 5.2 roadmap-complexity linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_roadmap_complexity.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_roadmap_complexity.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Mirrors the CLI contract EXACTLY — `--quiet` is a
7
7
  * bare `sys.argv` membership check (computed at import, NOT argparse, so
8
8
  * there is no real `-h`/`--help`), the per-roadmap `✅`/`❌` lines, the
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * CI guard for the `later/` roadmap disposition.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_roadmap_later_disposition.py` (ADR-200,
6
- * Python→TypeScript migration). The CLI contract is mirrored EXACTLY — the
5
+ * Ported from the retired Python `src/scripts/lint_roadmap_later_disposition.py` (ADR-200,
6
+ * Python→TypeScript migration). The CLI contract is pinned — the
7
7
  * `--json` flag, the argparse usage / error text (`-h`/`--help` → exit 0,
8
8
  * unknown arg → exit 2), the scan order (`sorted(root.rglob("*.md"))` —
9
9
  * pathlib component-wise), byte-identical human + `--json` output
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Linter for `agents/roles/<slug>/` role experiences.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_role_experiences.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY —
5
+ * Ported from the retired Python `src/scripts/lint_role_experiences.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned —
7
7
  * `--plain-language` flag, exit codes (0 pass / roles-dir-absent,
8
8
  * 1 failures), stdout/stderr split (all output on stdout), byte-identical
9
9
  * finding messages (including Python `sorted(set)` list repr), same scan
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lint docs/contracts/rule-interactions.yml.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_rule_interactions.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_rule_interactions.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Mirrors the CLI contract EXACTLY — the `--quiet`
7
7
  * flag is a bare `sys.argv` membership check (NOT argparse, so there is no
8
8
  * real `-h`/`--help`), exit codes (1 on any failure, 0 clean), the
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lint rule frontmatter for the `tier:` key.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_rule_tiers.py` (ADR-200, Phase 4 /
5
+ * Ported from the retired Python `src/scripts/lint_rule_tiers.py` (ADR-200, Phase 4 /
6
6
  * Wave 4b). Mirrors the Python CLI contract exactly: same scan scope, file
7
7
  * ordering, finding messages, stdout/stderr split, and exit codes.
8
8
  *
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * Showcase-sessions linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_showcase_sessions.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_showcase_sessions.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Gates `docs/showcase.md` ↔ `docs/showcase/sessions/`.
7
- * The CLI contract is mirrored EXACTLY — no flags (argv ignored), exit
7
+ * The CLI contract is pinned — no flags (argv ignored), exit
8
8
  * codes (0 clean, 1 violations), stdout/stderr split, byte-identical
9
9
  * finding messages, same reference regex and the same hand-rolled
10
10
  * frontmatter parser (including the `_<key>_nested` mapping trick).
@@ -1,6 +1,6 @@
1
1
  // P1.4 — dangerous-frontmatter linter (road-to-security-pillar.md).
2
2
  //
3
- // TypeScript twin of `src/scripts/lint_skill_frontmatter_safety.py` (ADR-200 —
3
+ // Ported from the retired Python `src/scripts/lint_skill_frontmatter_safety.py` (ADR-200 —
4
4
  // Python→TS migration). Behaviour mirrors the Python module byte-for-byte.
5
5
  //
6
6
  // Enforces the execution-safety contract from the `runtime-safety` rule at the
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Anti-duplicate originality gate (road-to-competitive-borrow P1.1).
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_skill_originality.py` (ADR-096). The CLI
5
+ * Ported from the retired Python `src/scripts/lint_skill_originality.py` (ADR-096). The CLI
6
6
  * contract is mirrored EXACTLY — the `--strict` / `--json` / `--quiet` flags
7
7
  * (argparse; `-h`/`--help` exit 0, an unrecognized arg exits 2), exit codes
8
8
  * (0 = warn-only or strict-clean, 1 = strict + same-domain violation OR no
@@ -2,14 +2,14 @@
2
2
  /**
3
3
  * Block D · D1 meta-linter for `scripts/skill_tools/*.py`.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_skill_tools.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--json`
5
+ * Ported from the retired Python `src/scripts/lint_skill_tools.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--json`
7
7
  * / `--quiet` / `--tools-dir` flags, exit codes (0 clean, 1 violations,
8
8
  * 2 usage / missing-dir), stdout split (JSON or human), byte-identical
9
9
  * violation strings, same glob + sort order, same `_SAMPLE`/`__main__`
10
10
  * detection.
11
11
  *
12
- * The Python original parses each tool with `ast` to find imports and
12
+ * the retired Python implementation parses each tool with `ast` to find imports and
13
13
  * syntax errors. We replicate the import discovery with a focused
14
14
  * Python-import line scanner (handles `import a, b.c`, `from x.y import z`,
15
15
  * relative `from . import x`). It covers the real tools and the test
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lint ticket bundles for build-readiness.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_ticket_buildable.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_ticket_buildable.py` (ADR-200,
6
6
  * Python→TypeScript migration). The behaviour is mirrored EXACTLY — NO argparse
7
7
  * (the entry point is `lint()`, which ignores argv entirely; an unknown flag is
8
8
  * silently ignored and the lint runs), the scan order
@@ -26,7 +26,7 @@
26
26
  * Exit codes: 0 = clean, 1 = lint failures, 3 = IO/setup error. Failures print as
27
27
  * ``path:reason``.
28
28
  *
29
- * The Python original uses `jsonschema.Draft7Validator`; this twin hand-rolls a
29
+ * the retired Python implementation uses `jsonschema.Draft7Validator`; this twin hand-rolls a
30
30
  * Draft-07 validator covering exactly the keyword set the two ticket schemas use
31
31
  * (type [string | array], required, additionalProperties [false], properties,
32
32
  * patternProperties, anyOf, pattern, enum, minLength, minItems, items, minimum,
@@ -2,11 +2,11 @@
2
2
  /**
3
3
  * Linter for `.github/topics.yml`.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_topics_yaml.py` (ADR-200, Phase 4 /
6
- * Wave 4b). Mirrors the Python CLI contract EXACTLY — same scan target,
5
+ * Ported from the retired Python `src/scripts/lint_topics_yaml.py` (ADR-200, Phase 4 /
6
+ * Wave 4b). The CLI contract is pinned — same scan target,
7
7
  * finding messages (incl. Python `repr()` rendering of offending values),
8
8
  * stdout/stderr split, exit codes, and the `--quiet` flag read directly
9
- * from argv at module load. No behaviour changes — latent bugs replicated.
9
+ * from argv at module load. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
10
10
  *
11
11
  * Asserts:
12
12
  * * file exists and parses as YAML
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Lint trust/safety coherence across the discovery manifest.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_trust_coherence.py` (ADR-200,
6
- * Phase 4 / Wave 4b). Mirrors the Python CLI contract EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_trust_coherence.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * / `--manifest` / `--router` / `--compiled-src` flags, finding messages,
8
8
  * stdout/stderr split (errors + summary on stderr; success on stdout),
9
9
  * SystemExit-on-missing-file semantics, exit codes. No behaviour changes —
10
- * latent bugs replicated.
10
+ * historical quirks preserved (consumers pin the exact behaviour).
11
11
  *
12
12
  * Walks the discovery manifest and asserts three invariants:
13
13
  * 1. advisory/restricted packs ship a `*safety-floor*` rule;
@@ -2,10 +2,10 @@
2
2
  /**
3
3
  * Lint `docs/value.md` for structural invariants.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_value_dashboard.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_value_dashboard.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * flag, exit codes (0 / 1), stdout/stderr split, byte-identical messages,
8
- * same check order. No behaviour changes — latent bugs replicated.
8
+ * same check order. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
9
9
  *
10
10
  * Output: one violation per line in non-quiet mode; one-line summary in
11
11
  * quiet mode. Exit 0 on clean, 1 on any violation.
@@ -2,15 +2,15 @@
2
2
  /**
3
3
  * WARN-ONLY GitHub Actions workflow security linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_workflow_security.py` (ADR-200,
6
- * Python→TypeScript migration). The CLI contract is mirrored EXACTLY —
5
+ * Ported from the retired Python `src/scripts/lint_workflow_security.py` (ADR-200,
6
+ * Python→TypeScript migration). The CLI contract is pinned —
7
7
  * argparse flags (`--strict` / `--quiet` / `--json PATH`, `-h`/`--help`
8
8
  * exit 0, unknown arg → exit 2), the scan order (`sorted(glob("*.yml"))`
9
9
  * then `sorted(glob("*.yaml"))`), byte-identical finding lines, the
10
10
  * `json.dumps(..., indent=2)` (ensure_ascii) `--json` write, the allowlist
11
11
  * cap (exit 2 over 20 entries), the stdout/stderr split, and exit codes
12
12
  * (0 advisory / 1 strict+HIGH). snake_case kept; PyYAML `on:`→boolean-True
13
- * key quirk replicated. No behaviour changes — latent quirks replicated.
13
+ * key quirk replicated. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
14
14
  *
15
15
  * Severity model (council-locked 2026-06-13):
16
16
  * HIGH — pull_request_target / workflow_run + checkout of untrusted ref;
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Workspace-boundary drift check — import-edge enforcement.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_workspace_boundary.py` (ADR-200,
6
- * Python→TypeScript migration). The CLI contract is mirrored EXACTLY — the
5
+ * Ported from the retired Python `src/scripts/lint_workspace_boundary.py` (ADR-200,
6
+ * Python→TypeScript migration). The CLI contract is pinned — the
7
7
  * `--quiet` flag, the `sorted(repo.glob(WORKSPACE_GLOB))` scan order (pathlib
8
8
  * component-wise), the FORBIDDEN-pattern set (Python `re` → JS `RegExp`, all
9
9
  * ASCII so a 1:1 translation), the `# boundary-exception:` pragma skip, the
@@ -17,7 +17,7 @@
17
17
  // Phase 5.1 of `road-to-cloudflare-mcp-hosting.md`. Governed by
18
18
  // `docs/contracts/mcp-cloud-scope.md` §A0-cloud.
19
19
  //
20
- // TS twin of mcp_parity_smoke.py (ADR-200 — Python→TS migration). Mirrors the
20
+ // TS port of the retired Python mcp_parity_smoke.py (ADR-200). Mirrors the
21
21
  // Python wire surface byte-for-byte: stdout lines, the ✅ / ❌ / ⏭️ markers, the
22
22
  // argparse usage / error text (exit 2), and the exit codes. Imports resolve to
23
23
  // the already-ported mcp_server/{catalog,prompts,resources,tools}.ts twins —
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * MCP config renderer — one `mcp.json` → per-tool output files.
4
4
  *
5
- * TypeScript twin of `mcp_render.py` (Phase 8 / Wave 8g).
5
+ * Ported from the retired Python `mcp_render.py` (Phase 8 / Wave 8g).
6
6
  *
7
7
  * Reads `mcp.json` at repo root (`{ "servers": { <name>: { command, args,
8
8
  * env, cwd } } }`), substitutes `${env:VAR}` placeholders from the
@@ -10,7 +10,7 @@
10
10
  // `not_implemented` envelope contract live in
11
11
  // `docs/contracts/mcp-tool-stub-envelope.md`.
12
12
  //
13
- // TS twin of catalog.py (py2ts Phase 8). Mirrors the full public surface:
13
+ // TS port of the retired Python catalog.py (ADR-200). Preserves the full public surface:
14
14
  // - NOT_IMPLEMENTED_CODE, CatalogEntry, load_catalog, load_raw,
15
15
  // install_hint, not_implemented_envelope.
16
16
  import * as fs from 'node:fs';
@@ -13,7 +13,7 @@
13
13
  // Stability: experimental. Contract: `docs/contracts/mcp-phase-1-scope.md`.
14
14
  // Promotion to beta gated on `docs/contracts/mcp-beta-criteria.md`.
15
15
  //
16
- // TS twin of __init__.py (py2ts Phase 8). The Python package barrel exposes
16
+ // TS port of the retired Python __init__.py (ADR-200). The Python package barrel exposes
17
17
  // exactly two module-level names: `__version__` and `SERVER_NAME`. Mirrored
18
18
  // here as `__version__` (Python wire-surface SemVer name preserved) and
19
19
  // SERVER_NAME.
@@ -19,7 +19,7 @@
19
19
  // Stderr is the canonical surface in Phase 6; a wire-surface lift can
20
20
  // follow once the SDK supports it.
21
21
  //
22
- // TS twin of metadata.py (py2ts Phase 8). Mirrors the full public surface:
22
+ // TS port of the retired Python metadata.py (ADR-200). Preserves the full public surface:
23
23
  // - Signature type, read_package_version, compute_skill_set_signature,
24
24
  // boot_log_line.
25
25
  import * as crypto from 'node:crypto';
@@ -16,7 +16,7 @@
16
16
  // are skipped and surfaced in the second tuple element of `scan_*`
17
17
  // helpers (caller decides whether to log).
18
18
  //
19
- // TS twin of prompts.py (py2ts Phase 8). Mirrors the full public surface:
19
+ // TS port of the retired Python prompts.py (ADR-200). Preserves the full public surface:
20
20
  // PHASE_1_SKILLS, PromptKind, UserTypeMatch, SkillPrompt, load_skill,
21
21
  // load_phase_1_prompts, scan_skills, scan_commands, load_all_prompts,
22
22
  // to_mcp_prompt_meta, PromptCache. The leading-underscore helpers
@@ -15,7 +15,7 @@
15
15
  // first H1 line (`# Title`) is used as a title-style fallback, else the
16
16
  // filename-derived stem.
17
17
  //
18
- // TS twin of resources.py (py2ts Phase 8). Mirrors the full public surface:
18
+ // TS port of the retired Python resources.py (ADR-200). Preserves the full public surface:
19
19
  // ResourceKind, MIME_MARKDOWN, Resource, scan_rules, scan_guidelines,
20
20
  // scan_contexts, load_all_resources, to_mcp_resource_meta, ResourceCache.
21
21
  // Imports `_project_root` + `_strip_frontmatter` from prompts.ts
@@ -21,7 +21,7 @@
21
21
  // `build_server` still accepts a plain `SkillPrompt[]` so the Phase-1
22
22
  // contract tests keep passing without touching their fixtures.
23
23
  //
24
- // TS twin of server.py (py2ts Phase 8). The Python module builds on the
24
+ // TS port of the retired Python server.py (ADR-200). The Python module builds on the
25
25
  // `mcp` Python SDK (`mcp.server.Server`) and registers handlers via the
26
26
  // SDK decorators; the tests poke `server.request_handlers[...]`. There is
27
27
  // no `mcp` Python SDK in the TS runtime and the npm
@@ -19,7 +19,7 @@
19
19
  // `record_call` helper swallows OSError + ValueError and emits a single
20
20
  // warning to stderr.
21
21
  //
22
- // TS twin of telemetry.py (py2ts Phase 8). Mirrors the full public surface:
22
+ // TS port of the retired Python telemetry.py (ADR-200). Preserves the full public surface:
23
23
  // - Outcome type, TELEMETRY_REL_DIR, TELEMETRY_FILENAME, hash_client_id,
24
24
  // build_record, record_call.
25
25
  import * as crypto from 'node:crypto';
@@ -27,7 +27,7 @@
27
27
  // TextContent block with the JSON-serialized payload, so MCP clients
28
28
  // can render structured output.
29
29
  //
30
- // TS twin of tools.py (py2ts Phase 8). Mirrors the full public surface:
30
+ // TS port of the retired Python tools.py (ADR-200). Preserves the full public surface:
31
31
  // STDIO_TRANSPORT, BuiltinTool, ToolHandler, ALLOWLIST, to_mcp_tool_meta,
32
32
  // CATALOG_STUBS, STUB_NAMES, REGISTRY, ToolCache, boot_log_line.
33
33
  import * as fs from 'node:fs';
@@ -18,7 +18,7 @@
18
18
  // ./scripts-run src/scripts/mcp_telemetry_health --allow-missing # CI mode
19
19
  // ./scripts-run src/scripts/mcp_telemetry_health --json # machine-readable
20
20
  //
21
- // TS twin of mcp_telemetry_health.py (py2ts). Mirrors the full public
21
+ // TS port of the retired Python mcp_telemetry_health.py (ADR-200). Mirrors the full public
22
22
  // surface: HealthReport, resolve_log_path, evaluate, main.
23
23
  import * as fs from 'node:fs';
24
24
  import * as path from 'node:path';
@@ -12,7 +12,7 @@
12
12
  // invocation. stdlib-only; reads (never writes) the DB via Node's
13
13
  // built-in `node:sqlite`, imported lazily.
14
14
  //
15
- // TS twin of mcp_telemetry_query.py (py2ts). Mirrors the full public
15
+ // TS port of the retired Python mcp_telemetry_query.py (ADR-200). Mirrors the full public
16
16
  // surface: ToolRow, summarise, main.
17
17
  import * as fs from 'node:fs';
18
18
  import * as path from 'node:path';
@@ -51,8 +51,8 @@ class FileNotFoundLikeError extends Error {}
51
51
  // Python's stdlib sqlite3 emits nothing on stderr; node:sqlite is flagged
52
52
  // experimental on node 22 and prints an `ExperimentalWarning: SQLite …` line
53
53
  // to stderr on first import (stable / silent on node >= 23). Drop only that
54
- // specific warning so the twin's stderr stays byte-identical to the Python
55
- // original across node versions. Installed once, narrowly matched.
54
+ // specific warning so stderr stays byte-stable across node versions (tests
55
+ // pin the exact bytes). Installed once, narrowly matched.
56
56
  let _sqliteWarningSilenced = false;
57
57
  function _silenceSqliteExperimentalWarning(): void {
58
58
  if (_sqliteWarningSilenced) return;
@@ -15,7 +15,7 @@
15
15
  //
16
16
  // Phase 2 K2 (`scripts/mcp_telemetry_query.ts`) reads from this store.
17
17
  //
18
- // TS twin of mcp_telemetry_store.py (py2ts). Mirrors the full public
18
+ // TS port of the retired Python mcp_telemetry_store.py (ADR-200). Mirrors the full public
19
19
  // surface: IngestReport, resolve_source, resolve_db, ingest, main.
20
20
  import * as crypto from 'node:crypto';
21
21
  import * as fs from 'node:fs';
@@ -176,8 +176,8 @@ export function resolve_db(consumer_root?: string | null): string {
176
176
  // Python's stdlib sqlite3 emits nothing on stderr; node:sqlite is flagged
177
177
  // experimental on node 22 and prints an `ExperimentalWarning: SQLite …` line
178
178
  // to stderr on first import (stable / silent on node >= 23). Drop only that
179
- // specific warning so the twin's stderr stays byte-identical to the Python
180
- // original across node versions. Installed once, narrowly matched.
179
+ // specific warning so stderr stays byte-stable across node versions (tests
180
+ // pin the exact bytes). Installed once, narrowly matched.
181
181
  let _sqliteWarningSilenced = false;
182
182
  function _silenceSqliteExperimentalWarning(): void {
183
183
  if (_sqliteWarningSilenced) return;
@@ -3,8 +3,8 @@
3
3
  * Measure the Augment workspace-guidelines budget (Phase 1.1 of
4
4
  * road-to-augment-limit-fit).
5
5
  *
6
- * TypeScript twin of `src/scripts/measure_augment_budget.py` (ADR-200,
7
- * Phase 8 Wave 8a). Mirrors the Python CLI contract EXACTLY — flags
6
+ * Ported from the retired Python `src/scripts/measure_augment_budget.py` (ADR-200,
7
+ * Phase 8 Wave 8a). The CLI contract is pinned — flags
8
8
  * (`--json`, `--trend-append`, `--check`), exit codes (0 / 1 / 3),
9
9
  * byte-identical stdout (text summary + `json.dumps(indent=2,
10
10
  * sort_keys=True)`), and the byte-identical JSONL trend record
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Measure structural density across the artifact corpus.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_density.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/measure_density.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract
7
7
  * EXACTLY: flags (`--json`, `--snapshot`), exit code 0, byte-identical
8
8
  * stdout (report or `json.dumps(sort_keys=True, indent=2)`), and the same
9
9
  * snapshot JSONL (`json.dumps(sort_keys=True)` per line). No behaviour
10
- * changes — latent quirks replicated.
10
+ * changes — historical quirks preserved (consumers pin the exact behaviour).
11
11
  *
12
12
  * Phase 1.1 of `agents/roadmaps/road-to-structural-linter-reform.md`.
13
13
  *
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Phase 0 baseline harness for road-to-trim-frugality-canon.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_frugality_savings.py` (ADR-200,
6
- * Phase 8 Wave 8a). Mirrors the Python CLI contract EXACTLY — exit code 0,
5
+ * Ported from the retired Python `src/scripts/measure_frugality_savings.py` (ADR-200,
6
+ * Phase 8 Wave 8a). The CLI contract is pinned — exit code 0,
7
7
  * byte-identical stdout (`json.dumps(record, indent=2, ensure_ascii=False)`
8
8
  * + the `appended → …` line), and the byte-identical JSONL baseline row
9
9
  * (`json.dumps(record, ensure_ascii=False)`).
@@ -337,7 +337,7 @@ export function main(): number {
337
337
 
338
338
  const out = path.join(root, 'agents', 'runtime', 'frugality', 'baseline.jsonl');
339
339
  // with out.open("a") — does NOT mkdir parents; mirror that (will throw if
340
- // the directory is missing, exactly like the Python original).
340
+ // the directory is missing, exactly like the retired Python implementation).
341
341
  fs.appendFileSync(out, pyJsonDumps(record, null) + '\n');
342
342
  process.stdout.write(pyJsonDumps(record, 2) + '\n');
343
343
  const rel = path.relative(root, out).split(path.sep).join('/');
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Measure markitdown's token-saving lift on the bundled corpus.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_markitdown_lift.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/measure_markitdown_lift.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
7
7
  * flags (`--convert`, `--binary`), exit codes (0 baseline / 2 corpus missing /
8
8
  * 3 --convert without the binary on PATH), byte-identical stdout/stderr. No
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Measure presence of the eight Phase-3.1 judge patterns across all skills.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_patterns.py` (ADR-200 — Python→TS
5
+ * Ported from the retired Python `src/scripts/measure_patterns.py` (ADR-200 — Python→TS
6
6
  * migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY: flags
7
7
  * (`--json`, `--tier`, `--diff-baseline`), exit codes (0 / 3 when the skills
8
8
  * dir is missing), byte-identical stdout/stderr. No behaviour changes.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Measure per-tool projection bytes.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_projection_bytes.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/measure_projection_bytes.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
7
7
  * flags (`--json`, `--regenerate`), exit codes (0 / 2 when `task` is missing
8
8
  * for --regenerate), byte-identical stdout/stderr. No behaviour changes.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Measure rule-bucket char counts (kernel + auto) for the rule-kernel roadmap.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_rule_budget.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/measure_rule_budget.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8a). The CLI contract is mirrored
7
7
  * EXACTLY: same flags (`--json`, `--kernel-budget-check`,
8
8
  * `--trend-append`), same exit codes, same byte-identical stdout table /
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill-count reduction measurement — step-12 Phase 3 L74 deliverable.
4
4
  *
5
- * TypeScript twin of `src/scripts/measure_skill_reduction.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/measure_skill_reduction.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
7
7
  * flag (`--json`), exit codes (0 pass / 1 fail / 2 no-skills), byte-identical
8
8
  * stdout (report or `json.dumps(indent=2)`) and stderr. No behaviour changes.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Content-addressed hash for a curated memory entry.
4
4
  *
5
- * TypeScript twin of `src/scripts/memory_hash.py` (ADR-200, Phase 7 /
5
+ * Ported from the retired Python `src/scripts/memory_hash.py` (ADR-200, Phase 7 /
6
6
  * dev-side memory CORE). The public API and CLI contract mirror the Python
7
7
  * original EXACTLY — same exported names (snake_case kept deliberately),
8
8
  * same canonical-JSON serialisation (sorted keys, no whitespace,
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * File-first memory retrieval.
4
4
  *
5
- * TypeScript twin of `src/scripts/memory_lookup.py` (ADR-200). The public
6
- * API and CLI contract mirror the Python original EXACTLY — same exported
5
+ * Ported from the retired Python `src/scripts/memory_lookup.py` (ADR-200). The public
6
+ * API and CLI contract mirror the retired Python implementation EXACTLY — same exported
7
7
  * names (snake_case kept deliberately, especially `retrieve(...)` whose
8
8
  * signature/return shape is cited by rules), same exit codes, stdout/stderr
9
9
  * split, byte-identical messages, same memory-file scan + ranking + JSON
@@ -40,7 +40,7 @@ import YAML, { parseDocument } from 'yaml';
40
40
  // timestamp into a `datetime.datetime`. The `yaml` npm parses both to JS Date
41
41
  // objects whose String()/JSON form differs, so `json.dumps(..., default=str)`
42
42
  // in the CLI would not match. This marker preserves PyYAML's str() form so
43
- // JSON output and as_dict() are byte-identical to the Python original.
43
+ // JSON output and as_dict() are byte-stable — downstream consumers and checksum gates pin these bytes.
44
44
  const PYYAML_DATE_ONLY_RE = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
45
45
  const PYYAML_TIMESTAMP_RE =
46
46
  /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2}|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}(?:[Tt]|[ \t]+)[0-9]{1,2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]*)?(?:[ \t]*(?:Z|[-+][0-9]{1,2}(?::[0-9]{2})?))?)$/;
@@ -191,7 +191,7 @@ function _load_yaml(p: string): unknown {
191
191
  const raw = text.slice(node.range[0], node.range[1]);
192
192
  // Under YAML 1.1 the `yaml` lib resolves plain timestamp scalars to
193
193
  // JS Date objects. Recover PyYAML's str() form from the original
194
- // source so JSON output / as_dict() match the Python original.
194
+ // source so JSON output / as_dict() match the retired Python implementation.
195
195
  if (node.value instanceof Date) {
196
196
  if (PYYAML_DATE_ONLY_RE.test(raw)) {
197
197
  (node as { value: unknown }).value = new PyTimestamp(raw);
@@ -476,10 +476,10 @@ export function _score(entry: Record<string, unknown>, keys: string[]): number {
476
476
  /**
477
477
  * Project cross-repo matches into discounted, tagged Hits.
478
478
  *
479
- * Lazy + guarded: the Python original imports `cross_repo_retrieve` on
479
+ * Lazy + guarded: the retired Python implementation imports `cross_repo_retrieve` on
480
480
  * demand and swallows any failure (script absent, no opted-in siblings) so
481
481
  * the cross-repo type degrades to zero hits rather than breaking retrieval.
482
- * The TypeScript twin of `cross_repo_retrieve` is unported in this phase, so
482
+ * The Ported from the retired Python `cross_repo_retrieve` is unported in this phase, so
483
483
  * this always degrades to zero hits — flagged as a divergence candidate.
484
484
  * Scores sit below curated/knowledge (0.85× floor, then a small per-rank
485
485
  * decrement) so cross-repo context never outranks the project's own truth.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * One-shot memory observability report.
4
4
  *
5
- * TypeScript twin of `src/scripts/memory_report.py` (ADR-200, Phase 7 /
5
+ * Ported from the retired Python `src/scripts/memory_report.py` (ADR-200, Phase 7 /
6
6
  * dev-side memory). The public API and CLI contract mirror the Python
7
7
  * original EXACTLY — same exported names (snake_case kept deliberately),
8
8
  * same exit codes, stdout/stderr split, byte-identical messages, and
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Write-side helper: drop an engineering-memory signal.
4
4
  *
5
- * TypeScript twin of `src/scripts/memory_signal.py` (ADR-200, Phase 7 /
5
+ * Ported from the retired Python `src/scripts/memory_signal.py` (ADR-200, Phase 7 /
6
6
  * dev-side memory). The public API and CLI contract mirror the Python
7
7
  * original EXACTLY — same exported names (snake_case kept deliberately),
8
8
  * same exit codes, stdout/stderr split, byte-identical messages, same