@event4u/agent-config 8.0.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 (593) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +53 -568
  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/commit-policy.md +10 -0
  58. package/dist/agent-src/rules/context-hygiene.md +2 -2
  59. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
  60. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  61. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
  62. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
  63. package/dist/agent-src/rules/media-governance-routing.md +1 -1
  64. package/dist/agent-src/rules/no-roadmap-references.md +3 -3
  65. package/dist/agent-src/rules/preservation-guard.md +2 -2
  66. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
  67. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
  68. package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
  69. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  70. package/dist/agent-src/rules/telegraph-speak.md +1 -1
  71. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  72. package/dist/agent-src/rules/ui-audit-gate.md +1 -1
  73. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
  74. package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
  75. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
  76. package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
  77. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  78. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  79. package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
  80. package/dist/agent-src/skills/api-design/SKILL.md +1 -1
  81. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
  82. package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
  83. package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
  84. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
  85. package/dist/agent-src/skills/code-review/SKILL.md +3 -4
  86. package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
  87. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  88. package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
  89. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  90. package/dist/agent-src/skills/context-document/SKILL.md +1 -1
  91. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  92. package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
  93. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
  94. package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
  95. package/dist/agent-src/skills/database/SKILL.md +2 -1
  96. package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
  97. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
  98. package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
  99. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
  100. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
  101. package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
  102. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
  103. package/dist/agent-src/skills/flux/SKILL.md +10 -9
  104. package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
  105. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  106. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
  107. package/dist/agent-src/skills/livewire/SKILL.md +10 -9
  108. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  109. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
  110. package/dist/agent-src/skills/module-management/SKILL.md +2 -2
  111. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
  112. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
  113. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
  114. package/dist/agent-src/skills/premortem/SKILL.md +1 -1
  115. package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
  116. package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
  117. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
  118. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
  119. package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
  120. package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
  121. package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
  122. package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
  123. package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
  124. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  125. package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
  126. package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
  127. package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
  128. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  129. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
  130. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  131. package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
  132. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
  133. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
  134. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  135. package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
  136. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
  137. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
  138. package/dist/agent-src/templates/agent-settings.md +34 -25
  139. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  140. package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
  141. package/dist/agent-src/templates/agents/proposal.example.md +4 -4
  142. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  143. package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
  144. package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
  145. package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
  146. package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
  147. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
  148. package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
  149. package/dist/agent-src/templates/roadmaps.md +9 -4
  150. package/dist/agent-src/templates/rule.md +3 -3
  151. package/dist/agent-src/templates/scripts/README.md +6 -6
  152. package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
  153. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
  154. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
  155. package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
  156. package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
  157. package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
  158. package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
  159. package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
  160. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  161. package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
  162. package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
  163. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  164. package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
  165. package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
  166. package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
  167. package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
  168. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
  169. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
  170. package/dist/agent-src/templates/skill.md +2 -2
  171. package/dist/cli/python/knowledge_ingest.js +24 -3
  172. package/dist/cli/python/knowledge_ingest.js.map +1 -1
  173. package/dist/cli/python/workspace_analytics.js +23 -3
  174. package/dist/cli/python/workspace_analytics.js.map +1 -1
  175. package/dist/cli/python/workspace_crypto.js +23 -3
  176. package/dist/cli/python/workspace_crypto.js.map +1 -1
  177. package/dist/cli/python/workspace_documents.js +23 -3
  178. package/dist/cli/python/workspace_documents.js.map +1 -1
  179. package/dist/cli/python/workspace_drive.js +24 -3
  180. package/dist/cli/python/workspace_drive.js.map +1 -1
  181. package/dist/cli/python/workspace_drive_health.js +23 -3
  182. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  183. package/dist/cli/python/workspace_explain.js +23 -3
  184. package/dist/cli/python/workspace_explain.js.map +1 -1
  185. package/dist/cli/python/workspace_hosts.js +23 -3
  186. package/dist/cli/python/workspace_hosts.js.map +1 -1
  187. package/dist/cli/python/workspace_inbox.js +23 -3
  188. package/dist/cli/python/workspace_inbox.js.map +1 -1
  189. package/dist/cli/python/workspace_render.js +23 -3
  190. package/dist/cli/python/workspace_render.js.map +1 -1
  191. package/dist/cli/python/workspace_roles.js +23 -3
  192. package/dist/cli/python/workspace_roles.js.map +1 -1
  193. package/dist/cli/python/workspace_sessions.js +23 -3
  194. package/dist/cli/python/workspace_sessions.js.map +1 -1
  195. package/dist/cli/python/workspace_skills.js +23 -3
  196. package/dist/cli/python/workspace_skills.js.map +1 -1
  197. package/dist/cli/registry.js +2 -0
  198. package/dist/cli/registry.js.map +1 -1
  199. package/dist/discovery/deprecation-report.md +1 -1
  200. package/dist/discovery/discovery-manifest.json +119 -119
  201. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  202. package/dist/discovery/discovery-manifest.summary.md +2 -2
  203. package/dist/discovery/orphan-report.md +1 -1
  204. package/dist/discovery/packs.json +3 -3
  205. package/dist/discovery/trust-report.md +1 -1
  206. package/dist/discovery/workspaces.json +3 -3
  207. package/dist/install/install.mjs +67 -28
  208. package/dist/mcp/registry-manifest.json +2 -2
  209. package/dist/server/routes/settings.js +4 -4
  210. package/dist/server/routes/settings.js.map +1 -1
  211. package/dist/server/schemas/settings.js +1 -1
  212. package/dist/server/schemas/settings.js.map +1 -1
  213. package/docs/CLAIMS.md +2 -2
  214. package/docs/archive/CHANGELOG-pre-8.0.0.md +301 -0
  215. package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
  216. package/docs/benchmark.md +40 -0
  217. package/docs/contracts/skill-bundled-assets.md +2 -2
  218. package/docs/customization.md +1 -1
  219. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
  220. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
  221. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
  222. package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
  223. package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
  224. package/docs/guidelines/agent-infra/layered-settings.md +4 -4
  225. package/docs/guidelines/agent-infra/memory-access.md +19 -18
  226. package/docs/guidelines/agent-infra/naming.md +1 -1
  227. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
  228. package/docs/guidelines/agent-infra/role-contracts.md +1 -1
  229. package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
  230. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
  231. package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
  232. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  233. package/docs/guidelines/augment-portability-patterns.md +1 -1
  234. package/docs/proof.md +1 -1
  235. package/docs/setup/per-ide/claude-code.md +10 -4
  236. package/package.json +3 -2
  237. package/src/config/agent-settings.template.yml +31 -17
  238. package/src/config/host-capabilities.yml +25 -16
  239. package/src/config/profiles/balanced.ini +5 -3
  240. package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
  241. package/src/scripts/_cli/cmd_conformance.ts +23 -4
  242. package/src/scripts/_cli/cmd_doctor.ts +96 -8
  243. package/src/scripts/_cli/cmd_explain.ts +23 -4
  244. package/src/scripts/_cli/cmd_export.ts +23 -4
  245. package/src/scripts/_cli/cmd_fleet.ts +23 -4
  246. package/src/scripts/_cli/cmd_migrate.ts +23 -4
  247. package/src/scripts/_cli/cmd_preflight.ts +24 -4
  248. package/src/scripts/_cli/cmd_prune.ts +23 -4
  249. package/src/scripts/_cli/cmd_refresh.ts +23 -4
  250. package/src/scripts/_cli/cmd_settings_check.ts +23 -4
  251. package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
  252. package/src/scripts/_cli/cmd_sync.ts +23 -4
  253. package/src/scripts/_cli/cmd_uninstall.ts +23 -4
  254. package/src/scripts/_cli/cmd_update.ts +23 -4
  255. package/src/scripts/_cli/cmd_upgrade.ts +238 -9
  256. package/src/scripts/_cli/cmd_validate.ts +23 -4
  257. package/src/scripts/_cli/cmd_versions.ts +23 -4
  258. package/src/scripts/_dispatch.bash +62 -19
  259. package/src/scripts/_lib/claude_plugin.ts +83 -0
  260. package/src/scripts/_lib/knowledge_global.ts +24 -2
  261. package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
  262. package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
  263. package/src/scripts/_lib/link_crypto.ts +24 -5
  264. package/src/scripts/_lib/pin_resolver.ts +24 -3
  265. package/src/scripts/adoption_report.ts +23 -4
  266. package/src/scripts/adoption_snapshot.ts +23 -1
  267. package/src/scripts/adoption_status.ts +23 -4
  268. package/src/scripts/adr/regenerate_index.ts +24 -3
  269. package/src/scripts/ai_council/airgap.ts +25 -2
  270. package/src/scripts/ai_council/compile_corpus.ts +24 -2
  271. package/src/scripts/ai_council/pricing.ts +11 -1
  272. package/src/scripts/analysis_freshness.ts +23 -4
  273. package/src/scripts/annotate_discovery.ts +23 -1
  274. package/src/scripts/apply_modules_config.ts +23 -4
  275. package/src/scripts/audit_adr_coverage.ts +23 -4
  276. package/src/scripts/audit_auto_rules.ts +23 -1
  277. package/src/scripts/audit_cloud_compatibility.ts +23 -4
  278. package/src/scripts/audit_command_surface.ts +23 -4
  279. package/src/scripts/audit_initial_context.ts +23 -3
  280. package/src/scripts/audit_likelihood.ts +23 -1
  281. package/src/scripts/audit_mcp_tools.ts +23 -3
  282. package/src/scripts/audit_overlap.ts +23 -1
  283. package/src/scripts/audit_skill_descriptions.ts +24 -2
  284. package/src/scripts/audit_skill_overlap.ts +23 -1
  285. package/src/scripts/audit_user_type_axis.ts +23 -4
  286. package/src/scripts/backfill_model_tier.ts +23 -4
  287. package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
  288. package/src/scripts/bench_ab_clone.ts +23 -1
  289. package/src/scripts/bench_ab_diff.ts +23 -1
  290. package/src/scripts/bench_ab_integrity.ts +23 -1
  291. package/src/scripts/bench_ab_run.ts +23 -2
  292. package/src/scripts/bench_ab_task_runner.ts +23 -1
  293. package/src/scripts/bench_ab_tracka_run.ts +23 -2
  294. package/src/scripts/bench_ab_v2_run.ts +23 -1
  295. package/src/scripts/bench_ab_v2_stats.ts +23 -1
  296. package/src/scripts/bench_baseline_ready.ts +23 -1
  297. package/src/scripts/bench_condense_memory.ts +23 -1
  298. package/src/scripts/bench_drift_check.ts +23 -2
  299. package/src/scripts/bench_matrix.ts +23 -4
  300. package/src/scripts/bench_per_tool.ts +23 -1
  301. package/src/scripts/bench_quality_run.ts +23 -2
  302. package/src/scripts/bench_rtk_savings.ts +23 -1
  303. package/src/scripts/bench_rule_load_latency.ts +23 -2
  304. package/src/scripts/bench_run.ts +23 -2
  305. package/src/scripts/bench_runner.ts +23 -1
  306. package/src/scripts/build_cloud_bundle.ts +23 -3
  307. package/src/scripts/build_discovery_manifest.ts +23 -4
  308. package/src/scripts/build_linear_digest.ts +23 -3
  309. package/src/scripts/build_mcp_registry_manifest.ts +23 -4
  310. package/src/scripts/build_rule_trigger_matrix.ts +23 -4
  311. package/src/scripts/capture_showcase_session.ts +23 -1
  312. package/src/scripts/chat_history.ts +24 -3
  313. package/src/scripts/check_always_budget.ts +23 -2
  314. package/src/scripts/check_artefact_checksums.ts +23 -4
  315. package/src/scripts/check_augment_description_cap.ts +23 -4
  316. package/src/scripts/check_augmentignore.ts +23 -4
  317. package/src/scripts/check_beta_review_markers.ts +23 -4
  318. package/src/scripts/check_cluster_patterns.ts +23 -4
  319. package/src/scripts/check_command_count_messaging.ts +23 -4
  320. package/src/scripts/check_comparison.ts +23 -1
  321. package/src/scripts/check_condensation.ts +24 -3
  322. package/src/scripts/check_condensed_paths.ts +23 -2
  323. package/src/scripts/check_context_paths.ts +23 -4
  324. package/src/scripts/check_council_config_location.ts +23 -4
  325. package/src/scripts/check_council_layout.ts +23 -4
  326. package/src/scripts/check_council_references.ts +23 -4
  327. package/src/scripts/check_discovery_determinism.ts +24 -4
  328. package/src/scripts/check_gate_paths.ts +23 -4
  329. package/src/scripts/check_generated_artefact_headers.ts +23 -4
  330. package/src/scripts/check_generator_output_coverage.ts +23 -4
  331. package/src/scripts/check_gitignore_freshness.ts +23 -4
  332. package/src/scripts/check_iron_law_prominence.ts +23 -4
  333. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  334. package/src/scripts/check_kernel_rule_bundle.ts +23 -4
  335. package/src/scripts/check_knowledge_cards.ts +23 -1
  336. package/src/scripts/check_md_language.ts +23 -4
  337. package/src/scripts/check_media_deps.ts +24 -1
  338. package/src/scripts/check_memory.ts +24 -2
  339. package/src/scripts/check_memory_proposal.ts +23 -4
  340. package/src/scripts/check_module_management_neutral.ts +23 -4
  341. package/src/scripts/check_no_conflict_markers.ts +23 -4
  342. package/src/scripts/check_no_external_sources.ts +23 -4
  343. package/src/scripts/check_no_local_settings_committed.ts +24 -4
  344. package/src/scripts/check_no_new_legacy_path.ts +23 -4
  345. package/src/scripts/check_no_roadmap_refs.ts +23 -4
  346. package/src/scripts/check_one_off_location.ts +23 -4
  347. package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
  348. package/src/scripts/check_portability.ts +24 -3
  349. package/src/scripts/check_proposal.ts +0 -0
  350. package/src/scripts/check_public_catalog_links.ts +23 -4
  351. package/src/scripts/check_public_links.ts +23 -4
  352. package/src/scripts/check_quality_regression.ts +23 -2
  353. package/src/scripts/check_references.ts +23 -4
  354. package/src/scripts/check_release_includes_discovery.ts +23 -4
  355. package/src/scripts/check_release_pr_shape.ts +23 -4
  356. package/src/scripts/check_release_published.ts +23 -4
  357. package/src/scripts/check_release_trunk_sync.ts +23 -4
  358. package/src/scripts/check_reply_consistency.ts +23 -4
  359. package/src/scripts/check_roadmap_trackable.ts +23 -4
  360. package/src/scripts/check_role_doc_links.ts +23 -4
  361. package/src/scripts/check_safety_floor_untouched.ts +24 -4
  362. package/src/scripts/check_site_links.ts +23 -1
  363. package/src/scripts/check_skill_gaps.ts +23 -1
  364. package/src/scripts/check_skill_requires.ts +23 -4
  365. package/src/scripts/check_structural_breaking.ts +24 -4
  366. package/src/scripts/check_surface_tiers.ts +23 -4
  367. package/src/scripts/check_template_pin_drift.ts +23 -4
  368. package/src/scripts/check_test_coverage_diff.ts +23 -4
  369. package/src/scripts/check_token_optimizer_freshness.ts +23 -4
  370. package/src/scripts/check_token_quality_golden.ts +23 -2
  371. package/src/scripts/check_token_regression.ts +23 -2
  372. package/src/scripts/check_tracked_but_ignored.ts +24 -4
  373. package/src/scripts/check_trigger_evals.ts +23 -4
  374. package/src/scripts/check_trunk_drift.ts +24 -1
  375. package/src/scripts/check_update_banner.ts +23 -4
  376. package/src/scripts/ci_summary.ts +23 -4
  377. package/src/scripts/ci_time_ratio.ts +23 -4
  378. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  379. package/src/scripts/compile_router.ts +23 -4
  380. package/src/scripts/condense.ts +23 -2
  381. package/src/scripts/condense_memory.ts +24 -2
  382. package/src/scripts/config/packs.ts +24 -4
  383. package/src/scripts/config/session_profiles.ts +23 -4
  384. package/src/scripts/context_hygiene_hook.ts +24 -3
  385. package/src/scripts/cost_by_conversation.ts +23 -4
  386. package/src/scripts/cost_summary.ts +23 -4
  387. package/src/scripts/council_cli.ts +35 -7
  388. package/src/scripts/council_prune.ts +25 -2
  389. package/src/scripts/cross_repo_retrieve.ts +23 -4
  390. package/src/scripts/discovery_stats.ts +23 -4
  391. package/src/scripts/evidence_report.ts +23 -1
  392. package/src/scripts/export_replay_corpus.ts +23 -2
  393. package/src/scripts/extract_audit_patterns.ts +23 -1
  394. package/src/scripts/first_run_gate_hook.ts +24 -3
  395. package/src/scripts/gen_discovery_baseline.ts +23 -4
  396. package/src/scripts/generate_capabilities_index.ts +24 -5
  397. package/src/scripts/generate_capability_matrix.ts +23 -4
  398. package/src/scripts/generate_catalog.ts +23 -1
  399. package/src/scripts/generate_command_flows.ts +23 -4
  400. package/src/scripts/generate_cookbook.ts +23 -4
  401. package/src/scripts/generate_index.ts +23 -4
  402. package/src/scripts/generate_ownership_matrix.ts +23 -1
  403. package/src/scripts/generate_pack_manifests.ts +24 -5
  404. package/src/scripts/generate_role_experiences_catalog.ts +23 -4
  405. package/src/scripts/hooks/block_no_verify.ts +23 -4
  406. package/src/scripts/hooks/design_slop_hook.ts +24 -3
  407. package/src/scripts/hooks/dispatch_hook.ts +47 -14
  408. package/src/scripts/hooks/replay_hook.ts +23 -2
  409. package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
  410. package/src/scripts/hooks_doctor.ts +23 -2
  411. package/src/scripts/hooks_status.ts +23 -2
  412. package/src/scripts/injection_scan_hook.ts +24 -5
  413. package/src/scripts/install.ts +72 -44
  414. package/src/scripts/inventory_abstraction_budget.ts +23 -1
  415. package/src/scripts/inventory_frontmatter.ts +23 -1
  416. package/src/scripts/inventory_meta_layers.ts +23 -1
  417. package/src/scripts/iron_law_sha.ts +23 -4
  418. package/src/scripts/janitor.ts +23 -4
  419. package/src/scripts/knowledge_global_cli.ts +24 -2
  420. package/src/scripts/linked_projects_list.ts +23 -4
  421. package/src/scripts/lint_agent_security.ts +23 -4
  422. package/src/scripts/lint_agent_skill_names.ts +23 -4
  423. package/src/scripts/lint_agents_layout.ts +23 -4
  424. package/src/scripts/lint_agents_md.ts +23 -4
  425. package/src/scripts/lint_archived_skills.ts +23 -4
  426. package/src/scripts/lint_artefact_frontmatter.ts +23 -4
  427. package/src/scripts/lint_bench_ab.ts +23 -4
  428. package/src/scripts/lint_bench_corpus.ts +23 -2
  429. package/src/scripts/lint_command_flow_coverage.ts +23 -4
  430. package/src/scripts/lint_command_routing.ts +23 -4
  431. package/src/scripts/lint_command_tiers.ts +23 -2
  432. package/src/scripts/lint_command_verbs.ts +23 -4
  433. package/src/scripts/lint_commit_subjects.ts +24 -4
  434. package/src/scripts/lint_confusables.ts +25 -5
  435. package/src/scripts/lint_context_spine_usage.ts +23 -4
  436. package/src/scripts/lint_discovery_manifest.ts +23 -4
  437. package/src/scripts/lint_discovery_vocabulary.ts +23 -4
  438. package/src/scripts/lint_empty_roadmaps.ts +23 -4
  439. package/src/scripts/lint_eval_freshness.ts +23 -4
  440. package/src/scripts/lint_examples.ts +23 -4
  441. package/src/scripts/lint_explain_trace.ts +23 -4
  442. package/src/scripts/lint_featured_skills.ts +0 -0
  443. package/src/scripts/lint_flows.ts +23 -4
  444. package/src/scripts/lint_framework_leakage.ts +23 -4
  445. package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
  446. package/src/scripts/lint_ghostwriter_source.ts +23 -4
  447. package/src/scripts/lint_global_paths.ts +23 -2
  448. package/src/scripts/lint_handoffs.ts +23 -4
  449. package/src/scripts/lint_hidden_unicode.ts +24 -5
  450. package/src/scripts/lint_hook_concern_budget.ts +23 -4
  451. package/src/scripts/lint_hook_manifest.ts +23 -2
  452. package/src/scripts/lint_instruction_smuggling.ts +25 -5
  453. package/src/scripts/lint_legal_pack.ts +23 -1
  454. package/src/scripts/lint_load_context.ts +23 -4
  455. package/src/scripts/lint_marketplace.ts +24 -3
  456. package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
  457. package/src/scripts/lint_mcp_config_security.ts +25 -5
  458. package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
  459. package/src/scripts/lint_media_policy_linkage.ts +23 -4
  460. package/src/scripts/lint_missions.ts +23 -4
  461. package/src/scripts/lint_model_tier_coverage.ts +23 -4
  462. package/src/scripts/lint_namespace.ts +23 -4
  463. package/src/scripts/lint_namespace_collisions.ts +23 -4
  464. package/src/scripts/lint_new_skill_gate.ts +23 -4
  465. package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
  466. package/src/scripts/lint_one_off_age.ts +23 -4
  467. package/src/scripts/lint_orchestration_dsl.ts +23 -4
  468. package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
  469. package/src/scripts/lint_pack_boundaries.ts +23 -4
  470. package/src/scripts/lint_pack_dependencies.ts +23 -2
  471. package/src/scripts/lint_pack_first_win.ts +23 -4
  472. package/src/scripts/lint_pack_risk_class.ts +23 -1
  473. package/src/scripts/lint_persona_governance.ts +23 -4
  474. package/src/scripts/lint_positioning.ts +23 -4
  475. package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
  476. package/src/scripts/lint_readme_jargon.ts +23 -4
  477. package/src/scripts/lint_readme_size.ts +23 -4
  478. package/src/scripts/lint_regression.ts +23 -4
  479. package/src/scripts/lint_roadmap_blockers.ts +23 -4
  480. package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
  481. package/src/scripts/lint_roadmap_complexity.ts +23 -4
  482. package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
  483. package/src/scripts/lint_role_experiences.ts +23 -4
  484. package/src/scripts/lint_rule_interactions.ts +23 -4
  485. package/src/scripts/lint_rule_tiers.ts +24 -3
  486. package/src/scripts/lint_showcase_sessions.ts +23 -4
  487. package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
  488. package/src/scripts/lint_skill_originality.ts +23 -4
  489. package/src/scripts/lint_skill_tools.ts +23 -4
  490. package/src/scripts/lint_subagent_determinism.ts +23 -4
  491. package/src/scripts/lint_ticket_buildable.ts +23 -4
  492. package/src/scripts/lint_topics_yaml.ts +23 -4
  493. package/src/scripts/lint_trust_coherence.ts +23 -4
  494. package/src/scripts/lint_value_dashboard.ts +23 -4
  495. package/src/scripts/lint_workflow_security.ts +23 -4
  496. package/src/scripts/lint_workspace_boundary.ts +23 -4
  497. package/src/scripts/mcp_parity_smoke.ts +23 -2
  498. package/src/scripts/mcp_render.ts +23 -4
  499. package/src/scripts/mcp_telemetry_health.ts +23 -4
  500. package/src/scripts/mcp_telemetry_query.ts +23 -4
  501. package/src/scripts/mcp_telemetry_store.ts +23 -4
  502. package/src/scripts/measure_augment_budget.ts +23 -1
  503. package/src/scripts/measure_density.ts +23 -1
  504. package/src/scripts/measure_frugality_savings.ts +23 -1
  505. package/src/scripts/measure_markitdown_lift.ts +23 -1
  506. package/src/scripts/measure_patterns.ts +23 -1
  507. package/src/scripts/measure_projection_bytes.ts +23 -1
  508. package/src/scripts/measure_rule_budget.ts +23 -4
  509. package/src/scripts/measure_skill_reduction.ts +23 -1
  510. package/src/scripts/memory_hash.ts +24 -2
  511. package/src/scripts/memory_lookup.ts +24 -2
  512. package/src/scripts/memory_report.ts +24 -2
  513. package/src/scripts/memory_signal.ts +24 -2
  514. package/src/scripts/memory_status.ts +26 -2
  515. package/src/scripts/migrate_command_suggestions.ts +23 -4
  516. package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
  517. package/src/scripts/migration_status.ts +25 -4
  518. package/src/scripts/mine_missing_guardrails.ts +23 -1
  519. package/src/scripts/mine_session.ts +23 -1
  520. package/src/scripts/minimal_safe_diff_hook.ts +24 -3
  521. package/src/scripts/new_skill.ts +23 -3
  522. package/src/scripts/onboarding_gate_hook.ts +24 -3
  523. package/src/scripts/parity/coverage_diff.ts +25 -3
  524. package/src/scripts/parity/phase_gate.ts +25 -4
  525. package/src/scripts/parity/replay.ts +25 -3
  526. package/src/scripts/pattern_share.ts +23 -4
  527. package/src/scripts/plan_physical_move.ts +23 -4
  528. package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
  529. package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
  530. package/src/scripts/prediction-pool/score_ev.ts +24 -3
  531. package/src/scripts/print_required_checks.ts +24 -4
  532. package/src/scripts/probe_host_compliance.ts +23 -2
  533. package/src/scripts/probe_projection_fidelity.ts +23 -1
  534. package/src/scripts/probe_skill_registration.ts +24 -2
  535. package/src/scripts/profile_staleness_hook.ts +24 -3
  536. package/src/scripts/profile_use.ts +23 -4
  537. package/src/scripts/project_thin_rules.ts +23 -3
  538. package/src/scripts/propose_modules_config.ts +23 -4
  539. package/src/scripts/prototype_lint_contradictions.ts +23 -1
  540. package/src/scripts/prove_pack_extractable.ts +23 -4
  541. package/src/scripts/readme_linter.ts +23 -3
  542. package/src/scripts/redact_hook_capture.ts +23 -4
  543. package/src/scripts/refine_ticket_detect.ts +23 -4
  544. package/src/scripts/release.ts +23 -4
  545. package/src/scripts/render_benchmark_composite.ts +23 -4
  546. package/src/scripts/render_benchmark_md.ts +23 -4
  547. package/src/scripts/roadmap_progress_hook.ts +46 -16
  548. package/src/scripts/run_skill_evals.ts +23 -4
  549. package/src/scripts/runtime_dispatcher.ts +23 -4
  550. package/src/scripts/runtime_registry.ts +23 -4
  551. package/src/scripts/score_skill_selection.ts +23 -1
  552. package/src/scripts/security_audit_config.ts +24 -5
  553. package/src/scripts/skill_collision_clusters.ts +23 -4
  554. package/src/scripts/skill_discovery.ts +23 -4
  555. package/src/scripts/skill_linter.ts +23 -2
  556. package/src/scripts/skill_preview.ts +23 -4
  557. package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
  558. package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
  559. package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
  560. package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
  561. package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
  562. package/src/scripts/skill_usage_collect.ts +23 -4
  563. package/src/scripts/smoke_path_resolution.ts +23 -4
  564. package/src/scripts/smoke_quickstart.ts +23 -4
  565. package/src/scripts/snapshot_agent_outputs.ts +23 -4
  566. package/src/scripts/spotcheck_thin_root.ts +23 -4
  567. package/src/scripts/sync_agent_settings.ts +23 -4
  568. package/src/scripts/sync_github_metadata.ts +23 -4
  569. package/src/scripts/sync_gitignore.ts +23 -4
  570. package/src/scripts/telegraph_stats.ts +23 -4
  571. package/src/scripts/tool_registry.ts +24 -4
  572. package/src/scripts/trigger_coverage.ts +23 -4
  573. package/src/scripts/update_counts.ts +23 -4
  574. package/src/scripts/update_prices.ts +23 -1
  575. package/src/scripts/validate_agent_settings.ts +23 -4
  576. package/src/scripts/validate_decision_engine.ts +23 -4
  577. package/src/scripts/validate_discovery_manifest.ts +23 -4
  578. package/src/scripts/validate_frontmatter.ts +23 -2
  579. package/src/scripts/validate_pack_yaml.ts +0 -0
  580. package/src/scripts/validate_safe_paths.ts +24 -4
  581. package/src/scripts/validate_telegraph_carveouts.ts +23 -4
  582. package/src/scripts/verify_before_complete_hook.ts +24 -3
  583. package/src/scripts/verify_physical_move.ts +23 -4
  584. package/src/scripts/wrapper_freshness_hook.ts +107 -8
  585. package/tests/fixtures/hooks/README.md +92 -0
  586. package/tests/fixtures/hooks/agent_error.json +7 -0
  587. package/tests/fixtures/hooks/post_tool_use.json +13 -0
  588. package/tests/fixtures/hooks/pre_compact.json +7 -0
  589. package/tests/fixtures/hooks/pre_tool_use.json +9 -0
  590. package/tests/fixtures/hooks/session_end.json +6 -0
  591. package/tests/fixtures/hooks/session_start.json +6 -0
  592. package/tests/fixtures/hooks/stop.json +6 -0
  593. package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
@@ -104,13 +104,11 @@ Goal: locate the failure in a single component, layer, or call site.
104
104
  recent dependency updates, config edits, infra changes.
105
105
  4. **Consult memory for prior matches.** Via
106
106
  [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md):
107
- ```python
108
- from scripts.memory_lookup import retrieve
109
- priors = retrieve(
110
- types=["incident-learnings", "historical-patterns"],
111
- keys=[<error class>, <failing path(s)>],
112
- limit=3,
113
- )
107
+ ```bash
108
+ agent-config memory:lookup \
109
+ --types incident-learnings,historical-patterns \
110
+ --key <error class> --key <failing path> \
111
+ --limit 3
114
112
  ```
115
113
  A matching `incident-learning` may already name the root cause, the
116
114
  fix, and the regression test. A matching `historical-pattern`
@@ -53,10 +53,10 @@ one-line comment naming the design source.
53
53
 
54
54
  Token authoring (DTCG 3-layer model, CSS-var/Tailwind generation) lives
55
55
  in [`design-tokens`](../design-tokens/SKILL.md); its
56
- `tokens.py validate --dir <path>` is the **single token-discipline
56
+ `tokens.ts validate --dir <path>` is the **single token-discipline
57
57
  linter** — the mechanical check behind this rule (no hardcoded hex / px /
58
58
  rem outside the token files). Greenfield Tailwind config: bundled
59
- `scripts/tailwind_config_gen.py` (Apache-2.0-derived, pure templating)
59
+ `scripts/tailwind_config_gen.ts` (Apache-2.0-derived, pure templating)
60
60
  scaffolds `tailwind.config.{js,ts}` per framework.
61
61
 
62
62
  ### 2. Compose, don't inline
@@ -23,9 +23,9 @@
23
23
  import * as fs from 'node:fs';
24
24
  import * as path from 'node:path';
25
25
  import process from 'node:process';
26
- import { pathToFileURL } from 'node:url';
26
+ import { fileURLToPath, pathToFileURL } from 'node:url';
27
27
 
28
- const PROG = 'tailwind_config_gen.py';
28
+ const PROG = 'tailwind_config_gen';
29
29
 
30
30
  // Mirror argparse's wrapped usage block (80-col default; non-tty). Used for
31
31
  // the invalid-choice / unrecognized-argument error paths.
@@ -553,9 +553,30 @@ export function main(argv: string[] = process.argv.slice(2)): number {
553
553
  return success ? 0 : 1;
554
554
  }
555
555
 
556
+ function _isCliEntry(): boolean {
557
+ if (process.argv[1] === undefined) {
558
+ return false;
559
+ }
560
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
561
+ if (import.meta.url === argvUrl) {
562
+ return true;
563
+ }
564
+ // A symlinked invocation (e.g. via an installed `.augment/` projection,
565
+ // or macOS /var → /private/var temp dirs) makes the raw URLs differ:
566
+ // import.meta.url is the resolved real path while argv[1] keeps the
567
+ // symlink path. Compare realpaths so the entry guard still fires
568
+ // (without this the CLI silently no-ops when run through a symlink).
569
+ try {
570
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
571
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
572
+ return here === argv;
573
+ } catch {
574
+ return false;
575
+ }
576
+ }
577
+
556
578
  const _invokedDirectly =
557
- process.argv[1] !== undefined &&
558
- import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
579
+ _isCliEntry();
559
580
  if (_invokedDirectly) {
560
581
  process.exitCode = main();
561
582
  }
@@ -95,7 +95,7 @@ INTENT
95
95
  cited asset's trigger keywords or scope, update the matching row in
96
96
  this skill in the same commit (enforced by
97
97
  [`token-optimizer-maintenance`](../../rules/token-optimizer-maintenance.md)
98
- rule + `scripts/check_token_optimizer_freshness.py` CI gate).
98
+ rule + `scripts/check_token_optimizer_freshness.ts` CI gate).
99
99
  - Tree must stay scannable (≤ 50 lines incl. labels). Catalog rows
100
100
  carry the long form.
101
101
  - Authoritative-link assets (`rtk` upstream, `markitdown` upstream,
@@ -49,7 +49,7 @@ degrades gracefully: with no brand layer, only stage 1 runs.
49
49
  xl / 2xl / 3xl`; set `line-height` (1.5 for body, 1.2 for display);
50
50
  assign weights (400 body, 600–700 heading).
51
51
  4. **Emit DTCG `$type: "typography"` tokens** through `design-tokens`
52
- (`scripts/tokens.py`) — add a `typography` section to `tokens.json` with
52
+ (`scripts/tokens.ts`) — add a `typography` section to `tokens.json` with
53
53
  `$type: "typography"` and `$value` objects carrying `fontFamily`,
54
54
  `fontSize`, `fontWeight`, `lineHeight`.
55
55
  5. **Verify** — confirm both chosen fonts exist on Google Fonts (check the
@@ -52,13 +52,11 @@ Verify the request doesn't conflict with:
52
52
  shared abstraction (see
53
53
  [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md)):
54
54
 
55
- ```python
56
- from scripts.memory_lookup import retrieve
57
- matches = retrieve(
58
- types=["product-rules", "domain-invariants"],
59
- keys=[<affected domain>, <affected paths>],
60
- limit=5,
61
- )
55
+ ```bash
56
+ agent-config memory:lookup \
57
+ --types product-rules,domain-invariants \
58
+ --key <affected domain> --key <affected path> \
59
+ --limit 5
62
60
  ```
63
61
 
64
62
  A product rule is an intentional business constraint
@@ -93,6 +93,15 @@ on the changed scope."* — not *"everything looks good"*.
93
93
 
94
94
  ## The end-of-work sequence
95
95
 
96
+ **Gate zero:** when `quality.local_auto_run` is `false` or missing (the
97
+ default), steps 2–3 below do NOT run — user runs quality tools
98
+ manually, remote CI is the authoritative gate (see
99
+ [`quality-tools` § Execution policy](../quality-tools/SKILL.md)). Run
100
+ only the narrowest probe the claim needs (step 1, a `curl`, a syntax
101
+ check on the edited file) and close with *"quality gates delegated to
102
+ remote CI"* — never a pass claim for tools that did not run. Full
103
+ sequence applies when `local_auto_run: true`.
104
+
96
105
  When all code changes are done and you are ready to report completion:
97
106
 
98
107
  1. **Targeted tests** — the test(s) covering the changed code pass.
@@ -176,7 +185,8 @@ When reporting completion to the user:
176
185
  * Do NOT suppress warnings or skip tests to pass the gate
177
186
  * Do NOT report only the last line of output — read the whole thing
178
187
  * Do NOT run the full quality pipeline between intermediate edits —
179
- run it once at the end
188
+ and under `quality.local_auto_run: false` (the default) do NOT run
189
+ it at the end either; remote CI is the gate
180
190
 
181
191
  ## When to hand over to another skill
182
192
 
@@ -196,6 +206,8 @@ Before sending a completion message:
196
206
  * [ ] Output is quoted with numeric counts, not paraphrased
197
207
  * [ ] No warnings or skips are hidden
198
208
  * [ ] Targeted tests green → full suite green → quality pipeline clean
209
+ (`local_auto_run: true` only; under the default `false` state
210
+ "quality gates delegated to remote CI" instead)
199
211
  * [ ] `git status` reflects only the intended change set
200
212
  * [ ] If `git status --short` shows untracked files, the report lists
201
213
  them verbatim under "Untracked files"
@@ -33,7 +33,7 @@ exists and is the source of truth.
33
33
  ## Template
34
34
 
35
35
  This block defines the personal and project-level settings that
36
- `scripts/install.py` (via `config/agent-settings.template.yml`)
36
+ `scripts/install.ts` (via `config/agent-settings.template.yml`)
37
37
  writes to `.agent-settings.yml` on first install. Subsequent edits are
38
38
  made by the user directly or by the agent on request, following the
39
39
  [section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
@@ -54,15 +54,16 @@ made by the user directly or by the agent on request, following the
54
54
  # essential = kernel + the lift-carrying rules (~3.3x, keeps the weak-host
55
55
  # discipline lift; the full load's residual is not significant).
56
56
  # full = every rule tier (~11.7x). EXPERIMENTAL opt-in only.
57
- # auto = resolve per session against host-capabilities.yml
58
- # (measured-null model -> off, otherwise -> essential).
57
+ # auto = resolve per session against host-capabilities.yml — measured
58
+ # NULL-lift model -> off; unmeasured Claude-family -> essential;
59
+ # unmeasured non-Claude -> off (P2 verdict, vendor-granular).
59
60
  #
60
61
  # When set, this key WINS over the legacy rule_loading_tier below
61
62
  # (mapping when absent: minimal->off, balanced->essential, full->full).
62
- # The installer fills it per preset (minimal->off, balanced->essential,
63
- # full->full — behaviour-preserving); `auto` is the evidence-gated flip
64
- # target (roadmap Phase 4).
65
- discipline_profile: essential
63
+ # The installer fills it per preset: minimal->off, balanced->auto,
64
+ # full->full (P2-verdict council 2026-07-07 — the non-Claude replication
65
+ # failed, so auto enables the lift only where measured).
66
+ discipline_profile: auto
66
67
 
67
68
  # --- Cost profile (legacy knob — superseded by discipline_profile) ---
68
69
  #
@@ -164,9 +165,9 @@ eloquent:
164
165
  #
165
166
  # Persistent JSONL log at agents/runtime/.agent-chat-history (git-ignored under /agents/runtime/).
166
167
  # Keeps a durable record of the conversation so a crashed or switched
167
- # agent session can be resumed. See scripts/chat_history.py for the API.
168
+ # agent session can be resumed. See scripts/chat_history.ts for the API.
168
169
  #
169
- # Defaults below are placeholders — scripts/install.py substitutes them
170
+ # Defaults below are placeholders — scripts/install.ts substitutes them
170
171
  # per rule_loading_tier (see config/profiles/*.ini).
171
172
  chat_history:
172
173
  # Log chat events to disk (true, false)
@@ -225,9 +226,9 @@ hooks:
225
226
  chat_history:
226
227
  enabled: true
227
228
  # Override path to the chat-history CLI (defaults to
228
- # scripts/chat_history.py). Only set this when the script lives
229
+ # scripts/chat_history.ts). Only set this when the script lives
229
230
  # outside the standard location.
230
- # script: scripts/chat_history.py
231
+ # script: scripts/chat_history.ts
231
232
 
232
233
  # --- Optional pipelines ---
233
234
  pipelines:
@@ -264,20 +265,28 @@ roadmap:
264
265
  # end_of_roadmap = once, before archiving (default — fastest, fewest tokens)
265
266
  # per_phase = once after every completed phase
266
267
  # per_step = after every completed step (legacy; highest token cost)
267
- # Iron Law `verify-before-complete` still applies — fresh output is
268
- # mandatory before any "roadmap complete" claim, regardless of cadence.
268
+ # `quality.local_auto_run: false` (the default) suppresses local
269
+ # pipeline runs at EVERY cadence — remote CI is the gate; this knob
270
+ # only matters when `local_auto_run` is `true`.
269
271
  quality_cadence: end_of_roadmap
270
272
 
271
273
  # --- Quality / CI execution ---
272
274
  quality:
273
275
  # Run local quality / CI tasks and tests autonomously (true, false)
274
- # true = agent runs the quality pipeline whenever work is ready
275
- # for verification, without asking (default)
276
- # false = agent asks before running quality tools / tests locally
276
+ # false = default. Agent NEVER runs quality tools / full test suites
277
+ # proactively — and does not ask. The user runs them manually;
278
+ # remote CI is the authoritative gate. The agent runs one ONLY
279
+ # on: (1) explicit ask this turn (e.g. /quality-fix), (2) a
280
+ # concrete CI failure — run exactly that failing check, or
281
+ # (3) the new-gate carve-out below.
282
+ # true = opt-in legacy: agent runs the quality pipeline whenever
283
+ # work is ready for verification, without asking.
277
284
  # Carve-out: NEW CI gates / smoke tests / test files MUST run
278
285
  # locally regardless of this flag — without execution the gate is
279
- # unverified evidence. Iron Law `verify-before-complete` still applies.
280
- local_auto_run: true
286
+ # unverified evidence. Iron Law `verify-before-complete` still applies:
287
+ # suppressed runs are surfaced ("quality gates delegated to remote CI"),
288
+ # never claimed as passing.
289
+ local_auto_run: false
281
290
 
282
291
  # Wait for remote CI to finish on the PR / pipeline (true, false)
283
292
  # true = poll GitHub check-runs / pipeline after push and report
@@ -436,9 +445,9 @@ verbosity:
436
445
  # it") in skill bodies. false = act and emit the result.
437
446
  intent_announcements: false
438
447
 
439
- # Script stdout chatter from `scripts/*.py`, `scripts/*.sh`, and
448
+ # Script stdout chatter from `scripts/*.ts`, `scripts/*.sh`, and
440
449
  # `.augment/scripts/`. Read by the helper module
441
- # `scripts/_lib/script_output.py`.
450
+ # `scripts/_lib/script_output.ts`.
442
451
  # silent = stderr only; success = no output
443
452
  # minimal = one summary line per script (default)
444
453
  # verbose = pre-Phase-10 behaviour (per-step prints)
@@ -515,7 +524,7 @@ linked_projects_max_files: 20000
515
524
  ## Settings Reference
516
525
 
517
526
  Personal and project-level settings (initial file written by
518
- `scripts/install.py`, edits follow the merge rules in
527
+ `scripts/install.ts`, edits follow the merge rules in
519
528
  [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
520
529
  **Key paths use dot-notation** to denote nesting: `personal.user_name`
521
530
  lives under `personal:` in YAML.
@@ -544,18 +553,18 @@ the canonical narrative lives in
544
553
  | `chat_history.frequency` | `per_turn`, `per_phase`, `per_tool` | per profile | Logging granularity. Defaults: `minimal`→`per_turn`, `balanced`→`per_phase`, `full`→`per_tool`. |
545
554
  | `chat_history.max_size_kb` | integer | per profile | Max file size before overflow handling. Defaults: `minimal`→`128`, `balanced`→`256`, `full`→`512`. |
546
555
  | `chat_history.on_overflow` | `rotate`, `condense` | per profile | On overflow: `rotate` drops oldest entries; `condense` marks the file for summarization on the next turn. Defaults: `minimal`/`balanced`→`rotate`, `full`→`condense`. |
547
- | `chat_history.text_limits.{user,agent,tool,phase}` | integer (chars) | `user=0`, `agent=5000`, `tool=200`, `phase=200` | Per-entry-type text-length cap. `0` = verbatim, no slice. `N > 0` = collapse whitespace, slice to N chars, append `" … [+K chars]"` so the log self-reports truncation. Defaults match `DEFAULT_TEXT_LIMITS` in `scripts/chat_history.py`. |
556
+ | `chat_history.text_limits.{user,agent,tool,phase}` | integer (chars) | `user=0`, `agent=5000`, `tool=200`, `phase=200` | Per-entry-type text-length cap. `0` = verbatim, no slice. `N > 0` = collapse whitespace, slice to N chars, append `" … [+K chars]"` so the log self-reports truncation. Defaults match `DEFAULT_TEXT_LIMITS` in `scripts/chat_history.ts`. |
548
557
  | `hooks.enabled` | `true`, `false` | `false` | Master switch for the work-engine hook layer. When `false` (default) the registry stays empty and golden replay is byte-stable. See [`agents/settings/contexts/work-engine-hooks.md`](../../../agents/settings/contexts/work-engine-hooks.md). |
549
558
  | `hooks.trace` | `true`, `false` | `false` | Emit per-event trace lines on stderr. Useful for debugging; off by default because it is noisy. |
550
559
  | `hooks.halt_surface_audit` | `true`, `false` | `true` | Defense-in-depth check that every halt surfaced by the dispatcher carries the expected shape. Cheap. |
551
560
  | `hooks.state_shape_validation` | `true`, `false` | `true` | Re-run the state schema validator on `AFTER_LOAD` and `BEFORE_SAVE`. Cheap, catches drift. |
552
561
  | `hooks.directive_set_guard` | `true`, `false` | `true` | Verify the dispatcher-resolved directive set matches the input envelope intent. Cheap, catches routing drift. |
553
562
  | `hooks.chat_history.enabled` | `true`, `false` | `true` | Register the chat-history hooks (`append` on `after_step`, `halt_append` on `on_halt`). Gated by **both** this flag AND `chat_history.enabled`; either off → no chat-history hook registers. Schema v4: every entry self-identifies via a 16-char session fingerprint, no ownership/sidecar layer. |
554
- | `hooks.chat_history.script` | path | `scripts/chat_history.py` | Override path to the chat-history CLI. Set only when the script lives outside the standard location. |
563
+ | `hooks.chat_history.script` | path | `scripts/chat_history.ts` | Override path to the chat-history CLI. Set only when the script lives outside the standard location. |
555
564
  | `pipelines.skill_improvement` | `true`, `false` | `true` | When `true`: propose learning capture after meaningful tasks. When `false`: silent. Included in every profile except `custom`. |
556
565
  | `roadmap.skip_pre_run_gate` | `true`, `false` | `true` | When `true` (default): `/roadmap:process-step\|phase\|full` skips the interactive pre-run summary and starts the loop immediately — the resolved roadmap, cadence, and council are surfaced inline so an unwanted pick can still be aborted. When `false`: the loop shows the pre-run summary with numbered options (Go / Different roadmap / Different scope / Toggle council / Abort) and waits. The gate is always shown — regardless of this flag — when the roadmap is ambiguous (multiple active, none named) or a scope / cadence conflict has no sensible default. |
557
- | `roadmap.quality_cadence` | `end_of_roadmap`, `per_phase`, `per_step` | `end_of_roadmap` | When `/roadmap:process-step|phase|full` runs the project's quality pipeline. Default skips per-step / per-phase runs and gates only the final archival. `per_phase` runs once after every phase; `per_step` is the legacy verbose mode. Step checkboxes and the dashboard are always updated regardless. `verify-before-complete` still requires fresh output before any "roadmap complete" claim. |
558
- | `quality.local_auto_run` | `true`, `false` | `true` | When `true`: agent runs the project's quality pipeline (`task ci`, `make test`, `npm run check`, PHPStan, ECS, Rector, test suites) autonomously when work is ready for verification. When `false`: agent asks before running locally. **Carve-out**: NEW CI gates / smoke tests / test files MUST run locally regardless of this flag — without execution the new gate is unverified evidence. Iron Law `verify-before-complete` still applies; suppressed runs require the agent to surface the gap before claiming completion. |
566
+ | `roadmap.quality_cadence` | `end_of_roadmap`, `per_phase`, `per_step` | `end_of_roadmap` | When `/roadmap:process-step|phase|full` runs the project's quality pipeline — only relevant when `quality.local_auto_run` is `true`; when it is `false` (the default) local pipeline runs are suppressed at every cadence and remote CI is the gate. Default skips per-step / per-phase runs and gates only the final archival. `per_phase` runs once after every phase; `per_step` is the legacy verbose mode. Step checkboxes and the dashboard are always updated regardless. |
567
+ | `quality.local_auto_run` | `true`, `false` | `false` | When `false` (default): agent NEVER runs the project's quality pipeline (`task ci`, `make test`, `npm run check`, PHPStan, ECS, Rector, test suites) proactively — and does not ask. The user runs quality tools manually; remote CI is the authoritative gate. The agent runs one only on (1) an explicit ask this turn, (2) a concrete CI failure (run exactly that failing check), or (3) the new-gate carve-out. When `true`: opt-in legacy — agent runs the pipeline autonomously when work is ready for verification. **Carve-out**: NEW CI gates / smoke tests / test files MUST run locally regardless of this flag — without execution the new gate is unverified evidence. Iron Law `verify-before-complete` still applies; suppressed runs are surfaced ("quality gates delegated to remote CI"), never claimed as passing. |
559
568
  | `quality.wait_for_remote_ci` | `true`, `false` | `false` | When `true`: after `git push`, the agent polls GitHub check-runs / pipeline status on the PR and reports green / red before handing back. When `false`: agent pushes and hands back immediately; the user inspects CI themselves (default — saves agent runtime and tokens). |
560
569
  | `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
561
570
  | `subagents.judge_model` | model alias or empty | _(empty)_ | Model for judge subagents. Empty = one tier above implementer (opus if sonnet, sonnet if haiku). |
@@ -37,9 +37,9 @@ schema_version: 1
37
37
  # disables the pin (resolver picks the latest release; only safe for
38
38
  # greenfield projects). Ranges (^, ~, >=) are NOT supported.
39
39
  # CI guard: a release bump of `package.json` must update this value
40
- # in lockstep — see scripts/check_template_pin_drift.py (road-to-
40
+ # in lockstep — see scripts/check_template_pin_drift.ts (road-to-
41
41
  # portable-runtime-and-update-check P3.3).
42
- agent_config_version: "8.0.0"
42
+ agent_config_version: "8.2.0"
43
43
 
44
44
  # --- Project identity ---
45
45
  project:
@@ -65,7 +65,7 @@ project:
65
65
  # module-aware surface skips its module branch — the project is
66
66
  # treated as a flat repo.
67
67
  #
68
- # Populated automatically by `scripts/install.py` on a fresh install
68
+ # Populated automatically by `scripts/install.ts` on a fresh install
69
69
  # when an `app/Modules/`, `src/modules/`, `packages/`, `internal/`, or
70
70
  # similar shape is detected. Set manually for custom layouts. Lockable
71
71
  # via `locked_keys: [modules.root_paths]` for compliance-critical
@@ -10,7 +10,7 @@
10
10
  # REDACTION IS MANDATORY — see road-to-engineering-memory.md.
11
11
  # Every entry is a PATTERN + CONSEQUENCE + GUARDRAIL.
12
12
  # Every entry that contains a customer name, internal URL, PII, or
13
- # secret is rejected by `scripts/check_memory.py`. No opt-out.
13
+ # secret is rejected by `scripts/check_memory.ts`. No opt-out.
14
14
  #
15
15
  # BAD entry (auto-rejected):
16
16
  # "On 2026-03-14 customer ACME hit a rate limit and Redis died."
@@ -6,7 +6,7 @@
6
6
  #
7
7
  # An agent drafting a rule/skill/guideline change in a consumer project
8
8
  # produces this doc and hands it to `upstream-contribute`. The gate
9
- # (`scripts/check_proposal.py`) verifies evidence, scope, and
9
+ # (`scripts/check_proposal.ts`) verifies evidence, scope, and
10
10
  # portability before a PR is opened.
11
11
  #
12
12
  # Copy this file, fill every field, run `task check-proposal`, commit.
@@ -92,10 +92,10 @@ under `agents/drafts/<proposal_id>.md` and link from here.
92
92
  List the checks the draft MUST pass before the gate signs off. The
93
93
  gate auto-runs every item in this list.
94
94
 
95
- - [ ] Passes `scripts/skill_linter.py` with zero errors
96
- - [ ] Passes `scripts/check_portability.py` (no project-specific
95
+ - [ ] Passes `scripts/skill_linter.ts` with zero errors
96
+ - [ ] Passes `scripts/check_portability.ts` (no project-specific
97
97
  identifiers)
98
- - [ ] References in the draft all resolve (`check_references.py`)
98
+ - [ ] References in the draft all resolve (`check_references.ts`)
99
99
  - [ ] Size within budget for its type (per `size-enforcement` rule)
100
100
  - [ ] `preservation-guard` check: if `Replaces existing`, justify
101
101
  the replacement below.
@@ -127,7 +127,7 @@ resolve at agent runtime. The patterns below are correct by design:
127
127
  `.augment/skills/`, `.augment/commands/` via installer-managed
128
128
  symlinks. Missing-file reports here are renderer artifacts.
129
129
  - **Body-link forms `../docs/guidelines/...`** (single-up). This is
130
- the post-rewrite shape produced by `scripts/condense.py`. The
130
+ the post-rewrite shape produced by `scripts/condense.ts`. The
131
131
  condensed `dist/agent-src/rules/` tree is one level deeper than the
132
132
  source `.agent-src.uncondensed/rules/`, so the rewriter collapses
133
133
  `../../docs/...` to `../docs/...`. Both forms are expected — one in
@@ -1,7 +1,7 @@
1
1
  # Memory Hygiene — template shipped by agent-config
2
2
  #
3
3
  # Copy this file to `.github/workflows/memory-hygiene.yml` in the consumer
4
- # project. It runs `scripts/check_memory.py` on a weekly schedule and
4
+ # project. It runs `agent-config memory:check` on a weekly schedule and
5
5
  # opens (or updates) a single tracking issue when stale entries are
6
6
  # found in `agents/memory/`.
7
7
  #
@@ -9,9 +9,12 @@
9
9
  # is a review signal, not a merge blocker. See
10
10
  # `road-to-engineering-memory.md` Phase 4 for the rationale.
11
11
  #
12
+ # Runtime: Node/tsx (py2ts migration) — the check runs through the
13
+ # `@event4u/agent-config` package via npx (`memory:check` resolves a
14
+ # local `scripts/check_memory.ts` customization first, then the packaged
15
+ # copy); no Python required.
16
+ #
12
17
  # Prerequisites:
13
- # - `scripts/check_memory.py` copied from
14
- # `.augment/templates/scripts/check_memory.py` into the consumer repo.
15
18
  # - At least one file exists under `agents/memory/` — absence short-
16
19
  # circuits the job with an informational log, no issue opened.
17
20
 
@@ -36,13 +39,10 @@ jobs:
36
39
  - name: Check out repository
37
40
  uses: actions/checkout@v4
38
41
 
39
- - name: Set up Python
40
- uses: actions/setup-python@v5
42
+ - name: Set up Node
43
+ uses: actions/setup-node@v4
41
44
  with:
42
- python-version: "3.12"
43
-
44
- - name: Install PyYAML
45
- run: pip install pyyaml
45
+ node-version: "22"
46
46
 
47
47
  - name: Short-circuit if no memory files
48
48
  id: has_memory
@@ -63,7 +63,7 @@ jobs:
63
63
  echo "## Memory hygiene report"
64
64
  echo
65
65
  echo '```'
66
- python3 scripts/check_memory.py --path agents/memory
66
+ npx --yes @event4u/agent-config memory:check --path agents/memory
67
67
  exit_code=$?
68
68
  echo '```'
69
69
  } > staleness.md
@@ -9,6 +9,10 @@
9
9
  # under `.augment/templates/scripts/pr-risk-config.example.yml`). Without a
10
10
  # config file the script falls back to sensible cross-stack defaults.
11
11
  #
12
+ # Runtime: Node/tsx (py2ts migration) — the classifiers ship inside the
13
+ # `@event4u/agent-config` package and run through the package's own tsx
14
+ # runner; no Python and no consumer-local script copy required.
15
+ #
12
16
  # This workflow is purely informational — it does NOT block merges. Gate the
13
17
  # PR on a separate required check if you want a hard stop.
14
18
 
@@ -34,21 +38,26 @@ jobs:
34
38
  with:
35
39
  fetch-depth: 0
36
40
 
37
- - name: Set up Python
38
- uses: actions/setup-python@v5
41
+ - name: Set up Node
42
+ uses: actions/setup-node@v4
39
43
  with:
40
- python-version: "3.12"
44
+ node-version: "22"
41
45
 
42
- - name: Install dependencies
43
- run: pip install pyyaml
46
+ - name: Install agent-config
47
+ run: npm install -g @event4u/agent-config
44
48
 
45
49
  - name: Classify risk
46
50
  id: risk
47
51
  env:
48
52
  BASE_SHA: ${{ github.event.pull_request.base.sha }}
49
53
  HEAD_SHA: ${{ github.event.pull_request.head.sha }}
54
+ # Runs the packaged classifier via the package's own tsx runner; a
55
+ # consumer-local `scripts/pr_risk_review.ts` customization wins.
50
56
  run: |
51
- python3 scripts/pr_risk_review.py \
57
+ PKG="$(npm root -g)/@event4u/agent-config"
58
+ SCRIPT="$PKG/dist/agent-src/templates/scripts/pr_risk_review.ts"
59
+ [ -f scripts/pr_risk_review.ts ] && SCRIPT=scripts/pr_risk_review.ts
60
+ node "$PKG/node_modules/tsx/dist/cli.mjs" "$SCRIPT" \
52
61
  --base "$BASE_SHA" \
53
62
  --head "$HEAD_SHA" \
54
63
  --config .github/pr-risk-config.yml \
@@ -100,7 +109,6 @@ jobs:
100
109
 
101
110
  - name: Classify review routing
102
111
  id: routing
103
- if: hashFiles('scripts/pr_review_routing.py') != ''
104
112
  env:
105
113
  BASE_SHA: ${{ github.event.pull_request.base.sha }}
106
114
  HEAD_SHA: ${{ github.event.pull_request.head.sha }}
@@ -109,7 +117,10 @@ jobs:
109
117
  # back to agents/ — matching the reviewer-awareness rule.
110
118
  # Missing data files emit a generic fallback, not an error.
111
119
  run: |
112
- python3 scripts/pr_review_routing.py \
120
+ PKG="$(npm root -g)/@event4u/agent-config"
121
+ SCRIPT="$PKG/dist/agent-src/templates/scripts/pr_review_routing.ts"
122
+ [ -f scripts/pr_review_routing.ts ] && SCRIPT=scripts/pr_review_routing.ts
123
+ node "$PKG/node_modules/tsx/dist/cli.mjs" "$SCRIPT" \
113
124
  --base "$BASE_SHA" \
114
125
  --head "$HEAD_SHA" \
115
126
  --output routing-report.md \
@@ -15,9 +15,12 @@
15
15
  # This workflow is intentionally read-only — it never blocks a PR and
16
16
  # never modifies the repo. It only opens / updates a tracking issue.
17
17
  #
18
+ # Runtime: Node/tsx (py2ts migration) — the report runs through the
19
+ # repo's own tsx runner (`./scripts-run`); no Python required.
20
+ #
18
21
  # Prerequisites:
19
- # - `scripts/memory_report.py` present in the repo (ships with the
20
- # package).
22
+ # - `dist/agent-src/templates/scripts/memory_report.ts` present in the
23
+ # repo (ships with the package).
21
24
  # - Proposals live under `agents/proposals/` with the schema defined
22
25
  # in `dist/agent-src/templates/agents/proposal.example.md`.
23
26
 
@@ -45,13 +48,13 @@ jobs:
45
48
  with:
46
49
  fetch-depth: 0
47
50
 
48
- - name: Set up Python
49
- uses: actions/setup-python@v5
51
+ - name: Set up Node
52
+ uses: actions/setup-node@v4
50
53
  with:
51
- python-version: "3.12"
54
+ node-version: "22"
52
55
 
53
- - name: Install PyYAML
54
- run: pip install pyyaml
56
+ - name: Install dependencies
57
+ run: npm ci
55
58
 
56
59
  - name: Build quarterly report
57
60
  id: report
@@ -63,7 +66,7 @@ jobs:
63
66
  echo "Accepted vs. retired for the last quarter."
64
67
  echo
65
68
  echo '```'
66
- python3 scripts/memory_report.py --quarterly --format text
69
+ ./scripts-run dist/agent-src/templates/scripts/memory_report --format text
67
70
  echo '```'
68
71
  echo
69
72
  echo "Open proposals by stage:"
@@ -9,12 +9,10 @@
9
9
  # A green check here proves the dashboard reflects reality on every PR
10
10
  # that touches roadmaps.
11
11
  #
12
- # Prerequisites:
13
- # - `.augment/scripts/update_roadmap_progress.py` installed by
14
- # `task install` (or `./agent-config install`).
15
- # - At least one file exists under `agents/roadmaps/` — absence
16
- # short-circuits the check with a passing exit (consumer projects
17
- # that haven't adopted roadmaps stay green).
12
+ # Runtime: Node/tsx (py2ts migration) — the check runs through the
13
+ # `@event4u/agent-config` package via npx; no Python, no local install
14
+ # required. Absence of `agents/roadmaps/` short-circuits with a passing
15
+ # exit (consumer projects that haven't adopted roadmaps stay green).
18
16
  #
19
17
  # This workflow is intentionally narrow: it only runs when relevant
20
18
  # files change, so it adds zero overhead to unrelated PRs.
@@ -27,12 +25,12 @@ on:
27
25
  paths:
28
26
  - "agents/roadmaps/**"
29
27
  - "agents/roadmaps-progress.md"
30
- - ".augment/scripts/update_roadmap_progress.py"
28
+ - ".augment/scripts/update_roadmap_progress.ts"
31
29
  pull_request:
32
30
  paths:
33
31
  - "agents/roadmaps/**"
34
32
  - "agents/roadmaps-progress.md"
35
- - ".augment/scripts/update_roadmap_progress.py"
33
+ - ".augment/scripts/update_roadmap_progress.ts"
36
34
  workflow_dispatch: {}
37
35
 
38
36
  permissions:
@@ -45,12 +43,12 @@ jobs:
45
43
  steps:
46
44
  - uses: actions/checkout@v4
47
45
 
48
- - uses: actions/setup-python@v5
46
+ - uses: actions/setup-node@v4
49
47
  with:
50
- python-version: "3.11"
48
+ node-version: "22"
51
49
 
52
50
  - name: Run roadmap progress check
53
- run: python3 .augment/scripts/update_roadmap_progress.py --check
51
+ run: npx --yes @event4u/agent-config roadmap:progress-check
54
52
 
55
53
  - name: Remediation hint on failure
56
54
  if: failure()
@@ -58,6 +56,6 @@ jobs:
58
56
  echo "::error::roadmaps-progress.md is stale."
59
57
  echo "Regenerate locally with one of:"
60
58
  echo " ./agent-config roadmap:progress"
59
+ echo " agent-config roadmap:progress"
61
60
  echo " task roadmap-progress"
62
- echo " python3 .augment/scripts/update_roadmap_progress.py"
63
61
  echo "Then commit and push the updated agents/roadmaps-progress.md."
@@ -16,22 +16,23 @@
16
16
  set -e
17
17
 
18
18
  # Only act on commits that touch the source-of-truth artefact tree
19
- # (or the linter / vocabulary that govern it).
19
+ # (or the linter / vocabulary that govern it). The runtime is Node/tsx
20
+ # (py2ts migration) — the linter runs through the package tsx runner,
21
+ # never python3.
20
22
  staged="$(git diff --cached --name-only --diff-filter=ACMR 2>/dev/null || true)"
21
23
  case "$staged" in
22
- *.agent-src.uncondensed/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.py*)
24
+ *.agent-src.uncondensed/*.md*|*src/agent-src/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.ts*)
23
25
  : ;;
24
26
  *)
25
27
  exit 0 ;;
26
28
  esac
27
29
 
28
- # Resolve the linter — prefer the consumer-shipped path, fall back to
29
- # the source-of-truth copy when run from inside the package itself.
30
+ # Resolve the linter — a source-repo artefact (the frontmatter contract
31
+ # governs the source tree; consumer repos have nothing to lint).
30
32
  script=""
31
33
  for cand in \
32
- ".augment/scripts/lint_artefact_frontmatter.py" \
33
- "dist/agent-src/scripts/lint_artefact_frontmatter.py" \
34
- "scripts/lint_artefact_frontmatter.py"; do
34
+ "src/scripts/lint_artefact_frontmatter.ts" \
35
+ ".augment/scripts/lint_artefact_frontmatter.ts"; do
35
36
  if [ -f "$cand" ]; then
36
37
  script="$cand"
37
38
  break
@@ -39,17 +40,26 @@ for cand in \
39
40
  done
40
41
 
41
42
  if [ -z "$script" ]; then
42
- echo "⚠️ pre-commit-frontmatter: lint_artefact_frontmatter.py not found." >&2
43
- echo " Run \`task install\` (or \`./agent-config install\`) and retry." >&2
43
+ echo "⚠️ pre-commit-frontmatter: lint_artefact_frontmatter.ts not found." >&2
44
44
  echo " Skipping check — letting commit through." >&2
45
45
  exit 0
46
46
  fi
47
47
 
48
- if ! python3 "$script" --quiet >/dev/null 2>&1; then
48
+ run_lint() {
49
+ if [ -x "./scripts-run" ]; then
50
+ ./scripts-run src/scripts/lint_artefact_frontmatter --quiet
51
+ elif [ -x "node_modules/.bin/tsx" ]; then
52
+ node_modules/.bin/tsx "$script" --quiet
53
+ else
54
+ npx tsx "$script" --quiet
55
+ fi
56
+ }
57
+
58
+ if ! run_lint >/dev/null 2>&1; then
49
59
  echo "❌ Artefact frontmatter lint failed (ADR-013 contract violation)." >&2
50
60
  echo "" >&2
51
61
  echo " Re-run for details:" >&2
52
- echo " python3 $script" >&2
62
+ echo " ./scripts-run src/scripts/lint_artefact_frontmatter" >&2
53
63
  echo " task lint-artefact-frontmatter" >&2
54
64
  echo "" >&2
55
65
  echo " Common fixes:" >&2