@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
@@ -2,8 +2,8 @@
2
2
  * `agent-config migrate` — one-shot, opinionated migration off every legacy
3
3
  * install / state shape (TypeScript twin).
4
4
  *
5
- * TypeScript twin of `src/scripts/_cli/cmd_migrate.py` (ADR-200, py2ts
6
- * migration). The CLI contract mirrors the Python original EXACTLY — same
5
+ * Ported from the retired Python `src/scripts/_cli/cmd_migrate.py` (ADR-200, py2ts
6
+ * migration). The CLI contract pins the historical contract exactly — same
7
7
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
8
8
  * output, same filesystem effects. No behaviour changes — latent quirks are
9
9
  * replicated and flagged inline, not fixed.
@@ -82,7 +82,7 @@ import { resolve_project_root } from '../_lib/agent_settings.js';
82
82
  // specifier into the uncompiled template tree (`.ts` only) and crash the whole
83
83
  // CLI at module load — breaking every command (e.g. `agent-config init`).
84
84
  // `_load_state_migrator` spawns it via tsx instead (the install orchestrator
85
- // pattern), keeping the migrator lazy like the Python original.
85
+ // pattern), keeping the migrator lazy like the retired Python implementation.
86
86
 
87
87
  const PACKAGE_NAME_NPM = '@event4u/agent-config';
88
88
  const PACKAGE_NAME_COMPOSER = 'event4u/agent-config';
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * `agent-config prune` — remove orphaned project bridge markers (TypeScript twin).
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/cmd_prune.py` (ADR-200, py2ts
5
- * migration). The CLI contract mirrors the Python original EXACTLY — same
4
+ * Ported from the retired Python `src/scripts/_cli/cmd_prune.py` (ADR-200, py2ts
5
+ * migration). The CLI contract pins the historical contract exactly — same
6
6
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
7
7
  * output, same filesystem effects. No behaviour changes — latent quirks are
8
8
  * replicated and flagged inline, not fixed.
@@ -3,8 +3,8 @@
3
3
  * `agent-config refresh` — idempotent re-install, no version change
4
4
  * (TypeScript twin).
5
5
  *
6
- * TypeScript twin of `src/scripts/_cli/cmd_refresh.py` (ADR-200, py2ts
7
- * migration). The CLI contract mirrors the Python original EXACTLY — same
6
+ * Ported from the retired Python `src/scripts/_cli/cmd_refresh.py` (ADR-200, py2ts
7
+ * migration). The CLI contract pins the historical contract exactly — same
8
8
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
9
9
  * output, same filesystem effects, same subprocess argv/cwd/env. No behaviour
10
10
  * changes — latent quirks are replicated and flagged inline, not fixed.
@@ -145,7 +145,7 @@ const CONSUMER_BRIDGE_MARKER_RELPATH = path.join('agents', '.event4u-bridge.yml'
145
145
  * agent-config package source tree. Shared by the bridge-marker writer guard
146
146
  * and the `_is_source_repo` monorepo probe so the literal lives in one place
147
147
  * (the only other textual mention is the `_is_source_repo` docstring, matching
148
- * the Python original's two occurrences for the ADR-051 path-count parity).
148
+ * the retired Python implementation's two occurrences for the ADR-051 path-count parity).
149
149
  */
150
150
  const SRC_MARKER_DIR = '.agent-src.uncondensed';
151
151
 
@@ -215,7 +215,7 @@ function atomicWrite0644(target: string, body: string, prefix: string): void {
215
215
  }
216
216
 
217
217
  /**
218
- * Twin of `install._write_consumer_bridge_marker` (module-private). Returns the
218
+ * Mirrors `install._write_consumer_bridge_marker` (module-private). Returns the
219
219
  * written path, or `null` when skipped (dev mode / source repo).
220
220
  */
221
221
  function _write_consumer_bridge_marker(
@@ -2,8 +2,8 @@
2
2
  * `agent-config settings:check` — validate `.agent-settings.yml` against the
3
3
  * supported YAML subset (TypeScript twin).
4
4
  *
5
- * TypeScript twin of `src/scripts/_cli/cmd_settings_check.py` (ADR-200, py2ts
6
- * migration). The CLI contract mirrors the Python original EXACTLY — same
5
+ * Ported from the retired Python `src/scripts/_cli/cmd_settings_check.py` (ADR-200, py2ts
6
+ * migration). The CLI contract pins the historical contract exactly — same
7
7
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
8
8
  * output. Read-only — no filesystem mutation, no network. No behaviour
9
9
  * changes; latent quirks are replicated and flagged inline, not fixed.
@@ -2,8 +2,8 @@
2
2
  * `agent-config settings:migrate` — lift project-local settings into the
3
3
  * global store (TypeScript twin).
4
4
  *
5
- * TypeScript twin of `src/scripts/_cli/cmd_settings_migrate.py` (ADR-200,
6
- * py2ts migration). The CLI contract mirrors the Python original EXACTLY —
5
+ * Ported from the retired Python `src/scripts/_cli/cmd_settings_migrate.py` (ADR-200,
6
+ * py2ts migration). The CLI contract pins the historical contract exactly —
7
7
  * same flags, same exit codes, same stdout/stderr split, byte-identical
8
8
  * emitted output, same filesystem effects. No behaviour changes; latent quirks
9
9
  * are replicated and flagged inline, not fixed.
@@ -2,8 +2,8 @@
2
2
  * `agent-config sync` — replay the installed-tools manifest (ADR-008)
3
3
  * (TypeScript twin).
4
4
  *
5
- * TypeScript twin of `src/scripts/_cli/cmd_sync.py` (ADR-200, py2ts
6
- * migration). The CLI contract mirrors the Python original EXACTLY — same
5
+ * Ported from the retired Python `src/scripts/_cli/cmd_sync.py` (ADR-200, py2ts
6
+ * migration). The CLI contract pins the historical contract exactly — same
7
7
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
8
8
  * output, same installer invocation. No behaviour changes; latent quirks are
9
9
  * replicated and flagged inline, not fixed.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * `agent-config uninstall` — remove bridge markers (Phase 4.1) (TypeScript twin).
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/cmd_uninstall.py` (ADR-200, py2ts
5
- * migration). The CLI contract mirrors the Python original EXACTLY — same
4
+ * Ported from the retired Python `src/scripts/_cli/cmd_uninstall.py` (ADR-200, py2ts
5
+ * migration). The CLI contract pins the historical contract exactly — same
6
6
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
7
7
  * output, same filesystem effects. No behaviour changes — latent quirks are
8
8
  * replicated and flagged inline, not fixed.
@@ -2,8 +2,8 @@
2
2
  * `agent-config update` — explicit, opt-in update of the version pin
3
3
  * (TypeScript twin).
4
4
  *
5
- * TypeScript twin of `src/scripts/_cli/cmd_update.py` (ADR-200, py2ts
6
- * migration). The CLI contract mirrors the Python original EXACTLY — same
5
+ * Ported from the retired Python `src/scripts/_cli/cmd_update.py` (ADR-200, py2ts
6
+ * migration). The CLI contract pins the historical contract exactly — same
7
7
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
8
8
  * output, same filesystem effects, same subprocess argv/cwd/env. No behaviour
9
9
  * changes — latent quirks are replicated and flagged inline, not fixed.
@@ -140,23 +140,23 @@ function _splitlinesKeepends(text: string): string[] {
140
140
  // Replicated module-private helpers (see header parity note)
141
141
  // ---------------------------------------------------------------------------
142
142
 
143
- /** Twin of `agent_settings._canonical_settings_path` (file-local private). */
143
+ /** Mirrors `agent_settings._canonical_settings_path` (file-local private). */
144
144
  function _canonical_settings_path(project_root: string): string {
145
145
  return path.join(project_root, ...LOCAL_PROJECT_SUBDIR, DEFAULT_PROJECT_FILE);
146
146
  }
147
147
 
148
- /** Twin of `agent_settings._local_settings_path` (file-local private). */
148
+ /** Mirrors `agent_settings._local_settings_path` (file-local private). */
149
149
  function _local_settings_path(project_root: string): string {
150
150
  return path.join(project_root, ...LOCAL_PROJECT_SUBDIR, LOCAL_PROJECT_FILE);
151
151
  }
152
152
 
153
- /** Twin of `agent_settings._resolve` — absolute, normalised path. */
153
+ /** Mirrors `agent_settings._resolve` — absolute, normalised path. */
154
154
  function _resolve(p: string): string {
155
155
  return path.resolve(p);
156
156
  }
157
157
 
158
158
  /**
159
- * Twin of `agent_settings._resolve_cascade_paths` (file-local private).
159
+ * Mirrors `agent_settings._resolve_cascade_paths` (file-local private).
160
160
  *
161
161
  * Returns the ordered cascade of in-project settings files (shallow → deep).
162
162
  */
@@ -199,7 +199,7 @@ function _resolve_cascade_paths(cwd: string | null, project_path: string | null)
199
199
  return out;
200
200
  }
201
201
 
202
- /** Twin of `update_check._read_state` (module-private). */
202
+ /** Mirrors `update_check._read_state` (module-private). */
203
203
  function _read_state(state_path: string): Record<string, unknown> {
204
204
  try {
205
205
  const raw = fs.readFileSync(state_path, 'utf-8');
@@ -213,7 +213,7 @@ function _read_state(state_path: string): Record<string, unknown> {
213
213
  return {};
214
214
  }
215
215
 
216
- /** Twin of `update_check._write_state` (module-private). */
216
+ /** Mirrors `update_check._write_state` (module-private). */
217
217
  function _write_state(state_path: string, payload: Record<string, unknown>): void {
218
218
  const parent = path.dirname(state_path);
219
219
  fs.mkdirSync(parent, { recursive: true });
@@ -3,8 +3,8 @@
3
3
  * `agent-config upgrade` — fetch + install the latest global binary + refresh
4
4
  * (TypeScript twin).
5
5
  *
6
- * TypeScript twin of `src/scripts/_cli/cmd_upgrade.py` (ADR-200, py2ts
7
- * migration). The CLI contract mirrors the Python original EXACTLY — same
6
+ * Ported from the retired Python `src/scripts/_cli/cmd_upgrade.py` (ADR-200, py2ts
7
+ * migration). The CLI contract pins the historical contract exactly — same
8
8
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
9
9
  * output, same filesystem effects, same subprocess argv/cwd/env. No behaviour
10
10
  * changes — latent quirks are replicated and flagged inline, not fixed.
@@ -644,7 +644,8 @@ export async function main(argv: string[] | null = null, options: MainOptions =
644
644
  _print(
645
645
  out,
646
646
  '✅ agent-config upgraded' +
647
- (doctor_rc === 0 ? ' — doctor green.' : ' — review the doctor findings above.'),
647
+ (doctor_rc === 0 ? ' — doctor green.' : ' — review the doctor findings above.') +
648
+ ' Tune settings any time with `agent-config config`.',
648
649
  );
649
650
  return 0;
650
651
  }
@@ -3,8 +3,8 @@
3
3
  * `agent-config validate` — drift detection for the installed-tools manifest
4
4
  * (TypeScript twin).
5
5
  *
6
- * TypeScript twin of `src/scripts/_cli/cmd_validate.py` (ADR-200, py2ts
7
- * migration). The CLI contract mirrors the Python original EXACTLY — same
6
+ * Ported from the retired Python `src/scripts/_cli/cmd_validate.py` (ADR-200, py2ts
7
+ * migration). The CLI contract pins the historical contract exactly — same
8
8
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
9
9
  * output, same filesystem semantics. No behaviour changes — latent quirks are
10
10
  * replicated, not fixed.
@@ -77,7 +77,7 @@ class ArgparseExit extends Error {
77
77
  /**
78
78
  * `pathlib.Path(p)` string form — collapse repeated separators and strip a
79
79
  * trailing separator (Python `str(Path("~/.cursor/"))` → `~/.cursor`), keeping
80
- * a lone root `/`. Mirrors how the Python original wraps every marker/anchor in
80
+ * a lone root `/`. Mirrors how the retired Python implementation wraps every marker/anchor in
81
81
  * `Path(...)` before `str()`-ing it into a message.
82
82
  */
83
83
  function pyPathStr(p: string): string {
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * `agent-config versions` — list available package versions (TypeScript twin).
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/cmd_versions.py` (ADR-200, py2ts
5
- * migration). The CLI contract mirrors the Python original EXACTLY — same
4
+ * Ported from the retired Python `src/scripts/_cli/cmd_versions.py` (ADR-200, py2ts
5
+ * migration). The CLI contract pins the historical contract exactly — same
6
6
  * flags, same exit codes, same stdout/stderr split, byte-identical emitted
7
7
  * output, same subprocess invocation. Read-only (queries npm; never mutates).
8
8
  * No behaviour changes; latent quirks are replicated and flagged inline.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resolve the `assumptions` why-slot for the trace.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/assumptions.py`
5
- * (ADR-200). Behaviour mirrors the Python original EXACTLY — same string /
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/assumptions.py`
5
+ * (ADR-200). Behaviour pins the historical contract exactly — same string /
6
6
  * dict normalisation, same 120-code-point id slice, same `or`-fallback
7
7
  * order, same always-array return. No behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resolve the `council` why-slot for the trace.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/council.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same candidate glob,
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/council.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same candidate glob,
6
6
  * same ±1h run window, same most-recent pick, same member extraction
7
7
  * (first stripped line, 200-code-point slice), and the same deliberate
8
8
  * omission of cost-metadata fields. No behaviour changes.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Builder for the `trace.halt` slot.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/halt.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same `halts[-1]` pick,
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/halt.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same `halts[-1]` pick,
6
6
  * same `None` branches, same scrub passes, same `step` empty-string
7
7
  * fallback. No behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * `agent-config explain last` — execution-trace builder.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/__init__.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same subject derivation,
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/__init__.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same subject derivation,
6
6
  * same run-id derivation (with the UTC-mtime ISO fallback), same slot
7
7
  * aggregation order and key shape, same scrub pass on the run id. No
8
8
  * behaviour changes.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resolve the `inputs` and `pack` why-slots for the trace.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/inputs.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same resolver reuse,
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/inputs.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same resolver reuse,
6
6
  * same `None`-on-error branches, same per-knob source attribution, same
7
7
  * pack-marker discovery order and key shape. No behaviour changes.
8
8
  *
@@ -30,9 +30,9 @@ const _SILENCED_LOGGERS: readonly string[] = [
30
30
  ];
31
31
 
32
32
  /**
33
- * Faithful twin of the Python `_silence_resolver_warnings` context manager.
33
+ * Port of the retired Python `_silence_resolver_warnings` context manager.
34
34
  *
35
- * The Python original raises the level of the `scripts.config.profiles` /
35
+ * the retired Python implementation raises the level of the `scripts.config.profiles` /
36
36
  * `scripts.config.presets` loggers to ERROR so a profile/preset read
37
37
  * failure does not leak an absolute path on stderr. The TypeScript config
38
38
  * twins funnel through a single shared `agent_settings.logger` that only
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resolve the `memory` why-slot for the trace.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/memory.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same two sources, same
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/memory.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same two sources, same
6
6
  * coercion order, same `float()` semantics, same `None`-on-empty branch.
7
7
  * No behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Builder for the `trace.provider` slot.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/provider.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same video-only gate,
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/provider.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same video-only gate,
6
6
  * same `video_provider` / `contract.video_provider` extraction order, same
7
7
  * `None` branches, same scrub passes. No behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Deterministic Markdown projection of an `ExplainTrace`.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/render.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same fixed section
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/render.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same fixed section
6
6
  * order, same skip-empty-chunk join, same `rstrip()` + trailing newline,
7
7
  * same tip-footer text and `with_footer` gate. No behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resolve the `route` why-slot for the trace.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/route.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same router lookup, same
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/route.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same router lookup, same
6
6
  * `None`-on-missing-router branch, same scrub passes, same key shape. No
7
7
  * behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * PII / cost-metadata scrubber for the `explain last` trace.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/scrubber.py` (ADR-200).
5
- * Behaviour mirrors the Python original EXACTLY — same regex sources, same
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/scrubber.py` (ADR-200).
5
+ * Behaviour pins the historical contract exactly — same regex sources, same
6
6
  * resolution order, same idempotence, same long-string threshold and
7
7
  * summary text. No behaviour changes — latent bugs are replicated, not
8
8
  * fixed.
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Render the `Assumptions` section.
3
3
  *
4
- * TypeScript twin of
4
+ * Ported from the retired Python
5
5
  * `src/scripts/_cli/explain_last/sections/assumptions.py` (ADR-200).
6
- * Byte-identical to the Python original — note the DOUBLE space before the
6
+ * byte-stable — downstream consumers and checksum gates pin these bytes — note the DOUBLE space before the
7
7
  * em-dash in the item line (`{ident} — recorded`). No behaviour changes.
8
8
  */
9
9
 
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Council` section.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/council.py`
5
- * (ADR-200). Byte-identical to the Python original. No behaviour changes.
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/council.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
6
6
  */
7
7
 
8
8
  function _pyTruthy(value: unknown): boolean {
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Why halted?` section.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/halt.py`
5
- * (ADR-200). Byte-identical to the Python original — note the surface
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/halt.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes — note the surface
6
6
  * lines are indented by exactly two spaces (`f" {line}"`). No behaviour
7
7
  * changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the trace header (title + subject + started-at).
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/header.py`
5
- * (ADR-200). Byte-identical to the Python original. No behaviour changes.
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/header.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
6
6
  */
7
7
 
8
8
  function _pyTruthy(value: unknown): boolean {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Section renderers for the `explain last` Markdown projection.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/__init__.py`
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/__init__.py`
5
5
  * (ADR-200). Re-exports each section module under the same name so the
6
6
  * orchestrator (`render.ts`) calls them in fixed order, keeping the
7
7
  * Markdown output byte-deterministic for the same input `ExplainTrace`.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Why this profile / preset?` knob table.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/inputs.py`
5
- * (ADR-200). Byte-identical to the Python original. No behaviour changes.
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/inputs.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
6
6
  */
7
7
 
8
8
  function _pyTruthy(value: unknown): boolean {
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Memory hits influencing this run` section.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/memory.py`
5
- * (ADR-200). Byte-identical to the Python original — same `:.2f` score
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/memory.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes — same `:.2f` score
6
6
  * formatting, same `score n/a` fallback for non-numeric scores. No
7
7
  * behaviour changes.
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Active pack` section (Phase 4-discovery aware).
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/pack.py`
5
- * (ADR-200). Byte-identical to the Python original. No behaviour changes.
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/pack.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
6
6
  */
7
7
 
8
8
  function _pyTruthy(value: unknown): boolean {
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Why this provider?` section.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/provider.py`
5
- * (ADR-200). Byte-identical to the Python original. No behaviour changes.
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/provider.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
6
6
  *
7
7
  * Only emitted when `trace.provider` is non-null (the v1 schema bounds this
8
8
  * to `subject == "video"` runs where the engine wrote a provider selection
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Render the `Why this route?` section.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/sections/route.py`
5
- * (ADR-200). Byte-identical to the Python original. No behaviour changes.
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/sections/route.py`
5
+ * (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
6
6
  */
7
7
 
8
8
  function _pyTruthy(value: unknown): boolean {
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Read and validate the persisted `.work-state.json` envelope.
3
3
  *
4
- * TypeScript twin of `src/scripts/_cli/explain_last/state_loader.py`
5
- * (ADR-200). Behaviour mirrors the Python original EXACTLY — the same
4
+ * Ported from the retired Python `src/scripts/_cli/explain_last/state_loader.py`
5
+ * (ADR-200). Behaviour pins the historical contract exactly — the same
6
6
  * three raising failure modes, the same exit codes (1 / 2 / 0), and the
7
7
  * same byte-identical messages (including the `version={value!r}` Python
8
8
  * repr). No behaviour changes.
@@ -64,6 +64,19 @@ Tier 0 — daily-driver (init → sync → validate → work):
64
64
  (Option-A loop; called by the /implement-ticket command)
65
65
  help Show this help (default Tier-0; --tier=1|all expands)
66
66
  --version, -V Print package version
67
+
68
+ TS-shell native (run via the installed `agent-config` binary):
69
+ setup Open the onboarding wizard in the browser (UI server)
70
+ install Open the install wizard (UI server, Step 1 / AI tools)
71
+ config Open the configuration GUI (global default; --project for the project surface)
72
+ settings Open the local Settings GUI (alias of config)
73
+ ui:serve Start the local UI server (127.0.0.1, auto-picked port)
74
+ workspaces ls List workspaces from the discovery manifest
75
+ packs ls List packs from the discovery manifest
76
+ commands [ls|explain] List/explain the command surface from the discovery manifest
77
+ mcp-server Turnkey read-only stdio MCP server (no repo clone; ADR-085)
78
+ doctor-shell Probe the TS-shell environment
79
+ eval:record Record a live trigger-eval result into a corpus manifest
67
80
  EOF
68
81
 
69
82
  if [[ "$tier" == "1" || "$tier" == "all" ]]; then
@@ -110,6 +123,11 @@ Tier 1 — power-user (release shape, audit, migration):
110
123
  user-authored files; persists standing consent
111
124
  (install.auto_converge) on first use.
112
125
  Flags: --dry-run | --yes
126
+ conformance Consumer conformance contract: doctor --ci +
127
+ installed-and-firing checks. Exits non-zero on
128
+ a failed check.
129
+ use Switch the active experience/profile
130
+ (writes profile.id). Usage: use <profile-id>
113
131
  explain Read-only decision-chain trace.
114
132
  Usage: explain config | explain rule <name>
115
133
  | explain route "<text>"
@@ -206,13 +224,14 @@ Tier 2 — maintenance / internal (hooks, MCP, memory, telemetry):
206
224
  telemetry:record Append one artefact-engagement event (default-off)
207
225
  telemetry:status Print artefact-engagement telemetry status (read-only)
208
226
  telemetry:report Aggregate the engagement log into a quartile report
227
+ analyze-session Read-only post-session report from on-disk runtime state
209
228
  EOF
210
229
  fi
211
230
 
212
231
  if [[ "$tier" == "0" ]]; then
213
232
  cat <<'EOF'
214
233
 
215
- (Hidden: 15 Tier-1 + 24 Tier-2 commands. Run `./agent-config --help --tier=1`
234
+ (Hidden: Tier-1 and Tier-2 commands. Run `./agent-config --help --tier=1`
216
235
  or `--tier=all` to see them. Tier criteria: docs/contracts/command-surface-tiers.md.)
217
236
  EOF
218
237
  fi
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Centralized loader for `.agent-settings.yml` with user-global fallback.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/agent_settings.py` (ADR-200,
4
+ * Ported from the retired Python `src/scripts/_lib/agent_settings.py` (ADR-200,
5
5
  * Phase 2 / Wave 2a). Mirrors the Python module's public API exactly —
6
6
  * same exported snake_case names, same semantics, same cascade / anchor /
7
7
  * whitelist / merge behavior, same YAML load tolerance, same error types.
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Locate artefact source roots across the monorepo physical layout.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/agent_src.py` (ADR-200, Phase 2
5
- * Wave 2a). The public API mirrors the Python module EXACTLY — same
4
+ * Ported from the retired Python `src/scripts/_lib/agent_src.py` (ADR-200, Phase 2
5
+ * Wave 2a). The public API pins the historical contract exactly — same
6
6
  * exported snake_case names, same root ordering, same logical-relpath
7
7
  * computation, same first-win precedence when a logical path resolves
8
8
  * across multiple roots, and the same error behaviour
9
9
  * (`logical_relpath` throws when a path is under no known root; the
10
10
  * collision guard in `_root_specs` throws on duplicate non-empty
11
- * prefixes). No behaviour changes — latent bugs replicated.
11
+ * prefixes). Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
12
12
  *
13
13
  * Phase 4 of the monorepo migration (ADR-017) physically moves source
14
14
  * artefacts out of the flat `.agent-src.uncondensed/` directory into
@@ -32,10 +32,10 @@
32
32
  * but accepts repo-relative POSIX strings (used by the condenseor's
33
33
  * output-path computation and the LEGACY_SRC_PREFIX logic).
34
34
  *
35
- * Path handling note: the Python original uses `pathlib.Path` objects.
35
+ * Path handling note: the retired Python implementation uses `pathlib.Path` objects.
36
36
  * This twin uses absolute POSIX path strings as the `Path` equivalent
37
37
  * (the host filesystem on the supported platforms is POSIX). All public
38
- * functions that the Python original typed as `Path` accept/return
38
+ * functions that the retired Python implementation typed as `Path` accept/return
39
39
  * strings here; semantics — `.relative_to`, `.as_posix`, `.resolve`,
40
40
  * `.rglob`, `.is_dir`, `.is_file`, `.exists` — are reproduced via the
41
41
  * helpers below.
@@ -46,7 +46,7 @@ import { fileURLToPath } from 'node:url';
46
46
 
47
47
  // --- Path-root configuration (mutable to mirror Python module attributes) ----
48
48
  //
49
- // The Python original derives ROOT from `Path(__file__).resolve().parents[3]`
49
+ // the retired Python implementation derives ROOT from `Path(__file__).resolve().parents[3]`
50
50
  // and every other root from it as module-level constants. Tests in
51
51
  // `tests/test_agent_src_domains.py` reassign `agent_src.SRC_DOMAINS` directly
52
52
  // and clear `agent_src._slug_prefix_cache` to point the resolver at a tmp
@@ -474,7 +474,7 @@ export function* iter_all_sources(): Generator<[string, string]> {
474
474
  if (!_isFile(p)) {
475
475
  continue;
476
476
  }
477
- // The Python original guards `relative_to` with try/except
477
+ // the retired Python implementation guards `relative_to` with try/except
478
478
  // ValueError; here `p` is always under `root` by construction, but
479
479
  // we mirror the guard for fidelity.
480
480
  if (p !== root && !_isUnder(p, root)) {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Resolve files under `agents/<kind>/<name>.md` via the cascade.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/agents_overlay.py` (ADR-200,
4
+ * Ported from the retired Python `src/scripts/_lib/agents_overlay.py` (ADR-200,
5
5
  * Phase 2 / Wave 2b). Companion to `agent_settings`: where the settings
6
6
  * loader merges YAML, this resolves single-file overlays — overrides,
7
7
  * contexts, decisions — to a single deepest match across the in-project