@event4u/agent-config 8.4.1 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +67 -0
  3. package/README.md +17 -5
  4. package/dist/agent-src/README.md +1 -1
  5. package/dist/agent-src/commands/{analyze-reference-repo.md → analyze/reference-repo.md} +3 -1
  6. package/dist/agent-src/commands/analyze.md +9 -6
  7. package/dist/agent-src/commands/{bug-fix.md → bug/fix.md} +3 -1
  8. package/dist/agent-src/commands/{bug-investigate.md → bug/investigate.md} +4 -2
  9. package/dist/agent-src/commands/bug.md +59 -0
  10. package/dist/agent-src/commands/{set-cost-profile.md → cost/profile.md} +9 -6
  11. package/dist/agent-src/commands/{cost-report.md → cost/report.md} +18 -17
  12. package/dist/agent-src/commands/cost.md +57 -0
  13. package/dist/agent-src/commands/evals/{review-changes.json → review.json} +12 -8
  14. package/dist/agent-src/commands/{quality-fix.md → fix/quality.md} +5 -2
  15. package/dist/agent-src/commands/fix.md +7 -4
  16. package/dist/agent-src/commands/optimize/project.md +250 -0
  17. package/dist/agent-src/commands/{optimize-prompt.md → optimize/prompt.md} +3 -2
  18. package/dist/agent-src/commands/optimize.md +17 -12
  19. package/dist/agent-src/commands/{package-reset.md → package/reset.md} +2 -0
  20. package/dist/agent-src/commands/{package-test.md → package/test.md} +3 -1
  21. package/dist/agent-src/commands/package.md +56 -0
  22. package/dist/agent-src/commands/{project-analyze.md → project/analyze.md} +10 -8
  23. package/dist/agent-src/commands/{project-health.md → project/health.md} +2 -0
  24. package/dist/agent-src/commands/project.md +60 -0
  25. package/dist/agent-src/commands/{review-changes.md → review/changes.md} +26 -24
  26. package/dist/agent-src/commands/{review-routing.md → review/routing.md} +21 -17
  27. package/dist/agent-src/commands/review.md +61 -0
  28. package/dist/agent-src/commands/security-audit-config.md +24 -23
  29. package/dist/agent-src/commands/{sync-agent-settings.md → sync/agent-settings.md} +11 -7
  30. package/dist/agent-src/commands/{sync-gitignore → sync/gitignore}/fix.md +36 -27
  31. package/dist/agent-src/commands/{sync-gitignore.md → sync/gitignore.md} +22 -21
  32. package/dist/agent-src/commands/sync.md +58 -0
  33. package/dist/agent-src/commands/{e2e-heal.md → tests/e2e-heal.md} +5 -2
  34. package/dist/agent-src/commands/{e2e-plan.md → tests/e2e-plan.md} +5 -2
  35. package/dist/agent-src/commands/tests.md +11 -5
  36. package/dist/agent-src/contexts/augment-infrastructure.md +3 -3
  37. package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
  38. package/dist/agent-src/contexts/skills-and-commands.md +2 -2
  39. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
  40. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +2 -2
  41. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  42. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +1 -1
  43. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -1
  44. package/dist/agent-src/skills/judge-security-auditor/SKILL.md +1 -1
  45. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  46. package/dist/agent-src/skills/judge-test-coverage/SKILL.md +1 -1
  47. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  48. package/dist/agent-src/skills/mobile-e2e-strategy/SKILL.md +5 -5
  49. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +2 -2
  50. package/dist/agent-src/skills/quality-tools/SKILL.md +1 -1
  51. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  52. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  53. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  54. package/dist/agent-src/templates/agent-settings.md +1 -1
  55. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
  56. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  57. package/dist/cli/commands/config.js +44 -0
  58. package/dist/cli/commands/config.js.map +1 -0
  59. package/dist/cli/commands/uiServe.js +1 -0
  60. package/dist/cli/commands/uiServe.js.map +1 -1
  61. package/dist/cli/help.js +38 -0
  62. package/dist/cli/help.js.map +1 -0
  63. package/dist/cli/initRouting.js +16 -1
  64. package/dist/cli/initRouting.js.map +1 -1
  65. package/dist/cli/main.js +43 -37
  66. package/dist/cli/main.js.map +1 -1
  67. package/dist/cli/registry.js +45 -44
  68. package/dist/cli/registry.js.map +1 -1
  69. package/dist/discovery/deprecation-report.md +1 -1
  70. package/dist/discovery/discovery-manifest.json +419 -210
  71. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  72. package/dist/discovery/discovery-manifest.summary.md +4 -4
  73. package/dist/discovery/orphan-report.md +1 -1
  74. package/dist/discovery/packs.json +31 -25
  75. package/dist/discovery/trust-report.md +2 -2
  76. package/dist/discovery/workspaces.json +30 -24
  77. package/dist/install/install.mjs +6064 -159
  78. package/dist/install/selectedTools.js +39 -10
  79. package/dist/install/selectedTools.js.map +1 -1
  80. package/dist/mcp/registry-manifest.json +3 -3
  81. package/dist/server/app.js +15 -3
  82. package/dist/server/app.js.map +1 -1
  83. package/dist/server/routes/ping.js +16 -0
  84. package/dist/server/routes/ping.js.map +1 -1
  85. package/dist/server/routes/settings.js +42 -6
  86. package/dist/server/routes/settings.js.map +1 -1
  87. package/dist/server/routes/settingsChanges.js +55 -0
  88. package/dist/server/routes/settingsChanges.js.map +1 -0
  89. package/dist/server/routes/userMd.js +7 -2
  90. package/dist/server/routes/userMd.js.map +1 -1
  91. package/dist/server/routes/wizard.js +76 -14
  92. package/dist/server/routes/wizard.js.map +1 -1
  93. package/dist/server/writeRoot.js +17 -0
  94. package/dist/server/writeRoot.js.map +1 -1
  95. package/dist/shared/settingsSurface.js +120 -0
  96. package/dist/shared/settingsSurface.js.map +1 -0
  97. package/dist/ui/assets/index-BPFMZWUs.css +1 -0
  98. package/dist/ui/assets/index-BiEZiZ31.js +40 -0
  99. package/dist/ui/assets/index-BiEZiZ31.js.map +1 -0
  100. package/dist/ui/index.html +15 -2
  101. package/docs/CLAIMS.md +20 -15
  102. package/docs/architecture.md +1 -1
  103. package/docs/catalog.md +37 -31
  104. package/docs/command-flows.md +22 -16
  105. package/docs/contracts/command-clusters.md +39 -9
  106. package/docs/contracts/file-ownership-matrix.json +21 -0
  107. package/docs/contracts/frontmatter-contract.md +1 -1
  108. package/docs/contracts/gui-wizard.md +16 -4
  109. package/docs/contracts/iron-law-overrides.txt +1 -0
  110. package/docs/contracts/rule-classification.md +2 -2
  111. package/docs/contracts/settings-api.md +58 -2
  112. package/docs/contracts/surface-matrix.md +5 -0
  113. package/docs/cookbook.md +7 -7
  114. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +74 -0
  115. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +91 -0
  116. package/docs/decisions/INDEX.md +2 -0
  117. package/docs/featured-commands.md +1 -1
  118. package/docs/featured-skills.md +4 -4
  119. package/docs/flows.md +2 -2
  120. package/docs/getting-started-by-role.md +1 -1
  121. package/docs/getting-started-laravel.md +1 -1
  122. package/docs/getting-started.md +6 -3
  123. package/docs/governance-advantage.md +1 -1
  124. package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
  125. package/docs/guidelines/agent-infra/ios-simulator-guide.md +1 -1
  126. package/docs/proof.md +11 -2
  127. package/package.json +3 -1
  128. package/src/agent-src/README.md +1 -1
  129. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
  130. package/src/config/agent-settings.template.yml +1 -1
  131. package/src/install/selectedTools.ts +38 -10
  132. package/src/scripts/_cli/cmd_converge.ts +38 -0
  133. package/src/scripts/_cli/cmd_doctor.ts +113 -2
  134. package/src/scripts/_cli/cmd_explain.ts +2 -2
  135. package/src/scripts/_cli/cmd_export.ts +3 -3
  136. package/src/scripts/_cli/cmd_fleet.ts +13 -1
  137. package/src/scripts/_cli/cmd_migrate.ts +3 -3
  138. package/src/scripts/_cli/cmd_prune.ts +2 -2
  139. package/src/scripts/_cli/cmd_refresh.ts +4 -4
  140. package/src/scripts/_cli/cmd_settings_check.ts +2 -2
  141. package/src/scripts/_cli/cmd_settings_migrate.ts +2 -2
  142. package/src/scripts/_cli/cmd_sync.ts +2 -2
  143. package/src/scripts/_cli/cmd_uninstall.ts +2 -2
  144. package/src/scripts/_cli/cmd_update.ts +8 -8
  145. package/src/scripts/_cli/cmd_upgrade.ts +4 -3
  146. package/src/scripts/_cli/cmd_validate.ts +3 -3
  147. package/src/scripts/_cli/cmd_versions.ts +2 -2
  148. package/src/scripts/_cli/explain_last/assumptions.ts +2 -2
  149. package/src/scripts/_cli/explain_last/council.ts +2 -2
  150. package/src/scripts/_cli/explain_last/halt.ts +2 -2
  151. package/src/scripts/_cli/explain_last/index.ts +2 -2
  152. package/src/scripts/_cli/explain_last/inputs.ts +4 -4
  153. package/src/scripts/_cli/explain_last/memory.ts +2 -2
  154. package/src/scripts/_cli/explain_last/provider.ts +2 -2
  155. package/src/scripts/_cli/explain_last/render.ts +2 -2
  156. package/src/scripts/_cli/explain_last/route.ts +2 -2
  157. package/src/scripts/_cli/explain_last/scrubber.ts +2 -2
  158. package/src/scripts/_cli/explain_last/sections/assumptions.ts +2 -2
  159. package/src/scripts/_cli/explain_last/sections/council.ts +2 -2
  160. package/src/scripts/_cli/explain_last/sections/halt.ts +2 -2
  161. package/src/scripts/_cli/explain_last/sections/header.ts +2 -2
  162. package/src/scripts/_cli/explain_last/sections/index.ts +1 -1
  163. package/src/scripts/_cli/explain_last/sections/inputs.ts +2 -2
  164. package/src/scripts/_cli/explain_last/sections/memory.ts +2 -2
  165. package/src/scripts/_cli/explain_last/sections/pack.ts +2 -2
  166. package/src/scripts/_cli/explain_last/sections/provider.ts +2 -2
  167. package/src/scripts/_cli/explain_last/sections/route.ts +2 -2
  168. package/src/scripts/_cli/explain_last/state_loader.ts +2 -2
  169. package/src/scripts/_dispatch.bash +20 -1
  170. package/src/scripts/_lib/agent_settings.ts +1 -1
  171. package/src/scripts/_lib/agent_src.ts +7 -7
  172. package/src/scripts/_lib/agents_overlay.ts +1 -1
  173. package/src/scripts/_lib/bench_ab_cache.ts +1 -1
  174. package/src/scripts/_lib/bench_ab_scoring.ts +1 -1
  175. package/src/scripts/_lib/bench_ab_scoring_v2.ts +3 -3
  176. package/src/scripts/_lib/bench_cost.ts +1 -1
  177. package/src/scripts/_lib/bench_quality.ts +3 -3
  178. package/src/scripts/_lib/bench_report.ts +4 -4
  179. package/src/scripts/_lib/bench_telegraph.ts +1 -1
  180. package/src/scripts/_lib/bench_telegraph_report.ts +4 -4
  181. package/src/scripts/_lib/changelog_eras.ts +1 -1
  182. package/src/scripts/_lib/claude_desktop_bundler.ts +1 -1
  183. package/src/scripts/_lib/cli_wrapper.ts +1 -1
  184. package/src/scripts/_lib/fs_atomic.ts +1 -1
  185. package/src/scripts/_lib/global_deploy_inventory.ts +1 -1
  186. package/src/scripts/_lib/install_layout.ts +1 -1
  187. package/src/scripts/_lib/install_regenerator.ts +1 -1
  188. package/src/scripts/_lib/installed_lock.ts +1 -1
  189. package/src/scripts/_lib/installed_tools.ts +1 -1
  190. package/src/scripts/_lib/json_pointers.ts +1 -1
  191. package/src/scripts/_lib/knowledge_global.ts +1 -1
  192. package/src/scripts/_lib/knowledge_global_promote.ts +2 -2
  193. package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
  194. package/src/scripts/_lib/link_crypto.ts +4 -4
  195. package/src/scripts/_lib/linked_projects.ts +4 -4
  196. package/src/scripts/_lib/model_tier.ts +1 -1
  197. package/src/scripts/_lib/module_detection.ts +2 -2
  198. package/src/scripts/_lib/pin_resolver.ts +1 -1
  199. package/src/scripts/_lib/script_output.ts +1 -1
  200. package/src/scripts/_lib/security_lint.ts +1 -1
  201. package/src/scripts/_lib/surface_tiers.ts +1 -1
  202. package/src/scripts/_lib/text_similarity.ts +1 -1
  203. package/src/scripts/_lib/update_check.ts +2 -2
  204. package/src/scripts/_lib/user_global_paths.ts +1 -1
  205. package/src/scripts/_lib/value_ladder.ts +1 -1
  206. package/src/scripts/_lib/value_report.ts +1 -1
  207. package/src/scripts/_lib/zip_min.ts +2 -2
  208. package/src/scripts/adoption_report.ts +3 -3
  209. package/src/scripts/adoption_snapshot.ts +3 -3
  210. package/src/scripts/adoption_status.ts +2 -2
  211. package/src/scripts/adr/regenerate_index.ts +3 -3
  212. package/src/scripts/ai_council/_default_prices.ts +2 -3
  213. package/src/scripts/ai_council/advisors.ts +1 -1
  214. package/src/scripts/ai_council/airgap.ts +1 -1
  215. package/src/scripts/ai_council/budget_guard.ts +1 -1
  216. package/src/scripts/ai_council/bundler.ts +1 -1
  217. package/src/scripts/ai_council/cli_hints.ts +1 -1
  218. package/src/scripts/ai_council/clients.ts +5 -5
  219. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  220. package/src/scripts/ai_council/confidence_gate.ts +1 -1
  221. package/src/scripts/ai_council/config.ts +1 -1
  222. package/src/scripts/ai_council/consensus.ts +1 -1
  223. package/src/scripts/ai_council/events_log.ts +1 -1
  224. package/src/scripts/ai_council/learn_low_impact_preview.ts +1 -1
  225. package/src/scripts/ai_council/low_impact_corpus.ts +1 -1
  226. package/src/scripts/ai_council/low_impact_intake.ts +1 -1
  227. package/src/scripts/ai_council/modes.ts +1 -1
  228. package/src/scripts/ai_council/orchestrator.ts +3 -3
  229. package/src/scripts/ai_council/pricing.ts +2 -2
  230. package/src/scripts/ai_council/probation_gate.ts +2 -2
  231. package/src/scripts/ai_council/project_context.ts +1 -1
  232. package/src/scripts/ai_council/prompts.ts +1 -1
  233. package/src/scripts/ai_council/redact_low_impact_entry.ts +2 -2
  234. package/src/scripts/ai_council/session.ts +1 -1
  235. package/src/scripts/ai_council/shadow_dispatch.ts +1 -1
  236. package/src/scripts/ai_council/solo_dispatch.ts +1 -1
  237. package/src/scripts/analysis_freshness.ts +2 -2
  238. package/src/scripts/annotate_discovery.ts +2 -2
  239. package/src/scripts/apply_modules_config.ts +2 -2
  240. package/src/scripts/audit_adr_coverage.ts +3 -3
  241. package/src/scripts/audit_auto_rules.ts +2 -2
  242. package/src/scripts/audit_cloud_compatibility.ts +3 -3
  243. package/src/scripts/audit_command_surface.ts +2 -2
  244. package/src/scripts/audit_initial_context.ts +7 -6
  245. package/src/scripts/audit_likelihood.ts +5 -5
  246. package/src/scripts/audit_mcp_tools.ts +3 -3
  247. package/src/scripts/audit_overlap.ts +2 -2
  248. package/src/scripts/audit_skill_descriptions.ts +2 -2
  249. package/src/scripts/audit_skill_overlap.ts +5 -5
  250. package/src/scripts/audit_user_type_axis.ts +4 -4
  251. package/src/scripts/backfill_model_tier.ts +1 -1
  252. package/src/scripts/bench_ab_cache_dispatch.ts +2 -2
  253. package/src/scripts/bench_ab_clone.ts +2 -2
  254. package/src/scripts/bench_ab_diff.ts +3 -3
  255. package/src/scripts/bench_ab_integrity.ts +2 -2
  256. package/src/scripts/bench_ab_run.ts +4 -4
  257. package/src/scripts/bench_ab_task_runner.ts +1 -1
  258. package/src/scripts/bench_ab_tracka_run.ts +2 -2
  259. package/src/scripts/bench_ab_v2_run.ts +1 -1
  260. package/src/scripts/bench_ab_v2_stats.ts +2 -2
  261. package/src/scripts/bench_baseline_ready.ts +1 -1
  262. package/src/scripts/bench_condense_memory.ts +4 -4
  263. package/src/scripts/bench_drift_check.ts +3 -3
  264. package/src/scripts/bench_per_tool.ts +1 -1
  265. package/src/scripts/bench_rtk_savings.ts +4 -4
  266. package/src/scripts/bench_run.ts +4 -4
  267. package/src/scripts/bench_runner.ts +1 -1
  268. package/src/scripts/build_cloud_bundle.ts +3 -3
  269. package/src/scripts/build_discovery_manifest.ts +13 -15
  270. package/src/scripts/build_linear_digest.ts +2 -2
  271. package/src/scripts/build_mcp_registry_manifest.ts +3 -3
  272. package/src/scripts/build_proof.ts +6 -0
  273. package/src/scripts/build_rule_trigger_matrix.ts +2 -2
  274. package/src/scripts/capture_showcase_session.ts +3 -3
  275. package/src/scripts/chat_history.ts +1 -1
  276. package/src/scripts/check_always_budget.ts +1 -1
  277. package/src/scripts/check_artefact_checksums.ts +4 -4
  278. package/src/scripts/check_artefact_count_messaging.ts +197 -0
  279. package/src/scripts/check_augment_description_cap.ts +3 -3
  280. package/src/scripts/check_augmentignore.ts +1 -1
  281. package/src/scripts/check_beta_review_markers.ts +3 -3
  282. package/src/scripts/check_bite_sized_granularity.ts +1 -1
  283. package/src/scripts/check_cluster_patterns.ts +47 -3
  284. package/src/scripts/check_command_count_messaging.ts +2 -2
  285. package/src/scripts/check_condensation.ts +2 -2
  286. package/src/scripts/check_condensed_paths.ts +6 -6
  287. package/src/scripts/check_context_paths.ts +1 -1
  288. package/src/scripts/check_council_config_location.ts +3 -3
  289. package/src/scripts/check_council_layout.ts +2 -2
  290. package/src/scripts/check_council_references.ts +2 -2
  291. package/src/scripts/check_discovery_determinism.ts +3 -3
  292. package/src/scripts/check_gate_paths.ts +4 -4
  293. package/src/scripts/check_iron_law_prominence.ts +2 -2
  294. package/src/scripts/check_kernel_rule_bundle.ts +3 -3
  295. package/src/scripts/check_knowledge_cards.ts +4 -4
  296. package/src/scripts/check_knowledge_pages.ts +1 -1
  297. package/src/scripts/check_md_language.ts +3 -3
  298. package/src/scripts/check_memory.ts +3 -3
  299. package/src/scripts/check_memory_proposal.ts +2 -2
  300. package/src/scripts/check_module_management_neutral.ts +1 -1
  301. package/src/scripts/check_no_conflict_markers.ts +1 -1
  302. package/src/scripts/check_no_external_sources.ts +1 -1
  303. package/src/scripts/check_no_local_settings_committed.ts +2 -2
  304. package/src/scripts/check_no_new_legacy_path.ts +3 -3
  305. package/src/scripts/check_no_roadmap_refs.ts +3 -3
  306. package/src/scripts/check_one_off_location.ts +3 -3
  307. package/src/scripts/check_overlay_cascade_subdirs.ts +3 -3
  308. package/src/scripts/check_portability.ts +3 -3
  309. package/src/scripts/check_proposal.ts +0 -0
  310. package/src/scripts/check_public_catalog_links.ts +1 -1
  311. package/src/scripts/check_public_links.ts +2 -2
  312. package/src/scripts/check_references.ts +3 -3
  313. package/src/scripts/check_release_includes_discovery.ts +2 -2
  314. package/src/scripts/check_release_pr_shape.ts +2 -2
  315. package/src/scripts/check_release_published.ts +1 -1
  316. package/src/scripts/check_release_trunk_sync.ts +3 -3
  317. package/src/scripts/check_reply_consistency.ts +1 -1
  318. package/src/scripts/check_roadmap_trackable.ts +2 -2
  319. package/src/scripts/check_role_doc_links.ts +2 -2
  320. package/src/scripts/check_safety_floor_untouched.ts +3 -3
  321. package/src/scripts/check_skill_requires.ts +2 -2
  322. package/src/scripts/check_structural_breaking.ts +2 -2
  323. package/src/scripts/check_surface_tiers.ts +2 -2
  324. package/src/scripts/check_template_pin_drift.ts +1 -1
  325. package/src/scripts/check_test_coverage_diff.ts +2 -2
  326. package/src/scripts/check_token_optimizer_freshness.ts +3 -3
  327. package/src/scripts/check_trigger_evals.ts +2 -2
  328. package/src/scripts/check_update_banner.ts +1 -1
  329. package/src/scripts/ci_status.ts +0 -0
  330. package/src/scripts/ci_summary.ts +3 -3
  331. package/src/scripts/ci_time_ratio.ts +1 -1
  332. package/src/scripts/command_suggester/cooldown.ts +1 -1
  333. package/src/scripts/command_suggester/index.ts +1 -1
  334. package/src/scripts/command_suggester/loader.ts +1 -1
  335. package/src/scripts/command_suggester/match.ts +1 -1
  336. package/src/scripts/command_suggester/rank.ts +1 -1
  337. package/src/scripts/command_suggester/render.ts +1 -1
  338. package/src/scripts/command_suggester/sanitize.ts +1 -1
  339. package/src/scripts/command_suggester/settings.ts +1 -1
  340. package/src/scripts/command_suggester/types.ts +0 -0
  341. package/src/scripts/compile_router.ts +4 -4
  342. package/src/scripts/condense.ts +3 -3
  343. package/src/scripts/condense_memory.ts +1 -1
  344. package/src/scripts/config/index.ts +1 -1
  345. package/src/scripts/config/packs.ts +1 -1
  346. package/src/scripts/config/presets.ts +1 -1
  347. package/src/scripts/config/profile_explain.ts +1 -1
  348. package/src/scripts/config/profiles.ts +1 -1
  349. package/src/scripts/config/session_profiles.ts +1 -1
  350. package/src/scripts/context_hygiene_hook.ts +2 -2
  351. package/src/scripts/cost_by_conversation.ts +1 -1
  352. package/src/scripts/cost_summary.ts +2 -2
  353. package/src/scripts/council_cli.ts +1 -1
  354. package/src/scripts/council_prune.ts +1 -1
  355. package/src/scripts/cross_repo_retrieve.ts +2 -2
  356. package/src/scripts/discovery_stats.ts +3 -3
  357. package/src/scripts/evidence_report.ts +4 -4
  358. package/src/scripts/extract_audit_patterns.ts +2 -2
  359. package/src/scripts/first_run_gate_hook.ts +1 -1
  360. package/src/scripts/gen_discovery_baseline.ts +2 -2
  361. package/src/scripts/generate_capabilities_index.ts +2 -2
  362. package/src/scripts/generate_capability_matrix.ts +2 -2
  363. package/src/scripts/generate_catalog.ts +2 -2
  364. package/src/scripts/generate_command_flows.ts +2 -2
  365. package/src/scripts/generate_cookbook.ts +1 -1
  366. package/src/scripts/generate_index.ts +3 -3
  367. package/src/scripts/generate_ownership_matrix.ts +2 -2
  368. package/src/scripts/generate_pack_manifests.ts +2 -2
  369. package/src/scripts/generate_role_experiences_catalog.ts +3 -3
  370. package/src/scripts/hooks/block_no_verify.ts +2 -2
  371. package/src/scripts/hooks/dispatch_hook.ts +2 -2
  372. package/src/scripts/hooks/dispatch_issues.ts +1 -1
  373. package/src/scripts/hooks/envelope.ts +1 -1
  374. package/src/scripts/hooks/replay_hook.ts +1 -1
  375. package/src/scripts/hooks/state_io.ts +1 -1
  376. package/src/scripts/hooks_doctor.ts +1 -1
  377. package/src/scripts/hooks_status.ts +1 -1
  378. package/src/scripts/injection_scan_hook.ts +1 -1
  379. package/src/scripts/install.ts +145 -3
  380. package/src/scripts/inventory_abstraction_budget.ts +5 -5
  381. package/src/scripts/inventory_frontmatter.ts +1 -1
  382. package/src/scripts/inventory_meta_layers.ts +1 -1
  383. package/src/scripts/iron_law_sha.ts +1 -1
  384. package/src/scripts/knowledge_global_cli.ts +3 -3
  385. package/src/scripts/linked_projects_list.ts +1 -1
  386. package/src/scripts/lint_agent_security.ts +4 -4
  387. package/src/scripts/lint_agent_skill_names.ts +1 -1
  388. package/src/scripts/lint_agents_layout.ts +2 -2
  389. package/src/scripts/lint_agents_md.ts +3 -3
  390. package/src/scripts/lint_archived_skills.ts +2 -2
  391. package/src/scripts/lint_artefact_frontmatter.ts +2 -2
  392. package/src/scripts/lint_bench_ab.ts +2 -2
  393. package/src/scripts/lint_bench_corpus.ts +1 -1
  394. package/src/scripts/lint_command_flow_coverage.ts +1 -1
  395. package/src/scripts/lint_command_routing.ts +2 -2
  396. package/src/scripts/lint_command_tiers.ts +1 -1
  397. package/src/scripts/lint_command_verbs.ts +4 -4
  398. package/src/scripts/lint_commit_subjects.ts +2 -2
  399. package/src/scripts/lint_context_spine_usage.ts +3 -3
  400. package/src/scripts/lint_discovery_manifest.ts +4 -4
  401. package/src/scripts/lint_discovery_vocabulary.ts +2 -2
  402. package/src/scripts/lint_empty_roadmaps.ts +3 -3
  403. package/src/scripts/lint_eval_freshness.ts +2 -2
  404. package/src/scripts/lint_examples.ts +2 -2
  405. package/src/scripts/lint_explain_trace.ts +2 -2
  406. package/src/scripts/lint_featured_skills.ts +0 -0
  407. package/src/scripts/lint_flows.ts +5 -5
  408. package/src/scripts/lint_framework_leakage.ts +1 -1
  409. package/src/scripts/lint_framework_leakage_allowlist.json +10 -2
  410. package/src/scripts/lint_frontmatter_boilerplate.ts +2 -2
  411. package/src/scripts/lint_ghostwriter_source.ts +3 -3
  412. package/src/scripts/lint_global_paths.ts +1 -1
  413. package/src/scripts/lint_handoffs.ts +1 -1
  414. package/src/scripts/lint_hidden_unicode.ts +1 -1
  415. package/src/scripts/lint_hook_concern_budget.ts +2 -2
  416. package/src/scripts/lint_hook_manifest.ts +2 -2
  417. package/src/scripts/lint_instruction_smuggling.ts +1 -1
  418. package/src/scripts/lint_load_context.ts +2 -2
  419. package/src/scripts/lint_marketplace.ts +1 -1
  420. package/src/scripts/lint_marketplace_install_completeness.ts +2 -2
  421. package/src/scripts/lint_mcp_config_security.ts +1 -1
  422. package/src/scripts/lint_mcp_registry_manifest.ts +1 -1
  423. package/src/scripts/lint_media_policy_linkage.ts +3 -3
  424. package/src/scripts/lint_missions.ts +3 -3
  425. package/src/scripts/lint_model_tier_coverage.ts +3 -3
  426. package/src/scripts/lint_namespace.ts +2 -2
  427. package/src/scripts/lint_namespace_collisions.ts +2 -2
  428. package/src/scripts/lint_new_skill_gate.ts +3 -3
  429. package/src/scripts/lint_no_new_atomic_commands.ts +9 -6
  430. package/src/scripts/lint_no_python_twin_rationale.ts +102 -0
  431. package/src/scripts/lint_one_off_age.ts +2 -2
  432. package/src/scripts/lint_orchestration_dsl.ts +3 -3
  433. package/src/scripts/lint_orchestrator_auto_detect.ts +1 -1
  434. package/src/scripts/lint_pack_boundaries.ts +2 -2
  435. package/src/scripts/lint_pack_dependencies.ts +2 -2
  436. package/src/scripts/lint_pack_first_win.ts +2 -2
  437. package/src/scripts/lint_persona_governance.ts +3 -3
  438. package/src/scripts/lint_positioning.ts +1 -1
  439. package/src/scripts/lint_profile_overlay_set_only.ts +2 -2
  440. package/src/scripts/lint_readme_jargon.ts +2 -2
  441. package/src/scripts/lint_readme_size.ts +2 -2
  442. package/src/scripts/lint_regression.ts +3 -3
  443. package/src/scripts/lint_roadmap_ci_steps.ts +3 -3
  444. package/src/scripts/lint_roadmap_complexity.ts +1 -1
  445. package/src/scripts/lint_roadmap_later_disposition.ts +2 -2
  446. package/src/scripts/lint_role_experiences.ts +2 -2
  447. package/src/scripts/lint_rule_interactions.ts +1 -1
  448. package/src/scripts/lint_rule_tiers.ts +1 -1
  449. package/src/scripts/lint_showcase_sessions.ts +2 -2
  450. package/src/scripts/lint_skill_frontmatter_safety.ts +1 -1
  451. package/src/scripts/lint_skill_originality.ts +1 -1
  452. package/src/scripts/lint_skill_tools.ts +3 -3
  453. package/src/scripts/lint_ticket_buildable.ts +2 -2
  454. package/src/scripts/lint_topics_yaml.ts +3 -3
  455. package/src/scripts/lint_trust_coherence.ts +3 -3
  456. package/src/scripts/lint_value_dashboard.ts +3 -3
  457. package/src/scripts/lint_workflow_security.ts +3 -3
  458. package/src/scripts/lint_workspace_boundary.ts +2 -2
  459. package/src/scripts/mcp_parity_smoke.ts +1 -1
  460. package/src/scripts/mcp_render.ts +1 -1
  461. package/src/scripts/mcp_server/catalog.ts +1 -1
  462. package/src/scripts/mcp_server/index.ts +1 -1
  463. package/src/scripts/mcp_server/metadata.ts +1 -1
  464. package/src/scripts/mcp_server/prompts.ts +1 -1
  465. package/src/scripts/mcp_server/resources.ts +1 -1
  466. package/src/scripts/mcp_server/server.ts +1 -1
  467. package/src/scripts/mcp_server/telemetry.ts +1 -1
  468. package/src/scripts/mcp_server/tools.ts +1 -1
  469. package/src/scripts/mcp_telemetry_health.ts +1 -1
  470. package/src/scripts/mcp_telemetry_query.ts +3 -3
  471. package/src/scripts/mcp_telemetry_store.ts +3 -3
  472. package/src/scripts/measure_augment_budget.ts +2 -2
  473. package/src/scripts/measure_density.ts +2 -2
  474. package/src/scripts/measure_frugality_savings.ts +3 -3
  475. package/src/scripts/measure_markitdown_lift.ts +1 -1
  476. package/src/scripts/measure_patterns.ts +1 -1
  477. package/src/scripts/measure_projection_bytes.ts +1 -1
  478. package/src/scripts/measure_rule_budget.ts +1 -1
  479. package/src/scripts/measure_skill_reduction.ts +1 -1
  480. package/src/scripts/memory_hash.ts +1 -1
  481. package/src/scripts/memory_lookup.ts +6 -6
  482. package/src/scripts/memory_report.ts +1 -1
  483. package/src/scripts/memory_signal.ts +1 -1
  484. package/src/scripts/memory_status.ts +2 -2
  485. package/src/scripts/migrate_command_suggestions.ts +1 -1
  486. package/src/scripts/migrate_frontmatter_defaults.ts +1 -1
  487. package/src/scripts/mine_session.ts +3 -3
  488. package/src/scripts/minimal_safe_diff_hook.ts +2 -2
  489. package/src/scripts/move_artefact.ts +3 -3
  490. package/src/scripts/new_skill.ts +3 -3
  491. package/src/scripts/onboarding_gate_hook.ts +2 -2
  492. package/src/scripts/pack_mcp_content.ts +1 -1
  493. package/src/scripts/parity/replay.ts +3 -2
  494. package/src/scripts/pattern_share.ts +2 -2
  495. package/src/scripts/plan_physical_move.ts +3 -3
  496. package/src/scripts/prediction-pool/poisson_sim.ts +2 -2
  497. package/src/scripts/prediction-pool/pool_winsim.ts +2 -2
  498. package/src/scripts/prediction-pool/score_ev.ts +2 -2
  499. package/src/scripts/print_required_checks.ts +2 -2
  500. package/src/scripts/probe_projection_fidelity.ts +2 -2
  501. package/src/scripts/probe_skill_registration.ts +2 -2
  502. package/src/scripts/profile_staleness_hook.ts +2 -2
  503. package/src/scripts/profile_use.ts +2 -2
  504. package/src/scripts/project_thin_rules.ts +3 -3
  505. package/src/scripts/propose_modules_config.ts +2 -2
  506. package/src/scripts/prototype_lint_contradictions.ts +2 -2
  507. package/src/scripts/prove_pack_extractable.ts +1 -1
  508. package/src/scripts/readme_linter.ts +4 -4
  509. package/src/scripts/redact_hook_capture.ts +2 -2
  510. package/src/scripts/refine_ticket_detect.ts +1 -1
  511. package/src/scripts/release.ts +30 -19
  512. package/src/scripts/render_benchmark_md.ts +2 -2
  513. package/src/scripts/render_value_md.ts +2 -2
  514. package/src/scripts/roadmap_progress_hook.ts +1 -1
  515. package/src/scripts/router_telemetry.ts +1 -1
  516. package/src/scripts/run_skill_evals.ts +2 -2
  517. package/src/scripts/runtime_dispatcher.ts +1 -1
  518. package/src/scripts/runtime_handler.ts +1 -1
  519. package/src/scripts/runtime_registry.ts +3 -3
  520. package/src/scripts/score_skill_selection.ts +1 -1
  521. package/src/scripts/security_audit_config.ts +2 -2
  522. package/src/scripts/skill_collision_clusters.ts +1 -1
  523. package/src/scripts/skill_discovery.ts +1 -1
  524. package/src/scripts/skill_linter.ts +8 -7
  525. package/src/scripts/skill_overlap.ts +2 -2
  526. package/src/scripts/skill_preview.ts +1 -1
  527. package/src/scripts/skill_tools/audit_persona_coverage.ts +3 -3
  528. package/src/scripts/skill_tools/audit_user_type_coverage.ts +3 -3
  529. package/src/scripts/skill_tools/index.ts +1 -1
  530. package/src/scripts/skill_tools/run_block_d_eval.ts +3 -3
  531. package/src/scripts/skill_tools/score_skill_relevance.ts +3 -3
  532. package/src/scripts/skill_tools/suggest_skill_for_task.ts +3 -3
  533. package/src/scripts/skill_trigger_eval.ts +2 -2
  534. package/src/scripts/skill_usage_collect.ts +2 -2
  535. package/src/scripts/skill_usage_report.ts +2 -2
  536. package/src/scripts/smoke_path_resolution.ts +2 -2
  537. package/src/scripts/smoke_quickstart.ts +4 -4
  538. package/src/scripts/snapshot_agent_outputs.ts +2 -2
  539. package/src/scripts/spotcheck_thin_root.ts +2 -2
  540. package/src/scripts/surface-tiers.yml +1 -0
  541. package/src/scripts/sync_agent_settings.ts +2 -2
  542. package/src/scripts/sync_github_metadata.ts +4 -4
  543. package/src/scripts/sync_gitignore.ts +3 -3
  544. package/src/scripts/sync_yaml_rt.ts +2 -2
  545. package/src/scripts/telegraph_stats.ts +1 -1
  546. package/src/scripts/tool_registry.ts +2 -2
  547. package/src/scripts/tools/adapter_errors.ts +1 -1
  548. package/src/scripts/tools/base_adapter.ts +1 -1
  549. package/src/scripts/tools/github_adapter.ts +1 -1
  550. package/src/scripts/tools/jira_adapter.ts +1 -1
  551. package/src/scripts/trigger_coverage.ts +2 -2
  552. package/src/scripts/update_counts.ts +68 -6
  553. package/src/scripts/update_prices.ts +3 -3
  554. package/src/scripts/validate_agent_settings.ts +3 -3
  555. package/src/scripts/validate_decision_engine.ts +2 -2
  556. package/src/scripts/validate_discovery_manifest.ts +3 -3
  557. package/src/scripts/validate_frontmatter.ts +5 -5
  558. package/src/scripts/validate_pack_yaml.ts +0 -0
  559. package/src/scripts/validate_safe_paths.ts +2 -2
  560. package/src/scripts/validate_telegraph_carveouts.ts +3 -3
  561. package/src/scripts/verify_before_complete_hook.ts +2 -2
  562. package/src/scripts/verify_physical_move.ts +2 -2
  563. package/src/scripts/wrapper_freshness_hook.ts +3 -3
  564. package/src/server/schemas/settings.ts +426 -0
  565. package/src/shared/settingsSurface.ts +184 -0
  566. package/src/shared/userMd/formAdapter.ts +86 -0
  567. package/src/shared/userMd/schema.ts +59 -0
  568. package/src/shared/userMd/utils.ts +91 -0
  569. package/dist/agent-src/commands/optimize-project.md +0 -243
  570. package/dist/ui/assets/index-BbWWuFrF.css +0 -1
  571. package/dist/ui/assets/index-UjcTG_9O.js +0 -40
  572. package/dist/ui/assets/index-UjcTG_9O.js.map +0 -1
@@ -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
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Baseline-cache helpers for the package-impact A/B bench.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/bench_ab_cache.py` (ADR-200,
4
+ * Ported from the retired Python `src/scripts/_lib/bench_ab_cache.py` (ADR-200,
5
5
  * Phase 2 Wave 2a). Public API mirrors the Python module exactly — same
6
6
  * exported names (deliberately snake_case), same cache-key shape and
7
7
  * `to_dict()` / `from_dict()` serialization, same freshness diagnosis.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Structural success criteria for Track B.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/bench_ab_scoring.py` (ADR-200,
4
+ * Ported from the retired Python `src/scripts/_lib/bench_ab_scoring.py` (ADR-200,
5
5
  * Phase 2 Wave 2a). Public API mirrors the Python module exactly — same
6
6
  * exported names (deliberately snake_case), same A/B scoring math, same
7
7
  * check ordering, same JSON-identical result shape.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Dual-axis deterministic scoring for the bench:ab v2 discipline-axis benchmark.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/bench_ab_scoring_v2.py` (ADR-200
5
- * Python→TS migration). Public API mirrors the Python module EXACTLY — same
4
+ * Ported from the retired Python `src/scripts/_lib/bench_ab_scoring_v2.py` (ADR-200
5
+ * Python→TS migration). Public API pins the historical contract exactly — same
6
6
  * exported name (`score_task_v2`, deliberately snake_case), same check
7
7
  * ordering, same JSON-identical result shape, same scoring math.
8
8
  *
@@ -23,7 +23,7 @@
23
23
  * The `_diff_line_count` helper replicates CPython `difflib.unified_diff` with
24
24
  * default `n=3` context: the SequenceMatcher matching-block algorithm (incl. the
25
25
  * `autojunk` popular-element pruning) is ported verbatim so the added+removed
26
- * line tally is byte-for-byte identical to the Python original.
26
+ * line tally is byte-for-byte identical to the retired Python implementation.
27
27
  */
28
28
  import { spawnSync } from 'node:child_process';
29
29
  import * as fs from 'node:fs';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Cost capture helper for the bench runner.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/bench_cost.py` (ADR-200, Phase 2
4
+ * Ported from the retired Python `src/scripts/_lib/bench_cost.py` (ADR-200, Phase 2
5
5
  * Wave 2a). Public API mirrors the Python module exactly — same exported
6
6
  * names (deliberately snake_case), same per-tier aggregation, same
7
7
  * recompute-from-rates fallback, same 6-decimal rounding, same JSON-identical
@@ -6,7 +6,7 @@
6
6
  // assertions against actual output. Without it, we emit `not_collected`
7
7
  // per docs/contracts/benchmark-report-schema.md § quality invariants.
8
8
  //
9
- // TypeScript twin of `src/scripts/_lib/bench_quality.py` (ADR-200 py2ts
9
+ // Ported from the retired Python `src/scripts/_lib/bench_quality.py` (ADR-200 py2ts
10
10
  // Phase 2 / Wave 2a). Scoring math, rubric/regex semantics, and the
11
11
  // `not_collected` shape are mirrored exactly; `quality_score` uses
12
12
  // Python's round-half-to-even on `round(passing/total, 4)`.
@@ -194,8 +194,8 @@ function _pyRound(value: number, ndigits: number): number {
194
194
  /**
195
195
  * Translate a Python `re` pattern + `re.MULTILINE` flag into a JS RegExp.
196
196
  * The corpus assertions use simple patterns; we surface a thrown error for
197
- * patterns JS cannot compile so `_eval_regex` reports `bad_regex` like the
198
- * Python original (which catches `re.error`).
197
+ * patterns JS cannot compile so `_eval_regex` reports `bad_regex` — the
198
+ * historical contract (the retired implementation caught `re.error`).
199
199
  */
200
200
  function _pyCompile(pattern: string): RegExp {
201
201
  // re.MULTILINE → 'm'. Python `.search` is unanchored; RegExp.test is too.
@@ -4,9 +4,9 @@
4
4
  // docs/contracts/benchmark-report-schema.md. Filename format:
5
5
  // `internal/bench/reports/<UTC ISO-8601 with : -> ->-<corpus_id>.{json,md}`.
6
6
  //
7
- // TypeScript twin of `src/scripts/_lib/bench_report.py` (ADR-200 py2ts
8
- // Phase 2 / Wave 2a). Markdown / JSON rendering is byte-exact with the
9
- // Python original; the inline `:.2%` formatting replicates Python's
7
+ // Ported from the retired Python `src/scripts/_lib/bench_report.py` (ADR-200 py2ts
8
+ // Phase 2 / Wave 2a). Markdown / JSON rendering is byte-stable (goldens pin
9
+ // it); the inline `:.2%` formatting replicates Python's
10
10
  // round-half-to-even semantics.
11
11
  import * as fs from 'node:fs';
12
12
  import * as path from 'node:path';
@@ -52,7 +52,7 @@ export function write_json(filePath: string, report: unknown): void {
52
52
  //
53
53
  // Python's f"{x:.2%}" rounds half-to-even on the decimal representation.
54
54
  // JS `toFixed` rounds half away from zero, so we reimplement to stay
55
- // byte-exact with the Python original.
55
+ // byte-exact with the retired Python implementation.
56
56
 
57
57
  /** Replicate Python `format(x, ".2%")` — value × 100, banker-rounded, '%' suffix. */
58
58
  function _fmt_pct2(x: number): string {
@@ -11,7 +11,7 @@
11
11
  //
12
12
  // Cost-touch: 10 prompts × 3 arms × claude-sonnet-4-5 (~$3/M in, ~$15/M out).
13
13
  //
14
- // TypeScript twin of `src/scripts/_lib/bench_telegraph.py` (ADR-200
14
+ // Ported from the retired Python `src/scripts/_lib/bench_telegraph.py` (ADR-200
15
15
  // py2ts Phase 2 / Wave 2a). Public API mirrored exactly — snake_case
16
16
  // names kept deliberately. Numeric helpers replicate Python's
17
17
  // round-half-to-even (banker's rounding) and the `statistics` module
@@ -5,9 +5,9 @@
5
5
  // blocks are disjoint: telegraph has no `selection`/`quality`, and the
6
6
  // selection bench has no three-arm condensation metrics.
7
7
  //
8
- // TypeScript twin of `src/scripts/_lib/bench_telegraph_report.py`
8
+ // Ported from the retired Python `src/scripts/_lib/bench_telegraph_report.py`
9
9
  // (ADR-200 py2ts Phase 2 / Wave 2a). Markdown rendering is byte-exact
10
- // with the Python original; the `_fmt_pct` / `:.0f` helpers replicate
10
+ // with the retired Python implementation; the `_fmt_pct` / `:.0f` helpers replicate
11
11
  // Python's round-half-to-even formatting.
12
12
  import {
13
13
  ARMS,
@@ -137,8 +137,8 @@ function _prompt_block(r: PromptResult): PromptBlock {
137
137
  //
138
138
  // Python's f"{x:.2%}" and f"{m:.0f}" both round half-to-even (banker's
139
139
  // rounding) on the decimal representation. JS `toFixed` rounds half away
140
- // from zero, so we reimplement the formatting to stay byte-exact with the
141
- // Python original.
140
+ // from zero, so we reimplement the formatting to keep the report bytes
141
+ // stable (goldens pin them).
142
142
 
143
143
  /** Replicate Python `format(x, f".{ndigits}%")` — value × 100, banker-rounded, '%' suffix. */
144
144
  function _py_format_pct(x: number, ndigits: number): string {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Shared constants + helpers for CHANGELOG.md era discipline.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/changelog_eras.py` (ADR-200
4
+ * Ported from the retired Python `src/scripts/_lib/changelog_eras.py` (ADR-200
5
5
  * py2ts Phase 2 / Wave 1). The drift gate (`tests/test_changelog_eras.py`
6
6
  * / `tests/lib/changelog_eras.test.ts`) and the release automation
7
7
  * (`scripts/release.py`) both reason about the same era shape: a single
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Claude Desktop skill ZIP bundler (Phase 4 of event4u-namespace roadmap).
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/claude_desktop_bundler.py`
4
+ * Ported from the retired Python `src/scripts/_lib/claude_desktop_bundler.py`
5
5
  * (ADR-200 py2ts Phase 2 / Wave 1).
6
6
  *
7
7
  * Claude Desktop has no filesystem convention for skills; the Customize →
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Install / refresh the consumer-facing `./agent-config` wrapper.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/cli_wrapper.py` (ADR-200 —
4
+ * Ported from the retired Python `src/scripts/_lib/cli_wrapper.py` (ADR-200 —
5
5
  * Python→TS migration, Phase 2 / Wave 1). Public API mirrors the
6
6
  * Python module exactly (snake_case kept deliberately).
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Atomic file-write primitive shared by lockfile-schema-v2 writers.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/fs_atomic.py` (ADR-200 — Python→TS
4
+ * Ported from the retired Python `src/scripts/_lib/fs_atomic.py` (ADR-200 — Python→TS
5
5
  * migration, Phase 2 / Wave 1). Public API mirrors the Python module
6
6
  * exactly (snake_case kept deliberately — fidelity over TS idiom).
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Per-tool inventory of files written by global deploys — and stale reaping.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/global_deploy_inventory.py` (ADR-200 —
4
+ * Ported from the retired Python `src/scripts/_lib/global_deploy_inventory.py` (ADR-200 —
5
5
  * Python→TS migration, Phase 2 / Wave 2a). Public API mirrors the Python
6
6
  * module exactly (snake_case kept deliberately), including the JSON
7
7
  * serialization shape (`indent=2, sort_keys=True` + trailing newline) and the
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Install-layout ABI version.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/install_layout.py` (ADR-200 — Python→TS
4
+ * Ported from the retired Python `src/scripts/_lib/install_layout.py` (ADR-200 — Python→TS
5
5
  * migration). Public API mirrors the Python module exactly (snake_case kept
6
6
  * deliberately — fidelity over TS idiom): the two version constants and the
7
7
  * `coerce_layout_version` / `needs_migration` helpers, with Python `int()`
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Provision the roadmap-progress regenerator into a consumer.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/install_regenerator.py` (ADR-200 —
4
+ * Ported from the retired Python `src/scripts/_lib/install_regenerator.py` (ADR-200 —
5
5
  * Python→TS migration, Phase 2 / Wave 2a). Public API mirrors the Python
6
6
  * module exactly (snake_case kept deliberately).
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Global-install lockfile at `~/.event4u/agent-config/installed.lock`.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/installed_lock.py` (ADR-200 — Python→TS
4
+ * Ported from the retired Python `src/scripts/_lib/installed_lock.py` (ADR-200 — Python→TS
5
5
  * migration, Phase 2 / Wave 2a). Public API mirrors the Python module exactly
6
6
  * (snake_case kept deliberately — fidelity over TS idiom), including the
7
7
  * byte-exact lockfile wire format and the tempfile + rename atomic write.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Project-scope installed-tools manifest at `agents/installed-tools.lock`.
3
3
  *
4
- * TypeScript twin of `src/scripts/_lib/installed_tools.py` (ADR-200 — Python→TS
4
+ * Ported from the retired Python `src/scripts/_lib/installed_tools.py` (ADR-200 — Python→TS
5
5
  * migration, Phase 2 / Wave 2a). Public API mirrors the Python module exactly
6
6
  * (snake_case kept deliberately — fidelity over TS idiom), including the
7
7
  * byte-exact YAML wire format the `_render` golden tests pin.