@event4u/agent-config 8.4.1 → 8.6.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 (581) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +92 -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} +38 -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/auto-dispatch-classification.md +30 -0
  38. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +15 -1
  39. package/dist/agent-src/contexts/execution/subagent-steering.md +54 -1
  40. package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
  41. package/dist/agent-src/contexts/model-recommendations.md +19 -0
  42. package/dist/agent-src/contexts/skills-and-commands.md +2 -2
  43. package/dist/agent-src/contexts/subagent-configuration.md +8 -0
  44. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
  45. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +2 -2
  46. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  47. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +1 -1
  48. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -1
  49. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +1 -1
  50. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  51. package/dist/agent-src/skills/judge-test-coverage/SKILL.md +1 -1
  52. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  53. package/dist/agent-src/skills/mobile-e2e-strategy/SKILL.md +5 -5
  54. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +2 -2
  55. package/dist/agent-src/skills/quality-tools/SKILL.md +1 -1
  56. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  57. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  58. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  59. package/dist/agent-src/templates/agent-settings.md +1 -1
  60. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
  61. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  62. package/dist/cli/commands/config.js +44 -0
  63. package/dist/cli/commands/config.js.map +1 -0
  64. package/dist/cli/commands/uiServe.js +1 -0
  65. package/dist/cli/commands/uiServe.js.map +1 -1
  66. package/dist/cli/help.js +38 -0
  67. package/dist/cli/help.js.map +1 -0
  68. package/dist/cli/initRouting.js +16 -1
  69. package/dist/cli/initRouting.js.map +1 -1
  70. package/dist/cli/main.js +43 -37
  71. package/dist/cli/main.js.map +1 -1
  72. package/dist/cli/registry.js +45 -44
  73. package/dist/cli/registry.js.map +1 -1
  74. package/dist/discovery/deprecation-report.md +1 -1
  75. package/dist/discovery/discovery-manifest.json +419 -210
  76. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  77. package/dist/discovery/discovery-manifest.summary.md +4 -4
  78. package/dist/discovery/orphan-report.md +1 -1
  79. package/dist/discovery/packs.json +31 -25
  80. package/dist/discovery/trust-report.md +2 -2
  81. package/dist/discovery/workspaces.json +30 -24
  82. package/dist/install/install.mjs +6064 -159
  83. package/dist/install/selectedTools.js +39 -10
  84. package/dist/install/selectedTools.js.map +1 -1
  85. package/dist/mcp/registry-manifest.json +3 -3
  86. package/dist/server/app.js +15 -3
  87. package/dist/server/app.js.map +1 -1
  88. package/dist/server/routes/ping.js +16 -0
  89. package/dist/server/routes/ping.js.map +1 -1
  90. package/dist/server/routes/settings.js +42 -6
  91. package/dist/server/routes/settings.js.map +1 -1
  92. package/dist/server/routes/settingsChanges.js +55 -0
  93. package/dist/server/routes/settingsChanges.js.map +1 -0
  94. package/dist/server/routes/userMd.js +7 -2
  95. package/dist/server/routes/userMd.js.map +1 -1
  96. package/dist/server/routes/wizard.js +76 -14
  97. package/dist/server/routes/wizard.js.map +1 -1
  98. package/dist/server/writeRoot.js +17 -0
  99. package/dist/server/writeRoot.js.map +1 -1
  100. package/dist/shared/settingsSurface.js +120 -0
  101. package/dist/shared/settingsSurface.js.map +1 -0
  102. package/dist/ui/assets/index-BPFMZWUs.css +1 -0
  103. package/dist/ui/assets/index-BiEZiZ31.js +40 -0
  104. package/dist/ui/assets/index-BiEZiZ31.js.map +1 -0
  105. package/dist/ui/index.html +15 -2
  106. package/docs/CLAIMS.md +27 -15
  107. package/docs/architecture.md +1 -1
  108. package/docs/catalog.md +37 -31
  109. package/docs/command-flows.md +22 -16
  110. package/docs/contracts/command-clusters.md +39 -9
  111. package/docs/contracts/file-ownership-matrix.json +21 -0
  112. package/docs/contracts/frontmatter-contract.md +1 -1
  113. package/docs/contracts/gui-wizard.md +16 -4
  114. package/docs/contracts/iron-law-overrides.txt +1 -0
  115. package/docs/contracts/rule-classification.md +2 -2
  116. package/docs/contracts/settings-api.md +58 -2
  117. package/docs/contracts/surface-matrix.md +5 -0
  118. package/docs/cookbook.md +7 -7
  119. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +74 -0
  120. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +91 -0
  121. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +125 -0
  122. package/docs/decisions/INDEX.md +3 -0
  123. package/docs/featured-commands.md +1 -1
  124. package/docs/featured-skills.md +4 -4
  125. package/docs/flows.md +2 -2
  126. package/docs/getting-started-by-role.md +1 -1
  127. package/docs/getting-started-laravel.md +1 -1
  128. package/docs/getting-started.md +6 -3
  129. package/docs/governance-advantage.md +1 -1
  130. package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
  131. package/docs/guidelines/agent-infra/ios-simulator-guide.md +1 -1
  132. package/docs/proof.md +12 -2
  133. package/package.json +3 -1
  134. package/src/agent-src/README.md +1 -1
  135. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  136. package/src/config/agent-settings.template.yml +1 -1
  137. package/src/install/selectedTools.ts +38 -10
  138. package/src/scripts/_cli/cmd_converge.ts +38 -0
  139. package/src/scripts/_cli/cmd_doctor.ts +113 -2
  140. package/src/scripts/_cli/cmd_explain.ts +2 -2
  141. package/src/scripts/_cli/cmd_export.ts +3 -3
  142. package/src/scripts/_cli/cmd_fleet.ts +13 -1
  143. package/src/scripts/_cli/cmd_migrate.ts +3 -3
  144. package/src/scripts/_cli/cmd_prune.ts +2 -2
  145. package/src/scripts/_cli/cmd_refresh.ts +4 -4
  146. package/src/scripts/_cli/cmd_settings_check.ts +2 -2
  147. package/src/scripts/_cli/cmd_settings_migrate.ts +2 -2
  148. package/src/scripts/_cli/cmd_sync.ts +2 -2
  149. package/src/scripts/_cli/cmd_uninstall.ts +2 -2
  150. package/src/scripts/_cli/cmd_update.ts +8 -8
  151. package/src/scripts/_cli/cmd_upgrade.ts +4 -3
  152. package/src/scripts/_cli/cmd_validate.ts +3 -3
  153. package/src/scripts/_cli/cmd_versions.ts +2 -2
  154. package/src/scripts/_cli/explain_last/assumptions.ts +2 -2
  155. package/src/scripts/_cli/explain_last/council.ts +2 -2
  156. package/src/scripts/_cli/explain_last/halt.ts +2 -2
  157. package/src/scripts/_cli/explain_last/index.ts +2 -2
  158. package/src/scripts/_cli/explain_last/inputs.ts +4 -4
  159. package/src/scripts/_cli/explain_last/memory.ts +2 -2
  160. package/src/scripts/_cli/explain_last/provider.ts +2 -2
  161. package/src/scripts/_cli/explain_last/render.ts +2 -2
  162. package/src/scripts/_cli/explain_last/route.ts +2 -2
  163. package/src/scripts/_cli/explain_last/scrubber.ts +2 -2
  164. package/src/scripts/_cli/explain_last/sections/assumptions.ts +2 -2
  165. package/src/scripts/_cli/explain_last/sections/council.ts +2 -2
  166. package/src/scripts/_cli/explain_last/sections/halt.ts +2 -2
  167. package/src/scripts/_cli/explain_last/sections/header.ts +2 -2
  168. package/src/scripts/_cli/explain_last/sections/index.ts +1 -1
  169. package/src/scripts/_cli/explain_last/sections/inputs.ts +2 -2
  170. package/src/scripts/_cli/explain_last/sections/memory.ts +2 -2
  171. package/src/scripts/_cli/explain_last/sections/pack.ts +2 -2
  172. package/src/scripts/_cli/explain_last/sections/provider.ts +2 -2
  173. package/src/scripts/_cli/explain_last/sections/route.ts +2 -2
  174. package/src/scripts/_cli/explain_last/state_loader.ts +2 -2
  175. package/src/scripts/_dispatch.bash +20 -1
  176. package/src/scripts/_lib/agent_settings.ts +1 -1
  177. package/src/scripts/_lib/agent_src.ts +7 -7
  178. package/src/scripts/_lib/agents_overlay.ts +1 -1
  179. package/src/scripts/_lib/auto_dispatch.ts +63 -0
  180. package/src/scripts/_lib/bench_ab_cache.ts +1 -1
  181. package/src/scripts/_lib/bench_ab_scoring.ts +1 -1
  182. package/src/scripts/_lib/bench_ab_scoring_v2.ts +3 -3
  183. package/src/scripts/_lib/bench_cost.ts +1 -1
  184. package/src/scripts/_lib/bench_quality.ts +3 -3
  185. package/src/scripts/_lib/bench_report.ts +4 -4
  186. package/src/scripts/_lib/bench_telegraph.ts +1 -1
  187. package/src/scripts/_lib/bench_telegraph_report.ts +4 -4
  188. package/src/scripts/_lib/changelog_eras.ts +1 -1
  189. package/src/scripts/_lib/claude_desktop_bundler.ts +1 -1
  190. package/src/scripts/_lib/cli_wrapper.ts +1 -1
  191. package/src/scripts/_lib/fs_atomic.ts +1 -1
  192. package/src/scripts/_lib/global_deploy_inventory.ts +1 -1
  193. package/src/scripts/_lib/install_layout.ts +1 -1
  194. package/src/scripts/_lib/install_regenerator.ts +1 -1
  195. package/src/scripts/_lib/installed_lock.ts +1 -1
  196. package/src/scripts/_lib/installed_tools.ts +1 -1
  197. package/src/scripts/_lib/json_pointers.ts +1 -1
  198. package/src/scripts/_lib/knowledge_global.ts +1 -1
  199. package/src/scripts/_lib/knowledge_global_promote.ts +2 -2
  200. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  201. package/src/scripts/_lib/link_crypto.ts +4 -4
  202. package/src/scripts/_lib/linked_projects.ts +4 -4
  203. package/src/scripts/_lib/model_tier.ts +1 -1
  204. package/src/scripts/_lib/module_detection.ts +2 -2
  205. package/src/scripts/_lib/pin_resolver.ts +1 -1
  206. package/src/scripts/_lib/script_output.ts +1 -1
  207. package/src/scripts/_lib/security_lint.ts +1 -1
  208. package/src/scripts/_lib/subagent_routing.ts +24 -0
  209. package/src/scripts/_lib/subagent_steering.ts +213 -3
  210. package/src/scripts/_lib/surface_tiers.ts +1 -1
  211. package/src/scripts/_lib/text_similarity.ts +1 -1
  212. package/src/scripts/_lib/update_check.ts +2 -2
  213. package/src/scripts/_lib/user_global_paths.ts +1 -1
  214. package/src/scripts/_lib/value_ladder.ts +1 -1
  215. package/src/scripts/_lib/value_report.ts +1 -1
  216. package/src/scripts/_lib/zip_min.ts +2 -2
  217. package/src/scripts/adoption_report.ts +3 -3
  218. package/src/scripts/adoption_snapshot.ts +3 -3
  219. package/src/scripts/adoption_status.ts +2 -2
  220. package/src/scripts/adr/regenerate_index.ts +3 -3
  221. package/src/scripts/ai_council/_default_prices.ts +2 -3
  222. package/src/scripts/ai_council/advisors.ts +1 -1
  223. package/src/scripts/ai_council/airgap.ts +1 -1
  224. package/src/scripts/ai_council/budget_guard.ts +1 -1
  225. package/src/scripts/ai_council/bundler.ts +1 -1
  226. package/src/scripts/ai_council/cli_hints.ts +1 -1
  227. package/src/scripts/ai_council/clients.ts +5 -5
  228. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  229. package/src/scripts/ai_council/confidence_gate.ts +1 -1
  230. package/src/scripts/ai_council/config.ts +1 -1
  231. package/src/scripts/ai_council/consensus.ts +1 -1
  232. package/src/scripts/ai_council/events_log.ts +1 -1
  233. package/src/scripts/ai_council/learn_low_impact_preview.ts +1 -1
  234. package/src/scripts/ai_council/low_impact_corpus.ts +1 -1
  235. package/src/scripts/ai_council/low_impact_intake.ts +1 -1
  236. package/src/scripts/ai_council/modes.ts +1 -1
  237. package/src/scripts/ai_council/orchestrator.ts +3 -3
  238. package/src/scripts/ai_council/pricing.ts +2 -2
  239. package/src/scripts/ai_council/probation_gate.ts +2 -2
  240. package/src/scripts/ai_council/project_context.ts +1 -1
  241. package/src/scripts/ai_council/prompts.ts +1 -1
  242. package/src/scripts/ai_council/redact_low_impact_entry.ts +2 -2
  243. package/src/scripts/ai_council/session.ts +1 -1
  244. package/src/scripts/ai_council/shadow_dispatch.ts +1 -1
  245. package/src/scripts/ai_council/solo_dispatch.ts +1 -1
  246. package/src/scripts/analysis_freshness.ts +2 -2
  247. package/src/scripts/annotate_discovery.ts +2 -2
  248. package/src/scripts/apply_modules_config.ts +2 -2
  249. package/src/scripts/audit_adr_coverage.ts +3 -3
  250. package/src/scripts/audit_auto_rules.ts +2 -2
  251. package/src/scripts/audit_cloud_compatibility.ts +3 -3
  252. package/src/scripts/audit_command_surface.ts +2 -2
  253. package/src/scripts/audit_initial_context.ts +7 -6
  254. package/src/scripts/audit_likelihood.ts +5 -5
  255. package/src/scripts/audit_mcp_tools.ts +3 -3
  256. package/src/scripts/audit_overlap.ts +2 -2
  257. package/src/scripts/audit_skill_descriptions.ts +2 -2
  258. package/src/scripts/audit_skill_overlap.ts +5 -5
  259. package/src/scripts/audit_user_type_axis.ts +4 -4
  260. package/src/scripts/backfill_model_tier.ts +1 -1
  261. package/src/scripts/bench_ab_cache_dispatch.ts +2 -2
  262. package/src/scripts/bench_ab_clone.ts +2 -2
  263. package/src/scripts/bench_ab_diff.ts +3 -3
  264. package/src/scripts/bench_ab_integrity.ts +2 -2
  265. package/src/scripts/bench_ab_run.ts +4 -4
  266. package/src/scripts/bench_ab_task_runner.ts +1 -1
  267. package/src/scripts/bench_ab_tracka_run.ts +2 -2
  268. package/src/scripts/bench_ab_v2_run.ts +1 -1
  269. package/src/scripts/bench_ab_v2_stats.ts +2 -2
  270. package/src/scripts/bench_baseline_ready.ts +1 -1
  271. package/src/scripts/bench_condense_memory.ts +4 -4
  272. package/src/scripts/bench_drift_check.ts +3 -3
  273. package/src/scripts/bench_per_tool.ts +1 -1
  274. package/src/scripts/bench_rtk_savings.ts +4 -4
  275. package/src/scripts/bench_run.ts +4 -4
  276. package/src/scripts/bench_runner.ts +1 -1
  277. package/src/scripts/build_cloud_bundle.ts +3 -3
  278. package/src/scripts/build_discovery_manifest.ts +13 -15
  279. package/src/scripts/build_linear_digest.ts +2 -2
  280. package/src/scripts/build_mcp_registry_manifest.ts +3 -3
  281. package/src/scripts/build_proof.ts +6 -0
  282. package/src/scripts/build_rule_trigger_matrix.ts +2 -2
  283. package/src/scripts/capture_showcase_session.ts +3 -3
  284. package/src/scripts/chat_history.ts +1 -1
  285. package/src/scripts/check_always_budget.ts +1 -1
  286. package/src/scripts/check_artefact_checksums.ts +4 -4
  287. package/src/scripts/check_artefact_count_messaging.ts +197 -0
  288. package/src/scripts/check_augment_description_cap.ts +3 -3
  289. package/src/scripts/check_augmentignore.ts +1 -1
  290. package/src/scripts/check_beta_review_markers.ts +3 -3
  291. package/src/scripts/check_bite_sized_granularity.ts +1 -1
  292. package/src/scripts/check_cluster_patterns.ts +47 -3
  293. package/src/scripts/check_command_count_messaging.ts +2 -2
  294. package/src/scripts/check_condensation.ts +2 -2
  295. package/src/scripts/check_condensed_paths.ts +6 -6
  296. package/src/scripts/check_context_paths.ts +1 -1
  297. package/src/scripts/check_council_config_location.ts +3 -3
  298. package/src/scripts/check_council_layout.ts +2 -2
  299. package/src/scripts/check_council_references.ts +2 -2
  300. package/src/scripts/check_discovery_determinism.ts +3 -3
  301. package/src/scripts/check_gate_paths.ts +4 -4
  302. package/src/scripts/check_iron_law_prominence.ts +2 -2
  303. package/src/scripts/check_kernel_rule_bundle.ts +3 -3
  304. package/src/scripts/check_knowledge_cards.ts +4 -4
  305. package/src/scripts/check_knowledge_pages.ts +1 -1
  306. package/src/scripts/check_md_language.ts +3 -3
  307. package/src/scripts/check_memory.ts +3 -3
  308. package/src/scripts/check_memory_proposal.ts +2 -2
  309. package/src/scripts/check_module_management_neutral.ts +1 -1
  310. package/src/scripts/check_no_conflict_markers.ts +1 -1
  311. package/src/scripts/check_no_external_sources.ts +1 -1
  312. package/src/scripts/check_no_local_settings_committed.ts +2 -2
  313. package/src/scripts/check_no_new_legacy_path.ts +3 -3
  314. package/src/scripts/check_no_roadmap_refs.ts +3 -3
  315. package/src/scripts/check_one_off_location.ts +3 -3
  316. package/src/scripts/check_overlay_cascade_subdirs.ts +3 -3
  317. package/src/scripts/check_portability.ts +3 -3
  318. package/src/scripts/check_proposal.ts +0 -0
  319. package/src/scripts/check_public_catalog_links.ts +1 -1
  320. package/src/scripts/check_public_links.ts +2 -2
  321. package/src/scripts/check_references.ts +3 -3
  322. package/src/scripts/check_release_includes_discovery.ts +2 -2
  323. package/src/scripts/check_release_pr_shape.ts +2 -2
  324. package/src/scripts/check_release_published.ts +1 -1
  325. package/src/scripts/check_release_trunk_sync.ts +3 -3
  326. package/src/scripts/check_reply_consistency.ts +1 -1
  327. package/src/scripts/check_roadmap_trackable.ts +2 -2
  328. package/src/scripts/check_role_doc_links.ts +2 -2
  329. package/src/scripts/check_safety_floor_untouched.ts +3 -3
  330. package/src/scripts/check_skill_requires.ts +2 -2
  331. package/src/scripts/check_structural_breaking.ts +2 -2
  332. package/src/scripts/check_surface_tiers.ts +2 -2
  333. package/src/scripts/check_template_pin_drift.ts +1 -1
  334. package/src/scripts/check_test_coverage_diff.ts +2 -2
  335. package/src/scripts/check_token_optimizer_freshness.ts +3 -3
  336. package/src/scripts/check_trigger_evals.ts +2 -2
  337. package/src/scripts/check_update_banner.ts +1 -1
  338. package/src/scripts/ci_status.ts +0 -0
  339. package/src/scripts/ci_summary.ts +3 -3
  340. package/src/scripts/ci_time_ratio.ts +1 -1
  341. package/src/scripts/command_suggester/cooldown.ts +1 -1
  342. package/src/scripts/command_suggester/index.ts +1 -1
  343. package/src/scripts/command_suggester/loader.ts +1 -1
  344. package/src/scripts/command_suggester/match.ts +1 -1
  345. package/src/scripts/command_suggester/rank.ts +1 -1
  346. package/src/scripts/command_suggester/render.ts +1 -1
  347. package/src/scripts/command_suggester/sanitize.ts +1 -1
  348. package/src/scripts/command_suggester/settings.ts +1 -1
  349. package/src/scripts/command_suggester/types.ts +0 -0
  350. package/src/scripts/compile_router.ts +4 -4
  351. package/src/scripts/condense.ts +3 -3
  352. package/src/scripts/condense_memory.ts +1 -1
  353. package/src/scripts/config/index.ts +1 -1
  354. package/src/scripts/config/packs.ts +1 -1
  355. package/src/scripts/config/presets.ts +1 -1
  356. package/src/scripts/config/profile_explain.ts +1 -1
  357. package/src/scripts/config/profiles.ts +1 -1
  358. package/src/scripts/config/session_profiles.ts +1 -1
  359. package/src/scripts/context_hygiene_hook.ts +2 -2
  360. package/src/scripts/cost_by_conversation.ts +1 -1
  361. package/src/scripts/cost_summary.ts +2 -2
  362. package/src/scripts/council_cli.ts +1 -1
  363. package/src/scripts/council_prune.ts +1 -1
  364. package/src/scripts/cross_repo_retrieve.ts +2 -2
  365. package/src/scripts/discovery_stats.ts +3 -3
  366. package/src/scripts/evidence_report.ts +4 -4
  367. package/src/scripts/extract_audit_patterns.ts +2 -2
  368. package/src/scripts/first_run_gate_hook.ts +1 -1
  369. package/src/scripts/gen_discovery_baseline.ts +2 -2
  370. package/src/scripts/generate_capabilities_index.ts +2 -2
  371. package/src/scripts/generate_capability_matrix.ts +2 -2
  372. package/src/scripts/generate_catalog.ts +2 -2
  373. package/src/scripts/generate_command_flows.ts +2 -2
  374. package/src/scripts/generate_cookbook.ts +1 -1
  375. package/src/scripts/generate_index.ts +3 -3
  376. package/src/scripts/generate_ownership_matrix.ts +2 -2
  377. package/src/scripts/generate_pack_manifests.ts +2 -2
  378. package/src/scripts/generate_role_experiences_catalog.ts +3 -3
  379. package/src/scripts/hooks/block_no_verify.ts +2 -2
  380. package/src/scripts/hooks/dispatch_hook.ts +2 -2
  381. package/src/scripts/hooks/dispatch_issues.ts +1 -1
  382. package/src/scripts/hooks/envelope.ts +1 -1
  383. package/src/scripts/hooks/replay_hook.ts +1 -1
  384. package/src/scripts/hooks/state_io.ts +1 -1
  385. package/src/scripts/hooks_doctor.ts +1 -1
  386. package/src/scripts/hooks_status.ts +1 -1
  387. package/src/scripts/injection_scan_hook.ts +1 -1
  388. package/src/scripts/install.ts +145 -3
  389. package/src/scripts/inventory_abstraction_budget.ts +5 -5
  390. package/src/scripts/inventory_frontmatter.ts +1 -1
  391. package/src/scripts/inventory_meta_layers.ts +1 -1
  392. package/src/scripts/iron_law_sha.ts +1 -1
  393. package/src/scripts/knowledge_global_cli.ts +3 -3
  394. package/src/scripts/linked_projects_list.ts +1 -1
  395. package/src/scripts/lint_agent_security.ts +4 -4
  396. package/src/scripts/lint_agent_skill_names.ts +1 -1
  397. package/src/scripts/lint_agents_layout.ts +2 -2
  398. package/src/scripts/lint_agents_md.ts +3 -3
  399. package/src/scripts/lint_archived_skills.ts +2 -2
  400. package/src/scripts/lint_artefact_frontmatter.ts +2 -2
  401. package/src/scripts/lint_bench_ab.ts +2 -2
  402. package/src/scripts/lint_bench_corpus.ts +1 -1
  403. package/src/scripts/lint_command_flow_coverage.ts +1 -1
  404. package/src/scripts/lint_command_routing.ts +2 -2
  405. package/src/scripts/lint_command_tiers.ts +1 -1
  406. package/src/scripts/lint_command_verbs.ts +4 -4
  407. package/src/scripts/lint_commit_subjects.ts +2 -2
  408. package/src/scripts/lint_context_spine_usage.ts +3 -3
  409. package/src/scripts/lint_discovery_manifest.ts +4 -4
  410. package/src/scripts/lint_discovery_vocabulary.ts +2 -2
  411. package/src/scripts/lint_empty_roadmaps.ts +3 -3
  412. package/src/scripts/lint_eval_freshness.ts +2 -2
  413. package/src/scripts/lint_examples.ts +2 -2
  414. package/src/scripts/lint_explain_trace.ts +2 -2
  415. package/src/scripts/lint_featured_skills.ts +0 -0
  416. package/src/scripts/lint_flows.ts +5 -5
  417. package/src/scripts/lint_framework_leakage.ts +1 -1
  418. package/src/scripts/lint_framework_leakage_allowlist.json +10 -2
  419. package/src/scripts/lint_frontmatter_boilerplate.ts +2 -2
  420. package/src/scripts/lint_ghostwriter_source.ts +3 -3
  421. package/src/scripts/lint_global_paths.ts +1 -1
  422. package/src/scripts/lint_handoffs.ts +1 -1
  423. package/src/scripts/lint_hidden_unicode.ts +1 -1
  424. package/src/scripts/lint_hook_concern_budget.ts +2 -2
  425. package/src/scripts/lint_hook_manifest.ts +2 -2
  426. package/src/scripts/lint_instruction_smuggling.ts +1 -1
  427. package/src/scripts/lint_load_context.ts +2 -2
  428. package/src/scripts/lint_marketplace.ts +1 -1
  429. package/src/scripts/lint_marketplace_install_completeness.ts +2 -2
  430. package/src/scripts/lint_mcp_config_security.ts +1 -1
  431. package/src/scripts/lint_mcp_registry_manifest.ts +1 -1
  432. package/src/scripts/lint_media_policy_linkage.ts +3 -3
  433. package/src/scripts/lint_missions.ts +3 -3
  434. package/src/scripts/lint_model_tier_coverage.ts +3 -3
  435. package/src/scripts/lint_namespace.ts +2 -2
  436. package/src/scripts/lint_namespace_collisions.ts +2 -2
  437. package/src/scripts/lint_new_skill_gate.ts +3 -3
  438. package/src/scripts/lint_no_new_atomic_commands.ts +9 -6
  439. package/src/scripts/lint_no_python_twin_rationale.ts +102 -0
  440. package/src/scripts/lint_one_off_age.ts +2 -2
  441. package/src/scripts/lint_orchestration_dsl.ts +3 -3
  442. package/src/scripts/lint_orchestrator_auto_detect.ts +1 -1
  443. package/src/scripts/lint_pack_boundaries.ts +2 -2
  444. package/src/scripts/lint_pack_dependencies.ts +2 -2
  445. package/src/scripts/lint_pack_first_win.ts +2 -2
  446. package/src/scripts/lint_persona_governance.ts +3 -3
  447. package/src/scripts/lint_positioning.ts +1 -1
  448. package/src/scripts/lint_profile_overlay_set_only.ts +2 -2
  449. package/src/scripts/lint_readme_jargon.ts +2 -2
  450. package/src/scripts/lint_readme_size.ts +2 -2
  451. package/src/scripts/lint_regression.ts +3 -3
  452. package/src/scripts/lint_roadmap_ci_steps.ts +3 -3
  453. package/src/scripts/lint_roadmap_complexity.ts +1 -1
  454. package/src/scripts/lint_roadmap_later_disposition.ts +2 -2
  455. package/src/scripts/lint_role_experiences.ts +2 -2
  456. package/src/scripts/lint_rule_interactions.ts +1 -1
  457. package/src/scripts/lint_rule_tiers.ts +1 -1
  458. package/src/scripts/lint_showcase_sessions.ts +2 -2
  459. package/src/scripts/lint_skill_frontmatter_safety.ts +1 -1
  460. package/src/scripts/lint_skill_originality.ts +1 -1
  461. package/src/scripts/lint_skill_tools.ts +3 -3
  462. package/src/scripts/lint_ticket_buildable.ts +2 -2
  463. package/src/scripts/lint_topics_yaml.ts +3 -3
  464. package/src/scripts/lint_trust_coherence.ts +3 -3
  465. package/src/scripts/lint_value_dashboard.ts +3 -3
  466. package/src/scripts/lint_workflow_security.ts +3 -3
  467. package/src/scripts/lint_workspace_boundary.ts +2 -2
  468. package/src/scripts/mcp_parity_smoke.ts +1 -1
  469. package/src/scripts/mcp_render.ts +1 -1
  470. package/src/scripts/mcp_server/catalog.ts +1 -1
  471. package/src/scripts/mcp_server/index.ts +1 -1
  472. package/src/scripts/mcp_server/metadata.ts +1 -1
  473. package/src/scripts/mcp_server/prompts.ts +1 -1
  474. package/src/scripts/mcp_server/resources.ts +1 -1
  475. package/src/scripts/mcp_server/server.ts +1 -1
  476. package/src/scripts/mcp_server/telemetry.ts +1 -1
  477. package/src/scripts/mcp_server/tools.ts +1 -1
  478. package/src/scripts/mcp_telemetry_health.ts +1 -1
  479. package/src/scripts/mcp_telemetry_query.ts +3 -3
  480. package/src/scripts/mcp_telemetry_store.ts +3 -3
  481. package/src/scripts/measure_augment_budget.ts +2 -2
  482. package/src/scripts/measure_density.ts +2 -2
  483. package/src/scripts/measure_frugality_savings.ts +3 -3
  484. package/src/scripts/measure_markitdown_lift.ts +1 -1
  485. package/src/scripts/measure_patterns.ts +1 -1
  486. package/src/scripts/measure_projection_bytes.ts +1 -1
  487. package/src/scripts/measure_rule_budget.ts +1 -1
  488. package/src/scripts/measure_skill_reduction.ts +1 -1
  489. package/src/scripts/memory_hash.ts +1 -1
  490. package/src/scripts/memory_lookup.ts +6 -6
  491. package/src/scripts/memory_report.ts +1 -1
  492. package/src/scripts/memory_signal.ts +1 -1
  493. package/src/scripts/memory_status.ts +2 -2
  494. package/src/scripts/migrate_command_suggestions.ts +1 -1
  495. package/src/scripts/migrate_frontmatter_defaults.ts +1 -1
  496. package/src/scripts/mine_session.ts +3 -3
  497. package/src/scripts/minimal_safe_diff_hook.ts +2 -2
  498. package/src/scripts/move_artefact.ts +3 -3
  499. package/src/scripts/new_skill.ts +3 -3
  500. package/src/scripts/onboarding_gate_hook.ts +2 -2
  501. package/src/scripts/pack_mcp_content.ts +1 -1
  502. package/src/scripts/parity/replay.ts +3 -2
  503. package/src/scripts/pattern_share.ts +2 -2
  504. package/src/scripts/plan_physical_move.ts +3 -3
  505. package/src/scripts/prediction-pool/poisson_sim.ts +2 -2
  506. package/src/scripts/prediction-pool/pool_winsim.ts +2 -2
  507. package/src/scripts/prediction-pool/score_ev.ts +2 -2
  508. package/src/scripts/print_required_checks.ts +2 -2
  509. package/src/scripts/probe_projection_fidelity.ts +2 -2
  510. package/src/scripts/probe_skill_registration.ts +2 -2
  511. package/src/scripts/profile_staleness_hook.ts +2 -2
  512. package/src/scripts/profile_use.ts +2 -2
  513. package/src/scripts/project_thin_rules.ts +3 -3
  514. package/src/scripts/propose_modules_config.ts +2 -2
  515. package/src/scripts/prototype_lint_contradictions.ts +2 -2
  516. package/src/scripts/prove_pack_extractable.ts +1 -1
  517. package/src/scripts/readme_linter.ts +4 -4
  518. package/src/scripts/redact_hook_capture.ts +2 -2
  519. package/src/scripts/refine_ticket_detect.ts +1 -1
  520. package/src/scripts/release.ts +30 -19
  521. package/src/scripts/render_benchmark_md.ts +2 -2
  522. package/src/scripts/render_value_md.ts +2 -2
  523. package/src/scripts/roadmap_progress_hook.ts +1 -1
  524. package/src/scripts/router_telemetry.ts +1 -1
  525. package/src/scripts/run_skill_evals.ts +2 -2
  526. package/src/scripts/runtime_dispatcher.ts +1 -1
  527. package/src/scripts/runtime_handler.ts +1 -1
  528. package/src/scripts/runtime_registry.ts +3 -3
  529. package/src/scripts/score_skill_selection.ts +1 -1
  530. package/src/scripts/security_audit_config.ts +2 -2
  531. package/src/scripts/skill_collision_clusters.ts +1 -1
  532. package/src/scripts/skill_discovery.ts +1 -1
  533. package/src/scripts/skill_linter.ts +8 -7
  534. package/src/scripts/skill_overlap.ts +2 -2
  535. package/src/scripts/skill_preview.ts +1 -1
  536. package/src/scripts/skill_tools/audit_persona_coverage.ts +3 -3
  537. package/src/scripts/skill_tools/audit_user_type_coverage.ts +3 -3
  538. package/src/scripts/skill_tools/index.ts +1 -1
  539. package/src/scripts/skill_tools/run_block_d_eval.ts +3 -3
  540. package/src/scripts/skill_tools/score_skill_relevance.ts +3 -3
  541. package/src/scripts/skill_tools/suggest_skill_for_task.ts +3 -3
  542. package/src/scripts/skill_trigger_eval.ts +2 -2
  543. package/src/scripts/skill_usage_collect.ts +2 -2
  544. package/src/scripts/skill_usage_report.ts +2 -2
  545. package/src/scripts/smoke_path_resolution.ts +2 -2
  546. package/src/scripts/smoke_quickstart.ts +4 -4
  547. package/src/scripts/snapshot_agent_outputs.ts +2 -2
  548. package/src/scripts/spotcheck_thin_root.ts +2 -2
  549. package/src/scripts/surface-tiers.yml +1 -0
  550. package/src/scripts/sync_agent_settings.ts +2 -2
  551. package/src/scripts/sync_github_metadata.ts +4 -4
  552. package/src/scripts/sync_gitignore.ts +3 -3
  553. package/src/scripts/sync_yaml_rt.ts +2 -2
  554. package/src/scripts/telegraph_stats.ts +1 -1
  555. package/src/scripts/tool_registry.ts +2 -2
  556. package/src/scripts/tools/adapter_errors.ts +1 -1
  557. package/src/scripts/tools/base_adapter.ts +1 -1
  558. package/src/scripts/tools/github_adapter.ts +1 -1
  559. package/src/scripts/tools/jira_adapter.ts +1 -1
  560. package/src/scripts/trigger_coverage.ts +2 -2
  561. package/src/scripts/update_counts.ts +68 -6
  562. package/src/scripts/update_prices.ts +3 -3
  563. package/src/scripts/validate_agent_settings.ts +3 -3
  564. package/src/scripts/validate_decision_engine.ts +2 -2
  565. package/src/scripts/validate_discovery_manifest.ts +3 -3
  566. package/src/scripts/validate_frontmatter.ts +5 -5
  567. package/src/scripts/validate_pack_yaml.ts +0 -0
  568. package/src/scripts/validate_safe_paths.ts +2 -2
  569. package/src/scripts/validate_telegraph_carveouts.ts +3 -3
  570. package/src/scripts/verify_before_complete_hook.ts +2 -2
  571. package/src/scripts/verify_physical_move.ts +2 -2
  572. package/src/scripts/wrapper_freshness_hook.ts +3 -3
  573. package/src/server/schemas/settings.ts +426 -0
  574. package/src/shared/settingsSurface.ts +184 -0
  575. package/src/shared/userMd/formAdapter.ts +86 -0
  576. package/src/shared/userMd/schema.ts +59 -0
  577. package/src/shared/userMd/utils.ts +91 -0
  578. package/dist/agent-src/commands/optimize-project.md +0 -243
  579. package/dist/ui/assets/index-BbWWuFrF.css +0 -1
  580. package/dist/ui/assets/index-UjcTG_9O.js +0 -40
  581. package/dist/ui/assets/index-UjcTG_9O.js.map +0 -1
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Python-twin rationale guard (road-to-truth-and-reference-hygiene Phase 2).
4
+ *
5
+ * The py2ts migration (ADR-200) is closed and its Python originals are
6
+ * deleted; the parity scaffolding comments ("TypeScript twin of …", "latent
7
+ * Python quirks replicated", "byte-identical to the Python original") were
8
+ * swept on 2026-07-08 and re-attributed to their live consumers (tests,
9
+ * checksum gates, pinned CLI contracts). This lint keeps the residue from
10
+ * creeping back: a NEW comment that rationalises behaviour by fidelity to
11
+ * the deleted Python twin fails CI.
12
+ *
13
+ * Scope: comment lines in `src/scripts/**\/*.ts`. Historical provenance
14
+ * mentions ("ported from the retired Python `x.py` (ADR-200)") are fine —
15
+ * they state history, not a live contract; only the twin-rationale shapes
16
+ * below are banned.
17
+ *
18
+ * Exit codes: 0 clean · 1 findings.
19
+ */
20
+
21
+ import * as fs from 'node:fs';
22
+ import * as path from 'node:path';
23
+ import { fileURLToPath, pathToFileURL } from 'node:url';
24
+
25
+ const _HERE = fileURLToPath(import.meta.url);
26
+ export const ROOT = path.resolve(path.dirname(_HERE), '..', '..');
27
+ const SCOPE = path.join(ROOT, 'src', 'scripts');
28
+
29
+ /** Banned rationale shapes (case-insensitive). */
30
+ export const BANNED: ReadonlyArray<[string, RegExp]> = [
31
+ ['twin-of', /\btwin of\b/i],
32
+ ['latent-quirks', /latent (?:python )?(?:quirks|bugs) replicated/i],
33
+ ['byte-identical-python', /byte-identical to the python/i],
34
+ ['python-original', /\bthe python original\b/i],
35
+ ];
36
+
37
+ const COMMENT = /^\s*(\/\/|\*|\/\*)/;
38
+
39
+ function* walk(dir: string): Generator<string> {
40
+ for (const e of fs.readdirSync(dir, { withFileTypes: true }).sort((a, b) =>
41
+ a.name < b.name ? -1 : 1,
42
+ )) {
43
+ const full = path.join(dir, e.name);
44
+ if (e.isDirectory()) yield* walk(full);
45
+ else if (e.name.endsWith('.ts')) yield full;
46
+ }
47
+ }
48
+
49
+ export function scan_file(rel: string, text: string): string[] {
50
+ const findings: string[] = [];
51
+ const lines = text.split('\n');
52
+ for (let i = 0; i < lines.length; i++) {
53
+ const line = lines[i]!;
54
+ if (!COMMENT.test(line)) continue;
55
+ for (const [name, pat] of BANNED) {
56
+ if (pat.test(line)) {
57
+ findings.push(`${rel}:${i + 1}: ${name} — ${line.trim().slice(0, 100)}`);
58
+ }
59
+ }
60
+ }
61
+ return findings;
62
+ }
63
+
64
+ export function main(argv: readonly string[] = process.argv.slice(2)): number {
65
+ const QUIET = argv.includes('--quiet');
66
+ const findings: string[] = [];
67
+ for (const f of walk(SCOPE)) {
68
+ if (path.resolve(f) === path.resolve(_HERE)) continue; // this guard documents the shapes
69
+ const rel = path.relative(ROOT, f).split(path.sep).join('/');
70
+ findings.push(...scan_file(rel, fs.readFileSync(f, 'utf-8')));
71
+ }
72
+ if (findings.length === 0) {
73
+ if (!QUIET) process.stdout.write('✅ No Python-twin rationale in src/scripts comments.\n');
74
+ return 0;
75
+ }
76
+ process.stdout.write(`❌ Python-twin rationale reintroduced — ${findings.length} finding(s):\n`);
77
+ for (const f of findings) process.stdout.write(` ${f}\n`);
78
+ process.stdout.write(
79
+ '\nFix: state the LIVE contract instead (which test/gate/consumer pins the\n' +
80
+ 'behaviour) — never fidelity to the deleted Python original. See\n' +
81
+ 'road-to-truth-and-reference-hygiene Phase 2.\n',
82
+ );
83
+ return 1;
84
+ }
85
+
86
+ function _isCliEntry(): boolean {
87
+ if (process.argv[1] === undefined) return false;
88
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
89
+ if (import.meta.url === argvUrl) return true;
90
+ try {
91
+ return (
92
+ fs.realpathSync(fileURLToPath(import.meta.url)) ===
93
+ fs.realpathSync(path.resolve(process.argv[1]))
94
+ );
95
+ } catch {
96
+ return false;
97
+ }
98
+ }
99
+
100
+ if (_isCliEntry() || process.argv[1] === _HERE) {
101
+ process.exit(main(process.argv.slice(2)));
102
+ }
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * One-off-script age linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_one_off_age.py` (ADR-200, Phase 4 /
5
+ * Ported from the retired Python `src/scripts/lint_one_off_age.py` (ADR-200, Phase 4 /
6
6
  * Wave 4b). Mirrors the CLI contract EXACTLY — `--format {text,json}` /
7
7
  * `--root` argparse flags, exit codes (0 clean incl. warnings, 1 hard
8
8
  * fail, 3 internal error), stdout/stderr split, byte-identical finding
9
9
  * messages, the same scan tree (`<root>/scripts/_one_off`) and ordering
10
- * (sorted iterdir). No behaviour changes — latent quirks replicated
10
+ * (sorted iterdir). Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
11
11
  * (e.g. `scan` walks `scripts/_one_off`, NOT the module-level
12
12
  * `ONE_OFF_DIR = src/scripts/_one_off`, which is unused).
13
13
  *
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Lint `.agent-config/orchestrations/*.yaml` pipeline files.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_orchestration_dsl.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--dir` /
5
+ * Ported from the retired Python `src/scripts/lint_orchestration_dsl.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--dir` /
7
7
  * `--file` flags, exit codes (0 clean, 1 hard failure, 2 file/schema-load
8
8
  * error), stdout/stderr split (all findings on stderr), byte-identical
9
9
  * finding messages, same scan order, same `resolve_logical` ref resolution,
@@ -51,7 +51,7 @@ const SUBAGENT_MODES = new Set([
51
51
 
52
52
  /**
53
53
  * Reuse the dispatcher's loader so the linter sees what the runtime sees.
54
- * The Python original calls `hooks.dispatch_hook._load_yaml`, which prefers
54
+ * the retired Python implementation calls `hooks.dispatch_hook._load_yaml`, which prefers
55
55
  * PyYAML (present in this environment) and falls back to a flat mini-parser
56
56
  * only when PyYAML is unavailable. Orchestration files use full nested YAML,
57
57
  * so the PyYAML path is the live one — `yaml` (npm) reproduces it.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env tsx
2
2
  // Auto-detection contract linter for command orchestrators (6.1.0 Step 1).
3
3
  //
4
- // TypeScript twin of src/scripts/lint_orchestrator_auto_detect.py. Every
4
+ // TypeScript port of the retired Python src/scripts/lint_orchestrator_auto_detect.py. Every
5
5
  // command source under src/domains/**/command.md that opts into auto-detection
6
6
  // (front-matter `auto_detect: true`) MUST honor the non-interactive contract:
7
7
  // a body link to the contract doc + the `## Non-interactive & auto-detection`
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Enforce cross-pack reference boundaries.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_pack_boundaries.py` (ADR-200, Phase 4 /
5
+ * Ported from the retired Python `src/scripts/lint_pack_boundaries.py` (ADR-200, Phase 4 /
6
6
  * Wave 4b). Mirrors the Python CLI contract exactly: `--format text|json`,
7
7
  * `--quiet`, same scan scope (packages/*\/.agent-src.uncondensed/), file
8
8
  * ordering, link regex, resolution semantics, finding messages, stdout/stderr
9
9
  * split, and exit codes (0 clean / skipped, 1 violations). No behaviour
10
- * changes — latent bugs replicated.
10
+ * changes — historical quirks preserved (consumers pin the exact behaviour).
11
11
  *
12
12
  * Walks every markdown link in every artefact under
13
13
  * `packages/*\/.agent-src.uncondensed/` and verifies the link target's pack is
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Pack dependency + pack-graph lints.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_pack_dependencies.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_pack_dependencies.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Mirrors the Python CLI contract exactly: same checks,
7
7
  * finding messages, stdout/stderr split, and exit codes.
8
8
  *
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * Exit codes: 0 = clean · 1 = drift and/or a cycle · 3 = internal error.
17
17
  *
18
- * The Python original imports generate_pack_manifests (`gpm`) for the manifest
18
+ * the retired Python implementation imports generate_pack_manifests (`gpm`) for the manifest
19
19
  * derivation. `gpm` has no TS twin yet (out of this batch's scope), so the
20
20
  * needed gpm internals are ported as private helpers below, mirroring the
21
21
  * Python source 1:1. They are prefixed `_gpm_` to mark their provenance.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Pack first-win linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_pack_first_win.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `main()`
5
+ * Ported from the retired Python `src/scripts/lint_pack_first_win.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `main()`
7
7
  * IGNORES argv entirely (any flag, including the `--quiet` the Taskfile
8
8
  * passes, is silently accepted), exit codes (0 clean, 1 violations),
9
9
  * stdout/stderr split, byte-identical finding messages.
@@ -2,11 +2,11 @@
2
2
  /**
3
3
  * Lint persona governance — per-domain cap (hard) + citation floor (warn).
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_persona_governance.py` (ADR-200,
6
- * Phase 4 / Wave 4b). Mirrors the Python CLI contract EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_persona_governance.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * flag read from argv at module load, persona enumeration + sorted ordering,
8
8
  * finding messages, output channel (emit → stdout; overflow summary on
9
- * stderr), exit codes. No behaviour changes — latent bugs replicated.
9
+ * stderr), exit codes. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
10
10
  *
11
11
  * Enforces the mechanical checks in
12
12
  * `.agent-src.uncondensed/rules/persona-governance.md`:
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Positioning consistency lint for event4u/agent-config.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_positioning.py` (ADR-200, Phase 4 /
5
+ * Ported from the retired Python `src/scripts/lint_positioning.py` (ADR-200, Phase 4 /
6
6
  * Wave 4b). Mirrors the CLI contract EXACTLY — the `--quiet` argparse flag,
7
7
  * exit codes (0 clean, 1 drift, 2 missing PyYAML — inert here since `yaml`
8
8
  * is always present), byte-identical stdout (success line) and stderr
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * lint_profile_overlay_set_only — freeze the set-only overlay invariant.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_profile_overlay_set_only.py` (ADR-200,
6
- * Phase 4 / Wave 4b). Mirrors the Python CLI contract EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_profile_overlay_set_only.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * flag from argv at module load, four YAML surfaces + sorted *.yml ordering,
8
8
  * finding messages (incl. Python `type(x).__name__` and `{x!r}` rendering),
9
9
  * stdout/stderr split, exit codes. No behaviour changes — latent bugs
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * CI guard for README.md above-fold jargon density.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_readme_jargon.py` (ADR-200, Phase 4 /
6
- * Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet` flag, exit
5
+ * Ported from the retired Python `src/scripts/lint_readme_jargon.py` (ADR-200, Phase 4 /
6
+ * Wave 4b). The CLI contract is pinned — `--quiet` flag, exit
7
7
  * codes (0 within budget, 1 over budget / missing), stdout/stderr split,
8
8
  * byte-identical finding messages, same noise-stripping order, same
9
9
  * whole-word watchlist matching.
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * CI guard for README.md line budget.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_readme_size.py` (ADR-200, Phase 4 /
6
- * Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet` flag, exit
5
+ * Ported from the retired Python `src/scripts/lint_readme_size.py` (ADR-200, Phase 4 /
6
+ * Wave 4b). The CLI contract is pinned — `--quiet` flag, exit
7
7
  * codes (0 within budget, 1 over budget / missing), stdout/stderr split,
8
8
  * byte-identical finding messages.
9
9
  *
@@ -2,13 +2,13 @@
2
2
  /**
3
3
  * Detect lint regressions between the current branch and a baseline.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_regression.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--baseline`
5
+ * Ported from the retired Python `src/scripts/lint_regression.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--baseline`
7
7
  * / `--format` / `--repo-root` flags, exit codes (0 clean, 1 regressions /
8
8
  * new-files, 2 bad baseline / disjoint-result guard), stdout/stderr split,
9
9
  * byte-identical report text (text / json / markdown), the same disjoint
10
10
  * sanity guard, and the same worktree-based baseline strategy. snake_case
11
- * kept. No behaviour changes — latent bugs replicated.
11
+ * kept. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
12
12
  *
13
13
  * Runs skill_linter --all --format json on both the baseline (via a temp
14
14
  * `git worktree`) and the working tree, then compares results to find new
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Hard-Gate linter for the `roadmap-ci-steps-policy` rule.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_roadmap_ci_steps.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_roadmap_ci_steps.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * detected by argv membership (no argparse), exit codes (0 / 1),
8
8
  * stdout/stderr split, byte-identical messages, same scan scope
9
9
  * (`agents/roadmaps/*.md`, sorted) and detection order. No behaviour
10
- * changes — latent bugs replicated.
10
+ * changes — historical quirks preserved (consumers pin the exact behaviour).
11
11
  *
12
12
  * Forbids full-pipeline CI literals (`task ci`, `make test`, `npm run check`
13
13
  * etc.) inside `agents/roadmaps/*.md` checkbox steps or fenced bash blocks
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Phase 5.2 roadmap-complexity linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_roadmap_complexity.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_roadmap_complexity.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Mirrors the CLI contract EXACTLY — `--quiet` is a
7
7
  * bare `sys.argv` membership check (computed at import, NOT argparse, so
8
8
  * there is no real `-h`/`--help`), the per-roadmap `✅`/`❌` lines, the
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * CI guard for the `later/` roadmap disposition.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_roadmap_later_disposition.py` (ADR-200,
6
- * Python→TypeScript migration). The CLI contract is mirrored EXACTLY — the
5
+ * Ported from the retired Python `src/scripts/lint_roadmap_later_disposition.py` (ADR-200,
6
+ * Python→TypeScript migration). The CLI contract is pinned — the
7
7
  * `--json` flag, the argparse usage / error text (`-h`/`--help` → exit 0,
8
8
  * unknown arg → exit 2), the scan order (`sorted(root.rglob("*.md"))` —
9
9
  * pathlib component-wise), byte-identical human + `--json` output
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Linter for `agents/roles/<slug>/` role experiences.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_role_experiences.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY —
5
+ * Ported from the retired Python `src/scripts/lint_role_experiences.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned —
7
7
  * `--plain-language` flag, exit codes (0 pass / roles-dir-absent,
8
8
  * 1 failures), stdout/stderr split (all output on stdout), byte-identical
9
9
  * finding messages (including Python `sorted(set)` list repr), same scan
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lint docs/contracts/rule-interactions.yml.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_rule_interactions.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_rule_interactions.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Mirrors the CLI contract EXACTLY — the `--quiet`
7
7
  * flag is a bare `sys.argv` membership check (NOT argparse, so there is no
8
8
  * real `-h`/`--help`), exit codes (1 on any failure, 0 clean), the
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lint rule frontmatter for the `tier:` key.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_rule_tiers.py` (ADR-200, Phase 4 /
5
+ * Ported from the retired Python `src/scripts/lint_rule_tiers.py` (ADR-200, Phase 4 /
6
6
  * Wave 4b). Mirrors the Python CLI contract exactly: same scan scope, file
7
7
  * ordering, finding messages, stdout/stderr split, and exit codes.
8
8
  *
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * Showcase-sessions linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_showcase_sessions.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_showcase_sessions.py` (ADR-200,
6
6
  * Phase 4 / Wave 4b). Gates `docs/showcase.md` ↔ `docs/showcase/sessions/`.
7
- * The CLI contract is mirrored EXACTLY — no flags (argv ignored), exit
7
+ * The CLI contract is pinned — no flags (argv ignored), exit
8
8
  * codes (0 clean, 1 violations), stdout/stderr split, byte-identical
9
9
  * finding messages, same reference regex and the same hand-rolled
10
10
  * frontmatter parser (including the `_<key>_nested` mapping trick).
@@ -1,6 +1,6 @@
1
1
  // P1.4 — dangerous-frontmatter linter (road-to-security-pillar.md).
2
2
  //
3
- // TypeScript twin of `src/scripts/lint_skill_frontmatter_safety.py` (ADR-200 —
3
+ // Ported from the retired Python `src/scripts/lint_skill_frontmatter_safety.py` (ADR-200 —
4
4
  // Python→TS migration). Behaviour mirrors the Python module byte-for-byte.
5
5
  //
6
6
  // Enforces the execution-safety contract from the `runtime-safety` rule at the
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Anti-duplicate originality gate (road-to-competitive-borrow P1.1).
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_skill_originality.py` (ADR-096). The CLI
5
+ * Ported from the retired Python `src/scripts/lint_skill_originality.py` (ADR-096). The CLI
6
6
  * contract is mirrored EXACTLY — the `--strict` / `--json` / `--quiet` flags
7
7
  * (argparse; `-h`/`--help` exit 0, an unrecognized arg exits 2), exit codes
8
8
  * (0 = warn-only or strict-clean, 1 = strict + same-domain violation OR no
@@ -2,14 +2,14 @@
2
2
  /**
3
3
  * Block D · D1 meta-linter for `scripts/skill_tools/*.py`.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_skill_tools.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--json`
5
+ * Ported from the retired Python `src/scripts/lint_skill_tools.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--json`
7
7
  * / `--quiet` / `--tools-dir` flags, exit codes (0 clean, 1 violations,
8
8
  * 2 usage / missing-dir), stdout split (JSON or human), byte-identical
9
9
  * violation strings, same glob + sort order, same `_SAMPLE`/`__main__`
10
10
  * detection.
11
11
  *
12
- * The Python original parses each tool with `ast` to find imports and
12
+ * the retired Python implementation parses each tool with `ast` to find imports and
13
13
  * syntax errors. We replicate the import discovery with a focused
14
14
  * Python-import line scanner (handles `import a, b.c`, `from x.y import z`,
15
15
  * relative `from . import x`). It covers the real tools and the test
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lint ticket bundles for build-readiness.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_ticket_buildable.py` (ADR-200,
5
+ * Ported from the retired Python `src/scripts/lint_ticket_buildable.py` (ADR-200,
6
6
  * Python→TypeScript migration). The behaviour is mirrored EXACTLY — NO argparse
7
7
  * (the entry point is `lint()`, which ignores argv entirely; an unknown flag is
8
8
  * silently ignored and the lint runs), the scan order
@@ -26,7 +26,7 @@
26
26
  * Exit codes: 0 = clean, 1 = lint failures, 3 = IO/setup error. Failures print as
27
27
  * ``path:reason``.
28
28
  *
29
- * The Python original uses `jsonschema.Draft7Validator`; this twin hand-rolls a
29
+ * the retired Python implementation uses `jsonschema.Draft7Validator`; this twin hand-rolls a
30
30
  * Draft-07 validator covering exactly the keyword set the two ticket schemas use
31
31
  * (type [string | array], required, additionalProperties [false], properties,
32
32
  * patternProperties, anyOf, pattern, enum, minLength, minItems, items, minimum,
@@ -2,11 +2,11 @@
2
2
  /**
3
3
  * Linter for `.github/topics.yml`.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_topics_yaml.py` (ADR-200, Phase 4 /
6
- * Wave 4b). Mirrors the Python CLI contract EXACTLY — same scan target,
5
+ * Ported from the retired Python `src/scripts/lint_topics_yaml.py` (ADR-200, Phase 4 /
6
+ * Wave 4b). The CLI contract is pinned — same scan target,
7
7
  * finding messages (incl. Python `repr()` rendering of offending values),
8
8
  * stdout/stderr split, exit codes, and the `--quiet` flag read directly
9
- * from argv at module load. No behaviour changes — latent bugs replicated.
9
+ * from argv at module load. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
10
10
  *
11
11
  * Asserts:
12
12
  * * file exists and parses as YAML
@@ -2,12 +2,12 @@
2
2
  /**
3
3
  * Lint trust/safety coherence across the discovery manifest.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_trust_coherence.py` (ADR-200,
6
- * Phase 4 / Wave 4b). Mirrors the Python CLI contract EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_trust_coherence.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * / `--manifest` / `--router` / `--compiled-src` flags, finding messages,
8
8
  * stdout/stderr split (errors + summary on stderr; success on stdout),
9
9
  * SystemExit-on-missing-file semantics, exit codes. No behaviour changes —
10
- * latent bugs replicated.
10
+ * historical quirks preserved (consumers pin the exact behaviour).
11
11
  *
12
12
  * Walks the discovery manifest and asserts three invariants:
13
13
  * 1. advisory/restricted packs ship a `*safety-floor*` rule;
@@ -2,10 +2,10 @@
2
2
  /**
3
3
  * Lint `docs/value.md` for structural invariants.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_value_dashboard.py` (ADR-200,
6
- * Phase 4 / Wave 4b). The CLI contract is mirrored EXACTLY — `--quiet`
5
+ * Ported from the retired Python `src/scripts/lint_value_dashboard.py` (ADR-200,
6
+ * Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
7
7
  * flag, exit codes (0 / 1), stdout/stderr split, byte-identical messages,
8
- * same check order. No behaviour changes — latent bugs replicated.
8
+ * same check order. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
9
9
  *
10
10
  * Output: one violation per line in non-quiet mode; one-line summary in
11
11
  * quiet mode. Exit 0 on clean, 1 on any violation.
@@ -2,15 +2,15 @@
2
2
  /**
3
3
  * WARN-ONLY GitHub Actions workflow security linter.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_workflow_security.py` (ADR-200,
6
- * Python→TypeScript migration). The CLI contract is mirrored EXACTLY —
5
+ * Ported from the retired Python `src/scripts/lint_workflow_security.py` (ADR-200,
6
+ * Python→TypeScript migration). The CLI contract is pinned —
7
7
  * argparse flags (`--strict` / `--quiet` / `--json PATH`, `-h`/`--help`
8
8
  * exit 0, unknown arg → exit 2), the scan order (`sorted(glob("*.yml"))`
9
9
  * then `sorted(glob("*.yaml"))`), byte-identical finding lines, the
10
10
  * `json.dumps(..., indent=2)` (ensure_ascii) `--json` write, the allowlist
11
11
  * cap (exit 2 over 20 entries), the stdout/stderr split, and exit codes
12
12
  * (0 advisory / 1 strict+HIGH). snake_case kept; PyYAML `on:`→boolean-True
13
- * key quirk replicated. No behaviour changes — latent quirks replicated.
13
+ * key quirk replicated. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
14
14
  *
15
15
  * Severity model (council-locked 2026-06-13):
16
16
  * HIGH — pull_request_target / workflow_run + checkout of untrusted ref;
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Workspace-boundary drift check — import-edge enforcement.
4
4
  *
5
- * TypeScript twin of `src/scripts/lint_workspace_boundary.py` (ADR-200,
6
- * Python→TypeScript migration). The CLI contract is mirrored EXACTLY — the
5
+ * Ported from the retired Python `src/scripts/lint_workspace_boundary.py` (ADR-200,
6
+ * Python→TypeScript migration). The CLI contract is pinned — the
7
7
  * `--quiet` flag, the `sorted(repo.glob(WORKSPACE_GLOB))` scan order (pathlib
8
8
  * component-wise), the FORBIDDEN-pattern set (Python `re` → JS `RegExp`, all
9
9
  * ASCII so a 1:1 translation), the `# boundary-exception:` pragma skip, the
@@ -17,7 +17,7 @@
17
17
  // Phase 5.1 of `road-to-cloudflare-mcp-hosting.md`. Governed by
18
18
  // `docs/contracts/mcp-cloud-scope.md` §A0-cloud.
19
19
  //
20
- // TS twin of mcp_parity_smoke.py (ADR-200 — Python→TS migration). Mirrors the
20
+ // TS port of the retired Python mcp_parity_smoke.py (ADR-200). Mirrors the
21
21
  // Python wire surface byte-for-byte: stdout lines, the ✅ / ❌ / ⏭️ markers, the
22
22
  // argparse usage / error text (exit 2), and the exit codes. Imports resolve to
23
23
  // the already-ported mcp_server/{catalog,prompts,resources,tools}.ts twins —
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * MCP config renderer — one `mcp.json` → per-tool output files.
4
4
  *
5
- * TypeScript twin of `mcp_render.py` (Phase 8 / Wave 8g).
5
+ * Ported from the retired Python `mcp_render.py` (Phase 8 / Wave 8g).
6
6
  *
7
7
  * Reads `mcp.json` at repo root (`{ "servers": { <name>: { command, args,
8
8
  * env, cwd } } }`), substitutes `${env:VAR}` placeholders from the
@@ -10,7 +10,7 @@
10
10
  // `not_implemented` envelope contract live in
11
11
  // `docs/contracts/mcp-tool-stub-envelope.md`.
12
12
  //
13
- // TS twin of catalog.py (py2ts Phase 8). Mirrors the full public surface:
13
+ // TS port of the retired Python catalog.py (ADR-200). Preserves the full public surface:
14
14
  // - NOT_IMPLEMENTED_CODE, CatalogEntry, load_catalog, load_raw,
15
15
  // install_hint, not_implemented_envelope.
16
16
  import * as fs from 'node:fs';
@@ -13,7 +13,7 @@
13
13
  // Stability: experimental. Contract: `docs/contracts/mcp-phase-1-scope.md`.
14
14
  // Promotion to beta gated on `docs/contracts/mcp-beta-criteria.md`.
15
15
  //
16
- // TS twin of __init__.py (py2ts Phase 8). The Python package barrel exposes
16
+ // TS port of the retired Python __init__.py (ADR-200). The Python package barrel exposes
17
17
  // exactly two module-level names: `__version__` and `SERVER_NAME`. Mirrored
18
18
  // here as `__version__` (Python wire-surface SemVer name preserved) and
19
19
  // SERVER_NAME.
@@ -19,7 +19,7 @@
19
19
  // Stderr is the canonical surface in Phase 6; a wire-surface lift can
20
20
  // follow once the SDK supports it.
21
21
  //
22
- // TS twin of metadata.py (py2ts Phase 8). Mirrors the full public surface:
22
+ // TS port of the retired Python metadata.py (ADR-200). Preserves the full public surface:
23
23
  // - Signature type, read_package_version, compute_skill_set_signature,
24
24
  // boot_log_line.
25
25
  import * as crypto from 'node:crypto';
@@ -16,7 +16,7 @@
16
16
  // are skipped and surfaced in the second tuple element of `scan_*`
17
17
  // helpers (caller decides whether to log).
18
18
  //
19
- // TS twin of prompts.py (py2ts Phase 8). Mirrors the full public surface:
19
+ // TS port of the retired Python prompts.py (ADR-200). Preserves the full public surface:
20
20
  // PHASE_1_SKILLS, PromptKind, UserTypeMatch, SkillPrompt, load_skill,
21
21
  // load_phase_1_prompts, scan_skills, scan_commands, load_all_prompts,
22
22
  // to_mcp_prompt_meta, PromptCache. The leading-underscore helpers
@@ -15,7 +15,7 @@
15
15
  // first H1 line (`# Title`) is used as a title-style fallback, else the
16
16
  // filename-derived stem.
17
17
  //
18
- // TS twin of resources.py (py2ts Phase 8). Mirrors the full public surface:
18
+ // TS port of the retired Python resources.py (ADR-200). Preserves the full public surface:
19
19
  // ResourceKind, MIME_MARKDOWN, Resource, scan_rules, scan_guidelines,
20
20
  // scan_contexts, load_all_resources, to_mcp_resource_meta, ResourceCache.
21
21
  // Imports `_project_root` + `_strip_frontmatter` from prompts.ts
@@ -21,7 +21,7 @@
21
21
  // `build_server` still accepts a plain `SkillPrompt[]` so the Phase-1
22
22
  // contract tests keep passing without touching their fixtures.
23
23
  //
24
- // TS twin of server.py (py2ts Phase 8). The Python module builds on the
24
+ // TS port of the retired Python server.py (ADR-200). The Python module builds on the
25
25
  // `mcp` Python SDK (`mcp.server.Server`) and registers handlers via the
26
26
  // SDK decorators; the tests poke `server.request_handlers[...]`. There is
27
27
  // no `mcp` Python SDK in the TS runtime and the npm
@@ -19,7 +19,7 @@
19
19
  // `record_call` helper swallows OSError + ValueError and emits a single
20
20
  // warning to stderr.
21
21
  //
22
- // TS twin of telemetry.py (py2ts Phase 8). Mirrors the full public surface:
22
+ // TS port of the retired Python telemetry.py (ADR-200). Preserves the full public surface:
23
23
  // - Outcome type, TELEMETRY_REL_DIR, TELEMETRY_FILENAME, hash_client_id,
24
24
  // build_record, record_call.
25
25
  import * as crypto from 'node:crypto';
@@ -27,7 +27,7 @@
27
27
  // TextContent block with the JSON-serialized payload, so MCP clients
28
28
  // can render structured output.
29
29
  //
30
- // TS twin of tools.py (py2ts Phase 8). Mirrors the full public surface:
30
+ // TS port of the retired Python tools.py (ADR-200). Preserves the full public surface:
31
31
  // STDIO_TRANSPORT, BuiltinTool, ToolHandler, ALLOWLIST, to_mcp_tool_meta,
32
32
  // CATALOG_STUBS, STUB_NAMES, REGISTRY, ToolCache, boot_log_line.
33
33
  import * as fs from 'node:fs';
@@ -18,7 +18,7 @@
18
18
  // ./scripts-run src/scripts/mcp_telemetry_health --allow-missing # CI mode
19
19
  // ./scripts-run src/scripts/mcp_telemetry_health --json # machine-readable
20
20
  //
21
- // TS twin of mcp_telemetry_health.py (py2ts). Mirrors the full public
21
+ // TS port of the retired Python mcp_telemetry_health.py (ADR-200). Mirrors the full public
22
22
  // surface: HealthReport, resolve_log_path, evaluate, main.
23
23
  import * as fs from 'node:fs';
24
24
  import * as path from 'node:path';