@event4u/agent-config 8.1.0 → 8.3.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 (615) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CHANGELOG.md +83 -292
  3. package/MIGRATION.md +18 -0
  4. package/README.md +86 -3
  5. package/dist/agent-src/commands/agents/init.md +3 -3
  6. package/dist/agent-src/commands/chat-history/import.md +5 -5
  7. package/dist/agent-src/commands/chat-history.md +1 -1
  8. package/dist/agent-src/commands/condense.md +1 -1
  9. package/dist/agent-src/commands/context/create.md +1 -1
  10. package/dist/agent-src/commands/council/analysis.md +2 -2
  11. package/dist/agent-src/commands/council/default.md +3 -3
  12. package/dist/agent-src/commands/council/design.md +2 -2
  13. package/dist/agent-src/commands/council/optimize.md +1 -1
  14. package/dist/agent-src/commands/council/pr.md +2 -2
  15. package/dist/agent-src/commands/council.md +1 -1
  16. package/dist/agent-src/commands/feature/plan.md +1 -1
  17. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  18. package/dist/agent-src/commands/ghostwriter/write.md +1 -1
  19. package/dist/agent-src/commands/ghostwriter.md +1 -1
  20. package/dist/agent-src/commands/implement-ticket.md +2 -2
  21. package/dist/agent-src/commands/judge/on-diff.md +1 -1
  22. package/dist/agent-src/commands/judge/steps.md +3 -1
  23. package/dist/agent-src/commands/memory/add.md +2 -2
  24. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
  25. package/dist/agent-src/commands/memory/load.md +1 -1
  26. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  27. package/dist/agent-src/commands/memory/promote.md +1 -1
  28. package/dist/agent-src/commands/memory/propose.md +1 -1
  29. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  30. package/dist/agent-src/commands/module/explore.md +3 -3
  31. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  32. package/dist/agent-src/commands/optimize/skills.md +1 -1
  33. package/dist/agent-src/commands/optimize-project.md +1 -1
  34. package/dist/agent-src/commands/orchestrate.md +2 -2
  35. package/dist/agent-src/commands/project-analyze.md +1 -1
  36. package/dist/agent-src/commands/project-health.md +1 -1
  37. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  38. package/dist/agent-src/commands/roadmap/create.md +2 -2
  39. package/dist/agent-src/commands/roadmap/process-full.md +3 -1
  40. package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
  41. package/dist/agent-src/commands/roadmap/process-step.md +3 -1
  42. package/dist/agent-src/commands/security-audit-config.md +1 -1
  43. package/dist/agent-src/commands/sync-agent-settings.md +7 -7
  44. package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
  45. package/dist/agent-src/commands/sync-gitignore.md +4 -4
  46. package/dist/agent-src/commands/work.md +3 -3
  47. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  48. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
  49. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
  50. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
  51. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  52. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
  53. package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
  54. package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
  55. package/dist/agent-src/packs/README.md +1 -1
  56. package/dist/agent-src/presets/README.md +1 -1
  57. package/dist/agent-src/profiles/README.md +1 -1
  58. package/dist/agent-src/rules/architecture.md +2 -2
  59. package/dist/agent-src/rules/context-hygiene.md +2 -2
  60. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
  61. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  62. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
  63. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
  64. package/dist/agent-src/rules/media-governance-routing.md +1 -1
  65. package/dist/agent-src/rules/no-roadmap-references.md +3 -3
  66. package/dist/agent-src/rules/preservation-guard.md +2 -2
  67. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
  68. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
  69. package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
  70. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  71. package/dist/agent-src/rules/telegraph-speak.md +1 -1
  72. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  73. package/dist/agent-src/rules/ui-audit-gate.md +1 -1
  74. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
  75. package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
  76. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
  77. package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
  78. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  79. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  80. package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
  81. package/dist/agent-src/skills/api-design/SKILL.md +1 -1
  82. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
  83. package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
  84. package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
  85. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
  86. package/dist/agent-src/skills/code-review/SKILL.md +3 -4
  87. package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
  88. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  89. package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
  90. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  91. package/dist/agent-src/skills/context-document/SKILL.md +1 -1
  92. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  93. package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
  94. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
  95. package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
  96. package/dist/agent-src/skills/database/SKILL.md +2 -1
  97. package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
  98. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
  99. package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
  100. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
  101. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
  102. package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
  103. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
  104. package/dist/agent-src/skills/flux/SKILL.md +10 -9
  105. package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
  106. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  107. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
  108. package/dist/agent-src/skills/livewire/SKILL.md +10 -9
  109. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  110. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
  111. package/dist/agent-src/skills/module-management/SKILL.md +2 -2
  112. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
  113. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
  114. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
  115. package/dist/agent-src/skills/premortem/SKILL.md +1 -1
  116. package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
  117. package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
  118. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
  119. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
  120. package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
  121. package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
  122. package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
  123. package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
  124. package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
  125. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  126. package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
  127. package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
  128. package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
  129. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  130. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
  131. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  132. package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
  133. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
  134. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
  135. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  136. package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
  137. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
  138. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
  139. package/dist/agent-src/templates/agent-settings.md +34 -25
  140. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  141. package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
  142. package/dist/agent-src/templates/agents/proposal.example.md +4 -4
  143. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  144. package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
  145. package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
  146. package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
  147. package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
  148. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
  149. package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
  150. package/dist/agent-src/templates/roadmaps.md +9 -4
  151. package/dist/agent-src/templates/rule.md +3 -3
  152. package/dist/agent-src/templates/scripts/README.md +6 -6
  153. package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
  154. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
  155. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
  156. package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
  157. package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
  158. package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
  159. package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
  160. package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
  161. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  162. package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
  163. package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
  164. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  165. package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
  166. package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
  167. package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
  168. package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
  169. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
  170. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
  171. package/dist/agent-src/templates/skill.md +2 -2
  172. package/dist/cli/python/knowledge_ingest.js +24 -3
  173. package/dist/cli/python/knowledge_ingest.js.map +1 -1
  174. package/dist/cli/python/workspace_analytics.js +23 -3
  175. package/dist/cli/python/workspace_analytics.js.map +1 -1
  176. package/dist/cli/python/workspace_crypto.js +23 -3
  177. package/dist/cli/python/workspace_crypto.js.map +1 -1
  178. package/dist/cli/python/workspace_documents.js +23 -3
  179. package/dist/cli/python/workspace_documents.js.map +1 -1
  180. package/dist/cli/python/workspace_drive.js +24 -3
  181. package/dist/cli/python/workspace_drive.js.map +1 -1
  182. package/dist/cli/python/workspace_drive_health.js +23 -3
  183. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  184. package/dist/cli/python/workspace_explain.js +23 -3
  185. package/dist/cli/python/workspace_explain.js.map +1 -1
  186. package/dist/cli/python/workspace_hosts.js +23 -3
  187. package/dist/cli/python/workspace_hosts.js.map +1 -1
  188. package/dist/cli/python/workspace_inbox.js +23 -3
  189. package/dist/cli/python/workspace_inbox.js.map +1 -1
  190. package/dist/cli/python/workspace_render.js +23 -3
  191. package/dist/cli/python/workspace_render.js.map +1 -1
  192. package/dist/cli/python/workspace_roles.js +23 -3
  193. package/dist/cli/python/workspace_roles.js.map +1 -1
  194. package/dist/cli/python/workspace_sessions.js +23 -3
  195. package/dist/cli/python/workspace_sessions.js.map +1 -1
  196. package/dist/cli/python/workspace_skills.js +23 -3
  197. package/dist/cli/python/workspace_skills.js.map +1 -1
  198. package/dist/cli/registry.js +2 -0
  199. package/dist/cli/registry.js.map +1 -1
  200. package/dist/discovery/deprecation-report.md +1 -1
  201. package/dist/discovery/discovery-manifest.json +118 -118
  202. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  203. package/dist/discovery/discovery-manifest.summary.md +2 -2
  204. package/dist/discovery/orphan-report.md +1 -1
  205. package/dist/discovery/packs.json +3 -3
  206. package/dist/discovery/trust-report.md +1 -1
  207. package/dist/discovery/workspaces.json +3 -3
  208. package/dist/install/install.mjs +647 -408
  209. package/dist/mcp/registry-manifest.json +3 -3
  210. package/dist/server/routes/settings.js +4 -4
  211. package/dist/server/routes/settings.js.map +1 -1
  212. package/dist/server/schemas/settings.js +1 -1
  213. package/dist/server/schemas/settings.js.map +1 -1
  214. package/docs/CLAIMS.md +2 -2
  215. package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
  216. package/docs/benchmark.md +40 -0
  217. package/docs/contracts/CHANGELOG-conventions.md +8 -5
  218. package/docs/contracts/branch-protection-policy.md +14 -5
  219. package/docs/contracts/mcp-phase-1-scope.md +75 -0
  220. package/docs/contracts/mcp-tool-inventory.md +22 -15
  221. package/docs/contracts/release-pr-gating.md +22 -11
  222. package/docs/contracts/skill-bundled-assets.md +2 -2
  223. package/docs/customization.md +1 -1
  224. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
  225. package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
  226. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
  227. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
  228. package/docs/decisions/INDEX.md +3 -0
  229. package/docs/distribution/registry-submissions.md +1 -1
  230. package/docs/getting-started.md +8 -6
  231. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
  232. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
  233. package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
  234. package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
  235. package/docs/guidelines/agent-infra/layered-settings.md +4 -4
  236. package/docs/guidelines/agent-infra/memory-access.md +19 -18
  237. package/docs/guidelines/agent-infra/naming.md +1 -1
  238. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
  239. package/docs/guidelines/agent-infra/role-contracts.md +1 -1
  240. package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
  241. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
  242. package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
  243. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  244. package/docs/guidelines/augment-portability-patterns.md +1 -1
  245. package/docs/installation.md +13 -14
  246. package/docs/mcp-server.md +32 -20
  247. package/docs/proof.md +1 -1
  248. package/docs/setup/mcp-cloud-endpoints.md +9 -2
  249. package/docs/setup/per-ide/claude-code.md +10 -4
  250. package/package.json +4 -3
  251. package/src/config/agent-settings.template.yml +31 -17
  252. package/src/config/host-capabilities.yml +25 -16
  253. package/src/config/profiles/balanced.ini +5 -3
  254. package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
  255. package/src/scripts/_cli/cmd_conformance.ts +23 -4
  256. package/src/scripts/_cli/cmd_doctor.ts +196 -8
  257. package/src/scripts/_cli/cmd_explain.ts +23 -4
  258. package/src/scripts/_cli/cmd_export.ts +23 -4
  259. package/src/scripts/_cli/cmd_fleet.ts +23 -4
  260. package/src/scripts/_cli/cmd_migrate.ts +23 -4
  261. package/src/scripts/_cli/cmd_preflight.ts +24 -4
  262. package/src/scripts/_cli/cmd_prune.ts +23 -4
  263. package/src/scripts/_cli/cmd_refresh.ts +23 -4
  264. package/src/scripts/_cli/cmd_settings_check.ts +23 -4
  265. package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
  266. package/src/scripts/_cli/cmd_sync.ts +23 -4
  267. package/src/scripts/_cli/cmd_uninstall.ts +45 -4
  268. package/src/scripts/_cli/cmd_update.ts +23 -4
  269. package/src/scripts/_cli/cmd_upgrade.ts +307 -17
  270. package/src/scripts/_cli/cmd_validate.ts +23 -4
  271. package/src/scripts/_cli/cmd_versions.ts +23 -4
  272. package/src/scripts/_dispatch.bash +62 -19
  273. package/src/scripts/_lib/claude_plugin.ts +83 -0
  274. package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
  275. package/src/scripts/_lib/knowledge_global.ts +24 -2
  276. package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
  277. package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
  278. package/src/scripts/_lib/link_crypto.ts +24 -5
  279. package/src/scripts/_lib/pin_resolver.ts +24 -3
  280. package/src/scripts/adoption_report.ts +23 -4
  281. package/src/scripts/adoption_snapshot.ts +23 -1
  282. package/src/scripts/adoption_status.ts +23 -4
  283. package/src/scripts/adr/regenerate_index.ts +24 -3
  284. package/src/scripts/ai_council/airgap.ts +25 -2
  285. package/src/scripts/ai_council/compile_corpus.ts +24 -2
  286. package/src/scripts/ai_council/pricing.ts +11 -1
  287. package/src/scripts/analysis_freshness.ts +23 -4
  288. package/src/scripts/annotate_discovery.ts +23 -1
  289. package/src/scripts/apply_modules_config.ts +23 -4
  290. package/src/scripts/audit_adr_coverage.ts +23 -4
  291. package/src/scripts/audit_auto_rules.ts +23 -1
  292. package/src/scripts/audit_cloud_compatibility.ts +23 -4
  293. package/src/scripts/audit_command_surface.ts +23 -4
  294. package/src/scripts/audit_initial_context.ts +23 -3
  295. package/src/scripts/audit_likelihood.ts +23 -1
  296. package/src/scripts/audit_mcp_tools.ts +23 -3
  297. package/src/scripts/audit_overlap.ts +23 -1
  298. package/src/scripts/audit_skill_descriptions.ts +24 -2
  299. package/src/scripts/audit_skill_overlap.ts +23 -1
  300. package/src/scripts/audit_user_type_axis.ts +23 -4
  301. package/src/scripts/backfill_model_tier.ts +23 -4
  302. package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
  303. package/src/scripts/bench_ab_clone.ts +23 -1
  304. package/src/scripts/bench_ab_diff.ts +23 -1
  305. package/src/scripts/bench_ab_integrity.ts +23 -1
  306. package/src/scripts/bench_ab_run.ts +23 -2
  307. package/src/scripts/bench_ab_task_runner.ts +23 -1
  308. package/src/scripts/bench_ab_tracka_run.ts +23 -2
  309. package/src/scripts/bench_ab_v2_run.ts +23 -1
  310. package/src/scripts/bench_ab_v2_stats.ts +23 -1
  311. package/src/scripts/bench_baseline_ready.ts +23 -1
  312. package/src/scripts/bench_condense_memory.ts +23 -1
  313. package/src/scripts/bench_drift_check.ts +23 -2
  314. package/src/scripts/bench_matrix.ts +23 -4
  315. package/src/scripts/bench_per_tool.ts +23 -1
  316. package/src/scripts/bench_quality_run.ts +23 -2
  317. package/src/scripts/bench_rtk_savings.ts +23 -1
  318. package/src/scripts/bench_rule_load_latency.ts +23 -2
  319. package/src/scripts/bench_run.ts +23 -2
  320. package/src/scripts/bench_runner.ts +23 -1
  321. package/src/scripts/build_cloud_bundle.ts +23 -3
  322. package/src/scripts/build_discovery_manifest.ts +23 -4
  323. package/src/scripts/build_linear_digest.ts +23 -3
  324. package/src/scripts/build_mcp_registry_manifest.ts +23 -4
  325. package/src/scripts/build_rule_trigger_matrix.ts +23 -4
  326. package/src/scripts/capture_showcase_session.ts +23 -1
  327. package/src/scripts/chat_history.ts +24 -3
  328. package/src/scripts/check_always_budget.ts +23 -2
  329. package/src/scripts/check_artefact_checksums.ts +23 -4
  330. package/src/scripts/check_augment_description_cap.ts +23 -4
  331. package/src/scripts/check_augmentignore.ts +23 -4
  332. package/src/scripts/check_beta_review_markers.ts +23 -4
  333. package/src/scripts/check_cluster_patterns.ts +23 -4
  334. package/src/scripts/check_command_count_messaging.ts +23 -4
  335. package/src/scripts/check_comparison.ts +23 -1
  336. package/src/scripts/check_condensation.ts +24 -3
  337. package/src/scripts/check_condensed_paths.ts +23 -2
  338. package/src/scripts/check_context_paths.ts +23 -4
  339. package/src/scripts/check_council_config_location.ts +23 -4
  340. package/src/scripts/check_council_layout.ts +23 -4
  341. package/src/scripts/check_council_references.ts +23 -4
  342. package/src/scripts/check_discovery_determinism.ts +24 -4
  343. package/src/scripts/check_gate_paths.ts +23 -4
  344. package/src/scripts/check_generated_artefact_headers.ts +23 -4
  345. package/src/scripts/check_generator_output_coverage.ts +23 -4
  346. package/src/scripts/check_gitignore_freshness.ts +23 -4
  347. package/src/scripts/check_iron_law_prominence.ts +23 -4
  348. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  349. package/src/scripts/check_kernel_rule_bundle.ts +23 -4
  350. package/src/scripts/check_knowledge_cards.ts +23 -1
  351. package/src/scripts/check_md_language.ts +23 -4
  352. package/src/scripts/check_media_deps.ts +24 -1
  353. package/src/scripts/check_memory.ts +24 -2
  354. package/src/scripts/check_memory_proposal.ts +23 -4
  355. package/src/scripts/check_module_management_neutral.ts +23 -4
  356. package/src/scripts/check_no_conflict_markers.ts +23 -4
  357. package/src/scripts/check_no_external_sources.ts +23 -4
  358. package/src/scripts/check_no_local_settings_committed.ts +24 -4
  359. package/src/scripts/check_no_new_legacy_path.ts +23 -4
  360. package/src/scripts/check_no_roadmap_refs.ts +23 -4
  361. package/src/scripts/check_one_off_location.ts +23 -4
  362. package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
  363. package/src/scripts/check_portability.ts +24 -3
  364. package/src/scripts/check_proposal.ts +0 -0
  365. package/src/scripts/check_public_catalog_links.ts +23 -4
  366. package/src/scripts/check_public_links.ts +23 -4
  367. package/src/scripts/check_quality_regression.ts +23 -2
  368. package/src/scripts/check_references.ts +23 -4
  369. package/src/scripts/check_release_includes_discovery.ts +23 -4
  370. package/src/scripts/check_release_pr_shape.ts +23 -4
  371. package/src/scripts/check_release_published.ts +23 -4
  372. package/src/scripts/check_release_trunk_sync.ts +23 -4
  373. package/src/scripts/check_reply_consistency.ts +23 -4
  374. package/src/scripts/check_roadmap_trackable.ts +23 -4
  375. package/src/scripts/check_role_doc_links.ts +23 -4
  376. package/src/scripts/check_safety_floor_untouched.ts +24 -4
  377. package/src/scripts/check_site_links.ts +23 -1
  378. package/src/scripts/check_skill_gaps.ts +23 -1
  379. package/src/scripts/check_skill_requires.ts +23 -4
  380. package/src/scripts/check_structural_breaking.ts +24 -4
  381. package/src/scripts/check_surface_tiers.ts +23 -4
  382. package/src/scripts/check_template_pin_drift.ts +23 -4
  383. package/src/scripts/check_test_coverage_diff.ts +23 -4
  384. package/src/scripts/check_token_optimizer_freshness.ts +23 -4
  385. package/src/scripts/check_token_quality_golden.ts +23 -2
  386. package/src/scripts/check_token_regression.ts +23 -2
  387. package/src/scripts/check_tracked_but_ignored.ts +24 -4
  388. package/src/scripts/check_trigger_evals.ts +23 -4
  389. package/src/scripts/check_trunk_drift.ts +24 -1
  390. package/src/scripts/check_update_banner.ts +23 -4
  391. package/src/scripts/ci_summary.ts +23 -4
  392. package/src/scripts/ci_time_ratio.ts +23 -4
  393. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  394. package/src/scripts/compile_router.ts +23 -4
  395. package/src/scripts/condense.ts +30 -31
  396. package/src/scripts/condense_memory.ts +24 -2
  397. package/src/scripts/config/packs.ts +24 -4
  398. package/src/scripts/config/session_profiles.ts +23 -4
  399. package/src/scripts/context_hygiene_hook.ts +24 -3
  400. package/src/scripts/cost_by_conversation.ts +23 -4
  401. package/src/scripts/cost_summary.ts +23 -4
  402. package/src/scripts/council_cli.ts +35 -7
  403. package/src/scripts/council_prune.ts +25 -2
  404. package/src/scripts/cross_repo_retrieve.ts +23 -4
  405. package/src/scripts/discovery_stats.ts +23 -4
  406. package/src/scripts/evidence_report.ts +23 -1
  407. package/src/scripts/export_replay_corpus.ts +23 -2
  408. package/src/scripts/extract_audit_patterns.ts +23 -1
  409. package/src/scripts/first_run_gate_hook.ts +24 -3
  410. package/src/scripts/gen_discovery_baseline.ts +23 -4
  411. package/src/scripts/generate_capabilities_index.ts +24 -5
  412. package/src/scripts/generate_capability_matrix.ts +23 -4
  413. package/src/scripts/generate_catalog.ts +23 -1
  414. package/src/scripts/generate_command_flows.ts +23 -4
  415. package/src/scripts/generate_cookbook.ts +23 -4
  416. package/src/scripts/generate_index.ts +23 -4
  417. package/src/scripts/generate_ownership_matrix.ts +23 -1
  418. package/src/scripts/generate_pack_manifests.ts +24 -5
  419. package/src/scripts/generate_role_experiences_catalog.ts +23 -4
  420. package/src/scripts/hooks/block_no_verify.ts +23 -4
  421. package/src/scripts/hooks/design_slop_hook.ts +24 -3
  422. package/src/scripts/hooks/dispatch_hook.ts +47 -14
  423. package/src/scripts/hooks/replay_hook.ts +23 -2
  424. package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
  425. package/src/scripts/hooks_doctor.ts +23 -2
  426. package/src/scripts/hooks_status.ts +23 -2
  427. package/src/scripts/injection_scan_hook.ts +24 -5
  428. package/src/scripts/install +23 -4
  429. package/src/scripts/install.ts +102 -44
  430. package/src/scripts/inventory_abstraction_budget.ts +23 -1
  431. package/src/scripts/inventory_frontmatter.ts +23 -1
  432. package/src/scripts/inventory_meta_layers.ts +23 -1
  433. package/src/scripts/iron_law_sha.ts +23 -4
  434. package/src/scripts/janitor.ts +23 -4
  435. package/src/scripts/knowledge_global_cli.ts +24 -2
  436. package/src/scripts/linked_projects_list.ts +23 -4
  437. package/src/scripts/lint_agent_security.ts +23 -4
  438. package/src/scripts/lint_agent_skill_names.ts +23 -4
  439. package/src/scripts/lint_agents_layout.ts +23 -4
  440. package/src/scripts/lint_agents_md.ts +23 -4
  441. package/src/scripts/lint_archived_skills.ts +23 -4
  442. package/src/scripts/lint_artefact_frontmatter.ts +23 -4
  443. package/src/scripts/lint_bench_ab.ts +23 -4
  444. package/src/scripts/lint_bench_corpus.ts +23 -2
  445. package/src/scripts/lint_command_flow_coverage.ts +23 -4
  446. package/src/scripts/lint_command_routing.ts +23 -4
  447. package/src/scripts/lint_command_tiers.ts +23 -2
  448. package/src/scripts/lint_command_verbs.ts +23 -4
  449. package/src/scripts/lint_commit_subjects.ts +24 -4
  450. package/src/scripts/lint_confusables.ts +25 -5
  451. package/src/scripts/lint_context_spine_usage.ts +23 -4
  452. package/src/scripts/lint_discovery_manifest.ts +23 -4
  453. package/src/scripts/lint_discovery_vocabulary.ts +23 -4
  454. package/src/scripts/lint_empty_roadmaps.ts +23 -4
  455. package/src/scripts/lint_eval_freshness.ts +23 -4
  456. package/src/scripts/lint_examples.ts +23 -4
  457. package/src/scripts/lint_explain_trace.ts +23 -4
  458. package/src/scripts/lint_featured_skills.ts +0 -0
  459. package/src/scripts/lint_flows.ts +23 -4
  460. package/src/scripts/lint_framework_leakage.ts +23 -4
  461. package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
  462. package/src/scripts/lint_ghostwriter_source.ts +23 -4
  463. package/src/scripts/lint_glama_drift.ts +75 -0
  464. package/src/scripts/lint_global_paths.ts +23 -2
  465. package/src/scripts/lint_handoffs.ts +23 -4
  466. package/src/scripts/lint_hidden_unicode.ts +24 -5
  467. package/src/scripts/lint_hook_concern_budget.ts +23 -4
  468. package/src/scripts/lint_hook_manifest.ts +23 -2
  469. package/src/scripts/lint_instruction_smuggling.ts +25 -5
  470. package/src/scripts/lint_legal_pack.ts +23 -1
  471. package/src/scripts/lint_load_context.ts +23 -4
  472. package/src/scripts/lint_marketplace.ts +24 -3
  473. package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
  474. package/src/scripts/lint_mcp_config_security.ts +25 -5
  475. package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
  476. package/src/scripts/lint_media_policy_linkage.ts +23 -4
  477. package/src/scripts/lint_missions.ts +23 -4
  478. package/src/scripts/lint_model_tier_coverage.ts +23 -4
  479. package/src/scripts/lint_namespace.ts +23 -4
  480. package/src/scripts/lint_namespace_collisions.ts +23 -4
  481. package/src/scripts/lint_new_skill_gate.ts +23 -4
  482. package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
  483. package/src/scripts/lint_one_off_age.ts +23 -4
  484. package/src/scripts/lint_orchestration_dsl.ts +23 -4
  485. package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
  486. package/src/scripts/lint_pack_boundaries.ts +23 -4
  487. package/src/scripts/lint_pack_dependencies.ts +23 -2
  488. package/src/scripts/lint_pack_first_win.ts +23 -4
  489. package/src/scripts/lint_pack_risk_class.ts +23 -1
  490. package/src/scripts/lint_persona_governance.ts +23 -4
  491. package/src/scripts/lint_positioning.ts +23 -4
  492. package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
  493. package/src/scripts/lint_readme_jargon.ts +23 -4
  494. package/src/scripts/lint_readme_size.ts +23 -4
  495. package/src/scripts/lint_regression.ts +23 -4
  496. package/src/scripts/lint_roadmap_blockers.ts +23 -4
  497. package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
  498. package/src/scripts/lint_roadmap_complexity.ts +23 -4
  499. package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
  500. package/src/scripts/lint_role_experiences.ts +23 -4
  501. package/src/scripts/lint_rule_interactions.ts +23 -4
  502. package/src/scripts/lint_rule_tiers.ts +24 -3
  503. package/src/scripts/lint_showcase_sessions.ts +23 -4
  504. package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
  505. package/src/scripts/lint_skill_originality.ts +23 -4
  506. package/src/scripts/lint_skill_tools.ts +23 -4
  507. package/src/scripts/lint_subagent_determinism.ts +23 -4
  508. package/src/scripts/lint_ticket_buildable.ts +23 -4
  509. package/src/scripts/lint_topics_yaml.ts +23 -4
  510. package/src/scripts/lint_trust_coherence.ts +23 -4
  511. package/src/scripts/lint_value_dashboard.ts +23 -4
  512. package/src/scripts/lint_workflow_security.ts +23 -4
  513. package/src/scripts/lint_workspace_boundary.ts +23 -4
  514. package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
  515. package/src/scripts/mcp_parity_smoke.ts +23 -2
  516. package/src/scripts/mcp_registry_submit.sh +14 -3
  517. package/src/scripts/mcp_render.ts +23 -4
  518. package/src/scripts/mcp_server/__main__.ts +6 -8
  519. package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
  520. package/src/scripts/mcp_server/tools.ts +731 -0
  521. package/src/scripts/mcp_telemetry_health.ts +23 -4
  522. package/src/scripts/mcp_telemetry_query.ts +23 -4
  523. package/src/scripts/mcp_telemetry_store.ts +23 -4
  524. package/src/scripts/measure_augment_budget.ts +23 -1
  525. package/src/scripts/measure_density.ts +23 -1
  526. package/src/scripts/measure_frugality_savings.ts +23 -1
  527. package/src/scripts/measure_markitdown_lift.ts +23 -1
  528. package/src/scripts/measure_patterns.ts +23 -1
  529. package/src/scripts/measure_projection_bytes.ts +23 -1
  530. package/src/scripts/measure_rule_budget.ts +23 -4
  531. package/src/scripts/measure_skill_reduction.ts +23 -1
  532. package/src/scripts/memory_hash.ts +24 -2
  533. package/src/scripts/memory_lookup.ts +24 -2
  534. package/src/scripts/memory_report.ts +24 -2
  535. package/src/scripts/memory_signal.ts +24 -2
  536. package/src/scripts/memory_status.ts +26 -2
  537. package/src/scripts/migrate_command_suggestions.ts +23 -4
  538. package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
  539. package/src/scripts/migration_status.ts +25 -4
  540. package/src/scripts/mine_missing_guardrails.ts +23 -1
  541. package/src/scripts/mine_session.ts +23 -1
  542. package/src/scripts/minimal_safe_diff_hook.ts +24 -3
  543. package/src/scripts/new_skill.ts +23 -3
  544. package/src/scripts/onboarding_gate_hook.ts +24 -3
  545. package/src/scripts/parity/coverage_diff.ts +25 -3
  546. package/src/scripts/parity/phase_gate.ts +25 -4
  547. package/src/scripts/parity/replay.ts +25 -3
  548. package/src/scripts/pattern_share.ts +23 -4
  549. package/src/scripts/plan_physical_move.ts +23 -4
  550. package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
  551. package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
  552. package/src/scripts/prediction-pool/score_ev.ts +24 -3
  553. package/src/scripts/print_required_checks.ts +24 -4
  554. package/src/scripts/probe_host_compliance.ts +23 -2
  555. package/src/scripts/probe_projection_fidelity.ts +23 -1
  556. package/src/scripts/probe_skill_registration.ts +24 -2
  557. package/src/scripts/profile_staleness_hook.ts +24 -3
  558. package/src/scripts/profile_use.ts +23 -4
  559. package/src/scripts/project_thin_rules.ts +23 -3
  560. package/src/scripts/propose_modules_config.ts +23 -4
  561. package/src/scripts/prototype_lint_contradictions.ts +23 -1
  562. package/src/scripts/prove_pack_extractable.ts +23 -4
  563. package/src/scripts/readme_linter.ts +23 -3
  564. package/src/scripts/redact_hook_capture.ts +23 -4
  565. package/src/scripts/refine_ticket_detect.ts +23 -4
  566. package/src/scripts/release.ts +226 -43
  567. package/src/scripts/render_benchmark_composite.ts +23 -4
  568. package/src/scripts/render_benchmark_md.ts +23 -4
  569. package/src/scripts/roadmap_progress_hook.ts +46 -16
  570. package/src/scripts/run_skill_evals.ts +23 -4
  571. package/src/scripts/runtime_dispatcher.ts +23 -4
  572. package/src/scripts/runtime_registry.ts +23 -4
  573. package/src/scripts/score_skill_selection.ts +23 -1
  574. package/src/scripts/security_audit_config.ts +24 -5
  575. package/src/scripts/skill_collision_clusters.ts +23 -4
  576. package/src/scripts/skill_discovery.ts +23 -4
  577. package/src/scripts/skill_linter.ts +23 -2
  578. package/src/scripts/skill_preview.ts +23 -4
  579. package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
  580. package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
  581. package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
  582. package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
  583. package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
  584. package/src/scripts/skill_usage_collect.ts +23 -4
  585. package/src/scripts/smoke_path_resolution.ts +23 -4
  586. package/src/scripts/smoke_quickstart.ts +23 -4
  587. package/src/scripts/snapshot_agent_outputs.ts +23 -4
  588. package/src/scripts/spotcheck_thin_root.ts +23 -4
  589. package/src/scripts/sync_agent_settings.ts +23 -4
  590. package/src/scripts/sync_github_metadata.ts +23 -4
  591. package/src/scripts/sync_gitignore.ts +23 -4
  592. package/src/scripts/telegraph_stats.ts +23 -4
  593. package/src/scripts/tool_registry.ts +24 -4
  594. package/src/scripts/trigger_coverage.ts +23 -4
  595. package/src/scripts/update_counts.ts +23 -4
  596. package/src/scripts/update_prices.ts +23 -1
  597. package/src/scripts/validate_agent_settings.ts +23 -4
  598. package/src/scripts/validate_decision_engine.ts +23 -4
  599. package/src/scripts/validate_discovery_manifest.ts +23 -4
  600. package/src/scripts/validate_frontmatter.ts +23 -2
  601. package/src/scripts/validate_pack_yaml.ts +0 -0
  602. package/src/scripts/validate_safe_paths.ts +24 -4
  603. package/src/scripts/validate_telegraph_carveouts.ts +23 -4
  604. package/src/scripts/verify_before_complete_hook.ts +24 -3
  605. package/src/scripts/verify_physical_move.ts +23 -4
  606. package/src/scripts/wrapper_freshness_hook.ts +107 -8
  607. package/tests/fixtures/hooks/README.md +92 -0
  608. package/tests/fixtures/hooks/agent_error.json +7 -0
  609. package/tests/fixtures/hooks/post_tool_use.json +13 -0
  610. package/tests/fixtures/hooks/pre_compact.json +7 -0
  611. package/tests/fixtures/hooks/pre_tool_use.json +9 -0
  612. package/tests/fixtures/hooks/session_end.json +6 -0
  613. package/tests/fixtures/hooks/session_start.json +6 -0
  614. package/tests/fixtures/hooks/stop.json +6 -0
  615. package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
@@ -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
 
@@ -16,7 +16,7 @@ Search both locations:
16
16
 
17
17
  - `agents/roadmaps/*.md` (project root)
18
18
  - `{module_root}/*/{agent_folder}/roadmaps/*.md` (module-scoped; resolve
19
- via `scripts/_lib/agent_settings.py::enumerate_modules()`. Laravel
19
+ via `scripts/_lib/agent_settings.ts::enumerate_modules()`. Laravel
20
20
  shape: `app/Modules/*/agents/roadmaps/*.md`)
21
21
 
22
22
  **Exclude** `template.md`, `archive/`, `skipped/`, and `later/` (`later/` holds
@@ -115,9 +115,14 @@ only: lines matching `commit:` / `git commit` / `Commit phase`.
115
115
  Read both keys from `.agent-settings.yml` once and cache for the whole
116
116
  run. Do **not** re-read inside the step loop.
117
117
 
118
- **`roadmap.quality_cadence`** — when to run the quality pipeline:
118
+ **`roadmap.quality_cadence`** — when to run the quality pipeline.
119
+ Only relevant when `quality.local_auto_run` is `true`; `false` or
120
+ missing (default) → local pipeline runs suppressed at EVERY cadence —
121
+ remote CI is the gate, run-end report states *"quality gates delegated
122
+ to remote CI"* instead of a pass claim (new-gate carve-out steps still
123
+ run once).
119
124
 
120
- | Value | Pipeline runs |
125
+ | Value | Pipeline runs (`local_auto_run: true` only) |
121
126
  |---|---|
122
127
  | `end_of_roadmap` (default) | Once, before archival (§ 6) |
123
128
  | `per_phase` | At every phase boundary + § 6 |
@@ -125,7 +130,7 @@ run. Do **not** re-read inside the step loop.
125
130
 
126
131
  Missing / unreadable / unknown → fall back to `end_of_roadmap`.
127
132
  The Iron Law [`verify-before-complete`](../../rules/verify-before-complete.md)
128
- still mandates fresh quality output before any "complete" claim.
133
+ still forbids claiming quality output that was not produced.
129
134
 
130
135
  **`roadmap.dashboard_regen_cadence`** — when to run the dashboard
131
136
  subprocess between steps:
@@ -17,15 +17,16 @@ tools and run the right one — instead of a per-stack command explosion.
17
17
 
18
18
  ## 1. The resolver
19
19
 
20
- `work_engine/stack/runner.py` is the engine. A command resolves the
21
- toolchain once and runs the returned commands:
22
-
23
- ```python
24
- from work_engine.stack.runner import resolve_toolchain, write_config
25
- result = resolve_toolchain(project_root, include_slow=False, include_e2e=False, php_only=False)
26
- write_config(project_root, result) # caches agents/runtime/state/toolchain.json
27
- for r in result.selected:
28
- run(r.command) # e.g. "vendor/bin/pest", "npx vitest run"
20
+ `work_engine/stack/runner.ts` (TypeScript, run via tsx) is the engine.
21
+ A command resolves the toolchain once and runs the returned commands:
22
+
23
+ ```ts
24
+ import { resolve_toolchain, write_config } from './work_engine/stack/runner.js';
25
+ const result = resolve_toolchain(projectRoot, { include_slow: false, include_e2e: false, php_only: false });
26
+ write_config(projectRoot, result); // caches agents/runtime/state/toolchain.json
27
+ for (const r of result.selected) {
28
+ run(r.command); // e.g. "vendor/bin/pest", "npx vitest run"
29
+ }
29
30
  ```
30
31
 
31
32
  Resolution is filesystem-cheap (a handful of small manifest reads) and
@@ -9,7 +9,19 @@ incidents.
9
9
  **Size budget:** ≤ 4,000 chars. Tracked under Phase 6 of
10
10
  `road-to-pr-34-followups`.
11
11
 
12
- ## When to run what — timing matters
12
+ ## Gate zero — `quality.local_auto_run` (default `false`)
13
+
14
+ `false` or missing → **never run quality tools or full test suites
15
+ proactively — never ask**. User runs them manually; **remote CI is the
16
+ authoritative gate.** Run one ONLY on: (1) explicit ask this turn,
17
+ (2) concrete CI failure — run exactly that failing check, (3) new-gate
18
+ carve-out (a NEW gate/test this change introduces runs once to be
19
+ proven). Completion wording: *"quality gates delegated to remote CI"* —
20
+ never a pass claim for tools that did not run. Narrow probes proving
21
+ the specific change (one `--filter` test, `curl`, syntax check on the
22
+ edited file) stay allowed. Everything below applies when `true`.
23
+
24
+ ## When to run what — timing matters (`local_auto_run: true`)
13
25
 
14
26
  **Quality tools (PHPStan, Rector, ECS) run ONCE at the very end** — not after every edit.
15
27
  Do NOT run quality checks between tasks if you have more work to do.
@@ -46,4 +46,4 @@ Removing a pack reverts cleanly; no data is lost.
46
46
  plain prose.
47
47
  4. Add the row to the table above.
48
48
  5. Open a PR; reviewer validates against the schema by hand until
49
- `scripts/lint_packs.py` lands.
49
+ `scripts/lint_packs.ts` lands.
@@ -23,4 +23,4 @@ an ADR but MUST match the schema enforced by `task lint-config-schema`.
23
23
 
24
24
  - [`docs/contracts/config-presets.md`](../../docs/contracts/config-presets.md) — schema, cost enforcement, resolution chain.
25
25
  - [`docs/contracts/profile-system.md`](../../docs/contracts/profile-system.md) — profile axis.
26
- - [`scripts/config/presets.py`](../../scripts/config/presets.py) — loader.
26
+ - [`scripts/config/presets.ts`](../../scripts/config/presets.ts) — loader.
@@ -26,4 +26,4 @@ an ADR but MUST match the schema enforced by `task lint-config-schema`.
26
26
 
27
27
  - [`docs/contracts/profile-system.md`](../../docs/contracts/profile-system.md) — schema and loader contract.
28
28
  - [`docs/contracts/config-presets.md`](../../docs/contracts/config-presets.md) — preset axis.
29
- - [`scripts/config/profiles.py`](../../scripts/config/profiles.py) — loader.
29
+ - [`scripts/config/profiles.ts`](../../scripts/config/profiles.ts) — loader.
@@ -61,7 +61,7 @@ When a structural decision is non-trivial (kernel membership, contract change, l
61
61
  deprecation, scope re-cut), record it as an ADR. Use the [`adr-create`](../skills/adr-create/SKILL.md)
62
62
  skill — it numbers the file (`ADR-NNN-<slug>.md`), writes the standard template
63
63
  (Status / Context / Decision / Consequences / Alternatives / References), and regenerates the
64
- index via `scripts/adr/regenerate_index.py`. ADRs land in `docs/adr/` by default; legacy
64
+ index via `scripts/adr/regenerate_index.ts`. ADRs land in `docs/adr/` by default; legacy
65
65
  projects use `docs/decisions/`. Reversible refactors and minor cleanups do **not** need ADRs.
66
66
 
67
67
  ## Module-Level Documentation
@@ -69,7 +69,7 @@ projects use `docs/decisions/`. Reversible refactors and minor cleanups do **not
69
69
  Some projects use a module system (e.g. `app/Modules/` in Laravel, `apps/`/`packages/` in a Turborepo, `src/modules/` in NestJS, `internal/` in Go).
70
70
  Module roots and the per-module agent-docs folder are configured via
71
71
  `modules.root_paths` and `modules.agent_folder` in `.agent-settings.yml`
72
- (resolve at runtime via `scripts/_lib/agent_settings.py::enumerate_modules()`).
72
+ (resolve at runtime via `scripts/_lib/agent_settings.ts::enumerate_modules()`).
73
73
  Modules may have their own agent docs under
74
74
  `{module_root}/*/{agent_folder}/` (Laravel shape: `app/Modules/*/agents/`) with:
75
75
 
@@ -14,7 +14,7 @@ packs: [meta]
14
14
 
15
15
  # Context Hygiene
16
16
 
17
- > **Enforced by:** [`scripts/context_hygiene_hook.py`](../../scripts/context_hygiene_hook.py)
17
+ > **Enforced by:** [`scripts/context_hygiene_hook.ts`](../../scripts/context_hygiene_hook.ts)
18
18
  > on Augment + Claude Code (`PostToolUse`). The hook maintains
19
19
  > `agents/runtime/state/context-hygiene.json` (turn count, loop signal,
20
20
  > freshness milestones at 20/40/60); the prose below is the spec the
@@ -141,7 +141,7 @@ If you need an ignored skill: read its SKILL.md directly, apply guidance, then a
141
141
  ## Copilot fallback
142
142
 
143
143
  GitHub Copilot has no `PostToolUse` hook surface, so
144
- `scripts/context_hygiene_hook.py` cannot run structurally and
144
+ `scripts/context_hygiene_hook.ts` cannot run structurally and
145
145
  `agents/runtime/state/context-hygiene.json` is not maintained automatically
146
146
  (turn count, loop signal, freshness milestones at 20/40/60).
147
147
 
@@ -25,7 +25,7 @@ EVERY LOW-IMPACT COUNCIL FAST-PATH REPLY OPENS WITH THE EXACT MARKER.
25
25
  NEVER PARAPHRASE. NEVER SWALLOW. NEVER SUBSTITUTE THE AGENT'S OWN VERDICT.
26
26
  ```
27
27
 
28
- Markers (from `scripts/ai_council/low_impact.py`):
28
+ Markers (from `scripts/ai_council/low_impact.ts`):
29
29
 
30
30
  - **Resolved** — `> Resolved via low-impact council fast-path: <verdict>.`
31
31
  - **Unavailable** — `> Low-impact council unavailable (no opted-in members) — escalating to user.`
@@ -109,7 +109,7 @@ inlines stack-specific code.
109
109
 
110
110
  ## Enforcement
111
111
 
112
- `scripts/lint_framework_leakage.py` runs in the package CI pipeline.
112
+ `scripts/lint_framework_leakage.ts` runs in the package CI pipeline.
113
113
  Exit codes:
114
114
 
115
115
  - `0` — no hits, or every hit is auto-detected as cross-stack, or
@@ -13,7 +13,7 @@ triggers:
13
13
  - path_prefix: ".idea/vcs.xml"
14
14
  validator_ignore:
15
15
  - type: "substring"
16
- pattern: "scripts/_lib/linked_projects.py"
16
+ pattern: "scripts/_lib/linked_projects.ts"
17
17
  reason: "Rule names the detector module as the runtime detection entrypoint."
18
18
  routes_to:
19
19
  - "guideline:agent-infra/linked-projects-onboarding-gate"
@@ -21,7 +21,7 @@ NO SECRETS. NO EMAILS. NO PROJECT PATHS. NO CUSTOMER NAMES.
21
21
  NO INTERNAL HOSTNAMES. NO MONEY. NO BUSINESS SQL. NO LONG CODE.
22
22
  ```
23
23
 
24
- Redactor lives in `scripts/ai_council/redact_low_impact_entry.py`
24
+ Redactor lives in `scripts/ai_council/redact_low_impact_entry.ts`
25
25
  and runs at **both** gates:
26
26
 
27
27
  1. **Write gate** — every intake append to
@@ -70,6 +70,6 @@ Then agent stops intake/upstream flow. No silent retry, no auto-rewrite.
70
70
 
71
71
  ## See also
72
72
 
73
- - `scripts/ai_council/redact_low_impact_entry.py` — the redactor.
74
- - `scripts/ai_council/low_impact_intake.py` — write-gate caller.
73
+ - `scripts/ai_council/redact_low_impact_entry.ts` — the redactor.
74
+ - `scripts/ai_council/low_impact_intake.ts` — write-gate caller.
75
75
  - `agents/decisions/low-impact-decisions.md` — corpus + Anti-Examples list.
@@ -68,7 +68,7 @@ This routing rule is the bridge: sits in always-loaded rule set so trigger keywo
68
68
 
69
69
  ## CI reachability guarantee
70
70
 
71
- [`scripts/lint_media_policy_linkage.py`](../../scripts/lint_media_policy_linkage.py) fails build if any policy file under `agents/settings/policies/media/` not linked from:
71
+ [`scripts/lint_media_policy_linkage.ts`](../../scripts/lint_media_policy_linkage.ts) fails build if any policy file under `agents/settings/policies/media/` not linked from:
72
72
 
73
73
  - this routing rule, **or**
74
74
  - a skill's `## Policies` see-also block, **or**
@@ -66,8 +66,8 @@ skills,commands,contexts,templates,personas}/`, `agents/settings/contexts/`,
66
66
  `docs/customization.md`, `docs/getting-started.md`, `docs/catalog.md`,
67
67
  `AGENTS.md`, `README.md`, `copilot-instructions.md`.
68
68
 
69
- CI enforcement: `scripts/check_no_roadmap_refs.py` (roadmap layer)
70
- and `scripts/check_council_references.py` (council layer) — both
69
+ CI enforcement: `scripts/check_no_roadmap_refs.ts` (roadmap layer)
70
+ and `scripts/check_council_references.ts` (council layer) — both
71
71
  fail the build on any new violation.
72
72
 
73
73
  ## Allowed patterns
@@ -89,7 +89,7 @@ fail the build on any new violation.
89
89
  Two source/target shapes are exempt from the council-link ban
90
90
  because the target is **immutable input** or **decision provenance**,
91
91
  not transient drafting state. The linter implements these directly
92
- (`STRUCTURAL_CARVEOUTS` in `scripts/check_council_references.py`);
92
+ (`STRUCTURAL_CARVEOUTS` in `scripts/check_council_references.ts`);
93
93
  they do **not** need an inline `<!-- council-ref-allowed: ... -->`
94
94
  pragma.
95
95
 
@@ -48,7 +48,7 @@ bullet, and code block from the source is present, condense as hard as you
48
48
  want. What's forbidden is **deletion**: the rationale paragraph stays, the
49
49
  canonical-failure example stays, every "NEVER X" bullet stays.
50
50
 
51
- `scripts/check_condensation.py` enforces these mechanically — any violation is
51
+ `scripts/check_condensation.ts` enforces these mechanically — any violation is
52
52
  an `error`, not a warning.
53
53
 
54
54
  ## Mandatory preservation checklist
@@ -92,4 +92,4 @@ Before completing any transformation, verify:
92
92
  - Skill: `skill-management` — condensation/refactoring modes
93
93
  - Skill: `skill-reviewer` — condensation safety checks
94
94
  - Command: `/condense` — condensation quality checklist
95
- - Linter: `scripts/skill_linter.py` — `check_condensation_quality()`
95
+ - Linter: `scripts/skill_linter.ts` — `check_condensation_quality()`
@@ -38,9 +38,10 @@ ROADMAPS MUST NOT SCHEDULE FULL-PIPELINE CI STEPS,
38
38
  AND EXECUTION MUST SKIP THEM INLINE WITH [-] AND A REASON.
39
39
  ```
40
40
 
41
- When `quality.local_auto_run: false` in `.agent-settings.yml`, every
42
- full-pipeline gate run during roadmap work is wasted wall-clock and
43
- tokens — remote CI on the PR is the authoritative gate. Roadmaps
41
+ When `quality.local_auto_run: false` in `.agent-settings.yml` (the
42
+ shipped template default), every full-pipeline gate run during roadmap
43
+ work is wasted wall-clock and tokens — remote CI on the PR is the
44
+ authoritative gate. Roadmaps
44
45
  must neither schedule nor execute them locally. New CI gates and
45
46
  smoke/test files added by the roadmap itself are exempt — they must
46
47
  run once locally to count as verified evidence per
@@ -92,7 +93,7 @@ setting.
92
93
  `task lint-roadmap-ci-steps` (wired into `task ci-fast` /
93
94
  `lint-roadmap-complexity` cadence) scans `agents/roadmaps/*.md` and
94
95
  per-module roadmap dirs resolved via
95
- `scripts/_lib/agent_settings.py::enumerate_modules()`
96
+ `scripts/_lib/agent_settings.ts::enumerate_modules()`
96
97
  (`{module_path}/{modules.agent_folder}/roadmaps/*.md`; Laravel shape:
97
98
  `app/Modules/*/agents/roadmaps/*.md`). Exit code:
98
99
 
@@ -136,7 +137,7 @@ saving skips for the archive commit is a rule violation.
136
137
  is reserved for **new** gates introduced by the same roadmap.
137
138
  - Hiding the literal inside a fenced bash block to dodge the linter —
138
139
  linter matches inside fenced blocks too (see
139
- `scripts/lint_roadmap_ci_steps.py`).
140
+ `scripts/lint_roadmap_ci_steps.ts`).
140
141
 
141
142
  ## See also
142
143
 
@@ -39,7 +39,7 @@ The `command:` triggers in this rule's frontmatter ensure it loads the moment on
39
39
 
40
40
  **Step counts as done** when its code/doc change is written and saved AND the verification cited in the step has passed (fresh output in this reply or an earlier one).
41
41
 
42
- **Glyph semantics — single source of truth.** Keep aligned with the dashboard counter in `scripts/update_roadmap_progress.py` and the closure-table in [`roadmap-management`](../skills/roadmap-management/SKILL.md):
42
+ **Glyph semantics — single source of truth.** Keep aligned with the dashboard counter in `scripts/update_roadmap_progress.ts` (regenerated via `./agent-config roadmap:progress`) and the closure-table in [`roadmap-management`](../skills/roadmap-management/SKILL.md):
43
43
 
44
44
  | Glyph | Meaning | Counts towards |
45
45
  |---|---|---|
@@ -101,7 +101,7 @@ NEVER MERGED-BUT-UNARCHIVED INTO THE TRUNK.
101
101
  NO merge-gated PLACEHOLDER ITEM. NO AGENT-SET ANNOTATION.
102
102
  ```
103
103
 
104
- The sweep — `scripts/archive_completed_roadmaps.py`, invoked by
104
+ The sweep — `scripts/archive_completed_roadmaps.ts`, invoked by
105
105
  [`/create-pr` § 1c](../commands/pr/create.md) — archives every roadmap that is
106
106
  complete **and** touched in this branch (`git log origin/main..HEAD`), `git mv`s
107
107
  it to `archive/`, migrates inbound `agents/roadmaps/<x>.md` references to the
@@ -109,7 +109,7 @@ archive path in the **same branch** (so links never break — this was the only
109
109
  real reason the old design deferred archival), regenerates the dashboard, and
110
110
  stages it. Completion is read from the checkbox counts; no marker is required.
111
111
 
112
- **Backstop:** `update_roadmap_progress.py --check` hard-fails when a roadmap
112
+ **Backstop:** `./agent-config roadmap:progress-check` (wrapping `update_roadmap_progress.ts --check`) hard-fails when a roadmap
113
113
  hits `count_open == 0` while still under `agents/roadmaps/`. Because
114
114
  `/create-pr` archives before the push, the PR branch is green; a push that
115
115
  bypasses the sweep red-flags in CI — the forcing function that makes
@@ -57,15 +57,13 @@ STOP writing code. Run the matching analysis skill first:
57
57
  **Before running the analysis, consult memory for prior incidents** on
58
58
  this surface. Via [`memory-access`](../docs/guidelines/agent-infra/memory-access.md):
59
59
 
60
- ```python
61
- from scripts.memory_lookup import retrieve_with_meta
62
- result = retrieve_with_meta(
63
- types=["incident-learnings", "historical-patterns"],
64
- keys=<touched file paths>,
65
- limit=3,
66
- )
67
- priors = result["results"]
68
- # result["skipped"] lists stale or superseded entries — surface them to the user.
60
+ ```bash
61
+ agent-config memory:lookup \
62
+ --types incident-learnings,historical-patterns \
63
+ --key <touched file path> \
64
+ --limit 3 --format json
65
+ # Repeat --key per touched path. Hits are the priors; superseded intake
66
+ # entries are filtered out automatically — surface anything stale to the user.
69
67
  ```
70
68
 
71
69
  A prior security incident on the same path is the cheapest possible
@@ -70,7 +70,7 @@ visible. Tracked-safe by **anonymizing**, not hiding in `agents/.harvest-local/`
70
70
 
71
71
  - Reference sources as **Source A / B / C** (or a neutral descriptor like "an
72
72
  external operator-runtime reference") — never the repo / org / author name.
73
- - Retain real links as `ENC1:` tokens (`link_crypto.py`) in a Provenance block —
73
+ - Retain real links as `ENC1:` tokens (`link_crypto.ts`) in a Provenance block —
74
74
  maintainer-recoverable, opaque in the tree.
75
75
  - Borrow *items* are this package's own features; never need the source name.
76
76
 
@@ -57,7 +57,7 @@ Post-rewrite validator runs on every reply when `speak_scope != off`:
57
57
  The rule documents the algorithm; agents apply it inline before
58
58
  sending. The mechanism is the rule, not a hidden script.
59
59
 
60
- - Optional CI-side regression lock: [`scripts/validate_telegraph_carveouts.py`](../../scripts/validate_telegraph_carveouts.py) — pre/post reply pair, byte-identical preservation across all seven carve-out categories; runtime mechanism stays algorithmic, script is the offline check.
60
+ - Optional CI-side regression lock: [`scripts/validate_telegraph_carveouts.ts`](../../scripts/validate_telegraph_carveouts.ts) — pre/post reply pair, byte-identical preservation across all seven carve-out categories; runtime mechanism stays algorithmic, script is the offline check.
61
61
 
62
62
  ## Telegraph grammar
63
63
 
@@ -62,7 +62,7 @@ the catalog table AND the relevant tree leaf.
62
62
 
63
63
  ## Backstop
64
64
 
65
- The CI pipeline runs `scripts/check_token_optimizer_freshness.py`
65
+ The CI pipeline runs `scripts/check_token_optimizer_freshness.ts`
66
66
  after the reference checker. The validator parses the catalog,
67
67
  verifies every cited path exists, and `grep`s the trigger keywords
68
68
  against each target. A failure is a **drift signal**, not a
@@ -19,7 +19,7 @@ packs: [frontend-design]
19
19
  # UI Audit Gate
20
20
 
21
21
  Defense-in-depth twin of the dispatcher gate in
22
- [`directives/ui/audit.py`](../templates/scripts/work_engine/directives/ui/audit.py).
22
+ [`directives/ui/audit.ts`](../templates/scripts/work_engine/directives/ui/audit.ts).
23
23
  The dispatcher refuses to advance past `refine` without `state.ui_audit`;
24
24
  this rule refuses the write even when the agent acts outside the dispatcher.
25
25
 
@@ -453,10 +453,28 @@ function main(argv?: readonly string[]): number {
453
453
  return 0;
454
454
  }
455
455
 
456
- const _isCliEntry =
457
- process.argv[1] !== undefined &&
458
- import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
459
- if (_isCliEntry || process.argv[1] === _HERE) {
456
+ function _isCliEntry(): boolean {
457
+ if (process.argv[1] === undefined) {
458
+ return false;
459
+ }
460
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
461
+ if (import.meta.url === argvUrl) {
462
+ return true;
463
+ }
464
+ // A symlinked invocation (e.g. via `.augment/scripts` → `dist/agent-src/scripts`,
465
+ // or macOS /var → /private/var temp dirs) makes the raw URLs differ:
466
+ // import.meta.url is the resolved real path while argv[1] keeps the symlink
467
+ // path. Compare realpaths so the entry guard still fires (without this the
468
+ // archival sweep silently no-ops when run through the symlink).
469
+ try {
470
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
471
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
472
+ return here === argv;
473
+ } catch {
474
+ return false;
475
+ }
476
+ }
477
+ if (_isCliEntry() || process.argv[1] === _HERE) {
460
478
  try {
461
479
  process.exitCode = main();
462
480
  } catch (exc) {