@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
  * File-backed memory status (no external backend).
4
4
  *
5
- * TypeScript twin of `src/scripts/memory_status.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_status.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), same exit codes, stdout/stderr
8
8
  * split, byte-identical messages and JSON shape. No behaviour changes.
9
9
  *
@@ -3,7 +3,7 @@
3
3
  * One-shot migration: inject the `suggestion:` frontmatter block into every
4
4
  * command under `.agent-src.uncondensed/commands/`.
5
5
  *
6
- * TypeScript twin of `src/scripts/migrate_command_suggestions.py` (ADR-200 —
6
+ * Ported from the retired Python `src/scripts/migrate_command_suggestions.py` (ADR-200 —
7
7
  * Python→TS migration, Phase 8 / Wave 8e). Faithful twin: the legacy
8
8
  * `.agent-src.uncondensed/commands/` path is part of the original module's
9
9
  * contract and is reproduced verbatim. Public surface mirrors the Python module
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Migrate artefact frontmatter to omit fields equal to their schema default.
4
4
  *
5
- * TypeScript twin of `src/scripts/migrate_frontmatter_defaults.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/migrate_frontmatter_defaults.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8e). Public surface mirrors the Python
7
7
  * module exactly: same CLI flags (`--dry-run`, `--deltas PATH`), same exit code
8
8
  * (0), same stdout summary, and byte-identical rewritten files + dry-run delta
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Mine a session for memory signals — the engine behind `/memory mine`.
4
4
  *
5
- * TypeScript twin of `src/scripts/mine_session.py` (ADR-200 — Python→TS
6
- * migration, Phase 8 / Wave 8g). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/mine_session.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8g). The CLI contract is pinned —
7
7
  * every flag, exit code (0), the stdout/stderr split, byte-identical
8
8
  * messages, byte-identical preview Markdown, and byte-identical
9
9
  * `json.dumps(..., ensure_ascii=False)` intake JSONL lines.
@@ -26,7 +26,7 @@
26
26
  *
27
27
  * Auto-resolved transcript discovery (`rglob` sorted by mtime) is
28
28
  * intrinsically non-deterministic; golden parity supplies a fixed
29
- * `--transcript`. No behaviour changes — latent Python quirks replicated.
29
+ * `--transcript`. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
30
30
  */
31
31
  import * as crypto from 'node:crypto';
32
32
  import * as fs from 'node:fs';
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Platform-agnostic hook for the `minimal-safe-diff` rule.
4
4
  *
5
- * TypeScript twin of `src/scripts/minimal_safe_diff_hook.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/minimal_safe_diff_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
  *
@@ -39,7 +39,7 @@ import { atomic_write_json } from "./hooks/state_io.js";
39
39
 
40
40
  // NOTE: the Python docstring says `agents/runtime/state/`, but the code
41
41
  // constant is `agents/state/`. Replicated verbatim — latent docstring/code
42
- // divergence in the Python original (ADR-200 § replicate latent bugs).
42
+ // divergence in the retired Python implementation (ADR-200 § replicate latent bugs).
43
43
  export const STATE_FILE = path.join("agents", "state", "minimal-safe-diff.json");
44
44
  export const SETTINGS_FILE = ".agent-settings.yml";
45
45
  export const DEFAULT_THRESHOLD = 5;
@@ -2,10 +2,10 @@
2
2
  /**
3
3
  * Move a single artefact between packs via `git mv` (history-preserving).
4
4
  *
5
- * TypeScript twin of `src/scripts/move_artefact.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/move_artefact.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). The public surface, CLI contract, exit codes, stdout/stderr
7
- * split, byte-for-byte messages, and the `git mv` semantics mirror the
8
- * Python original EXACTLY. The frontmatter rewrite reproduces PyYAML's
7
+ * split, byte-for-byte messages, and the `git mv` semantics are pinned by
8
+ * tests. The frontmatter rewrite reproduces PyYAML's
9
9
  * `safe_dump(..., sort_keys=False, allow_unicode=True)` output through a
10
10
  * faithful port of the PyYAML emitter (scalar-style resolution, plain /
11
11
  * single-quoted / double-quoted writers with the same best-width=80
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Interactive scaffolder for new skills under the packages/ layout.
4
4
  *
5
- * TypeScript twin of `src/scripts/new_skill.py` (ADR-200 — Python→TS
6
- * migration, Phase 8 / Wave 8b). The CLI contract is mirrored EXACTLY —
5
+ * Ported from the retired Python `src/scripts/new_skill.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8b). The CLI contract is pinned —
7
7
  * the `--pack` / `--type` / `--name` / `--description` / `--workspace`
8
8
  * (repeatable) / `--force` flags, exit codes (0 ok · 1 file exists · 2
9
9
  * usage / validation), the stdout/stderr split, byte-identical messages,
@@ -15,7 +15,7 @@
15
15
  * - rule → rules/<name>.md
16
16
  * - command → commands/<name>.md
17
17
  *
18
- * No behaviour changes — latent Python quirks replicated.
18
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
19
19
  */
20
20
  import * as fs from 'node:fs';
21
21
  import * as path from 'node:path';
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Platform-agnostic hook for the `onboarding-gate` rule.
4
4
  *
5
- * TypeScript twin of `src/scripts/onboarding_gate_hook.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/onboarding_gate_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
  *
@@ -40,7 +40,7 @@ import { atomic_write_json } from "./hooks/state_io.js";
40
40
  export const SETTINGS_FILE = ".agent-settings.yml";
41
41
  // NOTE: the Python docstring says `agents/runtime/state/`, but the code
42
42
  // constant is `agents/state/`. Replicated verbatim — this is a latent
43
- // docstring/code divergence in the Python original (ADR-200 § replicate
43
+ // docstring/code divergence in the retired Python implementation (ADR-200 § replicate
44
44
  // latent bugs), and `STATE_FILE` is what the test suite asserts against.
45
45
  export const STATE_DIR = path.join("agents", "state");
46
46
  export const STATE_FILE = path.join(STATE_DIR, "onboarding-gate.json");
@@ -23,7 +23,7 @@
23
23
  //
24
24
  // Governed by `docs/contracts/mcp-cloud-scope.md` §A0-cloud invariant 5.
25
25
  //
26
- // TS twin of pack_mcp_content.py (py2ts migration, ADR-200). Byte-identical
26
+ // TS port of the retired Python pack_mcp_content.py (ADR-200). Byte-identical
27
27
  // twin: same five scanners, same wire shape, same compact-JSON / indent=2
28
28
  // manifest serialization, same gzip archival copy (mtime=0, level 9, with
29
29
  // Python's OS=0xFF header byte). The .py stays the deploy entrypoint until
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Golden-replay runner — proves a TypeScript port behaves identically to its
3
- * Python original.
2
+ * Golden-replay runner — proves a TypeScript port behaves identically to the
3
+ * retired Python implementation it replaced (golden transcripts were captured
4
+ * before the teardown).
4
5
  *
5
6
  * CLI:
6
7
  * tsx src/scripts/parity/replay.ts \
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Maintainer dev script — export / import file-first patterns across projects.
4
4
  *
5
- * TypeScript twin of `src/scripts/pattern_share.py` (ADR-200). Mirrors the
5
+ * Ported from the retired Python `src/scripts/pattern_share.py` (ADR-200). Mirrors the
6
6
  * Python CLI contract EXACTLY — the `export` / `import` subcommands, their
7
7
  * positional + flag args (`--out`, `--force`), exit codes (0 / 1 / 2),
8
8
  * stdout/stderr split, the byte-identical refusal/success lines (`❌ …` /
@@ -245,7 +245,7 @@ function _isFlag(a: string): boolean {
245
245
  return a.startsWith('-') && a !== '-';
246
246
  }
247
247
 
248
- // argparse precedence (verified against the Python original):
248
+ // argparse precedence (verified against the retired Python implementation):
249
249
  // 1. an optional that needs a value but is missing it → SUB-level error
250
250
  // "argument --out: expected one argument" (during consumption).
251
251
  // 2. a missing required positional → SUB-level error
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Plan + apply the physical monorepo migration (Phase 4).
4
4
  *
5
- * TypeScript twin of `src/scripts/plan_physical_move.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/plan_physical_move.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). Mirrors the CLI contract EXACTLY — the `--apply`, `--out` flags,
7
7
  * exit codes (0 clean dry-run / 1 dry-run-with-conflicts / 2 refuse-apply /
8
8
  * 3 source-missing / 4 git-mv-failed), the stdout/stderr split, byte-identical
@@ -13,9 +13,9 @@
13
13
  * destination under `packages/core/` or `packages/pack-<id>/`, and emits
14
14
  * `dist/migration/move-plan.json`. `--apply` executes the moves via `git mv`.
15
15
  *
16
- * No behaviour changes — latent Python quirks replicated. (The dry-run path
16
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour. (The dry-run path
17
17
  * writes the plan JSON to BOTH the default location and `--out`; when they
18
- * coincide the file is written twice, exactly as the Python original does.)
18
+ * coincide the file is written twice, exactly as the retired Python implementation does.)
19
19
  */
20
20
  import { spawnSync } from 'node:child_process';
21
21
  import * as fs from 'node:fs';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Poisson tournament simulator for prediction-pool-optimizer.
4
4
  *
5
- * TypeScript twin of `src/scripts/prediction-pool/poisson_sim.py` (ADR-200).
6
- * The CLI contract is mirrored EXACTLY — the positional `config` JSON file,
5
+ * Ported from the retired Python `src/scripts/prediction-pool/poisson_sim.py` (ADR-200).
6
+ * The CLI contract is pinned — the positional `config` JSON file,
7
7
  * `--runs` / `--seed`, exit codes, the stdout/stderr split, and byte-identical
8
8
  * output. No behaviour changes.
9
9
  *
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Field model + P(finish 1st) simulator for prediction-pool-optimizer.
4
4
  *
5
- * TypeScript twin of `src/scripts/prediction-pool/pool_winsim.py` (ADR-200).
6
- * The CLI contract is mirrored EXACTLY — the positional `config` JSON file,
5
+ * Ported from the retired Python `src/scripts/prediction-pool/pool_winsim.py` (ADR-200).
6
+ * The CLI contract is pinned — the positional `config` JSON file,
7
7
  * `--runs` / `--max-flips` / `--max-opponents` / `--top-flip` / `--seed` /
8
8
  * `--json`, exit codes, the stdout/stderr split, and byte-identical text AND
9
9
  * `--json` output. No behaviour changes.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Exact-score EV optimiser for prediction-pool-optimizer.
4
4
  *
5
- * TypeScript twin of `src/scripts/prediction-pool/score_ev.py` (ADR-200,
6
- * Phase 8). The CLI contract is mirrored EXACTLY — the positional `matches`
5
+ * Ported from the retired Python `src/scripts/prediction-pool/score_ev.py` (ADR-200,
6
+ * Phase 8). The CLI contract is pinned — the positional `matches`
7
7
  * JSON file, `--lh` / `--la` / `--exact` / `--diff` / `--tendency` /
8
8
  * `--max-tip` / `--top` / `--json`, exit codes, the stdout/stderr split, and
9
9
  * byte-identical text AND `--json` output. No behaviour changes.
@@ -2,11 +2,16 @@
2
2
  /**
3
3
  * prepack-check.mjs — guard the published artifact.
4
4
  *
5
- * Runs during `npm pack` and `npm publish`. Asserts the compiled TS
6
- * CLI binary exists, is executable, and carries the Node shebang
7
- * before the tarball is built. Otherwise a silently-broken `dist/`
8
- * ships and every `npx @event4u/agent-config` greets the consumer
9
- * with a cryptic `Cannot find module` panic.
5
+ * Runs during `npm pack` / `npm publish` AND as a dry-run on every PR
6
+ * (Static Checks workflow). Two gates:
7
+ *
8
+ * 1. Compiled-bin shape — the TS CLI binary exists, is executable, and
9
+ * carries the Node shebang before the tarball is built. Otherwise a
10
+ * silently-broken `dist/` ships and every `npx @event4u/agent-config`
11
+ * greets the consumer with a cryptic `Cannot find module` panic.
12
+ * 2. Shipped-import completeness — every relative import reachable from
13
+ * the shipped `src/` trees resolves to a file the `files` whitelist
14
+ * actually ships (the 8.3.0 ERR_MODULE_NOT_FOUND class).
10
15
  *
11
16
  * Folded from external council pass 2026-05-18 (Phase 1.3 acceptance).
12
17
  *
@@ -56,6 +61,104 @@ if (head !== SHEBANG) {
56
61
 
57
62
  process.stderr.write(`prepack-check: ${BIN} OK\n`);
58
63
 
64
+ // ---------------------------------------------------------------------------
65
+ // Import-completeness guard: every relative import reachable from the
66
+ // SHIPPED src/ trees must itself resolve to a shipped file. Catches the
67
+ // 8.3.0 class of bug where src/scripts/_lib/claude_settings_hooks.ts
68
+ // imported src/install/atomic.js while the `files` whitelist did not ship
69
+ // src/install/ — the global install then crashed doctor/conformance with
70
+ // ERR_MODULE_NOT_FOUND. Deterministic, no network, no npm pack invocation:
71
+ // the shipped set is derived from the package.json `files` whitelist.
72
+ // ---------------------------------------------------------------------------
73
+ import { readdirSync } from 'node:fs';
74
+ import { dirname, join, relative, sep } from 'node:path';
75
+
76
+ const pkg = JSON.parse(readFileSync(resolve('package.json'), 'utf8'));
77
+ const shippedPrefixes = (pkg.files ?? [])
78
+ .filter((f) => f.endsWith('/'))
79
+ .map((f) => f.replace(/\/+$/, '') + '/');
80
+ const shippedFiles = new Set((pkg.files ?? []).filter((f) => !f.endsWith('/')));
81
+
82
+ function isShipped(relPath) {
83
+ const posix = relPath.split(sep).join('/');
84
+ if (shippedFiles.has(posix)) return true;
85
+ return shippedPrefixes.some((p) => posix.startsWith(p));
86
+ }
87
+
88
+ function* walk(dir) {
89
+ let entries;
90
+ try {
91
+ entries = readdirSync(dir, { withFileTypes: true });
92
+ } catch {
93
+ return;
94
+ }
95
+ for (const e of entries) {
96
+ const full = join(dir, e.name);
97
+ if (e.isDirectory()) {
98
+ yield* walk(full);
99
+ } else if (/\.(ts|mts|mjs|js)$/.test(e.name) && !e.name.endsWith('.d.ts')) {
100
+ yield full;
101
+ }
102
+ }
103
+ }
104
+
105
+ const IMPORT_RE = /(?:from\s+|import\s*\(\s*|require\s*\(\s*)['"](\.\.?\/[^'"]+)['"]/g;
106
+
107
+ function resolveCandidates(fromDir, spec) {
108
+ const base = join(fromDir, spec);
109
+ return [
110
+ base,
111
+ base.replace(/\.js$/, '.ts'),
112
+ base.replace(/\.mjs$/, '.mts'),
113
+ `${base}.ts`,
114
+ `${base}.js`,
115
+ join(base, 'index.ts'),
116
+ join(base, 'index.js'),
117
+ ];
118
+ }
119
+
120
+ const importErrors = [];
121
+ const scanRoots = shippedPrefixes.filter((p) => p.startsWith('src/'));
122
+ for (const root of scanRoots) {
123
+ for (const file of walk(resolve(root))) {
124
+ const text = readFileSync(file, 'utf8');
125
+ for (const m of text.matchAll(IMPORT_RE)) {
126
+ const spec = m[1];
127
+ const candidates = resolveCandidates(dirname(file), spec);
128
+ const hit = candidates.find((c) => {
129
+ try {
130
+ return statSync(c).isFile();
131
+ } catch {
132
+ return false;
133
+ }
134
+ });
135
+ const fileRel = relative(resolve('.'), file);
136
+ if (hit === undefined) {
137
+ importErrors.push(`${fileRel}: unresolvable relative import '${spec}'`);
138
+ continue;
139
+ }
140
+ const hitRel = relative(resolve('.'), hit);
141
+ if (!isShipped(hitRel)) {
142
+ importErrors.push(
143
+ `${fileRel}: imports '${spec}' → ${hitRel}, which is NOT in the ` +
144
+ 'package.json `files` whitelist (would crash the global install ' +
145
+ 'with ERR_MODULE_NOT_FOUND)',
146
+ );
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ if (importErrors.length > 0) {
153
+ for (const e of importErrors) {
154
+ process.stderr.write(`prepack-check: ${e}\n`);
155
+ }
156
+ die(`${importErrors.length} shipped import(s) escape the files whitelist.`);
157
+ }
158
+ process.stderr.write(
159
+ `prepack-check: import-completeness OK (${scanRoots.length} shipped src tree(s) scanned)\n`,
160
+ );
161
+
59
162
  // Optional: invoked with --verbose dumps the size for tarball-budget bookkeeping.
60
163
  if (argv.includes('--verbose')) {
61
164
  process.stderr.write(`prepack-check: size=${st.size} bytes\n`);
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Print the expected required-check set for the current branch.
4
4
  *
5
- * TypeScript twin of `src/scripts/print_required_checks.py` (ADR-200,
6
- * Phase 8 / Wave 8g). Mirrors the Python CLI contract EXACTLY — `--branch`
5
+ * Ported from the retired Python `src/scripts/print_required_checks.py` (ADR-200,
6
+ * Phase 8 / Wave 8g). The CLI contract is pinned — `--branch`
7
7
  * / `--base` flags, PR-shape classification (release / docs-only / feature),
8
8
  * exit codes (0 ok, 1 release-shape OUT-OF-SHAPE fallback-to-feature, 2 usage),
9
9
  * stdout/stderr split, byte-identical messages. Reuses the release-shape
@@ -2,13 +2,13 @@
2
2
  /**
3
3
  * Phase 4.2 — Probe per-tool projection fidelity against the fixture.
4
4
  *
5
- * TypeScript twin of `src/scripts/probe_projection_fidelity.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/probe_projection_fidelity.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract
7
7
  * EXACTLY: flags (`--fixture`, `--report`), exit codes (0 when no fail, 1
8
8
  * when any check fails, 2 when the YAML dependency is missing — replicated
9
9
  * via a try/catch import), byte-identical stdout, and the byte-identical
10
10
  * written report (`json.dumps(report, indent=2) + "\n"`). No behaviour
11
- * changes — latent quirks replicated.
11
+ * changes — historical quirks preserved (consumers pin the exact behaviour).
12
12
  *
13
13
  * Reads tests/fixtures/projection_fidelity/fixtures.yml, walks the
14
14
  * projected trees (.augment/, .claude/, .cursor/, .clinerules/,
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Tool-agnostic skill-registration probe.
4
4
  *
5
- * TypeScript twin of `src/scripts/probe_skill_registration.py` (ADR-090 —
5
+ * Ported from the retired Python `src/scripts/probe_skill_registration.py` (ADR-090 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract
7
7
  * EXACTLY: flags (`--tool`, `--scope`, `--format`, `--strict`, `--home`,
8
8
  * `--project`), exit codes (0 informational / 0 when strict & clean, 2
9
9
  * when strict & findings), byte-identical text + JSON stdout, and the same
10
- * dataclass field order. No behaviour changes — latent quirks replicated.
10
+ * dataclass field order. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
11
11
  *
12
12
  * Roadmap: road-to-clean-skill-distribution-channels.md § Phase C.
13
13
  * Contract: docs/contracts/skill-distribution-channels.md.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Session-profile staleness notice — `session_start` hook.
4
4
  *
5
- * TypeScript twin of `src/scripts/profile_staleness_hook.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/profile_staleness_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
  *
@@ -18,7 +18,7 @@
18
18
  * notice is derived from the overlay file), emits at most one stderr line,
19
19
  * returns 0 on every path.
20
20
  *
21
- * NOTE (ADR-200): the Python original imports `scripts.config.session_profiles`,
21
+ * NOTE (ADR-200): the retired Python implementation imports `scripts.config.session_profiles`,
22
22
  * which is UNPORTED. The only entry point this hook touches is
23
23
  * `session_profiles.stale_notice(root)`, a fail-open read of the overlay file
24
24
  * (`agents/settings/.agent-settings.local.yml` → `runtime.active_packs`) plus a
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * `agent-config use --profile=<id>` — switch the active experience.
4
4
  *
5
- * TypeScript twin of `src/scripts/profile_use.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/profile_use.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8e). The CLI contract is pinned:
7
7
  * same flags (`--profile=<id>` / `--profile <id>`), same exit codes
8
8
  * (0 success, 2 on missing/unknown profile), same byte-identical
9
9
  * stdout / stderr prose, and byte-identical surgical text edits of the
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Thin-projection of the rule layer (lean-initial-context build-out, Phase 3.1).
4
4
  *
5
- * TypeScript twin of `src/scripts/project_thin_rules.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/project_thin_rules.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8b). The CLI contract is mirrored
7
7
  * EXACTLY — the `--measure` / `--out` / `--json` flags, exit codes, the
8
8
  * stdout/stderr split, byte-identical messages, and byte-identical JSON
@@ -20,11 +20,11 @@
20
20
  *
21
21
  * NOTE (faithful literal): the thin-entry pointer keeps the verbatim
22
22
  * `Body: [`{rule_id}`](../../.agent-src.uncondensed/rules/{rule_id}.md)`
23
- * Markdown link from the Python original. The same-basename `.py` twin
23
+ * Markdown link from the retired Python implementation. The same-basename `.py` twin
24
24
  * carries that literal, so the ADR-051 legacy-path guard exempts this `.ts`
25
25
  * file by twin-parity.
26
26
  *
27
- * No behaviour changes — latent Python quirks replicated.
27
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
28
28
  *
29
29
  * Usage:
30
30
  * project_thin_rules --measure # measure delta, no write
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Propose a `modules:` block for `.agent-project-settings.yml`.
4
4
  *
5
- * TypeScript twin of `src/scripts/propose_modules_config.py` (ADR-200,
6
- * Phase 8 / Wave 8g). Mirrors the Python CLI contract EXACTLY — `--project`
5
+ * Ported from the retired Python `src/scripts/propose_modules_config.py` (ADR-200,
6
+ * Phase 8 / Wave 8g). The CLI contract is pinned — `--project`
7
7
  * / `--json` flags, the interactive numbered-options TTY block, the
8
8
  * machine-readable JSON envelope (byte-identical to `json.dump(indent=2)`),
9
9
  * exit codes (0 always on success, 2 unreachable path), stdout/stderr split.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Prototype contradiction linter (P1.1 of road-to-package-optimization).
4
4
  *
5
- * TypeScript twin of `src/scripts/prototype_lint_contradictions.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/prototype_lint_contradictions.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8g). Mirrors the Python CLI contract
7
7
  * EXACTLY — no flags, exit codes (0 clean / 1 contradictions found), the
8
8
  * stdout JSON shape (`json.dump(report, indent=2)`, insertion order, NO
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * Heuristic family — two deterministic checks (routing + imperative conflict)
19
19
  * across rules, skills, commands, and contexts. No behaviour changes —
20
- * latent Python quirks replicated.
20
+ * historical quirks preserved (consumers pin the exact behaviour).
21
21
  */
22
22
  import * as fs from 'node:fs';
23
23
  import * as path from 'node:path';
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Prove a pack + its declared dependency closure is self-contained.
4
4
  *
5
- * TypeScript twin of `prove_pack_extractable.py` (Phase 8 / Wave 8g).
5
+ * Ported from the retired Python `prove_pack_extractable.py` (Phase 8 / Wave 8g).
6
6
  *
7
7
  * road-to-6.0.0-D Phase 1 Step 6 — the *extraction proof*. It de-risks the
8
8
  * monorepo collapse (Phase 3) by proving that a pack moved into the flat
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * README quality linter for agent-config repositories.
4
4
  *
5
- * TypeScript twin of `src/scripts/readme_linter.py` (ADR-200 — Python→TS
6
- * migration, Phase 8 / Wave 8b). The CLI contract is mirrored EXACTLY —
5
+ * Ported from the retired Python `src/scripts/readme_linter.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8b). The CLI contract is pinned —
7
7
  * the positional `readme` arg, the `--root` / `--format` / `--strict`
8
8
  * flags, exit codes (0 pass · 1 warnings · 2 errors / strict-warnings ·
9
9
  * 3 README-not-found / internal error), the stdout/stderr split, and
@@ -14,7 +14,7 @@
14
14
  * Detects weak, misleading, or incomplete READMEs by cross-checking
15
15
  * against actual repository files (Taskfile.yml, package.json, etc.).
16
16
  *
17
- * No behaviour changes — latent Python quirks replicated.
17
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
18
18
  */
19
19
  import * as fs from 'node:fs';
20
20
  import * as path from 'node:path';
@@ -46,7 +46,7 @@ const BUILTIN_COMMANDS = new Set<string>([
46
46
  'php artisan', 'cargo build', 'cargo test', 'go build', 'go test',
47
47
  'git clone', 'git submodule',
48
48
  ]);
49
- // Referenced to mirror the module-level constant in the Python original
49
+ // Referenced to mirror the module-level constant in the retired Python implementation
50
50
  // (it is defined but unused there); keeps the symbol "live" for the linter.
51
51
  void BUILTIN_COMMANDS;
52
52
 
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Redact captured hook payloads for the verified-platforms roadmap.
4
4
  *
5
- * TypeScript twin of `redact_hook_capture.py` (Phase 8 / Wave 8g).
5
+ * Ported from the retired Python `redact_hook_capture.py` (Phase 8 / Wave 8g).
6
6
  *
7
7
  * Reads JSON capture files written by `dispatch_hook.py` (when
8
8
  * `AGENT_HOOK_CAPTURE_DIR` is set) and produces a redacted version
@@ -299,7 +299,7 @@ export function main(argv: string[] | null = null): number {
299
299
  return 2;
300
300
  }
301
301
  // Mirror `sorted(src.glob("*.json"))` — glob matches any entry whose
302
- // name ends in `.json`; no is_file() filter in the Python original.
302
+ // name ends in `.json`; no is_file() filter in the retired Python implementation.
303
303
  const files = fs
304
304
  .readdirSync(src)
305
305
  .filter((name) => name.endsWith('.json') && !name.endsWith('.redacted.json'))
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Deterministic detection helper for the refine-ticket skill.
4
4
  *
5
- * TypeScript twin of `refine_ticket_detect.py` (Phase 8 / Wave 8g).
5
+ * Ported from the retired Python `refine_ticket_detect.py` (Phase 8 / Wave 8g).
6
6
  *
7
7
  * Reads the detection-map.yml from
8
8
  * .agent-src.uncondensed/skills/refine-ticket/ (or the projected copy),