@event4u/agent-config 8.4.1 → 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 (572) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +67 -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 +3 -1
  128. package/src/agent-src/README.md +1 -1
  129. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  130. package/src/config/agent-settings.template.yml +1 -1
  131. package/src/install/selectedTools.ts +38 -10
  132. package/src/scripts/_cli/cmd_converge.ts +38 -0
  133. package/src/scripts/_cli/cmd_doctor.ts +113 -2
  134. package/src/scripts/_cli/cmd_explain.ts +2 -2
  135. package/src/scripts/_cli/cmd_export.ts +3 -3
  136. package/src/scripts/_cli/cmd_fleet.ts +13 -1
  137. package/src/scripts/_cli/cmd_migrate.ts +3 -3
  138. package/src/scripts/_cli/cmd_prune.ts +2 -2
  139. package/src/scripts/_cli/cmd_refresh.ts +4 -4
  140. package/src/scripts/_cli/cmd_settings_check.ts +2 -2
  141. package/src/scripts/_cli/cmd_settings_migrate.ts +2 -2
  142. package/src/scripts/_cli/cmd_sync.ts +2 -2
  143. package/src/scripts/_cli/cmd_uninstall.ts +2 -2
  144. package/src/scripts/_cli/cmd_update.ts +8 -8
  145. package/src/scripts/_cli/cmd_upgrade.ts +4 -3
  146. package/src/scripts/_cli/cmd_validate.ts +3 -3
  147. package/src/scripts/_cli/cmd_versions.ts +2 -2
  148. package/src/scripts/_cli/explain_last/assumptions.ts +2 -2
  149. package/src/scripts/_cli/explain_last/council.ts +2 -2
  150. package/src/scripts/_cli/explain_last/halt.ts +2 -2
  151. package/src/scripts/_cli/explain_last/index.ts +2 -2
  152. package/src/scripts/_cli/explain_last/inputs.ts +4 -4
  153. package/src/scripts/_cli/explain_last/memory.ts +2 -2
  154. package/src/scripts/_cli/explain_last/provider.ts +2 -2
  155. package/src/scripts/_cli/explain_last/render.ts +2 -2
  156. package/src/scripts/_cli/explain_last/route.ts +2 -2
  157. package/src/scripts/_cli/explain_last/scrubber.ts +2 -2
  158. package/src/scripts/_cli/explain_last/sections/assumptions.ts +2 -2
  159. package/src/scripts/_cli/explain_last/sections/council.ts +2 -2
  160. package/src/scripts/_cli/explain_last/sections/halt.ts +2 -2
  161. package/src/scripts/_cli/explain_last/sections/header.ts +2 -2
  162. package/src/scripts/_cli/explain_last/sections/index.ts +1 -1
  163. package/src/scripts/_cli/explain_last/sections/inputs.ts +2 -2
  164. package/src/scripts/_cli/explain_last/sections/memory.ts +2 -2
  165. package/src/scripts/_cli/explain_last/sections/pack.ts +2 -2
  166. package/src/scripts/_cli/explain_last/sections/provider.ts +2 -2
  167. package/src/scripts/_cli/explain_last/sections/route.ts +2 -2
  168. package/src/scripts/_cli/explain_last/state_loader.ts +2 -2
  169. package/src/scripts/_dispatch.bash +20 -1
  170. package/src/scripts/_lib/agent_settings.ts +1 -1
  171. package/src/scripts/_lib/agent_src.ts +7 -7
  172. package/src/scripts/_lib/agents_overlay.ts +1 -1
  173. package/src/scripts/_lib/bench_ab_cache.ts +1 -1
  174. package/src/scripts/_lib/bench_ab_scoring.ts +1 -1
  175. package/src/scripts/_lib/bench_ab_scoring_v2.ts +3 -3
  176. package/src/scripts/_lib/bench_cost.ts +1 -1
  177. package/src/scripts/_lib/bench_quality.ts +3 -3
  178. package/src/scripts/_lib/bench_report.ts +4 -4
  179. package/src/scripts/_lib/bench_telegraph.ts +1 -1
  180. package/src/scripts/_lib/bench_telegraph_report.ts +4 -4
  181. package/src/scripts/_lib/changelog_eras.ts +1 -1
  182. package/src/scripts/_lib/claude_desktop_bundler.ts +1 -1
  183. package/src/scripts/_lib/cli_wrapper.ts +1 -1
  184. package/src/scripts/_lib/fs_atomic.ts +1 -1
  185. package/src/scripts/_lib/global_deploy_inventory.ts +1 -1
  186. package/src/scripts/_lib/install_layout.ts +1 -1
  187. package/src/scripts/_lib/install_regenerator.ts +1 -1
  188. package/src/scripts/_lib/installed_lock.ts +1 -1
  189. package/src/scripts/_lib/installed_tools.ts +1 -1
  190. package/src/scripts/_lib/json_pointers.ts +1 -1
  191. package/src/scripts/_lib/knowledge_global.ts +1 -1
  192. package/src/scripts/_lib/knowledge_global_promote.ts +2 -2
  193. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  194. package/src/scripts/_lib/link_crypto.ts +4 -4
  195. package/src/scripts/_lib/linked_projects.ts +4 -4
  196. package/src/scripts/_lib/model_tier.ts +1 -1
  197. package/src/scripts/_lib/module_detection.ts +2 -2
  198. package/src/scripts/_lib/pin_resolver.ts +1 -1
  199. package/src/scripts/_lib/script_output.ts +1 -1
  200. package/src/scripts/_lib/security_lint.ts +1 -1
  201. package/src/scripts/_lib/surface_tiers.ts +1 -1
  202. package/src/scripts/_lib/text_similarity.ts +1 -1
  203. package/src/scripts/_lib/update_check.ts +2 -2
  204. package/src/scripts/_lib/user_global_paths.ts +1 -1
  205. package/src/scripts/_lib/value_ladder.ts +1 -1
  206. package/src/scripts/_lib/value_report.ts +1 -1
  207. package/src/scripts/_lib/zip_min.ts +2 -2
  208. package/src/scripts/adoption_report.ts +3 -3
  209. package/src/scripts/adoption_snapshot.ts +3 -3
  210. package/src/scripts/adoption_status.ts +2 -2
  211. package/src/scripts/adr/regenerate_index.ts +3 -3
  212. package/src/scripts/ai_council/_default_prices.ts +2 -3
  213. package/src/scripts/ai_council/advisors.ts +1 -1
  214. package/src/scripts/ai_council/airgap.ts +1 -1
  215. package/src/scripts/ai_council/budget_guard.ts +1 -1
  216. package/src/scripts/ai_council/bundler.ts +1 -1
  217. package/src/scripts/ai_council/cli_hints.ts +1 -1
  218. package/src/scripts/ai_council/clients.ts +5 -5
  219. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  220. package/src/scripts/ai_council/confidence_gate.ts +1 -1
  221. package/src/scripts/ai_council/config.ts +1 -1
  222. package/src/scripts/ai_council/consensus.ts +1 -1
  223. package/src/scripts/ai_council/events_log.ts +1 -1
  224. package/src/scripts/ai_council/learn_low_impact_preview.ts +1 -1
  225. package/src/scripts/ai_council/low_impact_corpus.ts +1 -1
  226. package/src/scripts/ai_council/low_impact_intake.ts +1 -1
  227. package/src/scripts/ai_council/modes.ts +1 -1
  228. package/src/scripts/ai_council/orchestrator.ts +3 -3
  229. package/src/scripts/ai_council/pricing.ts +2 -2
  230. package/src/scripts/ai_council/probation_gate.ts +2 -2
  231. package/src/scripts/ai_council/project_context.ts +1 -1
  232. package/src/scripts/ai_council/prompts.ts +1 -1
  233. package/src/scripts/ai_council/redact_low_impact_entry.ts +2 -2
  234. package/src/scripts/ai_council/session.ts +1 -1
  235. package/src/scripts/ai_council/shadow_dispatch.ts +1 -1
  236. package/src/scripts/ai_council/solo_dispatch.ts +1 -1
  237. package/src/scripts/analysis_freshness.ts +2 -2
  238. package/src/scripts/annotate_discovery.ts +2 -2
  239. package/src/scripts/apply_modules_config.ts +2 -2
  240. package/src/scripts/audit_adr_coverage.ts +3 -3
  241. package/src/scripts/audit_auto_rules.ts +2 -2
  242. package/src/scripts/audit_cloud_compatibility.ts +3 -3
  243. package/src/scripts/audit_command_surface.ts +2 -2
  244. package/src/scripts/audit_initial_context.ts +7 -6
  245. package/src/scripts/audit_likelihood.ts +5 -5
  246. package/src/scripts/audit_mcp_tools.ts +3 -3
  247. package/src/scripts/audit_overlap.ts +2 -2
  248. package/src/scripts/audit_skill_descriptions.ts +2 -2
  249. package/src/scripts/audit_skill_overlap.ts +5 -5
  250. package/src/scripts/audit_user_type_axis.ts +4 -4
  251. package/src/scripts/backfill_model_tier.ts +1 -1
  252. package/src/scripts/bench_ab_cache_dispatch.ts +2 -2
  253. package/src/scripts/bench_ab_clone.ts +2 -2
  254. package/src/scripts/bench_ab_diff.ts +3 -3
  255. package/src/scripts/bench_ab_integrity.ts +2 -2
  256. package/src/scripts/bench_ab_run.ts +4 -4
  257. package/src/scripts/bench_ab_task_runner.ts +1 -1
  258. package/src/scripts/bench_ab_tracka_run.ts +2 -2
  259. package/src/scripts/bench_ab_v2_run.ts +1 -1
  260. package/src/scripts/bench_ab_v2_stats.ts +2 -2
  261. package/src/scripts/bench_baseline_ready.ts +1 -1
  262. package/src/scripts/bench_condense_memory.ts +4 -4
  263. package/src/scripts/bench_drift_check.ts +3 -3
  264. package/src/scripts/bench_per_tool.ts +1 -1
  265. package/src/scripts/bench_rtk_savings.ts +4 -4
  266. package/src/scripts/bench_run.ts +4 -4
  267. package/src/scripts/bench_runner.ts +1 -1
  268. package/src/scripts/build_cloud_bundle.ts +3 -3
  269. package/src/scripts/build_discovery_manifest.ts +13 -15
  270. package/src/scripts/build_linear_digest.ts +2 -2
  271. package/src/scripts/build_mcp_registry_manifest.ts +3 -3
  272. package/src/scripts/build_proof.ts +6 -0
  273. package/src/scripts/build_rule_trigger_matrix.ts +2 -2
  274. package/src/scripts/capture_showcase_session.ts +3 -3
  275. package/src/scripts/chat_history.ts +1 -1
  276. package/src/scripts/check_always_budget.ts +1 -1
  277. package/src/scripts/check_artefact_checksums.ts +4 -4
  278. package/src/scripts/check_artefact_count_messaging.ts +197 -0
  279. package/src/scripts/check_augment_description_cap.ts +3 -3
  280. package/src/scripts/check_augmentignore.ts +1 -1
  281. package/src/scripts/check_beta_review_markers.ts +3 -3
  282. package/src/scripts/check_bite_sized_granularity.ts +1 -1
  283. package/src/scripts/check_cluster_patterns.ts +47 -3
  284. package/src/scripts/check_command_count_messaging.ts +2 -2
  285. package/src/scripts/check_condensation.ts +2 -2
  286. package/src/scripts/check_condensed_paths.ts +6 -6
  287. package/src/scripts/check_context_paths.ts +1 -1
  288. package/src/scripts/check_council_config_location.ts +3 -3
  289. package/src/scripts/check_council_layout.ts +2 -2
  290. package/src/scripts/check_council_references.ts +2 -2
  291. package/src/scripts/check_discovery_determinism.ts +3 -3
  292. package/src/scripts/check_gate_paths.ts +4 -4
  293. package/src/scripts/check_iron_law_prominence.ts +2 -2
  294. package/src/scripts/check_kernel_rule_bundle.ts +3 -3
  295. package/src/scripts/check_knowledge_cards.ts +4 -4
  296. package/src/scripts/check_knowledge_pages.ts +1 -1
  297. package/src/scripts/check_md_language.ts +3 -3
  298. package/src/scripts/check_memory.ts +3 -3
  299. package/src/scripts/check_memory_proposal.ts +2 -2
  300. package/src/scripts/check_module_management_neutral.ts +1 -1
  301. package/src/scripts/check_no_conflict_markers.ts +1 -1
  302. package/src/scripts/check_no_external_sources.ts +1 -1
  303. package/src/scripts/check_no_local_settings_committed.ts +2 -2
  304. package/src/scripts/check_no_new_legacy_path.ts +3 -3
  305. package/src/scripts/check_no_roadmap_refs.ts +3 -3
  306. package/src/scripts/check_one_off_location.ts +3 -3
  307. package/src/scripts/check_overlay_cascade_subdirs.ts +3 -3
  308. package/src/scripts/check_portability.ts +3 -3
  309. package/src/scripts/check_proposal.ts +0 -0
  310. package/src/scripts/check_public_catalog_links.ts +1 -1
  311. package/src/scripts/check_public_links.ts +2 -2
  312. package/src/scripts/check_references.ts +3 -3
  313. package/src/scripts/check_release_includes_discovery.ts +2 -2
  314. package/src/scripts/check_release_pr_shape.ts +2 -2
  315. package/src/scripts/check_release_published.ts +1 -1
  316. package/src/scripts/check_release_trunk_sync.ts +3 -3
  317. package/src/scripts/check_reply_consistency.ts +1 -1
  318. package/src/scripts/check_roadmap_trackable.ts +2 -2
  319. package/src/scripts/check_role_doc_links.ts +2 -2
  320. package/src/scripts/check_safety_floor_untouched.ts +3 -3
  321. package/src/scripts/check_skill_requires.ts +2 -2
  322. package/src/scripts/check_structural_breaking.ts +2 -2
  323. package/src/scripts/check_surface_tiers.ts +2 -2
  324. package/src/scripts/check_template_pin_drift.ts +1 -1
  325. package/src/scripts/check_test_coverage_diff.ts +2 -2
  326. package/src/scripts/check_token_optimizer_freshness.ts +3 -3
  327. package/src/scripts/check_trigger_evals.ts +2 -2
  328. package/src/scripts/check_update_banner.ts +1 -1
  329. package/src/scripts/ci_status.ts +0 -0
  330. package/src/scripts/ci_summary.ts +3 -3
  331. package/src/scripts/ci_time_ratio.ts +1 -1
  332. package/src/scripts/command_suggester/cooldown.ts +1 -1
  333. package/src/scripts/command_suggester/index.ts +1 -1
  334. package/src/scripts/command_suggester/loader.ts +1 -1
  335. package/src/scripts/command_suggester/match.ts +1 -1
  336. package/src/scripts/command_suggester/rank.ts +1 -1
  337. package/src/scripts/command_suggester/render.ts +1 -1
  338. package/src/scripts/command_suggester/sanitize.ts +1 -1
  339. package/src/scripts/command_suggester/settings.ts +1 -1
  340. package/src/scripts/command_suggester/types.ts +0 -0
  341. package/src/scripts/compile_router.ts +4 -4
  342. package/src/scripts/condense.ts +3 -3
  343. package/src/scripts/condense_memory.ts +1 -1
  344. package/src/scripts/config/index.ts +1 -1
  345. package/src/scripts/config/packs.ts +1 -1
  346. package/src/scripts/config/presets.ts +1 -1
  347. package/src/scripts/config/profile_explain.ts +1 -1
  348. package/src/scripts/config/profiles.ts +1 -1
  349. package/src/scripts/config/session_profiles.ts +1 -1
  350. package/src/scripts/context_hygiene_hook.ts +2 -2
  351. package/src/scripts/cost_by_conversation.ts +1 -1
  352. package/src/scripts/cost_summary.ts +2 -2
  353. package/src/scripts/council_cli.ts +1 -1
  354. package/src/scripts/council_prune.ts +1 -1
  355. package/src/scripts/cross_repo_retrieve.ts +2 -2
  356. package/src/scripts/discovery_stats.ts +3 -3
  357. package/src/scripts/evidence_report.ts +4 -4
  358. package/src/scripts/extract_audit_patterns.ts +2 -2
  359. package/src/scripts/first_run_gate_hook.ts +1 -1
  360. package/src/scripts/gen_discovery_baseline.ts +2 -2
  361. package/src/scripts/generate_capabilities_index.ts +2 -2
  362. package/src/scripts/generate_capability_matrix.ts +2 -2
  363. package/src/scripts/generate_catalog.ts +2 -2
  364. package/src/scripts/generate_command_flows.ts +2 -2
  365. package/src/scripts/generate_cookbook.ts +1 -1
  366. package/src/scripts/generate_index.ts +3 -3
  367. package/src/scripts/generate_ownership_matrix.ts +2 -2
  368. package/src/scripts/generate_pack_manifests.ts +2 -2
  369. package/src/scripts/generate_role_experiences_catalog.ts +3 -3
  370. package/src/scripts/hooks/block_no_verify.ts +2 -2
  371. package/src/scripts/hooks/dispatch_hook.ts +2 -2
  372. package/src/scripts/hooks/dispatch_issues.ts +1 -1
  373. package/src/scripts/hooks/envelope.ts +1 -1
  374. package/src/scripts/hooks/replay_hook.ts +1 -1
  375. package/src/scripts/hooks/state_io.ts +1 -1
  376. package/src/scripts/hooks_doctor.ts +1 -1
  377. package/src/scripts/hooks_status.ts +1 -1
  378. package/src/scripts/injection_scan_hook.ts +1 -1
  379. package/src/scripts/install.ts +145 -3
  380. package/src/scripts/inventory_abstraction_budget.ts +5 -5
  381. package/src/scripts/inventory_frontmatter.ts +1 -1
  382. package/src/scripts/inventory_meta_layers.ts +1 -1
  383. package/src/scripts/iron_law_sha.ts +1 -1
  384. package/src/scripts/knowledge_global_cli.ts +3 -3
  385. package/src/scripts/linked_projects_list.ts +1 -1
  386. package/src/scripts/lint_agent_security.ts +4 -4
  387. package/src/scripts/lint_agent_skill_names.ts +1 -1
  388. package/src/scripts/lint_agents_layout.ts +2 -2
  389. package/src/scripts/lint_agents_md.ts +3 -3
  390. package/src/scripts/lint_archived_skills.ts +2 -2
  391. package/src/scripts/lint_artefact_frontmatter.ts +2 -2
  392. package/src/scripts/lint_bench_ab.ts +2 -2
  393. package/src/scripts/lint_bench_corpus.ts +1 -1
  394. package/src/scripts/lint_command_flow_coverage.ts +1 -1
  395. package/src/scripts/lint_command_routing.ts +2 -2
  396. package/src/scripts/lint_command_tiers.ts +1 -1
  397. package/src/scripts/lint_command_verbs.ts +4 -4
  398. package/src/scripts/lint_commit_subjects.ts +2 -2
  399. package/src/scripts/lint_context_spine_usage.ts +3 -3
  400. package/src/scripts/lint_discovery_manifest.ts +4 -4
  401. package/src/scripts/lint_discovery_vocabulary.ts +2 -2
  402. package/src/scripts/lint_empty_roadmaps.ts +3 -3
  403. package/src/scripts/lint_eval_freshness.ts +2 -2
  404. package/src/scripts/lint_examples.ts +2 -2
  405. package/src/scripts/lint_explain_trace.ts +2 -2
  406. package/src/scripts/lint_featured_skills.ts +0 -0
  407. package/src/scripts/lint_flows.ts +5 -5
  408. package/src/scripts/lint_framework_leakage.ts +1 -1
  409. package/src/scripts/lint_framework_leakage_allowlist.json +10 -2
  410. package/src/scripts/lint_frontmatter_boilerplate.ts +2 -2
  411. package/src/scripts/lint_ghostwriter_source.ts +3 -3
  412. package/src/scripts/lint_global_paths.ts +1 -1
  413. package/src/scripts/lint_handoffs.ts +1 -1
  414. package/src/scripts/lint_hidden_unicode.ts +1 -1
  415. package/src/scripts/lint_hook_concern_budget.ts +2 -2
  416. package/src/scripts/lint_hook_manifest.ts +2 -2
  417. package/src/scripts/lint_instruction_smuggling.ts +1 -1
  418. package/src/scripts/lint_load_context.ts +2 -2
  419. package/src/scripts/lint_marketplace.ts +1 -1
  420. package/src/scripts/lint_marketplace_install_completeness.ts +2 -2
  421. package/src/scripts/lint_mcp_config_security.ts +1 -1
  422. package/src/scripts/lint_mcp_registry_manifest.ts +1 -1
  423. package/src/scripts/lint_media_policy_linkage.ts +3 -3
  424. package/src/scripts/lint_missions.ts +3 -3
  425. package/src/scripts/lint_model_tier_coverage.ts +3 -3
  426. package/src/scripts/lint_namespace.ts +2 -2
  427. package/src/scripts/lint_namespace_collisions.ts +2 -2
  428. package/src/scripts/lint_new_skill_gate.ts +3 -3
  429. package/src/scripts/lint_no_new_atomic_commands.ts +9 -6
  430. package/src/scripts/lint_no_python_twin_rationale.ts +102 -0
  431. package/src/scripts/lint_one_off_age.ts +2 -2
  432. package/src/scripts/lint_orchestration_dsl.ts +3 -3
  433. package/src/scripts/lint_orchestrator_auto_detect.ts +1 -1
  434. package/src/scripts/lint_pack_boundaries.ts +2 -2
  435. package/src/scripts/lint_pack_dependencies.ts +2 -2
  436. package/src/scripts/lint_pack_first_win.ts +2 -2
  437. package/src/scripts/lint_persona_governance.ts +3 -3
  438. package/src/scripts/lint_positioning.ts +1 -1
  439. package/src/scripts/lint_profile_overlay_set_only.ts +2 -2
  440. package/src/scripts/lint_readme_jargon.ts +2 -2
  441. package/src/scripts/lint_readme_size.ts +2 -2
  442. package/src/scripts/lint_regression.ts +3 -3
  443. package/src/scripts/lint_roadmap_ci_steps.ts +3 -3
  444. package/src/scripts/lint_roadmap_complexity.ts +1 -1
  445. package/src/scripts/lint_roadmap_later_disposition.ts +2 -2
  446. package/src/scripts/lint_role_experiences.ts +2 -2
  447. package/src/scripts/lint_rule_interactions.ts +1 -1
  448. package/src/scripts/lint_rule_tiers.ts +1 -1
  449. package/src/scripts/lint_showcase_sessions.ts +2 -2
  450. package/src/scripts/lint_skill_frontmatter_safety.ts +1 -1
  451. package/src/scripts/lint_skill_originality.ts +1 -1
  452. package/src/scripts/lint_skill_tools.ts +3 -3
  453. package/src/scripts/lint_ticket_buildable.ts +2 -2
  454. package/src/scripts/lint_topics_yaml.ts +3 -3
  455. package/src/scripts/lint_trust_coherence.ts +3 -3
  456. package/src/scripts/lint_value_dashboard.ts +3 -3
  457. package/src/scripts/lint_workflow_security.ts +3 -3
  458. package/src/scripts/lint_workspace_boundary.ts +2 -2
  459. package/src/scripts/mcp_parity_smoke.ts +1 -1
  460. package/src/scripts/mcp_render.ts +1 -1
  461. package/src/scripts/mcp_server/catalog.ts +1 -1
  462. package/src/scripts/mcp_server/index.ts +1 -1
  463. package/src/scripts/mcp_server/metadata.ts +1 -1
  464. package/src/scripts/mcp_server/prompts.ts +1 -1
  465. package/src/scripts/mcp_server/resources.ts +1 -1
  466. package/src/scripts/mcp_server/server.ts +1 -1
  467. package/src/scripts/mcp_server/telemetry.ts +1 -1
  468. package/src/scripts/mcp_server/tools.ts +1 -1
  469. package/src/scripts/mcp_telemetry_health.ts +1 -1
  470. package/src/scripts/mcp_telemetry_query.ts +3 -3
  471. package/src/scripts/mcp_telemetry_store.ts +3 -3
  472. package/src/scripts/measure_augment_budget.ts +2 -2
  473. package/src/scripts/measure_density.ts +2 -2
  474. package/src/scripts/measure_frugality_savings.ts +3 -3
  475. package/src/scripts/measure_markitdown_lift.ts +1 -1
  476. package/src/scripts/measure_patterns.ts +1 -1
  477. package/src/scripts/measure_projection_bytes.ts +1 -1
  478. package/src/scripts/measure_rule_budget.ts +1 -1
  479. package/src/scripts/measure_skill_reduction.ts +1 -1
  480. package/src/scripts/memory_hash.ts +1 -1
  481. package/src/scripts/memory_lookup.ts +6 -6
  482. package/src/scripts/memory_report.ts +1 -1
  483. package/src/scripts/memory_signal.ts +1 -1
  484. package/src/scripts/memory_status.ts +2 -2
  485. package/src/scripts/migrate_command_suggestions.ts +1 -1
  486. package/src/scripts/migrate_frontmatter_defaults.ts +1 -1
  487. package/src/scripts/mine_session.ts +3 -3
  488. package/src/scripts/minimal_safe_diff_hook.ts +2 -2
  489. package/src/scripts/move_artefact.ts +3 -3
  490. package/src/scripts/new_skill.ts +3 -3
  491. package/src/scripts/onboarding_gate_hook.ts +2 -2
  492. package/src/scripts/pack_mcp_content.ts +1 -1
  493. package/src/scripts/parity/replay.ts +3 -2
  494. package/src/scripts/pattern_share.ts +2 -2
  495. package/src/scripts/plan_physical_move.ts +3 -3
  496. package/src/scripts/prediction-pool/poisson_sim.ts +2 -2
  497. package/src/scripts/prediction-pool/pool_winsim.ts +2 -2
  498. package/src/scripts/prediction-pool/score_ev.ts +2 -2
  499. package/src/scripts/print_required_checks.ts +2 -2
  500. package/src/scripts/probe_projection_fidelity.ts +2 -2
  501. package/src/scripts/probe_skill_registration.ts +2 -2
  502. package/src/scripts/profile_staleness_hook.ts +2 -2
  503. package/src/scripts/profile_use.ts +2 -2
  504. package/src/scripts/project_thin_rules.ts +3 -3
  505. package/src/scripts/propose_modules_config.ts +2 -2
  506. package/src/scripts/prototype_lint_contradictions.ts +2 -2
  507. package/src/scripts/prove_pack_extractable.ts +1 -1
  508. package/src/scripts/readme_linter.ts +4 -4
  509. package/src/scripts/redact_hook_capture.ts +2 -2
  510. package/src/scripts/refine_ticket_detect.ts +1 -1
  511. package/src/scripts/release.ts +30 -19
  512. package/src/scripts/render_benchmark_md.ts +2 -2
  513. package/src/scripts/render_value_md.ts +2 -2
  514. package/src/scripts/roadmap_progress_hook.ts +1 -1
  515. package/src/scripts/router_telemetry.ts +1 -1
  516. package/src/scripts/run_skill_evals.ts +2 -2
  517. package/src/scripts/runtime_dispatcher.ts +1 -1
  518. package/src/scripts/runtime_handler.ts +1 -1
  519. package/src/scripts/runtime_registry.ts +3 -3
  520. package/src/scripts/score_skill_selection.ts +1 -1
  521. package/src/scripts/security_audit_config.ts +2 -2
  522. package/src/scripts/skill_collision_clusters.ts +1 -1
  523. package/src/scripts/skill_discovery.ts +1 -1
  524. package/src/scripts/skill_linter.ts +8 -7
  525. package/src/scripts/skill_overlap.ts +2 -2
  526. package/src/scripts/skill_preview.ts +1 -1
  527. package/src/scripts/skill_tools/audit_persona_coverage.ts +3 -3
  528. package/src/scripts/skill_tools/audit_user_type_coverage.ts +3 -3
  529. package/src/scripts/skill_tools/index.ts +1 -1
  530. package/src/scripts/skill_tools/run_block_d_eval.ts +3 -3
  531. package/src/scripts/skill_tools/score_skill_relevance.ts +3 -3
  532. package/src/scripts/skill_tools/suggest_skill_for_task.ts +3 -3
  533. package/src/scripts/skill_trigger_eval.ts +2 -2
  534. package/src/scripts/skill_usage_collect.ts +2 -2
  535. package/src/scripts/skill_usage_report.ts +2 -2
  536. package/src/scripts/smoke_path_resolution.ts +2 -2
  537. package/src/scripts/smoke_quickstart.ts +4 -4
  538. package/src/scripts/snapshot_agent_outputs.ts +2 -2
  539. package/src/scripts/spotcheck_thin_root.ts +2 -2
  540. package/src/scripts/surface-tiers.yml +1 -0
  541. package/src/scripts/sync_agent_settings.ts +2 -2
  542. package/src/scripts/sync_github_metadata.ts +4 -4
  543. package/src/scripts/sync_gitignore.ts +3 -3
  544. package/src/scripts/sync_yaml_rt.ts +2 -2
  545. package/src/scripts/telegraph_stats.ts +1 -1
  546. package/src/scripts/tool_registry.ts +2 -2
  547. package/src/scripts/tools/adapter_errors.ts +1 -1
  548. package/src/scripts/tools/base_adapter.ts +1 -1
  549. package/src/scripts/tools/github_adapter.ts +1 -1
  550. package/src/scripts/tools/jira_adapter.ts +1 -1
  551. package/src/scripts/trigger_coverage.ts +2 -2
  552. package/src/scripts/update_counts.ts +68 -6
  553. package/src/scripts/update_prices.ts +3 -3
  554. package/src/scripts/validate_agent_settings.ts +3 -3
  555. package/src/scripts/validate_decision_engine.ts +2 -2
  556. package/src/scripts/validate_discovery_manifest.ts +3 -3
  557. package/src/scripts/validate_frontmatter.ts +5 -5
  558. package/src/scripts/validate_pack_yaml.ts +0 -0
  559. package/src/scripts/validate_safe_paths.ts +2 -2
  560. package/src/scripts/validate_telegraph_carveouts.ts +3 -3
  561. package/src/scripts/verify_before_complete_hook.ts +2 -2
  562. package/src/scripts/verify_physical_move.ts +2 -2
  563. package/src/scripts/wrapper_freshness_hook.ts +3 -3
  564. package/src/server/schemas/settings.ts +426 -0
  565. package/src/shared/settingsSurface.ts +184 -0
  566. package/src/shared/userMd/formAdapter.ts +86 -0
  567. package/src/shared/userMd/schema.ts +59 -0
  568. package/src/shared/userMd/utils.ts +91 -0
  569. package/dist/agent-src/commands/optimize-project.md +0 -243
  570. package/dist/ui/assets/index-BbWWuFrF.css +0 -1
  571. package/dist/ui/assets/index-UjcTG_9O.js +0 -40
  572. package/dist/ui/assets/index-UjcTG_9O.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Render `docs/value.md` from the latest `value-v1` JSON report.
4
4
  *
5
- * TypeScript twin of `src/scripts/render_value_md.py` (ADR-200, Phase 8
5
+ * Ported from the retired Python `src/scripts/render_value_md.py` (ADR-200, Phase 8
6
6
  * / Wave 8b). The public surface and rendered output mirror the Python
7
7
  * original EXACTLY — same module-level path constants (exposed through a
8
8
  * mutable test seam so the pytest `monkeypatch.setattr` injection ports
@@ -412,7 +412,7 @@ function render_placeholder(): string {
412
412
  /**
413
413
  * Mirror `Path.relative_to(REPO_ROOT)` — throws when `p` is NOT under the
414
414
  * repo root (Python `ValueError`). The default `OUT_PATH` is always in-repo
415
- * (`docs/value.md`); replicated for fidelity with the Python original.
415
+ * (`docs/value.md`); replicated for fidelity with the retired Python implementation.
416
416
  */
417
417
  function _relativeToRepo(p: string): string {
418
418
  const abs = path.resolve(p);
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Platform-agnostic PostToolUse hook for the `roadmap-progress-sync` rule.
4
4
  *
5
- * TypeScript twin of `src/scripts/roadmap_progress_hook.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/roadmap_progress_hook.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 6 / hooks). Public API mirrors the Python
7
7
  * module exactly (snake_case kept deliberately — fidelity over TS idiom).
8
8
  *
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Local replay of the router against a corpus — pure, no API spend.
4
4
  *
5
- * TypeScript twin of `src/scripts/router_telemetry.py` (ADR-089 —
5
+ * Ported from the retired Python `src/scripts/router_telemetry.py` (ADR-089 —
6
6
  * Python→TS migration, Phase 7). Mirrors the Python CLI contract
7
7
  * exactly: flags (`--corpus`, `--sample-cap`, `--profile`, `--out`,
8
8
  * `--quiet`), exit codes, stdout/stderr split, byte-identical messages,
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Quantitative skill-eval orchestrator (skill-writing § 7).
4
4
  *
5
- * TypeScript twin of `src/scripts/run_skill_evals.py` (ADR-200 — Python→TS
6
- * migration, Phase 8 / Wave 8e). The CLI contract is mirrored EXACTLY:
5
+ * Ported from the retired Python `src/scripts/run_skill_evals.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8e). The CLI contract is pinned:
7
7
  * same subcommands (`scaffold`, `aggregate`, `report`), same flags
8
8
  * (`--run`), same exit codes (0 success; 1 on `sys.exit(msg)` errors),
9
9
  * same byte-identical stdout / stderr prose and byte-identical written
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Runtime Dispatcher — resolves execution type and drives real handler execution.
4
4
  *
5
- * TypeScript twin of `src/scripts/runtime_dispatcher.py` (ADR-200). Mirrors the
5
+ * Ported from the retired Python `src/scripts/runtime_dispatcher.py` (ADR-200). Mirrors the
6
6
  * Python public surface and CLI contract EXACTLY — `ExecutionRequest`,
7
7
  * `DispatchResult`, `dispatch`, `run`, the `resolve` / `run` subcommands, the
8
8
  * legacy flat `--skill` flag, `--format text|json`, `--root`, `--cwd`,
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Runtime Handler — executes a skill's declared command and captures the result.
4
4
  *
5
- * TypeScript twin of `src/scripts/runtime_handler.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/runtime_handler.py` (ADR-200, Phase 8 /
6
6
  * Wave 8h). Library module imported by the still-Python `runtime_dispatcher`
7
7
  * (the `.py` stays in place); this `.ts` twin sits beside it. Mirrors the
8
8
  * Python public surface EXACTLY — `DEFAULT_ENV_ALLOWLIST`, `ExecutionResult`,
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Runtime Registry — discovers skills with execution metadata.
4
4
  *
5
- * TypeScript twin of `src/scripts/runtime_registry.py` (ADR-200, Phase 8 /
6
- * Wave 8h). Mirrors the Python CLI contract EXACTLY — `--root`, `--format`
5
+ * Ported from the retired Python `src/scripts/runtime_registry.py` (ADR-200, Phase 8 /
6
+ * Wave 8h). The CLI contract is pinned — `--root`, `--format`
7
7
  * (text|json), `--validate` flags, exit codes (0 ok / valid, 1 invalid),
8
8
  * byte-identical stdout/stderr, and byte-identical `json.dumps(indent=2)`
9
9
  * output. No behaviour changes.
@@ -18,7 +18,7 @@
18
18
  * tsx scripts/runtime_registry.ts [--root ROOT] [--format text|json]
19
19
  *
20
20
  * Library role: `runtime_dispatcher.py` imports `SkillRuntime` and
21
- * `build_registry` from the Python original — the `.py` stays in place so the
21
+ * `build_registry` from the retired Python implementation — the `.py` stays in place so the
22
22
  * still-Python dispatcher keeps importing it. This `.ts` twin sits beside it.
23
23
  *
24
24
  * Imports the SAME primitives the `.py` imports from `skill_linter`:
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Selection-accuracy scorer (council file 05, Phase 2.2).
4
4
  *
5
- * TypeScript twin of `src/scripts/score_skill_selection.py` (ADR-200 —
5
+ * Ported from the retired Python `src/scripts/score_skill_selection.py` (ADR-200 —
6
6
  * Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
7
7
  * flags (`--predictions`, `--baseline`, `--source`, `--out`), exit codes
8
8
  * (0 / 2 when neither --predictions nor --baseline given), byte-identical
@@ -1,6 +1,6 @@
1
1
  // P3.1 — consumer-facing agent-config security audit (road-to-security-pillar.md).
2
2
  //
3
- // TypeScript twin of `src/scripts/security_audit_config.py` (ADR-200 —
3
+ // Ported from the retired Python `src/scripts/security_audit_config.py` (ADR-200 —
4
4
  // Python→TS migration). Behaviour mirrors the Python module byte-for-byte.
5
5
  //
6
6
  // Points the Phase-1 detection logic at a *consumer's assembled* agent config —
@@ -101,7 +101,7 @@ function _category(f: sl.Finding): string {
101
101
  * traversal *structure* (component recursion, `**` self-then-subdirs depth-first,
102
102
  * `is_file` filter, first-seen dedup) is replicated faithfully; intra-directory
103
103
  * entry order follows `fs.readdirSync`. Multi-file-per-pattern consumer trees can
104
- * therefore differ in finding order from the Python original on platforms where
104
+ * therefore differ in finding order from the retired Python implementation on platforms where
105
105
  * scandir != readdir. The golden test pins one-file-per-pattern fixtures so the
106
106
  * order is unambiguous; the clean real-`src/` path emits no findings.
107
107
  */
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill-collision cluster analysis (Phase 2.2 of step-1-v2-feedback-followup).
4
4
  *
5
- * TypeScript twin of `skill_collision_clusters.py` (Phase 8 / Wave 8e).
5
+ * Ported from the retired Python `skill_collision_clusters.py` (Phase 8 / Wave 8e).
6
6
  *
7
7
  * Walks `.agent-src.uncondensed/skills/<id>/SKILL.md`, extracts the
8
8
  * `description` frontmatter, computes pairwise keyword overlap, and groups
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill discovery recommender — local-only, explained, no network.
4
4
  *
5
- * TypeScript twin of `skill_discovery.py` (Phase 8 / Wave 8e).
5
+ * Ported from the retired Python `skill_discovery.py` (Phase 8 / Wave 8e).
6
6
  *
7
7
  * Phase 3 of `road-to-leaner-core-and-discovery`. Turns existing local signals
8
8
  * (skill catalog frontmatter, role shortlists, optional local-analytics JSONL)
@@ -2,16 +2,16 @@
2
2
  /**
3
3
  * skill_linter.ts — minimal skill/rule linter for agent-config repositories.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_linter.py` (ADR-200, Phase 4 Wave 4a).
5
+ * Ported from the retired Python `src/scripts/skill_linter.py` (ADR-200).
6
6
  * The public CLI contract is mirrored EXACTLY: same flags (`--all`,
7
7
  * `--changed`, `--format`, `--pairs`, `--duplicates`, `--condensation-quality`,
8
8
  * `--strict-warnings`, `--report`, `--repo-root`, `--quiet`, positional paths),
9
9
  * same exit codes (0 pass / 1 warn-with-strict / 2 fail / 3 malice-or-internal),
10
- * same stdout/stderr split, and byte-for-byte finding messages. No behaviour
11
- * changes — latent Python quirks are replicated.
10
+ * same stdout/stderr split, and byte-for-byte finding messages (pinned by tests). No behaviour
11
+ * changes — historical quirks are preserved.
12
12
  *
13
13
  * Dependencies: imports the `validate_frontmatter` twin (local, ported because
14
- * the Python original is a later-wave dependency) and the `_lib/agent_src`
14
+ * the retired Python implementation is a later-wave dependency) and the `_lib/agent_src`
15
15
  * twin for multi-root artefact resolution.
16
16
  *
17
17
  * MVP checks:
@@ -1136,8 +1136,9 @@ function _stripWing3CarveOuts(text: string): string {
1136
1136
  // `## Do NOT` strip: Python uses MULTILINE|DOTALL → `^##` matches at every
1137
1137
  // line start. `\Z` = end of string (no trailing-newline subtlety needed).
1138
1138
  out = out.replace(/^##\s+Do NOT\s*$[\s\S]*?(?=^##\s+|$(?![\s\S]))/gm, '');
1139
- // `**WHEN NOT to use this**` strip — LATENT PYTHON BUG REPLICATED: the
1140
- // Python original passes only DOTALL|IGNORECASE (NO MULTILINE), so the
1139
+ // `**WHEN NOT to use this**` strip — HISTORICAL PYTHON-ERA BUG, PRESERVED
1140
+ // (goldens pin it): the retired implementation passed only
1141
+ // DOTALL|IGNORECASE (NO MULTILINE), so the
1141
1142
  // `^##\s+` alternative in its lookahead matches only at string position 0,
1142
1143
  // never at a mid-text line start. With no `**WHEN` after the first one, the
1143
1144
  // non-greedy `.*?` therefore consumes to end-of-string — stripping every
@@ -2781,7 +2782,7 @@ function lint_execution_quality(p: string, text: string): Issue[] {
2781
2782
  const hasVerificationSection = sectionHeadersLower.some((h) =>
2782
2783
  ['verify', 'validat', 'test', 'acceptance', 'quality gate'].some((kw) => h.includes(kw)),
2783
2784
  );
2784
- // hasAntipatternSection computed in the Python original but never used downstream.
2785
+ // hasAntipatternSection computed in the retired Python implementation but never used downstream.
2785
2786
  void sectionHeadersLower.some((h) =>
2786
2787
  ['do not', "don't", 'gotcha', 'anti-pattern', 'avoid'].some((kw) => h.includes(kw)),
2787
2788
  );
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * Structural overlap detection across skills (description + triggers).
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_overlap.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/skill_overlap.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). The public surface, CLI contract, exit codes, stderr text,
7
- * stdout text, and rendered markdown mirror the Python original EXACTLY
7
+ * stdout text, and rendered markdown mirror the retired Python implementation EXACTLY
8
8
  * — same custom frontmatter parser, same tokenizer + stopword set, same
9
9
  * symbol-path regex, same Jaccard math with `round(x, 3)` banker's
10
10
  * rounding, same thresholds, same `combinations` pair order, same sort
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Skill preview — non-destructive "what will this skill do?" summary.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_preview.py` (ADR-200 — Python→TS
5
+ * Ported from the retired Python `src/scripts/skill_preview.py` (ADR-200 — Python→TS
6
6
  * migration, Phase 8 / Wave 8e). Public surface mirrors the Python module
7
7
  * exactly: `load_preview` / `render_plain` / `render_technical` / `PreviewError`,
8
8
  * the CLI flags (`name`, `--technical`, `--format text|json`), the exit codes
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D3 — audit_persona_coverage.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/audit_persona_coverage.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/audit_persona_coverage.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--skills-dir`, `--personas-dir`, `--json`), exit code (0 always),
8
8
  * stdout split, byte-identical human table AND byte-identical JSON
9
9
  * (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -23,7 +23,7 @@
23
23
  * Output: per-persona citation count + tier + status (ok / under-cited / orphan).
24
24
  * Exit code: 0 always (this is an advisory tool, not a CI gate).
25
25
  *
26
- * No behaviour changes — latent Python quirks replicated.
26
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
27
27
  */
28
28
  import * as fs from 'node:fs';
29
29
  import * as path from 'node:path';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D3 — audit_user_type_coverage.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/audit_user_type_coverage.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/audit_user_type_coverage.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--user-types-dir`, `--search-root`, `--json`), exit code (0
8
8
  * always), stdout split, byte-identical human table AND byte-identical JSON
9
9
  * (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -27,7 +27,7 @@
27
27
  * Output: per-user-type reference count + status (ok / never-referenced /
28
28
  * orphan). Exit code: 0 always (advisory, not a CI gate).
29
29
  *
30
- * No behaviour changes — latent Python quirks replicated.
30
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
31
31
  */
32
32
  import * as fs from 'node:fs';
33
33
  import * as path from 'node:path';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Block D pilot tools for skill discovery and persona auditing.
3
3
  *
4
- * TypeScript twin of `src/scripts/skill_tools/__init__.py` (ADR-200,
4
+ * Ported from the retired Python `src/scripts/skill_tools/__init__.py` (ADR-200,
5
5
  * Phase 8 Wave 8h). The Python package marker carries only a module
6
6
  * docstring; this index mirrors it as the package entry comment.
7
7
  *
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D5 — eval gate runner.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/run_block_d_eval.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/run_block_d_eval.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--skills-dir`, `--personas-dir`, `--corpus-dir`, `--json`), exit
8
8
  * codes (0 pass / 1 fail), stdout split, byte-identical human summary AND
9
9
  * byte-identical JSON (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -21,7 +21,7 @@
21
21
  *
22
22
  * Pilot pass = ≥ 2 / 3 tools pass. Anything less → kill switch.
23
23
  *
24
- * No behaviour changes — latent Python quirks replicated.
24
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
25
25
  */
26
26
  import * as fs from 'node:fs';
27
27
  import * as path from 'node:path';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D2 — score_skill_relevance.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/score_skill_relevance.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/score_skill_relevance.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--task`, `--skills-dir`, `--top`, `--json`, `--sample`), exit
8
8
  * codes (0 / 2), stdout/stderr split, byte-identical human table AND
9
9
  * byte-identical JSON (`json.dump(..., indent=2)`, ensure_ascii default).
@@ -28,7 +28,7 @@
28
28
  *
29
29
  * Output: ranked list with integer scores 0–100, descending. Ties break on name.
30
30
  *
31
- * No behaviour changes — latent Python quirks replicated.
31
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
32
32
  */
33
33
  import * as fs from 'node:fs';
34
34
  import * as path from 'node:path';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Block D · D4 — suggest_skill_for_task.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_tools/suggest_skill_for_task.py`
6
- * (ADR-200, Phase 8 Wave 8h). Mirrors the Python CLI contract EXACTLY —
5
+ * Ported from the retired Python `src/scripts/skill_tools/suggest_skill_for_task.py`
6
+ * (ADR-200, Phase 8 Wave 8h). The CLI contract is pinned —
7
7
  * flags (`--task`, `--skills-dir`, `--personas-dir`, `--top`, `--json`,
8
8
  * `--sample`), exit codes (0 / 2), stdout/stderr split, byte-identical
9
9
  * human output AND byte-identical JSON (`json.dump(..., indent=2)`,
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * Output: ranked combos with `skill`, `score`, `personas[]`, and `why`.
24
24
  *
25
- * No behaviour changes — latent Python quirks replicated.
25
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
26
26
  */
27
27
  import * as path from 'node:path';
28
28
  import * as fs from 'node:fs';
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Skill trigger evaluation runner.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_trigger_eval.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/skill_trigger_eval.py` (ADR-200,
6
6
  * Phase 8 / Wave 8b). The public surface, CLI contract, exit codes,
7
7
  * stdout/stderr split, byte-for-byte messages, the on-disk key gate
8
8
  * (0600 + `sk-ant-` prefix), the controlling-terminal confirmation gate,
9
9
  * and the written JSON (Python `json.dumps(asdict(result), indent=2)` +
10
- * trailing newline) mirror the Python original EXACTLY. No behaviour
10
+ * trailing newline) mirror the retired Python implementation EXACTLY. No behaviour
11
11
  * changes.
12
12
  *
13
13
  * Design notes preserved:
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Collect skill-activation signal from Claude Code session jsonl.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_usage_collect.py` (ADR-200, Phase 8 /
5
+ * Ported from the retired Python `src/scripts/skill_usage_collect.py` (ADR-200, Phase 8 /
6
6
  * Wave 8b). Mirrors the CLI contract EXACTLY — the `--project-slug`, `--out`,
7
7
  * `--quiet` flags, exit codes, the stdout/stderr split, byte-identical
8
8
  * messages AND the byte-identical appended JSONL (`json.dumps(rec,
@@ -16,7 +16,7 @@
16
16
  * Emits one JSONL record per (session, turn, slug, kind), append-only, deduped
17
17
  * on the (session_id, turn_idx, slug, kind) tuple.
18
18
  *
19
- * No behaviour changes — latent Python quirks replicated.
19
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
20
20
  */
21
21
  import * as crypto from 'node:crypto';
22
22
  import * as fs from 'node:fs';
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * Aggregate `agents/runtime/metrics/skill-usage.jsonl` into a per-skill report.
4
4
  *
5
- * TypeScript twin of `src/scripts/skill_usage_report.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/skill_usage_report.py` (ADR-200,
6
6
  * Phase 8 / Wave 8b). The public surface, CLI contract, exit code,
7
- * stdout text, and rendered markdown mirror the Python original EXACTLY
7
+ * stdout text, and rendered markdown mirror the retired Python implementation EXACTLY
8
8
  * — same record grouping, same 30-day window math, same status
9
9
  * classification, same known-slug discovery roots, same sort key, same
10
10
  * byte-for-byte report body. No behaviour changes.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Smoke-test path resolution against the package's own `.augment/` projection.
4
4
  *
5
- * TypeScript twin of `src/scripts/smoke_path_resolution.py` (ADR-200, Phase 8
6
- * / Wave 8h). Mirrors the Python CLI contract EXACTLY — no flags, exit codes
5
+ * Ported from the retired Python `src/scripts/smoke_path_resolution.py` (ADR-200, Phase 8
6
+ * / Wave 8h). The CLI contract is pinned — no flags, exit codes
7
7
  * (0 all entries resolve, 1 one or more misses, 3 no `.augment/rules/`),
8
8
  * byte-identical stdout/stderr. No behaviour changes.
9
9
  *
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env tsx
2
2
  /** Structural smoke-test for the README Quickstart path.
3
3
  *
4
- * TypeScript twin of `src/scripts/smoke_quickstart.py` (ADR-200, Phase 8 /
5
- * Wave 8h). Mirrors the Python CLI contract EXACTLY — no flags, exit codes
4
+ * Ported from the retired Python `src/scripts/smoke_quickstart.py` (ADR-200, Phase 8 /
5
+ * Wave 8h). The CLI contract is pinned — no flags, exit codes
6
6
  * (0 green, 1 one or more checks failed, 2 setup error), byte-identical
7
7
  * stdout/stderr (`::error::…` GitHub-annotation lines, the ✅/❌ summary). No
8
8
  * behaviour changes.
@@ -79,7 +79,7 @@ function _checkInstallerRuns(tmpdir: string): [number, string | null] {
79
79
  // ADR-020: --project is reserved for maintainers; CI is a maintainer context.
80
80
  const env = { ...process.env, AGENT_CONFIG_DEV_MODE: '1' };
81
81
  // Run the installer's `.ts` twin via the repo-local tsx binary (was
82
- // `python3 install.py`; the Python original is deleted).
82
+ // `python3 install.py`; the retired Python implementation is deleted).
83
83
  const result = spawnSync(TSX_BIN, cmd, {
84
84
  encoding: 'utf-8',
85
85
  timeout: 60000,
@@ -128,7 +128,7 @@ function _checkDefaultProfile(settings: string): number {
128
128
  * the same parse the runtime uses: extract the `decision_engine` block from the
129
129
  * settings YAML, feed it to `parse()`, and assert the result is a
130
130
  * `DecisionEngineSettings`. A parser rejection is reported via `_fail` so the
131
- * `::error::` annotation matches the Python original's failure shape.
131
+ * `::error::` annotation matches the retired Python implementation's failure shape.
132
132
  */
133
133
  function _checkDecisionEngineBlock(settings: string): number {
134
134
  const parsed: unknown = parseYaml(fs.readFileSync(settings, 'utf-8'), { version: '1.1' });
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Snapshot the agent-config build outputs for byte-identity verification.
4
4
  *
5
- * TypeScript twin of `src/scripts/snapshot_agent_outputs.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/snapshot_agent_outputs.py` (ADR-200,
6
6
  * Phase 8 / Wave 8b). Mirrors the CLI contract EXACTLY — the `--out` flag,
7
7
  * exit codes, the stdout/stderr split, byte-identical stdout AND the
8
8
  * byte-identical written snapshot JSON (`json.dumps(indent=2,
@@ -22,7 +22,7 @@
22
22
  * `_SKIP_NAMES`) for `verify_physical_move.ts`, mirroring the Python
23
23
  * `from snapshot_agent_outputs import (...)`.
24
24
  *
25
- * No behaviour changes — latent Python quirks replicated.
25
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
26
26
  */
27
27
  import * as crypto from 'node:crypto';
28
28
  import * as fs from 'node:fs';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env tsx
2
2
  /** Phase 6.6 platform spot-check via AI council.
3
3
  *
4
- * TypeScript twin of `src/scripts/spotcheck_thin_root.py` (ADR-200, Phase 8 /
4
+ * Ported from the retired Python `src/scripts/spotcheck_thin_root.py` (ADR-200, Phase 8 /
5
5
  * Wave 8h). Mirrors the Python contract — no flags, exit 0, the two
6
6
  * `Running … / ✅ Wrote …` stderr lines, and byte-identical written
7
7
  * `thin-root-platform-spotcheck.md` / `.json`. No behaviour changes.
@@ -73,7 +73,7 @@ interface ResponseRow {
73
73
 
74
74
  /**
75
75
  * Run the live council in-process via the `ai_council` TS twins. Returns the
76
- * council responses as plain rows. Mirrors the Python original's
76
+ * council responses as plain rows. Mirrors the retired Python implementation's
77
77
  * `consult(members, question, budget, table=table, rounds=1)` call exactly
78
78
  * (same members, prompt, max_tokens, budget). `table` + `rounds` ride in the
79
79
  * twin's `opts` argument.
@@ -35,6 +35,7 @@ clusters:
35
35
  ai_council: lab # multi-model council orchestration, external API deps
36
36
  command_suggester: lab # context-aware command suggestion engine, pilot
37
37
  cost: lab # cost tracking / budget gate (observability, Node .mjs)
38
+ mcp_exec: lab # compiled safety envelope for MCP exec-tier tools (run_tests pilot)
38
39
  mcp_server: lab # MCP stdio server, separate runtime, pilot distribution
39
40
  media: lab # shared adapter substrate for ai-video / ai-image
40
41
  parity: lab # py2ts parity rigs (compare / coverage-diff), migration tooling
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Sync `.agent-settings.yml` against the template + profile (additive merge).
4
4
  *
5
- * TypeScript twin of `src/scripts/sync_agent_settings.py` (ADR-200).
5
+ * Ported from the retired Python `src/scripts/sync_agent_settings.py` (ADR-200).
6
6
  * Applies the section-aware merge rules documented in
7
7
  * `docs/guidelines/agent-infra/layered-settings.md`:
8
8
  *
@@ -32,7 +32,7 @@
32
32
  * 0 — already in sync, or changes applied (or --dry-run ran cleanly)
33
33
  * 2 — drift detected under --check, or invalid arguments / missing files
34
34
  *
35
- * No behaviour changes vs. the Python original — latent bugs replicated.
35
+ * No behaviour changes vs. the retired Python implementation — historical quirks preserved (consumers pin the exact behaviour).
36
36
  */
37
37
 
38
38
  import * as fs from 'node:fs';
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Sync `.github/topics.yml` + `.github/about.yml` to the GitHub repo.
4
4
  *
5
- * TypeScript twin of `src/scripts/sync_github_metadata.py` (ADR-200, Phase 5).
6
- * The CLI contract is mirrored EXACTLY — every flag (`--apply`, `--strict`,
5
+ * Ported from the retired Python `src/scripts/sync_github_metadata.py` (ADR-200).
6
+ * The CLI contract is pinned — every flag (`--apply`, `--strict`,
7
7
  * `--quiet`, `--repo`), exit codes (0 = synced / applied; 2 = drift under
8
8
  * `--strict` dry-run; 1 = error via SystemExit — missing token, unresolvable
9
9
  * repo, HTTP/transport error), the stdout/stderr split, byte-identical
@@ -14,7 +14,7 @@
14
14
  * against a stub with zero network. Error-swallowing is mirrored exactly:
15
15
  * any HTTP / transport failure raises `ExitError` → message to stderr, exit 1.
16
16
  *
17
- * No behaviour changes — latent Python quirks replicated. NOTE: the audit log
17
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour. NOTE: the audit log
18
18
  * path mirrors the CODE constant (`agents/notes/visibility-sync-audit.md`),
19
19
  * not the docstring's `agents/evidence/notes/…` — DIVERGENCE CANDIDATE below.
20
20
  *
@@ -32,7 +32,7 @@ type Json = unknown;
32
32
  type JsonObject = Record<string, Json>;
33
33
 
34
34
  const _HERE = fileURLToPath(import.meta.url);
35
- // _HERE === <repo>/src/scripts/sync_github_metadata.ts ; the Python original
35
+ // _HERE === <repo>/src/scripts/sync_github_metadata.ts ; the retired Python implementation
36
36
  // derives ROOT = <file>.parents[2] — two dirs up from src/scripts.
37
37
  export const ROOT = path.resolve(path.dirname(_HERE), '..', '..');
38
38
 
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Sync the `event4u/agent-config` block in a project's `.gitignore`.
4
4
  *
5
- * TypeScript twin of `src/scripts/sync_gitignore.py` (ADR-200, Phase 5). The
5
+ * Ported from the retired Python `src/scripts/sync_gitignore.py` (ADR-200). The
6
6
  * CLI contract is mirrored EXACTLY — every flag (`--path`, `--template`,
7
7
  * `--dry-run`, `--replace`, `--cleanup-legacy`, `--quiet`), exit codes
8
8
  * (0 = no change / changed / dry-run; 2 = invalid args / template missing),
@@ -11,7 +11,7 @@
11
11
  * unified-diff format). Exported helpers keep their Python snake_case names so
12
12
  * the ported pytest suite can call them 1:1.
13
13
  *
14
- * No behaviour changes — latent Python quirks replicated.
14
+ * Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
15
15
  *
16
16
  * Reads the canonical block body from `src/config/gitignore-block.txt` and
17
17
  * ensures every managed entry is present in `.gitignore` between the
@@ -37,7 +37,7 @@ export const DEFAULT_GITIGNORE = '.gitignore';
37
37
 
38
38
  const _HERE = fileURLToPath(import.meta.url);
39
39
  // _HERE === <repo>/src/scripts/sync_gitignore.ts ; parents[2] of the .py file
40
- // is the repo root — two dirs up from src/scripts. The Python original derives
40
+ // is the repo root — two dirs up from src/scripts. the retired Python implementation derives
41
41
  // DEFAULT_TEMPLATE = <file>.parent.parent.parent / "src" / "config" /
42
42
  // "gitignore-block.txt".
43
43
  export const DEFAULT_TEMPLATE = path.join(
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Round-trip YAML layer for `.agent-settings.yml` syncs.
3
3
  *
4
- * TypeScript twin of `src/scripts/sync_yaml_rt.py` (ADR-200). Self-
4
+ * Ported from the retired Python `src/scripts/sync_yaml_rt.py` (ADR-200). Self-
5
5
  * contained, zero-dependency. Implements a narrow YAML subset with the
6
6
  * property *user-line preservation*: every line in the user input that
7
7
  * `parse` attaches to a `Node` is reproduced character-for-character by
@@ -35,7 +35,7 @@
35
35
  * - `heal_user_block(user, template) -> Node`
36
36
  * - `sync(user_text, template_text) -> string`
37
37
  *
38
- * No behaviour changes vs. the Python original — latent bugs replicated.
38
+ * No behaviour changes vs. the retired Python implementation — historical quirks preserved (consumers pin the exact behaviour).
39
39
  */
40
40
 
41
41
  // --- Public node ----------------------------------------------------
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Telegraph per-session / per-conversation / lifetime token-delta lens.
4
4
  *
5
- * TypeScript twin of `src/scripts/telegraph_stats.py` (ADR-200 — Python→TS
5
+ * Ported from the retired Python `src/scripts/telegraph_stats.py` (ADR-200 — Python→TS
6
6
  * migration, Phase 8 / Wave 8e). Public surface mirrors the Python module
7
7
  * exactly: same CLI flags (`--input`, `--format`), same exit code (0), same
8
8
  * stdout, and byte-identical `json.dumps(..., indent=2)` output.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Tool Registry — manages available external tools and their permissions.
4
4
  *
5
- * TypeScript twin of `src/scripts/tool_registry.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/tool_registry.py` (ADR-200 — Python→TS
6
+ * migration, Phase 8 / Wave 8e). The CLI contract is pinned:
7
7
  * same flags (`--format text|json`, `--validate-tools [...]`), same exit
8
8
  * codes (0 on success / valid, 1 when validation finds errors), same
9
9
  * byte-identical text + JSON output (json.dumps indent=2), same emoji
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Shared error types for tool adapters.
3
3
  *
4
- * TypeScript twin of `src/scripts/tools/adapter_errors.py` (ADR-200 —
4
+ * Ported from the retired Python `src/scripts/tools/adapter_errors.py` (ADR-200 —
5
5
  * Python→TS migration, Phase 1 / tools adapter cluster). Public API mirrors
6
6
  * the Python module exactly (snake_case kept deliberately — fidelity over TS
7
7
  * idiom): the `AdapterErrorType` string enum, the `AdapterError` value shape
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * No real API calls are made by the base — adapters return structured results.
11
11
  *
12
- * TypeScript twin of `src/scripts/tools/base_adapter.py` (ADR-200 — Python→TS
12
+ * Ported from the retired Python `src/scripts/tools/base_adapter.py` (ADR-200 — Python→TS
13
13
  * migration, Phase 1 / tools adapter cluster). Public API mirrors the Python
14
14
  * module exactly (snake_case kept deliberately — fidelity over TS idiom):
15
15
  * the `ToolAction` / `ToolResult` value shapes, `ToolResult.to_dict()` with
@@ -5,7 +5,7 @@
5
5
  * Write actions remain scaffold-only (never auto-executed).
6
6
  * Falls back to scaffold data when no token is present.
7
7
  *
8
- * TypeScript twin of `src/scripts/tools/github_adapter.py` (ADR-200 —
8
+ * Ported from the retired Python `src/scripts/tools/github_adapter.py` (ADR-200 —
9
9
  * Python→TS migration, Phase 1 / tools adapter cluster). Public API mirrors
10
10
  * the Python module exactly (snake_case kept deliberately): the
11
11
  * `read_pr` / `read_issue` / `list_files` / `read_commit` / `create_pr`
@@ -5,7 +5,7 @@
5
5
  * set. Write actions remain scaffold-only (never auto-executed). Falls back to
6
6
  * scaffold data when no credentials are present.
7
7
  *
8
- * TypeScript twin of `src/scripts/tools/jira_adapter.py` (ADR-200 — Python→TS
8
+ * Ported from the retired Python `src/scripts/tools/jira_adapter.py` (ADR-200 — Python→TS
9
9
  * migration, Phase 1 / tools adapter cluster). Public API mirrors the Python
10
10
  * module exactly (snake_case kept deliberately): the
11
11
  * `read_ticket` / `search_tickets` / `add_comment` / `transition_ticket`