@event4u/agent-config 8.1.0 → 8.2.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 (591) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +50 -297
  3. package/dist/agent-src/commands/agents/init.md +3 -3
  4. package/dist/agent-src/commands/chat-history/import.md +5 -5
  5. package/dist/agent-src/commands/chat-history.md +1 -1
  6. package/dist/agent-src/commands/condense.md +1 -1
  7. package/dist/agent-src/commands/context/create.md +1 -1
  8. package/dist/agent-src/commands/council/analysis.md +2 -2
  9. package/dist/agent-src/commands/council/default.md +3 -3
  10. package/dist/agent-src/commands/council/design.md +2 -2
  11. package/dist/agent-src/commands/council/optimize.md +1 -1
  12. package/dist/agent-src/commands/council/pr.md +2 -2
  13. package/dist/agent-src/commands/council.md +1 -1
  14. package/dist/agent-src/commands/feature/plan.md +1 -1
  15. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  16. package/dist/agent-src/commands/ghostwriter/write.md +1 -1
  17. package/dist/agent-src/commands/ghostwriter.md +1 -1
  18. package/dist/agent-src/commands/implement-ticket.md +2 -2
  19. package/dist/agent-src/commands/judge/on-diff.md +1 -1
  20. package/dist/agent-src/commands/judge/steps.md +3 -1
  21. package/dist/agent-src/commands/memory/add.md +2 -2
  22. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
  23. package/dist/agent-src/commands/memory/load.md +1 -1
  24. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  25. package/dist/agent-src/commands/memory/promote.md +1 -1
  26. package/dist/agent-src/commands/memory/propose.md +1 -1
  27. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  28. package/dist/agent-src/commands/module/explore.md +3 -3
  29. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  30. package/dist/agent-src/commands/optimize/skills.md +1 -1
  31. package/dist/agent-src/commands/optimize-project.md +1 -1
  32. package/dist/agent-src/commands/orchestrate.md +2 -2
  33. package/dist/agent-src/commands/project-analyze.md +1 -1
  34. package/dist/agent-src/commands/project-health.md +1 -1
  35. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  36. package/dist/agent-src/commands/roadmap/create.md +2 -2
  37. package/dist/agent-src/commands/roadmap/process-full.md +3 -1
  38. package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
  39. package/dist/agent-src/commands/roadmap/process-step.md +3 -1
  40. package/dist/agent-src/commands/security-audit-config.md +1 -1
  41. package/dist/agent-src/commands/sync-agent-settings.md +7 -7
  42. package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
  43. package/dist/agent-src/commands/sync-gitignore.md +4 -4
  44. package/dist/agent-src/commands/work.md +3 -3
  45. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  46. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
  47. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
  48. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
  49. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  50. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
  51. package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
  52. package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
  53. package/dist/agent-src/packs/README.md +1 -1
  54. package/dist/agent-src/presets/README.md +1 -1
  55. package/dist/agent-src/profiles/README.md +1 -1
  56. package/dist/agent-src/rules/architecture.md +2 -2
  57. package/dist/agent-src/rules/context-hygiene.md +2 -2
  58. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
  59. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  60. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
  61. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
  62. package/dist/agent-src/rules/media-governance-routing.md +1 -1
  63. package/dist/agent-src/rules/no-roadmap-references.md +3 -3
  64. package/dist/agent-src/rules/preservation-guard.md +2 -2
  65. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
  66. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
  67. package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
  68. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  69. package/dist/agent-src/rules/telegraph-speak.md +1 -1
  70. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  71. package/dist/agent-src/rules/ui-audit-gate.md +1 -1
  72. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
  73. package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
  74. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
  75. package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
  76. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  77. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  78. package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
  79. package/dist/agent-src/skills/api-design/SKILL.md +1 -1
  80. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
  81. package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
  82. package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
  83. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
  84. package/dist/agent-src/skills/code-review/SKILL.md +3 -4
  85. package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
  86. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  87. package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
  88. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  89. package/dist/agent-src/skills/context-document/SKILL.md +1 -1
  90. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  91. package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
  92. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
  93. package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
  94. package/dist/agent-src/skills/database/SKILL.md +2 -1
  95. package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
  96. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
  97. package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
  98. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
  99. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
  100. package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
  101. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
  102. package/dist/agent-src/skills/flux/SKILL.md +10 -9
  103. package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
  104. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  105. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
  106. package/dist/agent-src/skills/livewire/SKILL.md +10 -9
  107. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  108. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
  109. package/dist/agent-src/skills/module-management/SKILL.md +2 -2
  110. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
  111. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
  112. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
  113. package/dist/agent-src/skills/premortem/SKILL.md +1 -1
  114. package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
  115. package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
  116. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
  117. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
  118. package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
  119. package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
  120. package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
  121. package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
  122. package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
  123. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  124. package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
  125. package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
  126. package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
  127. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  128. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
  129. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  130. package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
  131. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
  132. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
  133. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  134. package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
  135. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
  136. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
  137. package/dist/agent-src/templates/agent-settings.md +34 -25
  138. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  139. package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
  140. package/dist/agent-src/templates/agents/proposal.example.md +4 -4
  141. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  142. package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
  143. package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
  144. package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
  145. package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
  146. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
  147. package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
  148. package/dist/agent-src/templates/roadmaps.md +9 -4
  149. package/dist/agent-src/templates/rule.md +3 -3
  150. package/dist/agent-src/templates/scripts/README.md +6 -6
  151. package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
  152. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
  153. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
  154. package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
  155. package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
  156. package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
  157. package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
  158. package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
  159. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  160. package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
  161. package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
  162. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  163. package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
  164. package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
  165. package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
  166. package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
  167. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
  168. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
  169. package/dist/agent-src/templates/skill.md +2 -2
  170. package/dist/cli/python/knowledge_ingest.js +24 -3
  171. package/dist/cli/python/knowledge_ingest.js.map +1 -1
  172. package/dist/cli/python/workspace_analytics.js +23 -3
  173. package/dist/cli/python/workspace_analytics.js.map +1 -1
  174. package/dist/cli/python/workspace_crypto.js +23 -3
  175. package/dist/cli/python/workspace_crypto.js.map +1 -1
  176. package/dist/cli/python/workspace_documents.js +23 -3
  177. package/dist/cli/python/workspace_documents.js.map +1 -1
  178. package/dist/cli/python/workspace_drive.js +24 -3
  179. package/dist/cli/python/workspace_drive.js.map +1 -1
  180. package/dist/cli/python/workspace_drive_health.js +23 -3
  181. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  182. package/dist/cli/python/workspace_explain.js +23 -3
  183. package/dist/cli/python/workspace_explain.js.map +1 -1
  184. package/dist/cli/python/workspace_hosts.js +23 -3
  185. package/dist/cli/python/workspace_hosts.js.map +1 -1
  186. package/dist/cli/python/workspace_inbox.js +23 -3
  187. package/dist/cli/python/workspace_inbox.js.map +1 -1
  188. package/dist/cli/python/workspace_render.js +23 -3
  189. package/dist/cli/python/workspace_render.js.map +1 -1
  190. package/dist/cli/python/workspace_roles.js +23 -3
  191. package/dist/cli/python/workspace_roles.js.map +1 -1
  192. package/dist/cli/python/workspace_sessions.js +23 -3
  193. package/dist/cli/python/workspace_sessions.js.map +1 -1
  194. package/dist/cli/python/workspace_skills.js +23 -3
  195. package/dist/cli/python/workspace_skills.js.map +1 -1
  196. package/dist/cli/registry.js +2 -0
  197. package/dist/cli/registry.js.map +1 -1
  198. package/dist/discovery/deprecation-report.md +1 -1
  199. package/dist/discovery/discovery-manifest.json +118 -118
  200. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  201. package/dist/discovery/discovery-manifest.summary.md +2 -2
  202. package/dist/discovery/orphan-report.md +1 -1
  203. package/dist/discovery/packs.json +3 -3
  204. package/dist/discovery/trust-report.md +1 -1
  205. package/dist/discovery/workspaces.json +3 -3
  206. package/dist/install/install.mjs +67 -28
  207. package/dist/mcp/registry-manifest.json +2 -2
  208. package/dist/server/routes/settings.js +4 -4
  209. package/dist/server/routes/settings.js.map +1 -1
  210. package/dist/server/schemas/settings.js +1 -1
  211. package/dist/server/schemas/settings.js.map +1 -1
  212. package/docs/CLAIMS.md +2 -2
  213. package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
  214. package/docs/benchmark.md +40 -0
  215. package/docs/contracts/skill-bundled-assets.md +2 -2
  216. package/docs/customization.md +1 -1
  217. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
  218. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
  219. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
  220. package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
  221. package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
  222. package/docs/guidelines/agent-infra/layered-settings.md +4 -4
  223. package/docs/guidelines/agent-infra/memory-access.md +19 -18
  224. package/docs/guidelines/agent-infra/naming.md +1 -1
  225. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
  226. package/docs/guidelines/agent-infra/role-contracts.md +1 -1
  227. package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
  228. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
  229. package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
  230. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  231. package/docs/guidelines/augment-portability-patterns.md +1 -1
  232. package/docs/proof.md +1 -1
  233. package/docs/setup/per-ide/claude-code.md +10 -4
  234. package/package.json +3 -2
  235. package/src/config/agent-settings.template.yml +31 -17
  236. package/src/config/host-capabilities.yml +25 -16
  237. package/src/config/profiles/balanced.ini +5 -3
  238. package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
  239. package/src/scripts/_cli/cmd_conformance.ts +23 -4
  240. package/src/scripts/_cli/cmd_doctor.ts +96 -8
  241. package/src/scripts/_cli/cmd_explain.ts +23 -4
  242. package/src/scripts/_cli/cmd_export.ts +23 -4
  243. package/src/scripts/_cli/cmd_fleet.ts +23 -4
  244. package/src/scripts/_cli/cmd_migrate.ts +23 -4
  245. package/src/scripts/_cli/cmd_preflight.ts +24 -4
  246. package/src/scripts/_cli/cmd_prune.ts +23 -4
  247. package/src/scripts/_cli/cmd_refresh.ts +23 -4
  248. package/src/scripts/_cli/cmd_settings_check.ts +23 -4
  249. package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
  250. package/src/scripts/_cli/cmd_sync.ts +23 -4
  251. package/src/scripts/_cli/cmd_uninstall.ts +23 -4
  252. package/src/scripts/_cli/cmd_update.ts +23 -4
  253. package/src/scripts/_cli/cmd_upgrade.ts +238 -9
  254. package/src/scripts/_cli/cmd_validate.ts +23 -4
  255. package/src/scripts/_cli/cmd_versions.ts +23 -4
  256. package/src/scripts/_dispatch.bash +62 -19
  257. package/src/scripts/_lib/claude_plugin.ts +83 -0
  258. package/src/scripts/_lib/knowledge_global.ts +24 -2
  259. package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
  260. package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
  261. package/src/scripts/_lib/link_crypto.ts +24 -5
  262. package/src/scripts/_lib/pin_resolver.ts +24 -3
  263. package/src/scripts/adoption_report.ts +23 -4
  264. package/src/scripts/adoption_snapshot.ts +23 -1
  265. package/src/scripts/adoption_status.ts +23 -4
  266. package/src/scripts/adr/regenerate_index.ts +24 -3
  267. package/src/scripts/ai_council/airgap.ts +25 -2
  268. package/src/scripts/ai_council/compile_corpus.ts +24 -2
  269. package/src/scripts/ai_council/pricing.ts +11 -1
  270. package/src/scripts/analysis_freshness.ts +23 -4
  271. package/src/scripts/annotate_discovery.ts +23 -1
  272. package/src/scripts/apply_modules_config.ts +23 -4
  273. package/src/scripts/audit_adr_coverage.ts +23 -4
  274. package/src/scripts/audit_auto_rules.ts +23 -1
  275. package/src/scripts/audit_cloud_compatibility.ts +23 -4
  276. package/src/scripts/audit_command_surface.ts +23 -4
  277. package/src/scripts/audit_initial_context.ts +23 -3
  278. package/src/scripts/audit_likelihood.ts +23 -1
  279. package/src/scripts/audit_mcp_tools.ts +23 -3
  280. package/src/scripts/audit_overlap.ts +23 -1
  281. package/src/scripts/audit_skill_descriptions.ts +24 -2
  282. package/src/scripts/audit_skill_overlap.ts +23 -1
  283. package/src/scripts/audit_user_type_axis.ts +23 -4
  284. package/src/scripts/backfill_model_tier.ts +23 -4
  285. package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
  286. package/src/scripts/bench_ab_clone.ts +23 -1
  287. package/src/scripts/bench_ab_diff.ts +23 -1
  288. package/src/scripts/bench_ab_integrity.ts +23 -1
  289. package/src/scripts/bench_ab_run.ts +23 -2
  290. package/src/scripts/bench_ab_task_runner.ts +23 -1
  291. package/src/scripts/bench_ab_tracka_run.ts +23 -2
  292. package/src/scripts/bench_ab_v2_run.ts +23 -1
  293. package/src/scripts/bench_ab_v2_stats.ts +23 -1
  294. package/src/scripts/bench_baseline_ready.ts +23 -1
  295. package/src/scripts/bench_condense_memory.ts +23 -1
  296. package/src/scripts/bench_drift_check.ts +23 -2
  297. package/src/scripts/bench_matrix.ts +23 -4
  298. package/src/scripts/bench_per_tool.ts +23 -1
  299. package/src/scripts/bench_quality_run.ts +23 -2
  300. package/src/scripts/bench_rtk_savings.ts +23 -1
  301. package/src/scripts/bench_rule_load_latency.ts +23 -2
  302. package/src/scripts/bench_run.ts +23 -2
  303. package/src/scripts/bench_runner.ts +23 -1
  304. package/src/scripts/build_cloud_bundle.ts +23 -3
  305. package/src/scripts/build_discovery_manifest.ts +23 -4
  306. package/src/scripts/build_linear_digest.ts +23 -3
  307. package/src/scripts/build_mcp_registry_manifest.ts +23 -4
  308. package/src/scripts/build_rule_trigger_matrix.ts +23 -4
  309. package/src/scripts/capture_showcase_session.ts +23 -1
  310. package/src/scripts/chat_history.ts +24 -3
  311. package/src/scripts/check_always_budget.ts +23 -2
  312. package/src/scripts/check_artefact_checksums.ts +23 -4
  313. package/src/scripts/check_augment_description_cap.ts +23 -4
  314. package/src/scripts/check_augmentignore.ts +23 -4
  315. package/src/scripts/check_beta_review_markers.ts +23 -4
  316. package/src/scripts/check_cluster_patterns.ts +23 -4
  317. package/src/scripts/check_command_count_messaging.ts +23 -4
  318. package/src/scripts/check_comparison.ts +23 -1
  319. package/src/scripts/check_condensation.ts +24 -3
  320. package/src/scripts/check_condensed_paths.ts +23 -2
  321. package/src/scripts/check_context_paths.ts +23 -4
  322. package/src/scripts/check_council_config_location.ts +23 -4
  323. package/src/scripts/check_council_layout.ts +23 -4
  324. package/src/scripts/check_council_references.ts +23 -4
  325. package/src/scripts/check_discovery_determinism.ts +24 -4
  326. package/src/scripts/check_gate_paths.ts +23 -4
  327. package/src/scripts/check_generated_artefact_headers.ts +23 -4
  328. package/src/scripts/check_generator_output_coverage.ts +23 -4
  329. package/src/scripts/check_gitignore_freshness.ts +23 -4
  330. package/src/scripts/check_iron_law_prominence.ts +23 -4
  331. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  332. package/src/scripts/check_kernel_rule_bundle.ts +23 -4
  333. package/src/scripts/check_knowledge_cards.ts +23 -1
  334. package/src/scripts/check_md_language.ts +23 -4
  335. package/src/scripts/check_media_deps.ts +24 -1
  336. package/src/scripts/check_memory.ts +24 -2
  337. package/src/scripts/check_memory_proposal.ts +23 -4
  338. package/src/scripts/check_module_management_neutral.ts +23 -4
  339. package/src/scripts/check_no_conflict_markers.ts +23 -4
  340. package/src/scripts/check_no_external_sources.ts +23 -4
  341. package/src/scripts/check_no_local_settings_committed.ts +24 -4
  342. package/src/scripts/check_no_new_legacy_path.ts +23 -4
  343. package/src/scripts/check_no_roadmap_refs.ts +23 -4
  344. package/src/scripts/check_one_off_location.ts +23 -4
  345. package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
  346. package/src/scripts/check_portability.ts +24 -3
  347. package/src/scripts/check_proposal.ts +0 -0
  348. package/src/scripts/check_public_catalog_links.ts +23 -4
  349. package/src/scripts/check_public_links.ts +23 -4
  350. package/src/scripts/check_quality_regression.ts +23 -2
  351. package/src/scripts/check_references.ts +23 -4
  352. package/src/scripts/check_release_includes_discovery.ts +23 -4
  353. package/src/scripts/check_release_pr_shape.ts +23 -4
  354. package/src/scripts/check_release_published.ts +23 -4
  355. package/src/scripts/check_release_trunk_sync.ts +23 -4
  356. package/src/scripts/check_reply_consistency.ts +23 -4
  357. package/src/scripts/check_roadmap_trackable.ts +23 -4
  358. package/src/scripts/check_role_doc_links.ts +23 -4
  359. package/src/scripts/check_safety_floor_untouched.ts +24 -4
  360. package/src/scripts/check_site_links.ts +23 -1
  361. package/src/scripts/check_skill_gaps.ts +23 -1
  362. package/src/scripts/check_skill_requires.ts +23 -4
  363. package/src/scripts/check_structural_breaking.ts +24 -4
  364. package/src/scripts/check_surface_tiers.ts +23 -4
  365. package/src/scripts/check_template_pin_drift.ts +23 -4
  366. package/src/scripts/check_test_coverage_diff.ts +23 -4
  367. package/src/scripts/check_token_optimizer_freshness.ts +23 -4
  368. package/src/scripts/check_token_quality_golden.ts +23 -2
  369. package/src/scripts/check_token_regression.ts +23 -2
  370. package/src/scripts/check_tracked_but_ignored.ts +24 -4
  371. package/src/scripts/check_trigger_evals.ts +23 -4
  372. package/src/scripts/check_trunk_drift.ts +24 -1
  373. package/src/scripts/check_update_banner.ts +23 -4
  374. package/src/scripts/ci_summary.ts +23 -4
  375. package/src/scripts/ci_time_ratio.ts +23 -4
  376. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  377. package/src/scripts/compile_router.ts +23 -4
  378. package/src/scripts/condense.ts +23 -2
  379. package/src/scripts/condense_memory.ts +24 -2
  380. package/src/scripts/config/packs.ts +24 -4
  381. package/src/scripts/config/session_profiles.ts +23 -4
  382. package/src/scripts/context_hygiene_hook.ts +24 -3
  383. package/src/scripts/cost_by_conversation.ts +23 -4
  384. package/src/scripts/cost_summary.ts +23 -4
  385. package/src/scripts/council_cli.ts +35 -7
  386. package/src/scripts/council_prune.ts +25 -2
  387. package/src/scripts/cross_repo_retrieve.ts +23 -4
  388. package/src/scripts/discovery_stats.ts +23 -4
  389. package/src/scripts/evidence_report.ts +23 -1
  390. package/src/scripts/export_replay_corpus.ts +23 -2
  391. package/src/scripts/extract_audit_patterns.ts +23 -1
  392. package/src/scripts/first_run_gate_hook.ts +24 -3
  393. package/src/scripts/gen_discovery_baseline.ts +23 -4
  394. package/src/scripts/generate_capabilities_index.ts +24 -5
  395. package/src/scripts/generate_capability_matrix.ts +23 -4
  396. package/src/scripts/generate_catalog.ts +23 -1
  397. package/src/scripts/generate_command_flows.ts +23 -4
  398. package/src/scripts/generate_cookbook.ts +23 -4
  399. package/src/scripts/generate_index.ts +23 -4
  400. package/src/scripts/generate_ownership_matrix.ts +23 -1
  401. package/src/scripts/generate_pack_manifests.ts +24 -5
  402. package/src/scripts/generate_role_experiences_catalog.ts +23 -4
  403. package/src/scripts/hooks/block_no_verify.ts +23 -4
  404. package/src/scripts/hooks/design_slop_hook.ts +24 -3
  405. package/src/scripts/hooks/dispatch_hook.ts +47 -14
  406. package/src/scripts/hooks/replay_hook.ts +23 -2
  407. package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
  408. package/src/scripts/hooks_doctor.ts +23 -2
  409. package/src/scripts/hooks_status.ts +23 -2
  410. package/src/scripts/injection_scan_hook.ts +24 -5
  411. package/src/scripts/install.ts +72 -44
  412. package/src/scripts/inventory_abstraction_budget.ts +23 -1
  413. package/src/scripts/inventory_frontmatter.ts +23 -1
  414. package/src/scripts/inventory_meta_layers.ts +23 -1
  415. package/src/scripts/iron_law_sha.ts +23 -4
  416. package/src/scripts/janitor.ts +23 -4
  417. package/src/scripts/knowledge_global_cli.ts +24 -2
  418. package/src/scripts/linked_projects_list.ts +23 -4
  419. package/src/scripts/lint_agent_security.ts +23 -4
  420. package/src/scripts/lint_agent_skill_names.ts +23 -4
  421. package/src/scripts/lint_agents_layout.ts +23 -4
  422. package/src/scripts/lint_agents_md.ts +23 -4
  423. package/src/scripts/lint_archived_skills.ts +23 -4
  424. package/src/scripts/lint_artefact_frontmatter.ts +23 -4
  425. package/src/scripts/lint_bench_ab.ts +23 -4
  426. package/src/scripts/lint_bench_corpus.ts +23 -2
  427. package/src/scripts/lint_command_flow_coverage.ts +23 -4
  428. package/src/scripts/lint_command_routing.ts +23 -4
  429. package/src/scripts/lint_command_tiers.ts +23 -2
  430. package/src/scripts/lint_command_verbs.ts +23 -4
  431. package/src/scripts/lint_commit_subjects.ts +24 -4
  432. package/src/scripts/lint_confusables.ts +25 -5
  433. package/src/scripts/lint_context_spine_usage.ts +23 -4
  434. package/src/scripts/lint_discovery_manifest.ts +23 -4
  435. package/src/scripts/lint_discovery_vocabulary.ts +23 -4
  436. package/src/scripts/lint_empty_roadmaps.ts +23 -4
  437. package/src/scripts/lint_eval_freshness.ts +23 -4
  438. package/src/scripts/lint_examples.ts +23 -4
  439. package/src/scripts/lint_explain_trace.ts +23 -4
  440. package/src/scripts/lint_featured_skills.ts +0 -0
  441. package/src/scripts/lint_flows.ts +23 -4
  442. package/src/scripts/lint_framework_leakage.ts +23 -4
  443. package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
  444. package/src/scripts/lint_ghostwriter_source.ts +23 -4
  445. package/src/scripts/lint_global_paths.ts +23 -2
  446. package/src/scripts/lint_handoffs.ts +23 -4
  447. package/src/scripts/lint_hidden_unicode.ts +24 -5
  448. package/src/scripts/lint_hook_concern_budget.ts +23 -4
  449. package/src/scripts/lint_hook_manifest.ts +23 -2
  450. package/src/scripts/lint_instruction_smuggling.ts +25 -5
  451. package/src/scripts/lint_legal_pack.ts +23 -1
  452. package/src/scripts/lint_load_context.ts +23 -4
  453. package/src/scripts/lint_marketplace.ts +24 -3
  454. package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
  455. package/src/scripts/lint_mcp_config_security.ts +25 -5
  456. package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
  457. package/src/scripts/lint_media_policy_linkage.ts +23 -4
  458. package/src/scripts/lint_missions.ts +23 -4
  459. package/src/scripts/lint_model_tier_coverage.ts +23 -4
  460. package/src/scripts/lint_namespace.ts +23 -4
  461. package/src/scripts/lint_namespace_collisions.ts +23 -4
  462. package/src/scripts/lint_new_skill_gate.ts +23 -4
  463. package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
  464. package/src/scripts/lint_one_off_age.ts +23 -4
  465. package/src/scripts/lint_orchestration_dsl.ts +23 -4
  466. package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
  467. package/src/scripts/lint_pack_boundaries.ts +23 -4
  468. package/src/scripts/lint_pack_dependencies.ts +23 -2
  469. package/src/scripts/lint_pack_first_win.ts +23 -4
  470. package/src/scripts/lint_pack_risk_class.ts +23 -1
  471. package/src/scripts/lint_persona_governance.ts +23 -4
  472. package/src/scripts/lint_positioning.ts +23 -4
  473. package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
  474. package/src/scripts/lint_readme_jargon.ts +23 -4
  475. package/src/scripts/lint_readme_size.ts +23 -4
  476. package/src/scripts/lint_regression.ts +23 -4
  477. package/src/scripts/lint_roadmap_blockers.ts +23 -4
  478. package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
  479. package/src/scripts/lint_roadmap_complexity.ts +23 -4
  480. package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
  481. package/src/scripts/lint_role_experiences.ts +23 -4
  482. package/src/scripts/lint_rule_interactions.ts +23 -4
  483. package/src/scripts/lint_rule_tiers.ts +24 -3
  484. package/src/scripts/lint_showcase_sessions.ts +23 -4
  485. package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
  486. package/src/scripts/lint_skill_originality.ts +23 -4
  487. package/src/scripts/lint_skill_tools.ts +23 -4
  488. package/src/scripts/lint_subagent_determinism.ts +23 -4
  489. package/src/scripts/lint_ticket_buildable.ts +23 -4
  490. package/src/scripts/lint_topics_yaml.ts +23 -4
  491. package/src/scripts/lint_trust_coherence.ts +23 -4
  492. package/src/scripts/lint_value_dashboard.ts +23 -4
  493. package/src/scripts/lint_workflow_security.ts +23 -4
  494. package/src/scripts/lint_workspace_boundary.ts +23 -4
  495. package/src/scripts/mcp_parity_smoke.ts +23 -2
  496. package/src/scripts/mcp_render.ts +23 -4
  497. package/src/scripts/mcp_telemetry_health.ts +23 -4
  498. package/src/scripts/mcp_telemetry_query.ts +23 -4
  499. package/src/scripts/mcp_telemetry_store.ts +23 -4
  500. package/src/scripts/measure_augment_budget.ts +23 -1
  501. package/src/scripts/measure_density.ts +23 -1
  502. package/src/scripts/measure_frugality_savings.ts +23 -1
  503. package/src/scripts/measure_markitdown_lift.ts +23 -1
  504. package/src/scripts/measure_patterns.ts +23 -1
  505. package/src/scripts/measure_projection_bytes.ts +23 -1
  506. package/src/scripts/measure_rule_budget.ts +23 -4
  507. package/src/scripts/measure_skill_reduction.ts +23 -1
  508. package/src/scripts/memory_hash.ts +24 -2
  509. package/src/scripts/memory_lookup.ts +24 -2
  510. package/src/scripts/memory_report.ts +24 -2
  511. package/src/scripts/memory_signal.ts +24 -2
  512. package/src/scripts/memory_status.ts +26 -2
  513. package/src/scripts/migrate_command_suggestions.ts +23 -4
  514. package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
  515. package/src/scripts/migration_status.ts +25 -4
  516. package/src/scripts/mine_missing_guardrails.ts +23 -1
  517. package/src/scripts/mine_session.ts +23 -1
  518. package/src/scripts/minimal_safe_diff_hook.ts +24 -3
  519. package/src/scripts/new_skill.ts +23 -3
  520. package/src/scripts/onboarding_gate_hook.ts +24 -3
  521. package/src/scripts/parity/coverage_diff.ts +25 -3
  522. package/src/scripts/parity/phase_gate.ts +25 -4
  523. package/src/scripts/parity/replay.ts +25 -3
  524. package/src/scripts/pattern_share.ts +23 -4
  525. package/src/scripts/plan_physical_move.ts +23 -4
  526. package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
  527. package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
  528. package/src/scripts/prediction-pool/score_ev.ts +24 -3
  529. package/src/scripts/print_required_checks.ts +24 -4
  530. package/src/scripts/probe_host_compliance.ts +23 -2
  531. package/src/scripts/probe_projection_fidelity.ts +23 -1
  532. package/src/scripts/probe_skill_registration.ts +24 -2
  533. package/src/scripts/profile_staleness_hook.ts +24 -3
  534. package/src/scripts/profile_use.ts +23 -4
  535. package/src/scripts/project_thin_rules.ts +23 -3
  536. package/src/scripts/propose_modules_config.ts +23 -4
  537. package/src/scripts/prototype_lint_contradictions.ts +23 -1
  538. package/src/scripts/prove_pack_extractable.ts +23 -4
  539. package/src/scripts/readme_linter.ts +23 -3
  540. package/src/scripts/redact_hook_capture.ts +23 -4
  541. package/src/scripts/refine_ticket_detect.ts +23 -4
  542. package/src/scripts/release.ts +23 -4
  543. package/src/scripts/render_benchmark_composite.ts +23 -4
  544. package/src/scripts/render_benchmark_md.ts +23 -4
  545. package/src/scripts/roadmap_progress_hook.ts +46 -16
  546. package/src/scripts/run_skill_evals.ts +23 -4
  547. package/src/scripts/runtime_dispatcher.ts +23 -4
  548. package/src/scripts/runtime_registry.ts +23 -4
  549. package/src/scripts/score_skill_selection.ts +23 -1
  550. package/src/scripts/security_audit_config.ts +24 -5
  551. package/src/scripts/skill_collision_clusters.ts +23 -4
  552. package/src/scripts/skill_discovery.ts +23 -4
  553. package/src/scripts/skill_linter.ts +23 -2
  554. package/src/scripts/skill_preview.ts +23 -4
  555. package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
  556. package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
  557. package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
  558. package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
  559. package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
  560. package/src/scripts/skill_usage_collect.ts +23 -4
  561. package/src/scripts/smoke_path_resolution.ts +23 -4
  562. package/src/scripts/smoke_quickstart.ts +23 -4
  563. package/src/scripts/snapshot_agent_outputs.ts +23 -4
  564. package/src/scripts/spotcheck_thin_root.ts +23 -4
  565. package/src/scripts/sync_agent_settings.ts +23 -4
  566. package/src/scripts/sync_github_metadata.ts +23 -4
  567. package/src/scripts/sync_gitignore.ts +23 -4
  568. package/src/scripts/telegraph_stats.ts +23 -4
  569. package/src/scripts/tool_registry.ts +24 -4
  570. package/src/scripts/trigger_coverage.ts +23 -4
  571. package/src/scripts/update_counts.ts +23 -4
  572. package/src/scripts/update_prices.ts +23 -1
  573. package/src/scripts/validate_agent_settings.ts +23 -4
  574. package/src/scripts/validate_decision_engine.ts +23 -4
  575. package/src/scripts/validate_discovery_manifest.ts +23 -4
  576. package/src/scripts/validate_frontmatter.ts +23 -2
  577. package/src/scripts/validate_pack_yaml.ts +0 -0
  578. package/src/scripts/validate_safe_paths.ts +24 -4
  579. package/src/scripts/validate_telegraph_carveouts.ts +23 -4
  580. package/src/scripts/verify_before_complete_hook.ts +24 -3
  581. package/src/scripts/verify_physical_move.ts +23 -4
  582. package/src/scripts/wrapper_freshness_hook.ts +107 -8
  583. package/tests/fixtures/hooks/README.md +92 -0
  584. package/tests/fixtures/hooks/agent_error.json +7 -0
  585. package/tests/fixtures/hooks/post_tool_use.json +13 -0
  586. package/tests/fixtures/hooks/pre_compact.json +7 -0
  587. package/tests/fixtures/hooks/pre_tool_use.json +9 -0
  588. package/tests/fixtures/hooks/session_end.json +6 -0
  589. package/tests/fixtures/hooks/session_start.json +6 -0
  590. package/tests/fixtures/hooks/stop.json +6 -0
  591. package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
@@ -60,10 +60,10 @@ Invoke the matching `/council default` form:
60
60
  - `prompt:` → `/council default prompt:"<artefact text>"` with
61
61
  `--prompt-mode design`.
62
62
 
63
- `--prompt-mode` is the CLI flag (`scripts/council_cli.py`) that
63
+ `--prompt-mode` is the CLI flag (`scripts/council_cli.ts`) that
64
64
  swaps the lens addendum after the bundler has run.
65
65
 
66
- The `design` mode addendum from `scripts/ai_council/prompts.py`
66
+ The `design` mode addendum from `scripts/ai_council/prompts.ts`
67
67
  focuses council members on:
68
68
 
69
69
  - Trust-boundary and module-coupling risk.
@@ -73,7 +73,7 @@ The chosen metric becomes the `original_ask` for the handoff preamble:
73
73
 
74
74
  Invoke the matching `/council default` form (`files:` / `prompt:`) with
75
75
  `--prompt-mode optimize`. The `optimize` mode addendum from
76
- `scripts/ai_council/prompts.py` requires members to:
76
+ `scripts/ai_council/prompts.ts` requires members to:
77
77
 
78
78
  - Rank suggestions by expected impact on the chosen metric, not by
79
79
  effort or cleverness.
@@ -48,7 +48,7 @@ gh pr view <number> --json number,title,body,headRefName,baseRefName,author,url
48
48
 
49
49
  Capture: title, body, head ref, base ref. The **PR title + body** is
50
50
  the user's `original_ask` for the handoff preamble — verbatim, after
51
- `_strip_host_identity()` cleansing in `prompts.py`. Do **not** add the
51
+ `_strip_host_identity()` cleansing in `prompts.ts`. Do **not** add the
52
52
  agent's framing.
53
53
 
54
54
  ### 3. Fetch the diff range locally
@@ -68,7 +68,7 @@ Invoke `/council default diff:<base>..<head>` with:
68
68
  - `original_ask` = PR title + body (capped per
69
69
  `bundler.size_guard`; warn if truncated).
70
70
  - Pass `--prompt-mode pr` so the neutrality preamble uses the `pr`
71
- mode addendum from `scripts/ai_council/prompts.py` — focuses
71
+ mode addendum from `scripts/ai_council/prompts.ts` — focuses
72
72
  members on PR-specific risks (shipping risk, reviewer fatigue,
73
73
  scope creep) on top of the generic diff focus (correctness,
74
74
  security, tests, maintainability).
@@ -44,7 +44,7 @@ Each wrapper resolves its lens-specific input (PR target, design artefact,
44
44
  optimization target + metric), captures a wrapper-specific `original_ask`,
45
45
  then delegates to `/council default` with `mode_override=<lens>`. The
46
46
  lens-specific neutrality addendums live in **one** place —
47
- [`scripts/ai_council/prompts.py:_MODE_TABLE`](../../scripts/ai_council/prompts.py) —
47
+ [`scripts/ai_council/prompts.ts:_MODE_TABLE`](../../scripts/ai_council/prompts.ts) —
48
48
  and are selected by the `mode_override` value. Wrappers never re-implement
49
49
  cost-gate, CLI invocation, render, or the host-verdict pass; those flow
50
50
  through the master verbatim.
@@ -155,7 +155,7 @@ If no context exists, note this for step 8 (offer to create one after planning).
155
155
 
156
156
  ### 5b. Determine scope (module vs. project-wide)
157
157
 
158
- Resolve module roots via `scripts/_lib/agent_settings.py::enumerate_modules()`
158
+ Resolve module roots via `scripts/_lib/agent_settings.ts::enumerate_modules()`
159
159
  (reads `modules.root_paths` + `modules.agent_folder` from
160
160
  `.agent-project-settings.yml`). If at least one module is discovered, ask:
161
161
 
@@ -86,7 +86,7 @@ If Step 1 encountered a `fictional: true` file under
86
86
  or delete this file.
87
87
  ```
88
88
 
89
- This should not normally happen — `scripts/lint_ghostwriter_source.py`
89
+ This should not normally happen — `scripts/lint_ghostwriter_source.ts`
90
90
  guards the package side (run via the package's CI), and consumer-side
91
91
  `fetch` always writes `fictional: false`.
92
92
 
@@ -144,7 +144,7 @@ Non-blocking.
144
144
  - **Do NOT commit, push, or open a PR.** The user owns the git surface.
145
145
  - **Do NOT omit the disclosure footer.** It is mandatory on every
146
146
  invocation. Any flag that would suppress it is forbidden by design
147
- and rejected by the package skill linter (`scripts/lint_skills.py`).
147
+ and rejected by the package skill linter (`scripts/skill_linter.ts`).
148
148
  - **Do NOT write the draft to disk.** This command prints only.
149
149
  - **Do NOT blend multiple ghostwriter voices.** One style source per
150
150
  invocation in v1.
@@ -88,7 +88,7 @@ Cluster locked in
88
88
  |---|---|---|
89
89
  | `agents/reference/ghostwriter/<slug>.md` (consumer) | Real-person public-figure profiles | **No** — gitignored by default. `--shared` opt-in deferred to v2. |
90
90
  | `agents/reference/ghostwriter/README.md` (consumer) | Directory anchor + how-to | Yes |
91
- | `.agent-src.uncondensed/ghostwriter/*.md` (package) | `fictional: true` fixtures only | Yes — CI-enforced by `scripts/lint_ghostwriter_source.py` |
91
+ | `.agent-src.uncondensed/ghostwriter/*.md` (package) | `fictional: true` fixtures only | Yes — CI-enforced by `scripts/lint_ghostwriter_source.ts` |
92
92
 
93
93
  Slug = full-name kebab-case with optional `-<discriminator>` suffix
94
94
  (`alice-walker` vs `alice-walker-novelist`). The package never
@@ -8,7 +8,7 @@ replaces: []
8
8
  tier: 0
9
9
  visibility: visible
10
10
  skills: [refine-ticket, feature-planning]
11
- description: Drive a ticket end-to-end through refine → memory → analyze → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, block-on-ambiguity, no auto-git.
11
+ description: Drive a ticket end-to-end through refine → memory → analyze → plan → implement → test → verify → report — Option-A loop over the `work_engine` engine, block-on-ambiguity, no auto-git.
12
12
  suggestion:
13
13
  eligible: true
14
14
  trigger_description: "implement this ticket, setze ticket X um, build PROJ-123"
@@ -110,7 +110,7 @@ Run the engine with the state file on every iteration:
110
110
  [--ticket-file ticket.json --persona <name>] # first call only
111
111
  ```
112
112
 
113
- The dispatcher wires `PYTHONPATH` and routes to the engine module
113
+ The dispatcher resolves the engine module (TypeScript, run via tsx)
114
114
  internally. `./agent-config` is the only supported entry point in
115
115
  consumer repos — do not call the engine module directly.
116
116
 
@@ -56,7 +56,7 @@ context. The judge must return one of:
56
56
 
57
57
  ### 5. Apply or revise
58
58
 
59
- - `apply` → write the diff, run targeted tests, run quality pipeline
59
+ - `apply` → write the diff, run targeted tests; run the quality pipeline only when `quality.local_auto_run: true` (default `false` → skip, remote CI is the gate)
60
60
  - `revise` → hand the issue list back to the implementer, loop to step 4
61
61
  - `reject` → stop, report to user, do not loop
62
62
 
@@ -66,7 +66,9 @@ On stop, report the last verified state so the user can resume.
66
66
  ### 5. Final verification
67
67
 
68
68
  After step N passes judgment, run `verify-completion-evidence` across the
69
- whole changeset — targeted tests + full suite + quality pipeline.
69
+ whole changeset — targeted tests, plus full suite + quality pipeline only
70
+ when `quality.local_auto_run: true` (default `false` → skip, remote CI is
71
+ the gate; report "quality gates delegated to remote CI").
70
72
  Never declare the plan "done" without this gate.
71
73
 
72
74
  ### 6. Report
@@ -31,7 +31,7 @@ the first write and for every subsequent addition.
31
31
  ## Prerequisites
32
32
 
33
33
  - Consumer project has an `agents/` directory (package installed).
34
- - `scripts/check_memory.py` is available (shipped with the package).
34
+ - `scripts/check_memory.ts` is available (shipped with the package).
35
35
  - User can name a concrete pattern — see the "when to reject" section.
36
36
 
37
37
  ## Steps
@@ -136,7 +136,7 @@ Read `verbosity.post_action_reports` from `.agent-settings.yml` (default
136
136
  ```
137
137
  ✅ Added <type>/<id> (confidence: <high|medium|low>)
138
138
  Path: agents/memory/<type>.yml (or agents/memory/<type>/<hash>.yml)
139
- Gate: scripts/check_memory.py → PASS
139
+ Gate: scripts/check_memory.ts → PASS
140
140
  Next: commit and link from the relevant skill/command.
141
141
  ```
142
142
 
@@ -52,7 +52,7 @@ for the eight forbidden-content classes.
52
52
  ### 1. Build the preview plan
53
53
 
54
54
  Call
55
- `scripts/ai_council/learn_low_impact_preview.py::build_preview` with
55
+ `scripts/ai_council/learn_low_impact_preview.ts::build_preview` with
56
56
  the project-local corpus and the package seed:
57
57
 
58
58
  ```python
@@ -81,7 +81,7 @@ for (const f of glob("agents/memory").sort()) {
81
81
  The Tier-0 slice is surfaced once per `/memory:load` invocation, even
82
82
  when the user picks a type with no critical entries — the slice spans
83
83
  types deliberately. Token cost is bounded by the soft cap of 10
84
- critical entries per type (warned by `scripts/check_memory.py`).
84
+ critical entries per type (warned by `scripts/check_memory.ts`).
85
85
 
86
86
  ### 2. Warn about volume
87
87
 
@@ -167,7 +167,7 @@ Confirm:
167
167
  reasoning blocks, system reminders) before pattern matching. If the
168
168
  miner under-counts, audit the adapter's redact list, not the regex.
169
169
  - Date-discipline: relative phrases (`yesterday`, `last week`) in the
170
- observation field are rejected by `scripts/check_memory.py` unless
170
+ observation field are rejected by `scripts/check_memory.ts` unless
171
171
  re-anchored with `YYYY-MM-DD` within ±20 chars. The miner re-anchors
172
172
  automatically using the turn's `ts`; verify before commit.
173
173
 
@@ -21,7 +21,7 @@ packs:
21
21
  Moves an entry from the provisional layer (intake JSONL) into the
22
22
  curated layer (`agents/memory/<type>.yml` or sharded). Promotion is
23
23
  gated by
24
- [`scripts/check_memory_proposal.py`](../../../scripts/check_memory_proposal.py),
24
+ [`scripts/check_memory_proposal.ts`](../../../scripts/check_memory_proposal.ts),
25
25
  which enforces the **pattern-vs-one-off** discipline: either ≥ 2
26
26
  distinct paths share the root-cause signature, or the submitter
27
27
  supplies ≥ 3 concrete future decisions that will be steered by the
@@ -19,7 +19,7 @@ packs:
19
19
 
20
20
  # /memory propose
21
21
  Drops a **signal** into `agents/memory/intake/signals-YYYY-MM.jsonl` via
22
- `scripts/memory_signal.py`. Signals are append-only JSONL and merge-safe.
22
+ `scripts/memory_signal.ts`. Signals are append-only JSONL and merge-safe.
23
23
 
24
24
  Unlike [`/memory-add`](memory-add.md) — which writes a **curated**
25
25
  entry the reviewer has validated — `/propose-memory` is cheap and
@@ -158,7 +158,7 @@ Per [`scope-control`](../../rules/scope-control.md), git operations are permissi
158
158
 
159
159
  ## Breaking-change catalog
160
160
 
161
- Knowledge source: `src/missions/upgrade/laravel-10-to-11.yaml`. Versionable, diffable, CI-tested via `lint_missions.py`. Each entry carries:
161
+ Knowledge source: `src/missions/upgrade/laravel-10-to-11.yaml`. Versionable, diffable, CI-tested via `lint_missions.ts`. Each entry carries:
162
162
 
163
163
  - `id` — unique checkpoint key (used in `.work-state.json`)
164
164
  - `severity` — `critical` / `high` / `medium` / `low`
@@ -24,12 +24,12 @@ packs:
24
24
  ### 1. Resolve module roots
25
25
 
26
26
  Read the `modules:` block from `.agent-project-settings.yml` via the
27
- loader (`get_modules_config()` in `scripts/_lib/agent_settings.py`):
27
+ loader (`get_modules_config()` in `scripts/_lib/agent_settings.ts`):
28
28
 
29
29
  - If `modules.enabled` is `true` and `modules.root_paths` is non-empty,
30
30
  use those paths verbatim. Skip the fallback table.
31
31
  - If the block is missing / disabled / empty, fall back to the
32
- auto-detection table below — same shape `propose_modules_config.py`
32
+ auto-detection table below — same shape `propose_modules_config.ts`
33
33
  uses internally.
34
34
 
35
35
  **Auto-detection fallback table** (consulted only when `modules:` is
@@ -54,7 +54,7 @@ Stop.
54
54
  ### 2. List available modules
55
55
 
56
56
  Enumerate modules across every resolved root via `enumerate_modules()`
57
- (see `scripts/_lib/agent_settings.py`). Skip directories listed in
57
+ (see `scripts/_lib/agent_settings.ts`). Skip directories listed in
58
58
  `modules.skip_dirs` (defaults: `.module-template`, `.example`) and
59
59
  hidden dirs. The "Agent Docs" column reflects the configured
60
60
  `modules.agent_folder` (default `agents/`):
@@ -58,7 +58,7 @@ surface changes.
58
58
 
59
59
  1. **Verify project root** — look for `composer.json`, `artisan`, or `package.json`.
60
60
  2. **Create directory structure** — `agents/{roadmaps,features,contexts}/.gitkeep` + `.augment/guidelines/php/.gitkeep`. Skip dirs that already exist with content.
61
- 3. **Module support** — resolve module roots via `scripts/_lib/agent_settings.py::enumerate_modules()`. For every discovered module, mirror the layout: `{module_root}/{Module}/{agent_folder}/{roadmaps,features,contexts}/.gitkeep` (Laravel example: `app/Modules/{Module}/agents/{roadmaps,features,contexts}/.gitkeep`). Skip when `modules.enabled: false` or no roots configured.
61
+ 3. **Module support** — resolve module roots via `scripts/_lib/agent_settings.ts::enumerate_modules()`. For every discovered module, mirror the layout: `{module_root}/{Module}/{agent_folder}/{roadmaps,features,contexts}/.gitkeep` (Laravel example: `app/Modules/{Module}/agents/{roadmaps,features,contexts}/.gitkeep`). Skip when `modules.enabled: false` or no roots configured.
62
62
  4. **Verify templates** — confirm `.augment/templates/{features,roadmaps,contexts}.md` exist; warn on missing.
63
63
  5. **Clean up old templates** — offer to delete legacy `agents/features/template.md` etc. (now in `.augment/templates/`); ask before delete.
64
64
  6. **Show summary** — table with status per directory and template; flag missing as `⚠️`.
@@ -129,5 +129,5 @@ If any check fails: do NOT suggest the change.
129
129
  - **No quality judgments** — the skill linter and `skill-reviewer` handle that
130
130
  - **No auto-fixes** — all changes require explicit user approval
131
131
  - **No "make it shorter"** — condensation is done by Telegraph Condensation, not here
132
- - **No Killer checks** — replaced by the skill linter (`scripts/skill_linter.py`)
132
+ - **No Killer checks** — replaced by the skill linter (`scripts/skill_linter.ts`)
133
133
  - **No edits to `dist/agent-src/` or `.augment/`** — always edit `.agent-src.uncondensed/`, then sync
@@ -62,7 +62,7 @@ audit (route to `/analyze:decision`), code-only analysis
62
62
  installed agent layer. Surface = workflows, structures, docs,
63
63
  roadmaps, decisions.
64
64
  2. Resolve module roots via
65
- `scripts/_lib/agent_settings.py::enumerate_modules()` (Laravel shape:
65
+ `scripts/_lib/agent_settings.ts::enumerate_modules()` (Laravel shape:
66
66
  `app/Modules/*/agents/`); fallback `modules.root_paths` in
67
67
  `.agent-settings.yml`.
68
68
  3. Exclusions hard: never analyze `vendor/`, `node_modules/`, `dist/`,
@@ -28,7 +28,7 @@ personas, skills, commands, and sub-agents pinned by the
28
28
  contract.
29
29
 
30
30
  This command is the **runtime** side of the contract. The schema and
31
- the linter (`scripts/lint_orchestration_dsl.py`) live on the authoring
31
+ the linter (`scripts/lint_orchestration_dsl.ts`) live on the authoring
32
32
  side; this command reads the same shape and dispatches each step.
33
33
 
34
34
  ### 1. Resolve the pipeline file
@@ -125,6 +125,6 @@ output body.
125
125
  ## See also
126
126
 
127
127
  - Contract: [`orchestration-dsl-v1.md`](../docs/contracts/orchestration-dsl-v1.md)
128
- - Linter: `scripts/lint_orchestration_dsl.py`
128
+ - Linter: `scripts/lint_orchestration_dsl.ts`
129
129
  - Subagent runtime: [`subagent-orchestration`](../skills/subagent-orchestration/SKILL.md)
130
130
  - Audit emission: [`audit-log-v1.md`](../docs/contracts/audit-log-v1.md)
@@ -31,7 +31,7 @@ Gather in parallel:
31
31
  - Check for: `artisan`, `Makefile`, `Taskfile.yml`, `docker-compose.yml`
32
32
  - Check for: `phpstan.neon`, `ecs.php`, `rector.php`, `config-dev/`
33
33
  - Check for: `.github/workflows/`, `CODEOWNERS`, `.editorconfig`
34
- - Check for module roots (resolve via `scripts/_lib/agent_settings.py::enumerate_modules()`; Laravel shape: `app/Modules/`), multi-tenant indicators (`customer_database`)
34
+ - Check for module roots (resolve via `scripts/_lib/agent_settings.ts::enumerate_modules()`; Laravel shape: `app/Modules/`), multi-tenant indicators (`customer_database`)
35
35
  - Read: `AGENTS.md`, `.github/copilot-instructions.md` (if exist)
36
36
 
37
37
  Display:
@@ -29,7 +29,7 @@ Run in parallel:
29
29
  - `git branch --show-current` → current branch
30
30
  - `git log --oneline -3` → recent activity
31
31
  - Count files in `agents/` (docs, features, roadmaps, contexts)
32
- - Resolve modules via `scripts/_lib/agent_settings.py::enumerate_modules()`
32
+ - Resolve modules via `scripts/_lib/agent_settings.ts::enumerate_modules()`
33
33
  - For every module: count files in `{module_path}/{modules.agent_folder}/` (Laravel shape: `app/Modules/*/agents/`)
34
34
  - Module list comes from `enumerate_modules()` (Laravel shape: `app/Modules/`)
35
35
  - Count test files
@@ -187,4 +187,4 @@ It does **NOT**:
187
187
  - [`/roadmap`](../roadmap.md) — cluster orchestrator
188
188
  - [`/council default`](../council/default.md) — base flow this command wraps
189
189
  - [`ai-council`](../../skills/ai-council/SKILL.md) — neutrality, redaction, deep tier
190
- - [`scripts/council_cli.py`](../../../scripts/council_cli.py) — CLI entry point
190
+ - [`scripts/council_cli.ts`](../../../scripts/council_cli.ts) — CLI entry point
@@ -29,7 +29,7 @@ Ask the user (in their language) where the roadmap should be created:
29
29
  > 2. In a module (`{module_root}/{Name}/{agent_folder}/roadmaps/`)
30
30
 
31
31
  If the user picks a module → resolve module roots via
32
- `scripts/_lib/agent_settings.py::enumerate_modules()`, list available
32
+ `scripts/_lib/agent_settings.ts::enumerate_modules()`, list available
33
33
  modules from `modules.root_paths`, and ask which one. The target
34
34
  directory is `{module_path}/{modules.agent_folder}/roadmaps/`
35
35
  (default `agent_folder` = `agents`).
@@ -184,7 +184,7 @@ If the user picks **1**:
184
184
 
185
185
  - Run `/council roadmap:<path>` with the user's original ask captured
186
186
  in step 1 as `original_ask` (the handoff preamble carries it
187
- verbatim, see `scripts/ai_council/prompts.py`).
187
+ verbatim, see `scripts/ai_council/prompts.ts`).
188
188
  - Append the council findings as a `## Council review (<UTC date>)`
189
189
  section at the bottom of the roadmap. Include the trace path to
190
190
  `agents/runtime/council/sessions/<timestamp>/raw-text.md` so future readers
@@ -53,7 +53,9 @@ with the **scope delta below**.
53
53
  security-sensitive, scope-out-of-roadmap, test/quality red).
54
54
  - **Phase boundary handling:** at every phase boundary, run the
55
55
  per-phase quality pipeline when `quality_cadence: per_phase` (or
56
- `per_step`). On red → stop, surface, do **not** silently roll into
56
+ `per_step`) AND `quality.local_auto_run: true` — under the default
57
+ (`false` / missing) the pipeline never runs locally; remote CI is
58
+ the gate. On red → stop, surface, do **not** silently roll into
57
59
  the next phase. Under `mode: phase-checkpoints`, additionally emit
58
60
  the compact status + continue prompt at every boundary; under
59
61
  `autonomous`, boundaries are silent (quality pipeline aside).
@@ -52,8 +52,10 @@ branching, halt conditions, and the archival check.
52
52
  phase. Use [`/roadmap:process-full`](process-full.md) for continuous
53
53
  execution across phases.
54
54
  - **Quality cadence at the boundary:** run the per-phase pipeline when
55
- `quality_cadence: per_phase` (or `per_step`). Skip when
56
- `end_of_roadmap`.
55
+ `quality_cadence: per_phase` (or `per_step`) AND
56
+ `quality.local_auto_run: true`. Skip when `end_of_roadmap` — and
57
+ always skip under the default (`local_auto_run` `false` / missing);
58
+ remote CI is the gate.
57
59
 
58
60
  ## Rules
59
61
 
@@ -45,7 +45,9 @@ with the **scope delta below**.
45
45
  [`roadmap-process-loop § 5`](../../contexts/execution/roadmap-process-loop.md#5-step-loop)
46
46
  (sub-steps 1–7). After the checkbox edit + dashboard regen, **stop**.
47
47
  - **Quality cadence:** run the per-step pipeline only when
48
- `quality_cadence: per_step`. Skip otherwise.
48
+ `quality_cadence: per_step` AND `quality.local_auto_run: true`.
49
+ Skip otherwise — under the default (`false` / missing) remote CI
50
+ is the gate.
49
51
  - **Phase boundary:** if this single step happens to close the phase,
50
52
  do **not** advance. Report the phase as complete and stop.
51
53
  - **Roadmap boundary:** if this single step happens to close the
@@ -79,6 +79,6 @@ Overall: B (84/100)
79
79
 
80
80
  ## See also
81
81
 
82
- - [`lint_agent_security`](../../../src/scripts/lint_agent_security.py) — the self-audit (our own corpus) sibling.
82
+ - [`lint_agent_security`](../../../src/scripts/lint_agent_security.ts) — the self-audit (our own corpus) sibling.
83
83
  - [`untrusted-input-defense`](../../rules/untrusted-input-defense.md), [`lethal-trifecta-guard`](../../rules/lethal-trifecta-guard.md) — the always-on prevention rules.
84
84
  - [`/threat-model`](../threat-model/command.md), [`judge-security-auditor`](../skills/judge-security-auditor/SKILL.md) — deep-pass dispatch.
@@ -57,9 +57,9 @@ Use when:
57
57
 
58
58
  The sync script ships in the installed package. Resolve in order:
59
59
 
60
- 1. `./agent-config/scripts/sync_agent_settings.py` — CLI wrapper at the project root.
61
- 2. `vendor/event4u/agent-config/scripts/sync_agent_settings.py` — Composer.
62
- 3. `node_modules/@event4u/agent-config/scripts/sync_agent_settings.py` — npm.
60
+ 1. `./agent-config/scripts/sync_agent_settings.ts` — CLI wrapper at the project root.
61
+ 2. `vendor/event4u/agent-config/scripts/sync_agent_settings.ts` — Composer.
62
+ 3. `node_modules/@event4u/agent-config/scripts/sync_agent_settings.ts` — npm.
63
63
 
64
64
  Target is always `<project_root>/.agent-settings.yml`.
65
65
 
@@ -106,7 +106,7 @@ separate decision from reconciling structure.
106
106
 
107
107
  ## `--check` mode
108
108
 
109
- `sync_agent_settings.py --check` exits **2** if the file is out of
109
+ `sync_agent_settings.ts --check` exits **2** if the file is out of
110
110
  sync, **0** otherwise — suitable for CI. Emit no diff prompt in
111
111
  check-only workflows; report the drift and let the pipeline decide.
112
112
 
@@ -128,15 +128,15 @@ check-only workflows; report the drift and let the pipeline decide.
128
128
  ## Cloud Behavior
129
129
 
130
130
  On cloud surfaces (Claude.ai Web, Skills API) this command is **fully inert** —
131
- there is no `.agent-settings.yml` on disk, no `scripts/sync_agent_settings.py`
131
+ there is no `.agent-settings.yml` on disk, no `scripts/sync_agent_settings.ts`
132
132
  to call, and no template/profile preset reachable. Settings reconciliation
133
133
  is a local-agent concern.
134
134
 
135
135
  ## See also
136
136
 
137
- - [`scripts/sync_agent_settings.py`](../../../scripts/sync_agent_settings.py) — the helper
137
+ - [`scripts/sync_agent_settings.ts`](../../../scripts/sync_agent_settings.ts) — the helper
138
138
  - [`config/agent-settings.template.yml`](../../../config/agent-settings.template.yml) — canonical template
139
139
  - [`config/profiles/`](../../../config/profiles/) — profile presets
140
140
  - [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md) — the merge rules this command enforces
141
- - [`scripts/install.py`](../../../scripts/install.py) — first-install path; this command handles the update path
141
+ - [`scripts/install.ts`](../../../scripts/install.ts) — first-install path; this command handles the update path
142
142
  - [`/sync-gitignore`](sync-gitignore.md) — sibling command for the `.gitignore` block
@@ -58,9 +58,9 @@ Use when:
58
58
 
59
59
  Same resolution order as [`/sync-gitignore`](../sync-gitignore.md):
60
60
 
61
- 1. `./agent-config/scripts/sync_gitignore.py`
62
- 2. `vendor/event4u/agent-config/scripts/sync_gitignore.py`
63
- 3. `node_modules/@event4u/agent-config/scripts/sync_gitignore.py`
61
+ 1. `./agent-config/scripts/sync_gitignore.ts`
62
+ 2. `vendor/event4u/agent-config/scripts/sync_gitignore.ts`
63
+ 3. `node_modules/@event4u/agent-config/scripts/sync_gitignore.ts`
64
64
 
65
65
  Target is `<project_root>/.gitignore`. If no `.gitignore` exists,
66
66
  stop — there is nothing to fix:
@@ -69,10 +69,10 @@ Use when:
69
69
 
70
70
  The sync script ships in the installed package. Resolve in order:
71
71
 
72
- 1. `./agent-config/scripts/sync_gitignore.py` — if the CLI wrapper
72
+ 1. `./agent-config/scripts/sync_gitignore.ts` — if the CLI wrapper
73
73
  directory exists at the project root.
74
- 2. `vendor/event4u/agent-config/scripts/sync_gitignore.py` — Composer.
75
- 3. `node_modules/@event4u/agent-config/scripts/sync_gitignore.py` — npm.
74
+ 2. `vendor/event4u/agent-config/scripts/sync_gitignore.ts` — Composer.
75
+ 3. `node_modules/@event4u/agent-config/scripts/sync_gitignore.ts` — npm.
76
76
 
77
77
  Target is always `<project_root>/.gitignore`. If no `.gitignore` exists,
78
78
  stop and tell the user — the package does not create one unilaterally:
@@ -136,6 +136,6 @@ root-level patterns (not user-added lines), prefer
136
136
 
137
137
  ## See also
138
138
 
139
- - [`scripts/sync_gitignore.py`](../../../scripts/sync_gitignore.py) — the helper
139
+ - [`scripts/sync_gitignore.ts`](../../../scripts/sync_gitignore.ts) — the helper
140
140
  - [`config/gitignore-block.txt`](../../../config/gitignore-block.txt) — canonical block body
141
141
  - [`scripts/install.sh`](../../../scripts/install.sh) — installer integration (same source of truth, `--skip-gitignore` to opt out)
@@ -8,7 +8,7 @@ replaces: []
8
8
  tier: 0
9
9
  visibility: visible
10
10
  skills: [refine-prompt, command-routing]
11
- description: Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, confidence-band gated, no auto-git.
11
+ description: Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` engine, confidence-band gated, no auto-git.
12
12
  suggestion:
13
13
  eligible: true
14
14
  trigger_description: "build this, implement this, drive this end-to-end"
@@ -80,7 +80,7 @@ Run the engine with the state file on every iteration:
80
80
  [--prompt-file prompt.txt --persona <name>] # first call only
81
81
  ```
82
82
 
83
- The dispatcher wires `PYTHONPATH` and routes to the engine module
83
+ The dispatcher resolves the engine module (TypeScript, run via tsx)
84
84
  internally. `./agent-config` is the only supported entry point in
85
85
  consumer repos — do not call the engine module directly.
86
86
 
@@ -121,7 +121,7 @@ Once the gate releases, the rest of the loop is identical to
121
121
  `review-changes` directives flow through the same dispatch table. The
122
122
  `run-tests` directive resolves the consumer's runner via the
123
123
  [`toolchain-resolver`](../contexts/execution/toolchain-resolver.md)
124
- (`work_engine/stack/runner.py`) — pest / phpunit / vitest / jest /
124
+ (`work_engine/stack/runner.ts`) — pest / phpunit / vitest / jest /
125
125
  pytest / go / cargo, fast suites by default — instead of assuming a
126
126
  single stack.
127
127
 
@@ -20,7 +20,7 @@ Make descriptions "pushy" — explicit about when to fire:
20
20
  - Name 2+ concrete triggers — domains, symptoms, file types, user phrasing.
21
21
  - End with: `... even if they don't explicitly ask for \`<skill-name>\`.`
22
22
  - Avoid hedges: `may help with`, `can be useful for`, `covers various`.
23
- - **Keep it ≤ 200 characters.** `scripts/skill_linter.py` warns at
23
+ - **Keep it ≤ 200 characters.** `scripts/skill_linter.ts` warns at
24
24
  `description_too_long` above this. If the pushy tail pushes you over, cut
25
25
  adjectives, drop the second example phrasing, or collapse a list — do
26
26
  **not** drop the trigger vocabulary or the `even if ...` tail.
@@ -4,9 +4,9 @@ Lookup table for the `slash-command-routing-policy` rule. Lists the
4
4
  locked clusters and their sub-commands so the rule itself can stay at
5
5
  its current LOC while still reflecting the full surface. Source of
6
6
  truth for the cluster names is
7
- [`docs/contracts/command-clusters.md`](../../../../../../docs/contracts/command-clusters.md);
7
+ [`docs/contracts/command-clusters.md`](../../../../../../../docs/contracts/command-clusters.md);
8
8
  this file mirrors that contract for runtime lookup. Linter:
9
- `scripts/check_cluster_patterns.py` (verifies dispatcher shape).
9
+ `scripts/check_cluster_patterns.ts` (verifies dispatcher shape).
10
10
 
11
11
  ## Locked clusters and sub-commands
12
12
 
@@ -127,7 +127,7 @@ schema's `EngagementSchemaError` cases.
127
127
  ### The four enforcement layers
128
128
 
129
129
  1. **Schema (write gate)** — `EngagementEvent.validate()` in
130
- `telemetry/engagement.py` runs `check_id_redaction` over `task_id`
130
+ `telemetry/engagement.ts` runs `check_id_redaction` over `task_id`
131
131
  and every `consulted` / `applied` artefact id. The CLI exits `1`
132
132
  when this fires; nothing reaches the JSONL.
133
133
  2. **Aggregator (read gate)** — `aggregator._iter_events` calls
@@ -50,7 +50,7 @@ agent emits the block as the first and ONLY thing this turn
50
50
 
51
51
  ## Scoring breakdown
52
52
 
53
- Per match, `match.py` computes:
53
+ Per match, `match.ts` computes:
54
54
 
55
55
  | Component | Weight | Source |
56
56
  |---|---|---|
@@ -60,7 +60,7 @@ Per match, `match.py` computes:
60
60
  | Structural bonus (ticket key, file path) | +0.05, sets `has_structural_bonus=True` | runtime |
61
61
 
62
62
  Phrase length matters — longer matched evidence wins ties. The score is
63
- clamped to `[0.0, 1.0]`. `rank.py` then enforces the floor and the
63
+ clamped to `[0.0, 1.0]`. `rank.ts` then enforces the floor and the
64
64
  heuristics in
65
65
  [`adr-command-suggestion.md`](adr-command-suggestion.md#anti-noise-heuristics).
66
66
 
@@ -107,7 +107,7 @@ without the rule active.
107
107
 
108
108
  ## Anti-noise heuristics — when not to fire
109
109
 
110
- `rank.py` returns `[]` when:
110
+ `rank.ts` returns `[]` when:
111
111
 
112
112
  - Top score is below `confidence_floor` (default `0.6`).
113
113
  - Single match within `floor + 0.1` and no structural bonus.
@@ -118,13 +118,14 @@ Structural bonuses (ticket key, file path) override every suppressor.
118
118
 
119
119
  ## Hardening tests — what we lock down
120
120
 
121
- `tests/test_command_suggester.py` covers 84 cases (matcher, rank,
122
- cooldown, sanitiser, render, settings, directive). The 9 GT-CS goldens
123
- (`tests/test_command_suggester_goldens.py`) lock end-to-end shape.
121
+ `tests/scripts/command_suggester.test.ts` covers the matcher, rank,
122
+ cooldown, sanitiser, render, settings, and directive cases. The GT-CS
123
+ goldens (`tests/scripts/command_suggester_goldens.test.ts`) lock
124
+ end-to-end shape.
124
125
  Together they enforce:
125
126
 
126
127
  - **No execution without user pick** — engine has no execute path.
127
- - **No echo-trigger** — `sanitize.py` strips the previous block's shape.
128
+ - **No echo-trigger** — `sanitize.ts` strips the previous block's shape.
128
129
  - **No code-block triggers** — `/commit` inside ``` ``` ``` ``` stays inert.
129
130
  - **No conversation hijack** — `enabled: false` and senior gates → silent.
130
131
  - **No multi-question stack** — only a numbered-options block, no extra ask.
@@ -30,7 +30,7 @@ Three buckets:
30
30
  - **Gaps** — missing evidence the decision needs (negative facts in the making).
31
31
 
32
32
  Feeds the plan. Not a forensic log, not hard enforcement. Produce cheaply via
33
- `evidence_report.py` so it never gets skipped.
33
+ `evidence_report.ts` so it never gets skipped.
34
34
 
35
35
  ## Provenance and freshness
36
36
 
@@ -43,7 +43,7 @@ Feeds the plan. Not a forensic log, not hard enforcement. Produce cheaply via
43
43
  (`.git/MERGE_HEAD`, `.git/CHERRY_PICK_HEAD`, or `.git/rebase-merge`/`rebase-apply`
44
44
  present), do **not** read an intermediate tree — stop and surface it (R4 P6,
45
45
  hole-3). *(`.git/REBASE_HEAD` excluded — lingers as stale ref after completed
46
- rebase, not a live-op marker.)* `evidence_report.py git-state` is the
46
+ rebase, not a live-op marker.)* `evidence_report.ts git-state` is the
47
47
  deterministic check.
48
48
  - **Across sessions:** always re-read. No file hashing, no content-hash theater.
49
49