@event4u/agent-config 9.14.0 → 9.15.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 (276) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +110 -112
  3. package/README.md +8 -0
  4. package/dist/agent-src/commands/agents/audit.md +7 -7
  5. package/dist/agent-src/commands/agents/optimize.md +1 -1
  6. package/dist/agent-src/commands/analyze/reference-repo.md +1 -1
  7. package/dist/agent-src/commands/chat-history.md +1 -0
  8. package/dist/agent-src/commands/context.md +1 -0
  9. package/dist/agent-src/commands/council.md +1 -1
  10. package/dist/agent-src/commands/ghostwriter.md +1 -1
  11. package/dist/agent-src/commands/memory.md +2 -1
  12. package/dist/agent-src/commands/module.md +1 -0
  13. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  14. package/dist/agent-src/commands/optimize/deep.md +5 -2
  15. package/dist/agent-src/commands/optimize/skills.md +5 -5
  16. package/dist/agent-src/commands/override.md +1 -0
  17. package/dist/agent-src/commands/prediction-pool.md +4 -4
  18. package/dist/agent-src/commands/research/deep.md +1 -1
  19. package/dist/agent-src/commands/roadmap.md +2 -1
  20. package/dist/agent-src/commands/rule-compliance-audit.md +1 -1
  21. package/dist/agent-src/commands/tdd.md +1 -0
  22. package/dist/agent-src/commands/tests.md +1 -0
  23. package/dist/agent-src/commands/upstream-contribute.md +5 -5
  24. package/dist/agent-src/commands/video/from-script.md +1 -1
  25. package/dist/agent-src/commands/video/from-song.md +1 -1
  26. package/dist/agent-src/commands/video/scene.md +1 -1
  27. package/dist/agent-src/commands/video/stitch.md +1 -1
  28. package/dist/agent-src/commands/video/storyboard.md +1 -1
  29. package/dist/agent-src/commands/worktree/create.md +2 -1
  30. package/dist/agent-src/contexts/augment-infrastructure.md +1 -1
  31. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +5 -5
  32. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
  33. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  34. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +4 -3
  35. package/dist/agent-src/contexts/execution/subagent-routing.md +19 -0
  36. package/dist/agent-src/contexts/override-system.md +1 -1
  37. package/dist/agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  38. package/dist/agent-src/rules/augment-edit-discipline.md +1 -1
  39. package/dist/agent-src/rules/autonomous-execution.md +2 -1
  40. package/dist/agent-src/rules/brand-consistency.md +1 -0
  41. package/dist/agent-src/rules/brand-source-of-truth.md +1 -0
  42. package/dist/agent-src/rules/code-comment-discipline.md +2 -0
  43. package/dist/agent-src/rules/communication-through-line.md +1 -0
  44. package/dist/agent-src/rules/content-quoting-floor.md +1 -0
  45. package/dist/agent-src/rules/cross-source-consistency.md +0 -1
  46. package/dist/agent-src/rules/downstream-changes.md +1 -0
  47. package/dist/agent-src/rules/external-code-graph-interop.md +1 -0
  48. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -0
  49. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -0
  50. package/dist/agent-src/rules/finance-safety-floor.md +0 -1
  51. package/dist/agent-src/rules/icon-consistency.md +1 -0
  52. package/dist/agent-src/rules/image-likeness-and-rights.md +1 -0
  53. package/dist/agent-src/rules/improve-before-implement.md +1 -1
  54. package/dist/agent-src/rules/invite-challenge.md +1 -0
  55. package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -0
  56. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -0
  57. package/dist/agent-src/rules/markdown-safe-codeblocks.md +1 -0
  58. package/dist/agent-src/rules/media-governance-routing.md +4 -3
  59. package/dist/agent-src/rules/media-sync-ground-truth.md +1 -0
  60. package/dist/agent-src/rules/no-attribution-footers.md +1 -0
  61. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +1 -0
  62. package/dist/agent-src/rules/no-pr-progress-comments.md +1 -0
  63. package/dist/agent-src/rules/onboarding-gate.md +1 -0
  64. package/dist/agent-src/rules/output-discipline.md +1 -0
  65. package/dist/agent-src/rules/prefer-enums-over-literals.md +1 -0
  66. package/dist/agent-src/rules/preservation-guard.md +1 -0
  67. package/dist/agent-src/rules/question-not-instruction.md +1 -0
  68. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  69. package/dist/agent-src/rules/role-mode-adherence.md +1 -0
  70. package/dist/agent-src/rules/runtime-safety.md +1 -0
  71. package/dist/agent-src/rules/security-sensitive-stop.md +1 -0
  72. package/dist/agent-src/rules/session-canary.md +9 -2
  73. package/dist/agent-src/rules/source-confidentiality.md +1 -0
  74. package/dist/agent-src/rules/source-of-truth.md +1 -0
  75. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -0
  76. package/dist/agent-src/rules/think-before-action.md +1 -0
  77. package/dist/agent-src/rules/token-budget-discipline.md +1 -0
  78. package/dist/agent-src/rules/token-efficiency.md +1 -0
  79. package/dist/agent-src/rules/token-optimizer-maintenance.md +5 -5
  80. package/dist/agent-src/rules/tool-safety.md +1 -0
  81. package/dist/agent-src/rules/untrusted-input-defense.md +2 -0
  82. package/dist/agent-src/rules/user-interaction.md +1 -0
  83. package/dist/agent-src/rules/user-interrupt-priority.md +1 -0
  84. package/dist/agent-src/skills/adr-create/SKILL.md +1 -1
  85. package/dist/agent-src/skills/check-refs/SKILL.md +1 -1
  86. package/dist/agent-src/skills/competitive-positioning/SKILL.md +1 -1
  87. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  88. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  89. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  90. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  91. package/dist/agent-src/skills/github-ci/SKILL.md +1 -0
  92. package/dist/agent-src/skills/guideline-writing/SKILL.md +1 -1
  93. package/dist/agent-src/skills/lint-skills/SKILL.md +1 -1
  94. package/dist/agent-src/skills/readme-reviewer/SKILL.md +1 -1
  95. package/dist/agent-src/skills/roadmap-management/SKILL.md +8 -1
  96. package/dist/agent-src/skills/roadmap-writing/SKILL.md +1 -1
  97. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +1 -1
  98. package/dist/agent-src/skills/skill-writing/SKILL.md +4 -4
  99. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  100. package/dist/agent-src/skills/upstream-contribute/SKILL.md +6 -6
  101. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +25 -0
  102. package/dist/agent-src/templates/AGENTS.md +1 -1
  103. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  104. package/dist/agent-src/templates/command.md +1 -1
  105. package/dist/agent-src/templates/copilot-instructions.md +3 -3
  106. package/dist/agent-src/templates/rule.md +2 -2
  107. package/dist/agent-src/templates/scripts/work_engine/orchestration.ts +1 -1
  108. package/dist/agent-src/templates/skill-archive-note.md +5 -5
  109. package/dist/agent-src/templates/skill.md +1 -1
  110. package/dist/cli/agent-config.js +66 -19
  111. package/dist/cli/agent-config.js.map +1 -1
  112. package/dist/cli/main.js +9 -4
  113. package/dist/cli/main.js.map +1 -1
  114. package/dist/cli/python/workspace_drive.js +2 -0
  115. package/dist/cli/python/workspace_drive.js.map +1 -1
  116. package/dist/cli/python/workspace_drive_health.js +2 -0
  117. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  118. package/dist/cli/python/workspace_hosts.js +2 -0
  119. package/dist/cli/python/workspace_hosts.js.map +1 -1
  120. package/dist/cli/python/workspace_sessions.js +2 -0
  121. package/dist/cli/python/workspace_sessions.js.map +1 -1
  122. package/dist/cli/registry.js +1 -0
  123. package/dist/cli/registry.js.map +1 -1
  124. package/dist/cli-delegate/{chunk-A3HJ6NTI.js → chunk-63WSP6YZ.js} +2 -1
  125. package/dist/cli-delegate/{chunk-EJYIGZ3T.js → chunk-BKO2AZ7Z.js} +1 -1
  126. package/dist/cli-delegate/{chunk-GCVFLBP2.js → chunk-H574KOUH.js} +338 -494
  127. package/dist/cli-delegate/chunk-NXFWFAYV.js +339 -0
  128. package/dist/cli-delegate/{chunk-TEGJU2JX.js → chunk-ZXXJLL5K.js} +2 -2
  129. package/dist/cli-delegate/cmd_conformance.js +29 -23
  130. package/dist/cli-delegate/cmd_doctor.js +3 -3
  131. package/dist/cli-delegate/cmd_export.js +4 -4
  132. package/dist/cli-delegate/cmd_preflight.js +2 -2
  133. package/dist/cli-delegate/cmd_prune.js +4 -4
  134. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  135. package/dist/cli-delegate/cmd_sync.js +4 -4
  136. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  137. package/dist/cli-delegate/cmd_validate.js +4 -4
  138. package/dist/discovery/deprecation-report.md +1 -1
  139. package/dist/discovery/discovery-manifest.json +127 -95
  140. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  141. package/dist/discovery/discovery-manifest.summary.md +1 -1
  142. package/dist/discovery/orphan-report.md +1 -1
  143. package/dist/discovery/packs.json +2 -2
  144. package/dist/discovery/trust-report.md +1 -1
  145. package/dist/discovery/workspaces.json +2 -2
  146. package/dist/hooks/dispatch.js +729 -430
  147. package/dist/install/install.mjs +52 -11
  148. package/dist/install/rule_scope.js +18 -2
  149. package/dist/install/rule_scope.js.map +1 -1
  150. package/dist/mcp/registry-manifest.json +2 -2
  151. package/dist/mcp/server.json +2 -2
  152. package/dist/mcp/server.mjs +518 -411
  153. package/dist/router.json +1 -1
  154. package/dist/scripts/_lib/claude_settings_hooks.js +30 -5
  155. package/dist/scripts/_lib/claude_settings_hooks.js.map +1 -1
  156. package/dist/scripts/_lib/scoped_projection.js +223 -0
  157. package/dist/scripts/_lib/scoped_projection.js.map +1 -0
  158. package/dist/scripts/_lib/surface_tiers.js +125 -0
  159. package/dist/scripts/_lib/surface_tiers.js.map +1 -0
  160. package/dist/scripts/_lib/token_count.js +166 -0
  161. package/dist/scripts/_lib/token_count.js.map +1 -0
  162. package/dist/scripts/_lib/trigger_eval_floors.js +8 -0
  163. package/dist/scripts/_lib/trigger_eval_floors.js.map +1 -1
  164. package/dist/scripts/condense.js +139 -9
  165. package/dist/scripts/condense.js.map +1 -1
  166. package/dist/scripts/project_thin_rules.js +450 -0
  167. package/dist/scripts/project_thin_rules.js.map +1 -0
  168. package/dist/server/routes/workspace.js +2 -0
  169. package/dist/server/routes/workspace.js.map +1 -1
  170. package/dist/server/schemas/settings.js +9 -3
  171. package/dist/server/schemas/settings.js.map +1 -1
  172. package/dist/ui/assets/index-DJY_vQVn.js +40 -0
  173. package/dist/ui/assets/index-DJY_vQVn.js.map +1 -0
  174. package/dist/ui/index.html +1 -1
  175. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  176. package/package.json +11 -11
  177. package/src/agent-src/templates/AGENTS.md +1 -1
  178. package/src/agent-src/templates/scripts/work_engine/orchestration.ts +1 -1
  179. package/src/config/agent-settings.template.yml +59 -11
  180. package/src/config/ci-local-parity.yml +8 -0
  181. package/src/config/discovery/unassigned-artefacts.yml +23 -25
  182. package/src/config/evaluator-budgets.json +35 -5
  183. package/src/config/gate-coverage.yml +147 -0
  184. package/src/config/gate-violation-baselines.json +25 -0
  185. package/src/install/rule_scope.ts +27 -2
  186. package/src/scripts/_cli/cmd_conformance.ts +13 -24
  187. package/src/scripts/_dispatch.bash +10 -0
  188. package/src/scripts/_lib/claude_settings_hooks.ts +30 -4
  189. package/src/scripts/_lib/gate_baseline.ts +213 -0
  190. package/src/scripts/_lib/scoped_projection.ts +50 -0
  191. package/src/scripts/_lib/tier_budget_routing.ts +234 -0
  192. package/src/scripts/_lib/tool_adapter_registry.ts +8 -1
  193. package/src/scripts/_lib/trigger_eval_floors.ts +9 -0
  194. package/src/scripts/_lib/trigger_routers.ts +17 -5
  195. package/src/scripts/adr/regenerate_index.ts +4 -3
  196. package/src/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  197. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  198. package/src/scripts/audit_cloud_compatibility.ts +37 -2
  199. package/src/scripts/audit_initial_context.ts +53 -19
  200. package/src/scripts/audit_likelihood.ts +31 -2
  201. package/src/scripts/audit_user_type_axis.ts +58 -11
  202. package/src/scripts/bench_hook_latency.ts +172 -41
  203. package/src/scripts/build_mcp_catalog.ts +12 -1
  204. package/src/scripts/check_always_budget.ts +122 -11
  205. package/src/scripts/check_augment_description_cap.ts +24 -3
  206. package/src/scripts/check_ci_strict_superset.ts +150 -0
  207. package/src/scripts/check_cluster_patterns.ts +100 -0
  208. package/src/scripts/check_consumer_scope_flip.ts +26 -4
  209. package/src/scripts/check_evaluator_budgets.ts +198 -19
  210. package/src/scripts/check_gate_coverage.ts +337 -1
  211. package/src/scripts/check_generator_output_coverage.ts +2 -1
  212. package/src/scripts/check_iron_law_prominence.ts +1 -1
  213. package/src/scripts/check_kernel_rule_bundle.ts +1 -1
  214. package/src/scripts/check_no_new_legacy_path.ts +167 -3
  215. package/src/scripts/check_pack_size.ts +18 -4
  216. package/src/scripts/check_portability.ts +37 -7
  217. package/src/scripts/check_references.ts +19 -3
  218. package/src/scripts/check_release_pr_shape.ts +13 -0
  219. package/src/scripts/check_token_regression.ts +9 -2
  220. package/src/scripts/condense.ts +155 -12
  221. package/src/scripts/cost/budget.mjs +63 -2
  222. package/src/scripts/evaluator_umbrella.sh +34 -1
  223. package/src/scripts/generate_capability_matrix.ts +8 -0
  224. package/src/scripts/generate_router_coverage_from_matrix.ts +155 -0
  225. package/src/scripts/hook_manifest.yaml +17 -3
  226. package/src/scripts/hooks/block_config_weakening.ts +337 -0
  227. package/src/scripts/hooks/concern_registry.ts +2 -0
  228. package/src/scripts/hooks/probe_throttle.ts +75 -0
  229. package/src/scripts/install-hooks.sh +24 -2
  230. package/src/scripts/install.ts +2 -2
  231. package/src/scripts/lint_agents_md.ts +9 -3
  232. package/src/scripts/lint_archived_skills.ts +1 -1
  233. package/src/scripts/lint_artefact_frontmatter.ts +185 -37
  234. package/src/scripts/lint_command_routing.ts +21 -52
  235. package/src/scripts/lint_command_verbs.ts +47 -28
  236. package/src/scripts/lint_context_spine_usage.ts +38 -12
  237. package/src/scripts/lint_framework_leakage.ts +25 -6
  238. package/src/scripts/lint_handoffs.ts +49 -2
  239. package/src/scripts/lint_media_policy_linkage.ts +62 -30
  240. package/src/scripts/lint_namespace.ts +92 -7
  241. package/src/scripts/lint_new_skill_gate.ts +39 -31
  242. package/src/scripts/lint_originality_shingles.ts +7 -1
  243. package/src/scripts/lint_override_kernel_guard.ts +21 -3
  244. package/src/scripts/lint_pack_boundaries.ts +461 -91
  245. package/src/scripts/lint_pack_dependencies.ts +24 -57
  246. package/src/scripts/lint_persona_governance.ts +1 -1
  247. package/src/scripts/lint_role_experiences.ts +34 -5
  248. package/src/scripts/lint_trigger_precision.ts +142 -0
  249. package/src/scripts/mcp_server/consumer_tool_catalog.json +12 -201
  250. package/src/scripts/mcp_server/tools.ts +1 -1
  251. package/src/scripts/prepack-check.mjs +40 -1
  252. package/src/scripts/prepack_router_targets.d.mts +7 -0
  253. package/src/scripts/prepack_router_targets.mjs +93 -0
  254. package/src/scripts/print_required_checks.ts +72 -18
  255. package/src/scripts/profile_staleness_hook.ts +12 -0
  256. package/src/scripts/record_evaluator_measurements.mjs +105 -0
  257. package/src/scripts/recruit_preflight.sh +1 -1
  258. package/src/scripts/release.ts +105 -1
  259. package/src/scripts/router_target_paths.d.mts +4 -0
  260. package/src/scripts/router_target_paths.mjs +69 -0
  261. package/src/scripts/router_telemetry.ts +52 -1
  262. package/src/scripts/routing_doctor.ts +485 -0
  263. package/src/scripts/rule_trigger_eval.ts +403 -0
  264. package/src/scripts/schemas/rule.schema.json +5 -1
  265. package/src/scripts/session_canary_hook.ts +96 -5
  266. package/src/scripts/skill_linter.ts +9 -28
  267. package/src/scripts/smoke/skills.sh +1 -1
  268. package/src/scripts/sweep_dead_scan_roots.ts +356 -10
  269. package/src/scripts/trigger_coverage.ts +13 -2
  270. package/src/scripts/update_counts.ts +1 -1
  271. package/src/scripts/validate_telegraph_carveouts.ts +1 -1
  272. package/src/scripts/wrapper_freshness_hook.ts +14 -0
  273. package/src/server/schemas/settings.ts +19 -5
  274. package/dist/cli-delegate/chunk-TJIAM5FW.js +0 -133
  275. package/dist/ui/assets/index-BpSQt5vm.js +0 -40
  276. package/dist/ui/assets/index-BpSQt5vm.js.map +0 -1
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Bootstrap shim for the event4u agent-config suite. This plugin ships ONLY the dispatcher hooks plus one install-pointer skill — ALL content (skills, rules, commands) is installed via `npx -y @event4u/agent-config init`, which writes the file projection AND registers the same hooks in ~/.claude/settings.json. DEPRECATED as a content channel; kept so the marketplace listing stays discoverable and existing installs keep working hooks.",
9
- "version": "9.14.0",
9
+ "version": "9.15.0",
10
10
  "keywords": [
11
11
  "agent-config",
12
12
  "skills",
package/CHANGELOG.md CHANGED
@@ -246,14 +246,23 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
246
246
  > keeps the active era under the 250-line drift cap enforced by
247
247
  > `tests/test_changelog_eras.py`.
248
248
 
249
- # Era: 9.13.x — current
249
+ # Era: pre-9.15.0 — archived
250
250
 
251
- > Started at `9.13.0`. Full entries live inline below.
251
+ > All entries before `9.15.0` live in
252
+ > [`docs/archive/CHANGELOG-pre-9.15.0.md`](docs/archive/CHANGELOG-pre-9.15.0.md).
253
+ > The archive is read-only; git tags remain the canonical
254
+ > source for what shipped. Splitting them out of the main file
255
+ > keeps the active era under the 250-line drift cap enforced by
256
+ > `tests/test_changelog_eras.py`.
257
+
258
+ # Era: 9.15.x — current
259
+
260
+ > Started at `9.15.0`. Full entries live inline below.
252
261
  > The drift test caps this era at 250 lines of entry body; growth past
253
- > that forces a new era split (`# Era: 9.14.x`, etc.) — see
262
+ > that forces a new era split (`# Era: 9.16.x`, etc.) — see
254
263
  > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
255
264
 
256
- ## [9.14.0](https://github.com/event4u-app/agent-config/compare/9.13.0...9.14.0) (2026-08-02)
265
+ ## [9.15.0](https://github.com/event4u-app/agent-config/compare/9.14.0...9.15.0) (2026-08-03)
257
266
 
258
267
  ### Release highlights
259
268
 
@@ -266,129 +275,118 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
266
275
 
267
276
  ### Features
268
277
 
269
- * **gates:** fail on any count position the generator cannot rewrite ([71c8761](https://github.com/event4u-app/agent-config/commit/71c8761e1a7ba5a7d89e234c30b22daa41f2ee3f))
270
- * **counts:** generate the scoped-projection and active-command figures ([0a69bad](https://github.com/event4u-app/agent-config/commit/0a69bad08a166295fbe0cf5be018742600f02450))
271
- * **commands:** /optimize:deep — autonomous deep-refactoring loop ([a34efa9](https://github.com/event4u-app/agent-config/commit/a34efa9a78ecd45fbf1a3549c58bdd4b685b9ad8))
272
- * **roadmaps:** package-renewal central roadmap + three sub-roadmaps ([1802712](https://github.com/event4u-app/agent-config/commit/1802712bc0e9dc161830ee8f714c9a81e1feab33))
278
+ * **routing:** budget-aware cheap-request delegation (budget_routing) ([c3e98dd](https://github.com/event4u-app/agent-config/commit/c3e98dda535413e6d5e40cc463f88628c8b2ff27))
279
+ * **eval:** rules mode for the live trigger eval + weekly canary leg ([69fda7d](https://github.com/event4u-app/agent-config/commit/69fda7ddadbb60581f33ec3403609a34edaeed8b))
280
+ * **routing:** word-boundary-anchored keyword matching ([1975323](https://github.com/event4u-app/agent-config/commit/197532342bbac44adfc1e5e486f8e485a95e1d6a))
281
+ * **routing:** per-rule routing matrices for all 97 rules + derived coverage corpus ([f5ea58f](https://github.com/event4u-app/agent-config/commit/f5ea58f458865ad5ba60713e918acab301a76ffb))
282
+ * **routing:** routing:doctor + composed session_start chain tests ([bc9d3a2](https://github.com/event4u-app/agent-config/commit/bc9d3a249649a4fd063d316fdc42f2f5404246e7))
283
+ * **hooks:** daily throttle for session_start probes ([db1cdef](https://github.com/event4u-app/agent-config/commit/db1cdef2b45b7944dd056648768acb4194675d31))
284
+ * **cli:** dispatch:hook fast path in the bin launcher ([048757d](https://github.com/event4u-app/agent-config/commit/048757dc0fc2c21cc1ea862c4690cc5cbeb03d3b))
285
+ * **hooks:** claude hook command invokes the dispatcher bundle directly ([a8b2bdd](https://github.com/event4u-app/agent-config/commit/a8b2bddd916d6e129c4db255094a369a6b7b6972))
286
+ * **bench:** measure the real hook invocation path and gate CI on it ([832480a](https://github.com/event4u-app/agent-config/commit/832480ac961f3c1c0815219d95653c398ff7059d))
287
+ * **router:** reconcile the routes_to contract via an explicit self-contained class (ADR-210) ([4f24152](https://github.com/event4u-app/agent-config/commit/4f2415250e8b3f5a9e235c0f99ef2707a0df99ec))
288
+ * **adr:** retrofit event-based review_trigger on 11 time-bound ADRs ([6dd0375](https://github.com/event4u-app/agent-config/commit/6dd03758a73a7a0682f8b4543fe45954a5cb6f56))
289
+ * **adr:** projection-era corrections via ADR-209 — ADR-030 carve-out retired, ADR-089 superseded ([73b3fd8](https://github.com/event4u-app/agent-config/commit/73b3fd804a666e1bed5b58ca67b35b0669c49daf))
290
+ * **adr:** decide the ADR-201 open question — dist/agent-src is kept forever ([693fc3d](https://github.com/event4u-app/agent-config/commit/693fc3d172e0e9a6286d161c59035e848715dfd5))
291
+ * **adr:** drain the perma-proposed sweep — five accepts, one supersede ([3ab49ff](https://github.com/event4u-app/agent-config/commit/3ab49ff992a4bafd4bbe9b7bc2a625c45427f439))
292
+ * **adr:** supersede ADR-085 with ADR-207 — stdio-lite restated on Node-only grounds ([3874e58](https://github.com/event4u-app/agent-config/commit/3874e58267f684a8a479130ae1db20f1ab5e5ad5))
293
+ * **adr:** batch-disposition the drive-loop era via ADR-206 ([0052f65](https://github.com/event4u-app/agent-config/commit/0052f657238794fce1144bfbf9a8f2864b569f01))
294
+ * **hooks:** add the block-config-weakening PreToolUse guard ([d158f2d](https://github.com/event4u-app/agent-config/commit/d158f2dcfd69f4a71d97dd5bd30e9774aa95162e))
295
+ * **router:** ratchet short keyword triggers, and stop the contract lying about activation ([9f9e273](https://github.com/event4u-app/agent-config/commit/9f9e273d5d3d8736542723be5ca4df1b32627229))
296
+ * **projection:** project the colon command form and drop the twinned wrappers ([002697c](https://github.com/event4u-app/agent-config/commit/002697c891a9fde2a7e05a9f6b895bc189eeb80e))
297
+ * **projection:** derive the rule pack axis from the active-pack set ([37900a9](https://github.com/event4u-app/agent-config/commit/37900a92badba9dec34cd6e84918581154365b26))
298
+ * **gates:** put the repaired scan roots under the coverage census ([df1e736](https://github.com/event4u-app/agent-config/commit/df1e736b9d775d7870a1a2d1d7fc467c47ded858))
299
+ * **release:** name failing checks + mid-release-fix guidance at the failure point ([a3ce993](https://github.com/event4u-app/agent-config/commit/a3ce9939fa02a3510882ac5e85a40e070e1c313a))
300
+ * **ci:** commit the measurement set and warn on main, fail on release ([6eebc02](https://github.com/event4u-app/agent-config/commit/6eebc021cd8ac43a32625fa939898054e94f238b))
301
+ * **gates:** extend default-entry coverage and add the mutation canary ([fc05f30](https://github.com/event4u-app/agent-config/commit/fc05f30f080b799d781e401fa500ede4d8bb340e))
302
+ * **gates:** generate the scan-scope census over the full gate population ([301116f](https://github.com/event4u-app/agent-config/commit/301116f6f53d08d82806914bd1bf719f22ad6412))
303
+ * **gates:** add a violation ratchet for repaired scan roots ([190d53d](https://github.com/event4u-app/agent-config/commit/190d53deca65c3c01c9fff619aaf0e0e136e92c6))
273
304
 
274
305
  ### Bug Fixes
275
306
 
276
- * **ci:** discriminate dead scope from verified-empty release in corpus gates ([caa35e7](https://github.com/event4u-app/agent-config/commit/caa35e7b6f46900c987c3d12010f5db73fbec843))
277
- * **ci:** probe only the canonical projection root in the liveness check ([11cbaa7](https://github.com/event4u-app/agent-config/commit/11cbaa7cda5b104f1b0aa5b6d4beb174659586bf))
278
- * **commands:** shorten optimize-deep description below the 200-char cap ([2501034](https://github.com/event4u-app/agent-config/commit/250103476f6b362946475240f1087179fa38a236))
307
+ * **cli:** register routing:doctor in the CLI registry ([f02db54](https://github.com/event4u-app/agent-config/commit/f02db54c2cae449e730742f7396af5ac812bf0e8))
308
+ * **ci:** waive pre-existing SC2016 in bench-drift comment renderer ([bb4c605](https://github.com/event4u-app/agent-config/commit/bb4c6058177ccbdcdd3157a26c9818f1bcd3cc94))
309
+ * **deps-dev:** keep web-tree-sitter on the 0.24.7 ABI pin ([3e76cb2](https://github.com/event4u-app/agent-config/commit/3e76cb2515d6b4c183b7305b49dd7084b1cd59b4))
310
+ * **deps:** settle the preact floor and adopt the group bumps into the baseline ([b9c9c14](https://github.com/event4u-app/agent-config/commit/b9c9c14d6c43b51ee857a422ec35a4c559cd3a2e))
311
+ * **sweep:** keep the kernel rule language-and-tone out of the dead-tree sweep ([80c323a](https://github.com/event4u-app/agent-config/commit/80c323ac27c024f85426ee63a03c51a2e02ac964))
312
+ * **tests:** use src/rules fixture paths in the self-contained carve-out tests ([c541100](https://github.com/event4u-app/agent-config/commit/c541100cb8e9ed836dc3cd7ba54414a0c6783d65))
313
+ * **adr-index:** stop the index header naming the retired Python generator ([a26756e](https://github.com/event4u-app/agent-config/commit/a26756e9f9da1cdb79ab29deaed6dd3238def969))
314
+ * **hooks:** resolve the session-canary name user-globally, not per project ([9c3b779](https://github.com/event4u-app/agent-config/commit/9c3b7791fad2fa2d987b279a0951e662ff3c3ab1))
315
+ * **hooks:** rebuild stale tsc output after pull / branch-switch ([d2122e9](https://github.com/event4u-app/agent-config/commit/d2122e936033262a9dbe429dd21a2a6e7e23efe6))
316
+ * **roadmap-management:** tighten the awaiting-evidence section to clear the overlap gate ([5b6f141](https://github.com/event4u-app/agent-config/commit/5b6f141a8be8da01f7f231608de3a7d374b88e03))
317
+ * **worktree:** name the dependency tree by ecosystem peers, not one stack ([eafeced](https://github.com/event4u-app/agent-config/commit/eafecedebbd207c97c37f2f380e718c37512b34b))
318
+ * **clusters:** enumerate the filesystem in check_cluster_patterns ([a1cb83e](https://github.com/event4u-app/agent-config/commit/a1cb83e86648774cbbce7bc089640438a99626b5))
319
+ * **registries:** register the new command generator and its output root ([2e57080](https://github.com/event4u-app/agent-config/commit/2e570802e170ff7ccd97476902b4dcdff8aac570))
320
+ * **mcp:** price tool schemas per transport and stop shipping stub schemas ([040c8be](https://github.com/event4u-app/agent-config/commit/040c8bee1d3a7a02ec1bde7409c98e2f38881d4a))
321
+ * **deps:** bump the npm-production group with 4 updates ([2795154](https://github.com/event4u-app/agent-config/commit/27951548d89bb575b8d08bffc2269a55f6e9f414))
322
+ * **gates:** stop a check_ script from mutating a tracked report on every run ([d478b7a](https://github.com/event4u-app/agent-config/commit/d478b7a0f45373e9dd7f49b6427f93e101c77bea))
323
+ * **condense:** wire thin-mode instead of throwing on it ([092e535](https://github.com/event4u-app/agent-config/commit/092e5354440dbc114e059a008139168e29e8eb42))
324
+ * **docs:** drop the roadmap path from the branch-protection contract ([6927770](https://github.com/event4u-app/agent-config/commit/69277700fd91cf538cfb243700efcd748054dec7))
325
+ * **gates:** repair five gates that were scanning a deleted root ([e89c1b7](https://github.com/event4u-app/agent-config/commit/e89c1b733a61bd6cd722c86488ee7f727e1e64f1))
326
+ * **ci:** make ci-strict a superset of ci by construction ([10908cf](https://github.com/event4u-app/agent-config/commit/10908cf31919e615bb727a86b892cdfbcc38ca58))
327
+ * **ci:** reconcile the required-check matrix with what is actually enforced ([9b6b016](https://github.com/event4u-app/agent-config/commit/9b6b016343a63d80db8d549b194b93200ad55798))
328
+ * **ci:** satisfy actionlint on the newly-linted workflow and explain the plumbing failure ([f1e3518](https://github.com/event4u-app/agent-config/commit/f1e351811ac6ff53c80692ea94eee56fa30e4434))
329
+ * **gates:** repair the last dead scan root and pin the exit contract on a fixture ([683d493](https://github.com/event4u-app/agent-config/commit/683d493ec5bed63b1ac023064ed7b4da2016f066))
330
+ * **gates:** close four first-match-wins collisions over the repo's own conventions ([7dcc6f0](https://github.com/event4u-app/agent-config/commit/7dcc6f0f1cfc3e3cd8ba3b57f549b910cee931b4))
331
+ * **release:** ratchet existing legacy roots and stop the lockfile drift ([3bba94e](https://github.com/event4u-app/agent-config/commit/3bba94e2e479f93d8a8bf27e191b8a6accccaace))
332
+ * **ci:** run the release-gated checks on the PR that causes them ([7d25422](https://github.com/event4u-app/agent-config/commit/7d2542289748c8a768258389718e1870dbe67df9))
333
+ * **gates:** repair thirteen dead scan roots so the gates read real artefacts ([47bb0f0](https://github.com/event4u-app/agent-config/commit/47bb0f099c248d9ab1669c589158bb8908b275db))
279
334
 
280
335
  ### Documentation
281
336
 
282
- * **roadmap:** close and archive road-to-reproducible-artefact-counts ([2599fc4](https://github.com/event4u-app/agent-config/commit/2599fc470e8390bc7f03dbc3787f74933e5cd5a7))
283
- * **claims:** bind the default-install claim to the emitter, date the snapshot ([222c83c](https://github.com/event4u-app/agent-config/commit/222c83c0fb64105ff4819add5220c27182020cb6))
284
- * **roadmaps:** close the refinement-loop step — set converged at N=3 ([9b50deb](https://github.com/event4u-app/agent-config/commit/9b50deb8a2f6cf7e048fc605170b04f05c170e2b))
285
-
286
- ### Refactoring
287
-
288
- * **install:** extract the scoped-projection predicate into _lib ([59be75f](https://github.com/event4u-app/agent-config/commit/59be75f3d7d9105a29e110424acce4bfeae1950e))
289
- * **roadmaps:** apply maintainer-review fixes (win path, ci baseline, loop verification gate) ([62a0c72](https://github.com/event4u-app/agent-config/commit/62a0c72e7e7850197df1f0b4c2ed7ac9f331d93c))
290
- * **roadmaps:** apply loop-3 convergence deltas ([d2dfd7d](https://github.com/event4u-app/agent-config/commit/d2dfd7df824d1a0f1b31ed975673bbe8c71e5119))
291
- * **roadmaps:** apply loop-2 review deltas ([19f5bc2](https://github.com/event4u-app/agent-config/commit/19f5bc279dea4407d844199550a04cf46954709f))
292
- * **roadmaps:** apply loop-1 adversarial-review deltas ([ba8e641](https://github.com/event4u-app/agent-config/commit/ba8e6414cf10eeab218e9aecf18d571946a6501f))
337
+ * **roadmap:** road-to-tested-routing complete — 37/37, archived ([9a0fed9](https://github.com/event4u-app/agent-config/commit/9a0fed9c8809d68706ea0b16a0ba920414fcd087))
338
+ * **adr:** ADR-212 — declarative routing with a quantified resolver reopen ([9c6fbff](https://github.com/event4u-app/agent-config/commit/9c6fbfff23f11a0df6d24b3a55a931350f0f7097))
339
+ * **roadmap:** road-to-tested-routing — council-locked plan, phases 1/2/6 progress ([5a04b3a](https://github.com/event4u-app/agent-config/commit/5a04b3aa013d43f9e0105169bf20e5bcce366363))
340
+ * **roadmap:** close and archive road-to-hook-latency-repair ([3c0af7e](https://github.com/event4u-app/agent-config/commit/3c0af7e384badd218a4712caf93a1279dc972022))
341
+ * **claims:** hook-dispatch-latency claim pinned to the real path ([fc31783](https://github.com/event4u-app/agent-config/commit/fc31783d672e1599041ed3bfa789ba4cbb94c765))
342
+ * **adr:** renumber the harvest-freeze record 206 -> 210 (numbers 206-209 landed on main via #1123) ([bce530d](https://github.com/event4u-app/agent-config/commit/bce530dd5685932bdbf319369eea1f050f1feeac))
343
+ * **roadmap:** pull Codex into agent-handoff v2 scope ([eb15183](https://github.com/event4u-app/agent-config/commit/eb15183e249fec1ed51e07b52785d3f8614e56fd))
344
+ * **roadmap:** re-audit the parked feedback-sweep items against ADR-206 ([6216751](https://github.com/event4u-app/agent-config/commit/6216751849726b6738c04c31c5af8c8759494e8f))
345
+ * **adr:** canonicalize the harvest freeze as ADR-206 with amended resume conditions ([7ebbe0e](https://github.com/event4u-app/agent-config/commit/7ebbe0e414321b2c4d57b3e0c5b5b7480db4cae0))
346
+ * **roadmap:** plan the agent-handoff v2 resume-style overhaul ([62895b1](https://github.com/event4u-app/agent-config/commit/62895b1bccd9fa65f24e3a78f40e91602b47070c))
347
+ * **roadmap:** reword tier-value tokens so check_references stops reading them as rule names ([5bc8124](https://github.com/event4u-app/agent-config/commit/5bc81249c94dd39a0271311206d85546d64bd318))
348
+ * **roadmap:** land the three feedback-sweep repair roadmaps + dashboard ([beb0560](https://github.com/event4u-app/agent-config/commit/beb0560e9b49760f696dbd127ccec6c259f57228))
349
+ * **roadmap:** park the four freeze-gated feedback-sweep proposals in later/ ([e669f0f](https://github.com/event4u-app/agent-config/commit/e669f0f01424d921fa798ad69ad7c20763d040b2))
350
+ * **roadmap:** close road-to-renewal-leverage with its findings ([bcc85d0](https://github.com/event4u-app/agent-config/commit/bcc85d0c593b46d83e9455139937b73061ca64b4))
351
+ * **roadmap-management:** name the awaiting-evidence signal ([e008f19](https://github.com/event4u-app/agent-config/commit/e008f191ddc2eeaa18931259e11c852ec6e101c6))
352
+ * **worktree:** encode the seeding allow/deny list in the creation flow ([6743690](https://github.com/event4u-app/agent-config/commit/6743690f226242a2fed6d4a45195202342fd2878))
353
+ * **roadmap:** pre-register the resolver spike, park it, and archive Foundation ([0e49f83](https://github.com/event4u-app/agent-config/commit/0e49f83d013a242c94baf320b13249ac3f496942))
354
+ * **roadmap:** record Phase 2 with both figures, and the two honest misses ([8de0e6c](https://github.com/event4u-app/agent-config/commit/8de0e6c088b9f6d7fde94815dc2fe235c211815a))
355
+ * **roadmap:** record the umbrella-runner spike result — import-safety GO, timing LOSS ([0551a7c](https://github.com/event4u-app/agent-config/commit/0551a7cce2b312cf3d018967aa8e606f0f2ecda2))
356
+ * **roadmap:** decline CI build-artifact sharing on measurement, record the Phase 2 token baseline ([fa244c1](https://github.com/event4u-app/agent-config/commit/fa244c1a8878696ab2398ca6279ad9544b1269b1))
357
+ * **roadmap:** close Foundation P1 required-checks, ci-strict, dependabot and baseline steps ([cbc1217](https://github.com/event4u-app/agent-config/commit/cbc12170722ad3a5d5e091f290d263fff9adad96))
358
+ * **roadmap:** close the phases of road-to-gates-that-can-fail ([a6af14f](https://github.com/event4u-app/agent-config/commit/a6af14ff088e5836bc20f769e67a820e267defc6))
293
359
 
294
360
  ### Tests
295
361
 
296
- * **counts:** witness that the two gates now move together ([14ac65b](https://github.com/event4u-app/agent-config/commit/14ac65b73355363204784585d76640a23b98e3c9))
362
+ * **orchestration:** dispatch-decision matrices + council-path routing invariants ([8d48180](https://github.com/event4u-app/agent-config/commit/8d48180064458dd5a75559465a20ea5424f1264c))
363
+ * **portability:** build fixtures under the live scan root ([e02dd0b](https://github.com/event4u-app/agent-config/commit/e02dd0bfaf0f2b8aaaaccec9d1a82409fa2bdb98))
364
+ * **gates:** exercise the two happy-path-only gates through their real entry point ([365da5b](https://github.com/event4u-app/agent-config/commit/365da5b9fcc887864d344b94301836ce5cef928e))
297
365
 
298
366
  ### Build
299
367
 
300
- * **install:** rebuild the install bundle for the extracted predicate ([00cc359](https://github.com/event4u-app/agent-config/commit/00cc359ce6a0582857b62f662b19e4cfd809b0b9))
301
-
302
- Tests: 10056 (+14 since 9.13.0)
303
-
304
- ## [9.13.0](https://github.com/event4u-app/agent-config/compare/9.12.0...9.13.0) (2026-08-02)
305
-
306
- ### Release highlights
307
-
308
- <!-- Curated head: fill before merge, keep it under 10 lines, and leave `_none_` where it is genuinely the answer. The generated log below is unchanged. -->
309
- - **Behaviour changes:** _none_
310
- - **Default changes + migration:** _none_
311
- - **Security and correctness:** _none_
312
- - **Honest nulls:** _none_
313
- - **Known limitations:** _none_
314
-
315
- ### Features
316
-
317
- * **gates:** full-population dead-scan-root sweep with a dispositions ledger ([3711ff3](https://github.com/event4u-app/agent-config/commit/3711ff3e1f8727c31ceac3f5b56fefedf07d8df3))
318
- * **skills:** add the over-build review lens with a golden-set gate ([071a44a](https://github.com/event4u-app/agent-config/commit/071a44aa573d5cfc89fcd254649e4e3a7c0e106e))
319
- * **rules:** land the solution-size ladder as extensions, not a new rule ([42c4960](https://github.com/event4u-app/agent-config/commit/42c49604682d659312cb4f0cffe3a61f6b301a8c))
320
- * **lint:** clustered-only positive description checks ([64d3ce4](https://github.com/event4u-app/agent-config/commit/64d3ce4784e4dcd7918d01e4a5e409784220c79f))
321
- * **release:** put a curated head above the generated log ([47ad07d](https://github.com/event4u-app/agent-config/commit/47ad07d56c946dd18988be36fd23695493db0316))
322
- * **bench:** bench:ui — score a port against its ground truth, no model in the path ([48202e3](https://github.com/event4u-app/agent-config/commit/48202e3e5364913c8a2a8462b0654d3ad6ca7f0a))
323
- * **design:** a provided artifact outranks anti-slop, house taste last ([0014df8](https://github.com/event4u-app/agent-config/commit/0014df856aa17dbce1c8b37f31426efd4c2aaf5b))
324
- * **ui-track:** honour a provided design contract, or state the loss first ([cd43b9b](https://github.com/event4u-app/agent-config/commit/cd43b9b50a31997297a6a9cb0717e858857c5b3d))
325
- * **design-fidelity:** route the handover prompts people actually write ([e94688f](https://github.com/event4u-app/agent-config/commit/e94688ff6da463e500f2ad7076ca6c1ec2fbf64c))
326
-
327
- ### Bug Fixes
328
-
329
- * **gates:** drop retired-container literals from the sweep test ([38e5694](https://github.com/event4u-app/agent-config/commit/38e5694d4e0ce8b22b31b03e32d14ecf4bfcf366))
330
- * **tests:** keep the lean-crud fixture out of vitest's collection glob ([7736f2f](https://github.com/event4u-app/agent-config/commit/7736f2f7f5c710901b0cf801300618bb09e6fc65))
331
- * **gates:** make the lint-regression baseline actually collect and compare ([cea1b6d](https://github.com/event4u-app/agent-config/commit/cea1b6dc5cb978846ad28c6b7b5762d943f1b781))
332
- * **lint:** re-anchor the drifted supply-chain-intake leakage exemption ([f4aca87](https://github.com/event4u-app/agent-config/commit/f4aca87449abb6d45d54617790f26aa24257ed3c))
333
- * **runtime:** resolve an automated tool grant against the trusted registry ([f4470e1](https://github.com/event4u-app/agent-config/commit/f4470e1f4c6fe4784d8fa01e5729edc911ad6f0e))
334
- * **hooks:** gate the effect, not the shape of one action ([3e0dab1](https://github.com/event4u-app/agent-config/commit/3e0dab1a3e4b35c776fdc618c5af432cf1badf85))
335
- * **deps:** keep the parser pair as a devDependency, not a bare removal ([d934461](https://github.com/event4u-app/agent-config/commit/d934461b223d1e61b0e0f8cc337d7ef0b99e2e99))
336
- * **build:** rebuild the installer bundle against a real node_modules ([02deabf](https://github.com/event4u-app/agent-config/commit/02deabfcfa982574639e305b08730a3d99f780e9))
337
- * **council:** a member who responded counts toward the quorum ([a4f4eb8](https://github.com/event4u-app/agent-config/commit/a4f4eb8e669251bf526c8cd59a2a5eff5104e45f))
338
- * **overlap:** repair the skill-overlap instrument and make it blocking ([30a16f5](https://github.com/event4u-app/agent-config/commit/30a16f575055473b9b2eb1cf4239138903030353))
339
- * **ci:** attach the SC2016 directive to the command it covers ([4309f5d](https://github.com/event4u-app/agent-config/commit/4309f5d4fcf156c0feed4833522f81bc9e09629b))
340
- * **release:** escape the dedup key separator instead of embedding it raw ([4ad743e](https://github.com/event4u-app/agent-config/commit/4ad743ee32b2111ece5511378b0b3b0ffbd056f4))
341
- * **release:** make the release-PR content checks see the release ([5dc9491](https://github.com/event4u-app/agent-config/commit/5dc9491de0df996c4b8dcbc25c6df1b67226056e))
342
- * **docs:** stop the reference checker reading a JSON key as a rule name ([3b627c3](https://github.com/event4u-app/agent-config/commit/3b627c3b340b3550261284c8054e1c4b639a6aa0))
343
- * **roadmap:** correct the per-pack version count from 12 to 28 ([76e70ea](https://github.com/event4u-app/agent-config/commit/76e70ea9af29ef714de6bf6d497dc02a254ef4ae))
344
- * **roadmap:** replace the illegal `contained` complexity value with `lightweight` ([3a2aa50](https://github.com/event4u-app/agent-config/commit/3a2aa50945b60571300d6d285e1686403d873034))
345
-
346
- ### Documentation
347
-
348
- * **gates:** publish the full-population sweep findings and advance the census step ([85fc5f8](https://github.com/event4u-app/agent-config/commit/85fc5f86e276734026c4397471f7f8730880573e))
349
- * **context:** correct the subagent-event finding in the harvest-cut record ([2f3c2d7](https://github.com/event4u-app/agent-config/commit/2f3c2d7d3563e026814bc970f93971a6c631a1df))
350
- * **roadmap:** close solution-minimalism Phases 0-2, halt Phase 3 ([e784d93](https://github.com/event4u-app/agent-config/commit/e784d93e0be3ec78eda2fcc4399a921312f54431))
351
- * **evidence:** record the solution-minimalism Phase-0 spikes ([5ae52d4](https://github.com/event4u-app/agent-config/commit/5ae52d4480fc164e2ddb38f937f791de2f0a3925))
352
- * **activation:** close the not-projected confound and scope the refusal ([8b79b18](https://github.com/event4u-app/agent-config/commit/8b79b18cef9eba7a06d9a7caf283ea5a43de1732))
353
- * **activation:** reject ADR-054 and refuse the runtime resolver permanently ([ce204ab](https://github.com/event4u-app/agent-config/commit/ce204aba6ffdd9c3a06af95cc4482ea7722ecc50))
354
- * **activation:** the corpus produced no red baseline — 0 of 5 required ([216c16d](https://github.com/event4u-app/agent-config/commit/216c16d44618e50e88da70a3f742a9a7660c3f7c))
355
- * **activation:** pre-register the red-baseline search before looking ([21007b2](https://github.com/event4u-app/agent-config/commit/21007b2703a6bad085195eb12f79400c76d1ec60))
356
- * **governance:** publish the three spike verdicts from a pinned report ([e6aa2e0](https://github.com/event4u-app/agent-config/commit/e6aa2e0d96b66c285be04d10cdb0029e33152ac8))
357
- * **roadmap:** record the Phase-0 run — one null, one finding, one not run ([c2fe0b7](https://github.com/event4u-app/agent-config/commit/c2fe0b7b123b7ae14149a5afc6731e4775baef51))
358
- * **overlap:** publish the canonical re-measurement and archive the roadmap ([174726d](https://github.com/event4u-app/agent-config/commit/174726d489732990b72a44d2b5328e75f37e1ba0))
359
- * **claims:** condition the 38% and close two nulls that were filed as debt ([48a3509](https://github.com/event4u-app/agent-config/commit/48a350917581e82aa8c5ca4a7c2c0fc824a7083e))
360
- * **roadmap:** add four roadmaps from the 9.x feedback disposition ([198ac26](https://github.com/event4u-app/agent-config/commit/198ac26d2df7c3c22038f0267f88c753a2d29d25))
361
- * **council:** record the feedback-9x disposition and its verified state ([76cb2e4](https://github.com/event4u-app/agent-config/commit/76cb2e463650e27bc6710e9511446f06bf9a41fc))
362
-
363
- ### Refactoring
364
-
365
- * **router:** remove the intent trigger type ([b6fc9b5](https://github.com/event4u-app/agent-config/commit/b6fc9b5631305a681bc4e7708827e724e2b22f1b))
366
- * **deps:** stop shipping the disabled engine's parser pair ([c859822](https://github.com/event4u-app/agent-config/commit/c85982266ea055e255766380967cdd43389d7714))
367
- * **packs:** drop the duplicated per-pack version field ([e2cfd42](https://github.com/event4u-app/agent-config/commit/e2cfd42ea57101abc6a6261e2e48c2bba2211027))
368
- * **skills:** one policy-preamble pointer + sibling routing for the ai-video cluster ([c5199a7](https://github.com/event4u-app/agent-config/commit/c5199a7f0f239da66242bf3143f794b73b238ee9))
369
- * **skills:** stop the analysis router describing the work it routes to ([f41fe72](https://github.com/event4u-app/agent-config/commit/f41fe721ba3c2230f96741714ba9b83cda29be23))
370
-
371
- ### Tests
372
-
373
- * **rules:** gate rule trigger-set collisions ([9fec17e](https://github.com/event4u-app/agent-config/commit/9fec17ee1f0e8feb9b9a5344695cb8d2b564b0d3))
374
- * **activation:** the sweep and adjudication-bundle instruments ([613bf41](https://github.com/event4u-app/agent-config/commit/613bf417601ffa230fc79c46b734f2332f05d2a2))
375
- * **governance:** the S0.2 spike and the four adjacent properties ([5eb2874](https://github.com/event4u-app/agent-config/commit/5eb2874cee18fdf6785ef3c9182eed23a59501c2))
376
- * **governance:** two Phase-0 falsification spikes — one null, one finding ([49cb95d](https://github.com/event4u-app/agent-config/commit/49cb95debef4c642274b58168d5992f35f92b86d))
377
- * **design-artifacts:** measure the provided-artifact port failure ([414de6b](https://github.com/event4u-app/agent-config/commit/414de6b7e2bcde43b02a10f3aaaa09fc5bfed155))
368
+ * **install:** refresh the committed installer output for the rule-packs change ([8bcccc7](https://github.com/event4u-app/agent-config/commit/8bcccc7ef575420f9074307cee33721d80c6df7a))
378
369
 
379
370
  ### Chores
380
371
 
381
- * **gates:** merge main and reconcile the sweep report with the merged tree ([9e04c0c](https://github.com/event4u-app/agent-config/commit/9e04c0c5aaf56fa81827227663853d40453851f9))
382
- * **sync:** regenerate counts, index, router and proof for 288 skills ([d7e66a5](https://github.com/event4u-app/agent-config/commit/d7e66a54cca675afa0d4d2841f2c85967a5fe30d))
383
- * **roadmap:** archive road-to-governance-invariants — all phases closed ([ec01798](https://github.com/event4u-app/agent-config/commit/ec017980e824ad9d4d97784389363bb85a91bcba))
384
- * **tests:** drop the probe scaffolding audit_auto_rules.test.ts orphaned ([4ac5516](https://github.com/event4u-app/agent-config/commit/4ac55160046dc2ae912db42e10c578eeb78ee933))
385
- * **sync:** regenerate projections and archive the completed roadmap ([e2d01b8](https://github.com/event4u-app/agent-config/commit/e2d01b89a7304da544722ae4cb179baa98b57e1a))
386
- * **ci:** clear the two shellcheck findings skill-lint.yml already carried ([03cc57c](https://github.com/event4u-app/agent-config/commit/03cc57c8d762c4c622173a3a5296be34848565fb))
387
- * drop the spawnSync imports the probe conversion orphaned ([bde29ca](https://github.com/event4u-app/agent-config/commit/bde29cab31ddd1b44ff10b8cae5472582e418576))
388
- * **tests:** drop the dead py2ts twin scaffolding from two UI directive tests ([e64db74](https://github.com/event4u-app/agent-config/commit/e64db74ea33deea9cecc07002b69f5b24ec6ee67))
389
- * **router:** recompile the router projection for the new fidelity triggers ([d2eb947](https://github.com/event4u-app/agent-config/commit/d2eb9478ef673d8a4dabb7d7b418dce7e9f97ac2))
390
-
391
- Tests: 10042 (+223 since 9.12.0)
372
+ * **deps-dev:** bump @types/node from 20.19.41 to 26.1.2 ([fd0d6f6](https://github.com/event4u-app/agent-config/commit/fd0d6f6493f78b31454ebd202008f3fbd46a3da9))
373
+ * **deps-dev:** bump @inquirer/prompts from 7.10.1 to 8.5.2 ([7dfea4b](https://github.com/event4u-app/agent-config/commit/7dfea4bbc26e8b04d2c73bc9cbe4d813dc64c724))
374
+ * **deps-dev:** bump typescript in /deploy/telemetry-worker ([fdbff3f](https://github.com/event4u-app/agent-config/commit/fdbff3f293b3eaa6a6b1d8d5c7ba8e0769a2daab))
375
+ * **deps:** bump marocchino/sticky-pull-request-comment from 2 to 3 ([7d4d9cb](https://github.com/event4u-app/agent-config/commit/7d4d9cb81bd95faf851cf16bb06c87d2df871d9b))
376
+ * **deps-dev:** bump tsx from 4.22.3 to 4.23.1 in deploy/telemetry-worker ([ea561ea](https://github.com/event4u-app/agent-config/commit/ea561ea964fda776c02df3a280aaa1d9c188eac6))
377
+ * **deps-dev:** bump the npm-development group across 1 directory with 7 updates ([fe05c7f](https://github.com/event4u-app/agent-config/commit/fe05c7fe02b2d9dca60887fe23b92b1d5fe3024e))
378
+ * **deps:** bump actions/upload-artifact from 4 to 7 ([a2a2423](https://github.com/event4u-app/agent-config/commit/a2a2423776510471a17ebf0631fad2cba9cd50d1))
379
+ * **roadmap:** close and archive road-to-renewal-adr-hygiene ([ab432b0](https://github.com/event4u-app/agent-config/commit/ab432b0247b21a21b6961de20ca1ef1584c96367))
380
+ * **adr:** regenerate the index for the hygiene batch ([61dc94f](https://github.com/event4u-app/agent-config/commit/61dc94f98f48ef508986050728d04c47125c6718))
381
+ * **docs:** sweep non-gate .agent-src.uncondensed references to the src/ truth ([9d987a0](https://github.com/event4u-app/agent-config/commit/9d987a086363b933505d6290fc111f9763f8810d))
382
+ * **roadmap:** default dashboard_regen_cadence to every_5_steps ([d40f676](https://github.com/event4u-app/agent-config/commit/d40f676326f034affe8a0c15e4835bc4a6143fe2))
383
+ * **deps:** bump the site group in /site with 3 updates ([ddb92d4](https://github.com/event4u-app/agent-config/commit/ddb92d4399ee35137b8c0a557345f6104b069915))
384
+ * **deps:** bump actions/configure-pages from 5 to 6 ([c2fe6bc](https://github.com/event4u-app/agent-config/commit/c2fe6bc26f123bfd0eaf8a88d5ba2c9cb70cf6bc))
385
+ * **deps:** bump actions/upload-pages-artifact from 3 to 5 ([6998b77](https://github.com/event4u-app/agent-config/commit/6998b77bbddfd85f8346c751f0a8679f13129dcc))
386
+ * **deps:** schedule dependency updates via dependabot ([d9e4a8d](https://github.com/event4u-app/agent-config/commit/d9e4a8de95ef246311b85a85fd5189892ce21161))
387
+ * **reports:** refresh the derived reports the consistency gate regenerates ([ee73e3f](https://github.com/event4u-app/agent-config/commit/ee73e3feab59cf2df2a1f6b1bc35ff6e1e032359))
388
+
389
+ Tests: 10580 (+524 since 9.14.0)
392
390
 
393
391
  # Era: pre-4.0.0 — archived
394
392
 
package/README.md CHANGED
@@ -506,6 +506,14 @@ First stop for any install problem: `agent-config doctor` — it flags a
506
506
  missing-from-`PATH` binary, binary↔plugin version drift, stale orphans and
507
507
  manifest issues, each with a one-line fix hint.
508
508
 
509
+ For "why didn't rule/hook X fire?" questions: `agent-config routing:doctor`
510
+ — a read-only, live diagnosis that reports every session-start gate as
511
+ ACTIVE/INACTIVE with the concern's own reason (e.g.
512
+ `session-canary: ACTIVE for "Alex"` vs `INACTIVE — no name on any settings
513
+ layer`), the platform's concern chain, host hook registration, and router +
514
+ projection freshness. Deeper hook internals (fail-open/closed posture, last
515
+ dispatcher feedback per concern): `agent-config hooks:doctor`.
516
+
509
517
  ### A new command / skill is missing in Claude Code after an upgrade
510
518
 
511
519
  Under the single-surface model, `agent-config upgrade` refreshes the
@@ -36,7 +36,7 @@ Count lines affecting token consumption:
36
36
 
37
37
  ```bash
38
38
  # Always-loaded (per chat)
39
- for f in .agent-src.uncondensed/rules/*.md; do
39
+ for f in src/rules/*.md; do
40
40
  type=$(head -5 "$f" | grep 'type:' | sed 's/.*"\(.*\)"/\1/')
41
41
  [ "$type" = "auto" ] && continue
42
42
  lines=$(wc -l < "$f"); echo "always | $lines | $(basename "$f")"
@@ -44,15 +44,15 @@ done | sort -t'|' -k2 -rn
44
44
  agents=$(wc -l < AGENTS.md); echo "always | $agents | AGENTS.md"
45
45
 
46
46
  # Auto-loaded rules
47
- for f in .agent-src.uncondensed/rules/*.md; do
47
+ for f in src/rules/*.md; do
48
48
  type=$(head -5 "$f" | grep 'type:' | sed 's/.*"\(.*\)"/\1/')
49
49
  [ "$type" != "auto" ] && continue
50
50
  lines=$(wc -l < "$f"); echo "auto | $lines | $(basename "$f")"
51
51
  done | sort -t'|' -k2 -rn
52
52
 
53
53
  # Skills (top 20 by size)
54
- for f in .agent-src.uncondensed/skills/*/SKILL.md; do
55
- name=$(echo "$f" | sed 's|.agent-src.uncondensed/skills/||;s|/SKILL.md||')
54
+ for f in src/skills/*/SKILL.md; do
55
+ name=$(echo "$f" | sed 's|src/skills/||;s|/SKILL.md||')
56
56
  lines=$(wc -l < "$f"); echo "$lines | $name"
57
57
  done | sort -rn | head -20
58
58
  ```
@@ -67,7 +67,7 @@ Report totals (always + auto + skills + AGENTS.md).
67
67
  - **Merge candidates**: rules under 15 lines that belong inside a sibling rule.
68
68
 
69
69
  ```bash
70
- for f in .agent-src.uncondensed/rules/*.md; do
70
+ for f in src/rules/*.md; do
71
71
  desc=$(head -5 "$f" | grep 'description:' | sed 's/.*"\(.*\)"/\1/')
72
72
  [ -n "$desc" ] && echo "$desc | $(basename "$f")"
73
73
  done | sort | awk -F' \\| ' '{descs[$1]=descs[$1] " " $2} END {for (d in descs) {n=split(descs[d], a, " "); if (n>1) print "⚠️ " d " →" descs[d]}}'
@@ -108,7 +108,7 @@ Failures route to `/agents optimize` — this command does **not** edit.
108
108
  ```
109
109
 
110
110
  Confirm counts/lists in `.augment/contexts/augment-infrastructure.md` and
111
- `docs/architecture.md` match the actual `.agent-src.uncondensed/` tree.
111
+ `docs/architecture.md` match the actual `src/` tree.
112
112
 
113
113
  ### 6. Run skill linter
114
114
 
@@ -143,7 +143,7 @@ Then ask:
143
143
  - **No edits** — read-only audit. Fixes route to `/agents optimize`,
144
144
  `skill-reviewer`, or `/optimize skills`.
145
145
  - **No edits to `dist/agent-src/` or `.augment/`** — those regenerate from
146
- `.agent-src.uncondensed/`. Edit the source.
146
+ `src/`. Edit the source.
147
147
  - **No `agents/` folder ops** — scaffolding, folder-audit, folder-cleanup
148
148
  live in `/optimize agents-dir`.
149
149
  - **No commits, no push, no PR** — finishing the audit is a user decision
@@ -104,7 +104,7 @@ For every link in the file, verify:
104
104
 
105
105
  ```bash
106
106
  diff <(awk '/^## Emergency triage/,/^## [^E]/' "$target") \
107
- .agent-src.uncondensed/contexts/contracts/emergency-triage-block.md
107
+ src/agent-src/contexts/contracts/emergency-triage-block.md
108
108
  ```
109
109
 
110
110
  Drift = revert in-file block to the canonical variant (package-root
@@ -102,7 +102,7 @@ rather than guess.
102
102
  ### 4. Compare against this project
103
103
 
104
104
  Add a **this-repo** column per axis. Sources of truth:
105
- `.agent-src.uncondensed/` (skills/rules/commands), `docs/architecture.md`
105
+ `src/` (skills/rules/commands), `docs/architecture.md`
106
106
  (stable/experimental), `scripts/` (installer), `.github/workflows/` (CI).
107
107
  Never invent capabilities — if we don't have it, say so.
108
108
 
@@ -8,6 +8,7 @@ tier: 2
8
8
  visibility: internal
9
9
  description: Chat-history orchestrator — routes to import (selective cross-session resume). Mining moved to /memory mine-session; raw-log inspection uses the host's native transcript view.
10
10
  cluster: chat-history
11
+ routes_to: [chat-history-import]
11
12
  type: orchestrator
12
13
  suggestion:
13
14
  eligible: true
@@ -8,6 +8,7 @@ tier: 2
8
8
  visibility: internal
9
9
  description: Context orchestrator — routes to create, refactor
10
10
  cluster: context
11
+ routes_to: [context-create, context-refactor]
11
12
  type: orchestrator
12
13
  suggestion:
13
14
  eligible: true
@@ -5,7 +5,7 @@ disable-model-invocation: true
5
5
  argument-hint: "[default|pr|design|optimize|analysis|debate] [args]"
6
6
  pack: product-reasoning
7
7
  intent: "Poll external AIs for a neutral second opinion (pr/design/optimize/analysis lenses)"
8
- routes_to: [council-default, council-pr, council-design, council-analysis]
8
+ routes_to: [council-default, council-pr, council-design, council-analysis, council-debate, council-optimize]
9
9
  replaces: []
10
10
  tier: 1
11
11
  visibility: advanced
@@ -89,7 +89,7 @@ Cluster locked in
89
89
  |---|---|---|
90
90
  | `agents/reference/ghostwriter/<slug>.md` (consumer) | Real-person public-figure profiles | **No** — gitignored by default. `--shared` opt-in deferred to v2. |
91
91
  | `agents/reference/ghostwriter/README.md` (consumer) | Directory anchor + how-to | Yes |
92
- | `.agent-src.uncondensed/ghostwriter/*.md` (package) | `fictional: true` fixtures only | Yes — CI-enforced by `scripts/lint_ghostwriter_source.ts` |
92
+ | `src/agent-src/ghostwriter/*.md` (package) | `fictional: true` fixtures only | Yes — CI-enforced by `scripts/lint_ghostwriter_source.ts` |
93
93
 
94
94
  Slug = full-name kebab-case with optional `-<discriminator>` suffix
95
95
  (`alice-walker` vs `alice-walker-novelist`). The package never
@@ -5,7 +5,7 @@ disable-model-invocation: true
5
5
  argument-hint: "[add|load|mine-session|promote|propose] [args]"
6
6
  pack: memory
7
7
  intent: "Manage the agent memory layer — add, load, promote, propose"
8
- routes_to: [memory-add, memory-load, memory-promote, memory-propose]
8
+ routes_to: [memory-add, memory-load, memory-mine-session, memory-promote, memory-propose, memory-learn-low-impact]
9
9
  replaces: []
10
10
  tier: 1
11
11
  visibility: advanced
@@ -36,6 +36,7 @@ commands with a single entry point + sub-command dispatch.
36
36
  | `/memory mine-session` | `commands/memory/mine-session.md` | Mine the active session transcript for memory signals (preview-by-default) |
37
37
  | `/memory promote` | `commands/memory/promote.md` | Promote an intake signal to a curated memory entry |
38
38
  | `/memory propose` | `commands/memory/propose.md` | Append a provisional signal to the intake stream |
39
+ | `/memory learn-low-impact` | `commands/memory/learn-low-impact.md` | Draft an upstream PR from the project's low-impact decision corpus (redactor-gated) |
39
40
 
40
41
  Sub-command names match the locked contract in
41
42
  [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
@@ -8,6 +8,7 @@ tier: 2
8
8
  visibility: internal
9
9
  description: Module orchestrator — routes to create, explore
10
10
  cluster: module
11
+ routes_to: [module-create, module-explore]
11
12
  type: orchestrator
12
13
  suggestion:
13
14
  eligible: true
@@ -110,7 +110,7 @@ surface changes.
110
110
  - **No commits, no push, no PR** — finishing is a user decision per
111
111
  [`commit-policy`](../../rules/commit-policy.md).
112
112
  - **No edits to `dist/agent-src/` or `.augment/`** — those regenerate from
113
- `.agent-src.uncondensed/`. Edit the source.
113
+ `src/`. Edit the source.
114
114
 
115
115
  ## See also
116
116
 
@@ -69,8 +69,11 @@ Hard ceiling: 5 — above that, re-invoke deliberately with fresh context.
69
69
  2. Create or enter an isolated worktree on a fresh branch off the trunk
70
70
  (branch/worktree creation is authorized by invoking this command; every
71
71
  Hard-Floor action below stays gated).
72
- 3. Honor any repo worktree-seeding convention when seeding the worktree;
73
- never copy `.agent-settings.yml` into a worktree.
72
+ 3. Seed it per the
73
+ [`using-git-worktrees` § 4b allow/deny list](../../../../skills/using-git-worktrees/SKILL.md#4b-seed-the-worktree--allow--deny-list)
74
+ — symlink or fully install dependencies, copy or regenerate the generated
75
+ projections, regenerate build output, and never copy `.agent-settings.yml`
76
+ into a worktree.
74
77
  4. Read the lock inventory: honest nulls, DR memories, `later/` resume
75
78
  conditions, standing ADRs. These are constraints for Step 4, surfaced —
76
79
  never silently relitigated (`decision-revisit-gate`).
@@ -27,12 +27,12 @@ Skill audit: measure, find duplicates/merge candidates, run linter, present find
27
27
  ### 1. Measure baseline
28
28
 
29
29
  ```bash
30
- total=$(ls -d .agent-src.uncondensed/skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
31
- total_lines=$(cat .agent-src.uncondensed/skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
30
+ total=$(ls -d src/skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
31
+ total_lines=$(cat src/skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
32
32
  echo "Skills: $total, Total lines: $total_lines"
33
33
 
34
34
  # Top 15 by size
35
- for f in .agent-src.uncondensed/skills/*/SKILL.md; do
35
+ for f in src/skills/*/SKILL.md; do
36
36
  name=$(basename $(dirname "$f"))
37
37
  lines=$(wc -l < "$f" | tr -d ' ')
38
38
  echo "$lines $name"
@@ -65,7 +65,7 @@ Present as table:
65
65
  Skills with overlapping trigger descriptions that might load simultaneously:
66
66
 
67
67
  ```bash
68
- for f in .agent-src.uncondensed/skills/*/SKILL.md; do
68
+ for f in src/skills/*/SKILL.md; do
69
69
  name=$(basename $(dirname "$f"))
70
70
  desc=$(grep 'description:' "$f" | head -1 | sed 's/.*"\(.*\)"/\1/')
71
71
  echo "$name | $desc"
@@ -77,7 +77,7 @@ Flag pairs where descriptions target the same scenario.
77
77
  ### 5. Check sizes
78
78
 
79
79
  ```bash
80
- for f in .agent-src.uncondensed/skills/*/SKILL.md; do
80
+ for f in src/skills/*/SKILL.md; do
81
81
  name=$(basename $(dirname "$f"))
82
82
  lines=$(wc -l < "$f" | tr -d ' ')
83
83
  [ "$lines" -gt 300 ] && echo "⚠️ $name — $lines lines"
@@ -8,6 +8,7 @@ tier: 2
8
8
  visibility: internal
9
9
  description: Override orchestrator — routes to create, manage
10
10
  cluster: override
11
+ routes_to: [override-create, override-manage]
11
12
  type: orchestrator
12
13
  auto_detect: true
13
14
  suggestion:
@@ -132,7 +132,7 @@ When on, run **graduated** to control cost: a cheap single-model pass
132
132
  flags the riskiest matches first, then the full council reviews only the
133
133
  flagged matches (`event`) or every match (`match`). Fold the council's
134
134
  verdicts back into the table before Step 5. Council spend always asks
135
- first per [`ai-council`](../../../core/.agent-src.uncondensed/skills/ai-council/SKILL.md).
135
+ first per [`ai-council`](../skills/ai-council/SKILL.md).
136
136
 
137
137
  ### 5. Output the approval table — ask whether & where to enter
138
138
 
@@ -170,7 +170,7 @@ and never touches credentials. Resolve the platform adapter:
170
170
 
171
171
  Fill the candidate results and **stop**. *You* press submit. The agent
172
172
  submits only if `--submit` was passed or you authorize it **this turn**
173
- (mirrors [`non-destructive-by-default`](../../../core/.agent-src.uncondensed/rules/non-destructive-by-default.md)).
173
+ (mirrors [`non-destructive-by-default`](../rules/non-destructive-by-default.md)).
174
174
 
175
175
  ### 8. Offer a second pool
176
176
 
@@ -231,7 +231,7 @@ file path. No commit. No push.
231
231
  rules → odds → EV → field → tip cognition.
232
232
  - [`scripts/prediction-pool/adapters/_schema.md`](../../../scripts/prediction-pool/adapters/_schema.md) —
233
233
  the declarative adapter data contract (for PR contributions).
234
- - [`ai-council`](../../../core/.agent-src.uncondensed/skills/ai-council/SKILL.md) —
234
+ - [`ai-council`](../skills/ai-council/SKILL.md) —
235
235
  the optional second-opinion pass (Step 4).
236
- - [`playwright-architect`](../../../core/.agent-src.uncondensed/skills/playwright-architect/SKILL.md) —
236
+ - [`playwright-architect`](../skills/playwright-architect/SKILL.md) —
237
237
  browser-automation patterns for the entry step.
@@ -106,7 +106,7 @@ Read {fields_path} to get all field definitions.
106
106
 
107
107
  ## Validation (no Python, no host paths)
108
108
  Self-validate the JSON against
109
- `<package>/.agent-src.uncondensed/contexts/contracts/research-schema.md`
109
+ `<package>/dist/agent-src/contexts/contracts/research-schema.md`
110
110
  in memory before writing. The well-formedness escape hatch is
111
111
  `jq -e '.[]' {output_path}` — agent runs it after write and re-tries
112
112
  once on failure. Task is complete only after both checks pass.
@@ -5,7 +5,7 @@ disable-model-invocation: true
5
5
  argument-hint: "[create|ai-council|process-step|process-phase|process-full] [args]"
6
6
  pack: product-basic
7
7
  intent: "Roadmap dispatcher — create, process-step, process-phase, process-full, ai-council"
8
- routes_to: [roadmap-create, roadmap-process-step, roadmap-process-phase, roadmap-process-full]
8
+ routes_to: [roadmap-create, roadmap-ai-council, roadmap-materialize, roadmap-process-step, roadmap-process-phase, roadmap-process-full]
9
9
  replaces: []
10
10
  tier: 1
11
11
  visibility: advanced
@@ -36,6 +36,7 @@ paused for confirmation before every step) was removed —
36
36
  |---|---|---|
37
37
  | `/roadmap:create` | `commands/roadmap/create.md` | Interactively scaffold a new roadmap in `agents/roadmaps/` |
38
38
  | `/roadmap:ai-council` | `commands/roadmap/ai-council.md` | Challenge an existing roadmap with the AI council (deep tier) and refactor from convergence findings |
39
+ | `/roadmap:materialize` | `commands/roadmap/materialize.md` | Turn an accepted roadmap into the concrete artefacts it plans |
39
40
  | `/roadmap:process-step` | `commands/roadmap/process-step.md` | Autonomously process the next open step, then stop |
40
41
  | `/roadmap:process-phase` (**default execution scope**) | `commands/roadmap/process-phase.md` | Autonomously process every open step in the current phase |
41
42
  | `/roadmap:process-full` | `commands/roadmap/process-full.md` | Autonomously process every open step across every phase |
@@ -29,7 +29,7 @@ packs:
29
29
 
30
30
  ### 1. Inventory all rules
31
31
 
32
- Read every `.md` file in `.agent-src.uncondensed/rules/`. For each rule, extract:
32
+ Read every `.md` file in `src/rules/`. For each rule, extract:
33
33
 
34
34
  - **Name** (filename without `.md`)
35
35
  - **Type** (`always` or `auto`)
@@ -8,6 +8,7 @@ tier: 2
8
8
  visibility: internal
9
9
  description: TDD orchestrator — routes to red (failing test), green (minimum code), refactor (clean while green)
10
10
  cluster: tdd
11
+ routes_to: [tdd-red, tdd-green, tdd-refactor]
11
12
  type: orchestrator
12
13
  auto_detect: true
13
14
  suggestion: