@event4u/agent-config 8.10.0 → 8.12.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 (226) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/AGENTS.md +1 -0
  3. package/CHANGELOG.md +67 -149
  4. package/README.md +6 -6
  5. package/dist/agent-src/commands/challenge-me/vision.md +121 -32
  6. package/dist/agent-src/commands/challenge-me/with-docs.md +21 -8
  7. package/dist/agent-src/commands/commit/in-chunks.md +1 -1
  8. package/dist/agent-src/commands/commit.md +2 -1
  9. package/dist/agent-src/commands/cost/report.md +2 -1
  10. package/dist/agent-src/commands/feature/dev.md +4 -4
  11. package/dist/agent-src/commands/humanize.md +101 -0
  12. package/dist/agent-src/commands/jira-ticket.md +2 -2
  13. package/dist/agent-src/commands/memory/load.md +15 -0
  14. package/dist/agent-src/commands/optimize/project.md +12 -0
  15. package/dist/agent-src/commands/roadmap/create.md +12 -11
  16. package/dist/agent-src/commands/tests/create.md +1 -1
  17. package/dist/agent-src/commands/worktree/cleanup.md +22 -17
  18. package/dist/agent-src/commands/worktree/create.md +3 -1
  19. package/dist/agent-src/commands/worktree/status.md +12 -0
  20. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +66 -0
  21. package/dist/agent-src/contexts/execution/orchestration-benchmark-gate.md +1 -0
  22. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +47 -3
  23. package/dist/agent-src/contexts/execution/roadmap-ci-steps-mechanics.md +117 -0
  24. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +111 -85
  25. package/dist/agent-src/contexts/execution/roadmap-writing-source-derived.md +65 -0
  26. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +84 -0
  27. package/dist/agent-src/rules/architecture.md +6 -51
  28. package/dist/agent-src/rules/autonomous-execution.md +7 -37
  29. package/dist/agent-src/rules/broken-access-control.md +7 -45
  30. package/dist/agent-src/rules/code-comment-discipline.md +64 -0
  31. package/dist/agent-src/rules/context-hygiene.md +14 -0
  32. package/dist/agent-src/rules/decision-revisit-gate.md +9 -77
  33. package/dist/agent-src/rules/delegation-policy.md +10 -8
  34. package/dist/agent-src/rules/design-fidelity.md +4 -0
  35. package/dist/agent-src/rules/git-history-discipline.md +4 -79
  36. package/dist/agent-src/rules/improve-before-implement.md +7 -66
  37. package/dist/agent-src/rules/legal-safety-floor.md +11 -55
  38. package/dist/agent-src/rules/no-roadmap-references.md +13 -77
  39. package/dist/agent-src/rules/persona-governance.md +5 -47
  40. package/dist/agent-src/rules/provider-lifecycle-discipline.md +6 -32
  41. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +21 -104
  42. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -56
  43. package/dist/agent-src/rules/think-before-action.md +10 -0
  44. package/dist/agent-src/rules/untrusted-input-defense.md +3 -75
  45. package/dist/agent-src/rules/verify-before-complete.md +12 -0
  46. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +96 -12
  47. package/dist/agent-src/skills/ai-council/SKILL.md +19 -9
  48. package/dist/agent-src/skills/api-design/SKILL.md +7 -5
  49. package/dist/agent-src/skills/api-testing/SKILL.md +1 -1
  50. package/dist/agent-src/skills/authz-review/SKILL.md +59 -2
  51. package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  52. package/dist/agent-src/skills/bug-analyzer/SKILL.md +19 -16
  53. package/dist/agent-src/skills/code-refactoring/SKILL.md +9 -9
  54. package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -0
  55. package/dist/agent-src/skills/data-flow-mapper/SKILL.md +1 -1
  56. package/dist/agent-src/skills/decision-review/SKILL.md +86 -0
  57. package/dist/agent-src/skills/defense-in-depth/SKILL.md +2 -2
  58. package/dist/agent-src/skills/dependency-upgrade/SKILL.md +7 -7
  59. package/dist/agent-src/skills/design-intelligence/SKILL.md +8 -8
  60. package/dist/agent-src/skills/design-review/SKILL.md +23 -2
  61. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +2 -0
  62. package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -0
  63. package/dist/agent-src/skills/fe-design/SKILL.md +7 -9
  64. package/dist/agent-src/skills/git-workflow/SKILL.md +86 -0
  65. package/dist/agent-src/skills/humanizer/SKILL.md +147 -0
  66. package/dist/agent-src/skills/humanizer/data/patterns.md +190 -0
  67. package/dist/agent-src/skills/humanizer/evals/triggers.json +17 -0
  68. package/dist/agent-src/skills/laravel/SKILL.md +14 -1
  69. package/dist/agent-src/skills/launch-readiness/SKILL.md +20 -19
  70. package/dist/agent-src/skills/legal-practice-profile/SKILL.md +126 -0
  71. package/dist/agent-src/skills/logging-monitoring/SKILL.md +1 -1
  72. package/dist/agent-src/skills/mcp/SKILL.md +1 -1
  73. package/dist/agent-src/skills/memory-consolidation/SKILL.md +14 -1
  74. package/dist/agent-src/skills/migration-architect/SKILL.md +2 -1
  75. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +58 -1
  76. package/dist/agent-src/skills/performance/SKILL.md +1 -1
  77. package/dist/agent-src/skills/php-debugging/SKILL.md +17 -0
  78. package/dist/agent-src/skills/readme-writing/SKILL.md +2 -0
  79. package/dist/agent-src/skills/readme-writing-package/SKILL.md +2 -0
  80. package/dist/agent-src/skills/release-comms/SKILL.md +2 -0
  81. package/dist/agent-src/skills/roadmap-writing/SKILL.md +22 -51
  82. package/dist/agent-src/skills/security-audit/SKILL.md +6 -9
  83. package/dist/agent-src/skills/sentry-integration/SKILL.md +2 -2
  84. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +8 -0
  85. package/dist/agent-src/skills/source-discovery/SKILL.md +26 -24
  86. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +55 -46
  87. package/dist/agent-src/skills/subagent-orchestration/evals/evals.json +42 -0
  88. package/dist/agent-src/skills/systematic-debugging/SKILL.md +10 -0
  89. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +10 -0
  90. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +27 -20
  91. package/dist/agent-src/skills/worktree-lifecycle/evals/evals.json +38 -0
  92. package/dist/agent-src/templates/agent-settings.md +3 -2
  93. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +15 -1
  94. package/dist/agent-src/templates/contexts/knowledge-card.md +12 -0
  95. package/dist/agent-src/templates/roadmaps.md +14 -0
  96. package/dist/cli/commands/recordTriggerEval.js +4 -14
  97. package/dist/cli/commands/recordTriggerEval.js.map +1 -1
  98. package/dist/discovery/deprecation-report.md +1 -1
  99. package/dist/discovery/discovery-manifest.json +157 -88
  100. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  101. package/dist/discovery/discovery-manifest.summary.md +6 -6
  102. package/dist/discovery/orphan-report.md +1 -1
  103. package/dist/discovery/packs.json +13 -10
  104. package/dist/discovery/trust-report.md +3 -3
  105. package/dist/discovery/workspaces.json +14 -9
  106. package/dist/install/install.mjs +12 -7
  107. package/dist/mcp/registry-manifest.json +4 -4
  108. package/dist/router.json +1 -1
  109. package/dist/scripts/_lib/claude_settings_hooks.js +8 -0
  110. package/dist/scripts/_lib/claude_settings_hooks.js.map +1 -1
  111. package/dist/scripts/_lib/trigger_eval_floors.js +24 -0
  112. package/dist/scripts/_lib/trigger_eval_floors.js.map +1 -0
  113. package/dist/scripts/condense.js +12 -2
  114. package/dist/scripts/condense.js.map +1 -1
  115. package/dist/server/schemas/settings.js +5 -2
  116. package/dist/server/schemas/settings.js.map +1 -1
  117. package/docs/CLAIMS.md +54 -5
  118. package/docs/architecture.md +4 -4
  119. package/docs/archive/CHANGELOG-pre-8.12.0.md +304 -0
  120. package/docs/benchmark.md +90 -0
  121. package/docs/catalog.md +8 -5
  122. package/docs/command-flows.md +2 -1
  123. package/docs/contracts/ai-council-config.md +97 -0
  124. package/docs/contracts/command-clusters.md +1 -0
  125. package/docs/contracts/evidence-based-pruning.md +1 -0
  126. package/docs/contracts/hook-architecture-v1.md +25 -0
  127. package/docs/contracts/kernel-membership.md +35 -0
  128. package/docs/contracts/measurement-baseline.md +1 -0
  129. package/docs/contracts/persona-schema.md +49 -0
  130. package/docs/contracts/provider-lifecycle.md +29 -4
  131. package/docs/contracts/release-sizing.md +22 -0
  132. package/docs/contracts/write-engine.md +38 -1
  133. package/docs/customization.md +12 -0
  134. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -0
  135. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +11 -0
  136. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +1 -1
  137. package/docs/decisions/ADR-028-root-layout.md +1 -1
  138. package/docs/decisions/ADR-038-canonical-settings-path.md +10 -0
  139. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +29 -5
  140. package/docs/decisions/ADR-093-ai-council-config-user-global.md +1 -1
  141. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +7 -0
  142. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +2 -2
  143. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +1 -1
  144. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +11 -0
  145. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +11 -1
  146. package/docs/decisions/ADR-117-subagents-auto-default-on.md +2 -1
  147. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +162 -0
  148. package/docs/decisions/ADR-119-global-knowledge-default-on.md +104 -0
  149. package/docs/decisions/ADR-120-council-chairman-mode.md +70 -0
  150. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +90 -0
  151. package/docs/decisions/ADR-200-python-to-typescript-migration.md +11 -1
  152. package/docs/decisions/ADR-rule-kernel-and-router.md +11 -0
  153. package/docs/decisions/INDEX.md +13 -9
  154. package/docs/design/council-vs-solo-baseline.md +92 -0
  155. package/docs/design/cross-model-parity-eval.md +82 -0
  156. package/docs/design/length-neutral-judge-rerun.md +92 -0
  157. package/docs/design/utilization-window-criteria.md +51 -0
  158. package/docs/featured-skills.md +2 -2
  159. package/docs/getting-started-by-role.md +1 -1
  160. package/docs/getting-started.md +2 -2
  161. package/docs/governance-advantage.md +1 -1
  162. package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +68 -0
  163. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +80 -5
  164. package/docs/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
  165. package/docs/guidelines/agent-infra/untrusted-input-spotlighting.md +80 -3
  166. package/docs/guidelines/code-clarity.md +191 -1
  167. package/docs/guidelines/design-antipatterns.md +20 -0
  168. package/docs/guidelines/php/php-coding-patterns.md +12 -2
  169. package/docs/maintainers/branch-protection.md +87 -0
  170. package/docs/maintainers/system-map.md +85 -0
  171. package/docs/proof.md +32 -15
  172. package/docs/wedge/production-validator/production-validator.md +27 -0
  173. package/package.json +1 -1
  174. package/src/config/agent-settings.template.yml +38 -9
  175. package/src/scripts/_cli/cmd_doctor.ts +129 -1
  176. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +87 -0
  177. package/src/scripts/_lib/claude_settings_hooks.ts +8 -0
  178. package/src/scripts/_lib/knowledge_global.ts +50 -2
  179. package/src/scripts/_lib/knowledge_global_promote.ts +150 -0
  180. package/src/scripts/_lib/knowledge_global_redaction.ts +42 -4
  181. package/src/scripts/_lib/lexical_index.ts +15 -2
  182. package/src/scripts/_lib/orchestration_record.ts +14 -0
  183. package/src/scripts/_lib/trigger_eval_floors.ts +31 -0
  184. package/src/scripts/ai_council/chairman.ts +90 -0
  185. package/src/scripts/ai_council/clients.ts +18 -3
  186. package/src/scripts/ai_council/config.ts +157 -0
  187. package/src/scripts/ai_council/debate_gates.ts +89 -0
  188. package/src/scripts/ai_council/orchestrator.ts +252 -2
  189. package/src/scripts/ai_council/prompts.ts +121 -11
  190. package/src/scripts/ai_council/replay.ts +17 -0
  191. package/src/scripts/ai_council/stance_tally.ts +184 -0
  192. package/src/scripts/ai_tells_rules.ts +433 -0
  193. package/src/scripts/bench_humanizer_eval.ts +240 -0
  194. package/src/scripts/bench_persona_placebo.ts +308 -0
  195. package/src/scripts/bench_quality_rerun.ts +357 -0
  196. package/src/scripts/build_discovery_manifest.ts +6 -0
  197. package/src/scripts/build_proof.ts +30 -9
  198. package/src/scripts/check_artefact_count_messaging.ts +56 -0
  199. package/src/scripts/check_claims.ts +40 -0
  200. package/src/scripts/check_knowledge_cards.ts +33 -4
  201. package/src/scripts/check_portability.ts +1 -0
  202. package/src/scripts/check_rule_invariants.ts +10 -3
  203. package/src/scripts/complexity_report.ts +776 -0
  204. package/src/scripts/condense.ts +16 -2
  205. package/src/scripts/consumer_matrix.ts +292 -14
  206. package/src/scripts/council_cli.ts +203 -1
  207. package/src/scripts/detect_ai_tells.ts +312 -0
  208. package/src/scripts/explain_run.ts +593 -0
  209. package/src/scripts/install.ts +12 -0
  210. package/src/scripts/knowledge_global_cli.ts +235 -46
  211. package/src/scripts/lint_framework_leakage.ts +88 -7
  212. package/src/scripts/lint_framework_leakage_allowlist.json +59 -572
  213. package/src/scripts/lint_knowledge_scale.ts +30 -0
  214. package/src/scripts/lint_originality_shingles.ts +210 -0
  215. package/src/scripts/orchestration_record.ts +1 -0
  216. package/src/scripts/rule_backlinks.ts +0 -0
  217. package/src/scripts/schemas/agent-settings.schema.json +11 -0
  218. package/src/scripts/self_review_gate.ts +41 -15
  219. package/src/scripts/skill_eval_coverage.ts +71 -3
  220. package/src/scripts/skill_linter.ts +1 -0
  221. package/src/scripts/trigger_eval_rotation.ts +344 -0
  222. package/src/scripts/update_counts.ts +5 -17
  223. package/src/scripts/worktree_cleanup_check.ts +263 -0
  224. package/src/server/schemas/settings.ts +8 -3
  225. package/src/scripts/analysis_freshness.ts +0 -362
  226. package/src/scripts/export_replay_corpus.ts +0 -208
@@ -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": "8.10.0",
9
+ "version": "8.12.0",
10
10
  "keywords": [
11
11
  "agent-config",
12
12
  "skills",
package/AGENTS.md CHANGED
@@ -18,6 +18,7 @@ task ci # full pipeline — green before PR
18
18
  ## Pointers
19
19
 
20
20
  - **Self-orientation**: [`package-self-orientation`](docs/contracts/package-self-orientation.md).
21
+ - **System map (maintainers)**: [`system-map`](docs/maintainers/system-map.md) — the one-page how-it-fits-together.
21
22
  - **Kernel + Router** — 9 Iron-Law rules, tier-1/2 routing: [`kernel-membership`](docs/contracts/kernel-membership.md) + [`rule-router`](docs/contracts/rule-router.md).
22
23
  - **Trust & Safety** — enum, HRR banner, floors: [`trust-and-safety`](docs/contracts/trust-and-safety.md) + [`ADR-018`](docs/decisions/ADR-018-trust-and-safety-layer.md).
23
24
  - **Content pipelines** (A→D): [`docs/architecture.md`](docs/architecture.md).
package/CHANGELOG.md CHANGED
@@ -94,6 +94,23 @@ One question — answer in [Discussions](https://github.com/event4u-app/agent-co
94
94
  This gates the read-only MCP discovery helper (`agent-config mcp:search`) and the
95
95
  deferred auto-install question (`ADR-086`).
96
96
 
97
+ ### Added — humanizer (AI-tell removal for deliverable prose) (`road-to-humanized-writing` + `road-to-humanizer-hardening`)
98
+
99
+ - **`humanizer` skill + `/humanize` command** (gtm-marketing pack) — remove
100
+ AI-writing tells from deliverable prose (posts, articles, drafts) via a
101
+ draft→audit→final loop; scoped to deliverable text only, never chat replies
102
+ or repo docs.
103
+ - **`detect_ai_tells.ts` detector** — deterministic hard-tell / weighted-cluster
104
+ / em-dash-density scan (EN + DE), with a hidden-unicode ingestion scan and a
105
+ ReDoS length bound on untrusted input.
106
+ - **Behavior change — write-engine step 4b is default-on.** Ghostwriter /
107
+ `post-as` drafts now pass a humanize audit before delivery; opt out per run
108
+ with `--raw`. The mechanical detector pass runs when a Node runtime is
109
+ present and degrades to a prose-only audit otherwise — the new
110
+ `humanizer-runtime` doctor check reports which path an install gets.
111
+ - **Disclosure footer stays inviolable** through the audit; quoted/secondhand
112
+ text is never rewritten.
113
+
97
114
  ### Added — `agents/` directory contract + gitignore hygiene (`road-to-agents-dir-and-gitignore-hygiene`)
98
115
 
99
116
  - **`docs/contracts/agents-layout.md`** — authoritative contract for every top-level entry in `agents/` (purpose, git policy, retention, consumer-scope); includes the User Inbox Workflow (`agents/tmp/` → `agents/tmp.old/`).
@@ -991,171 +1008,72 @@ our recommendation order, not its support status.
991
1008
  > keeps the active era under the 250-line drift cap enforced by
992
1009
  > `tests/test_changelog_eras.py`.
993
1010
 
994
- # Era: 8.9.x — current
995
-
996
- > Started at `8.9.0`. Full entries live inline below.
997
- > The drift test caps this era at 250 lines of entry body; growth past
998
- > that forces a new era split (`# Era: 8.10.x`, etc.) — see
999
- > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
1000
-
1001
- ## [8.10.0](https://github.com/event4u-app/agent-config/compare/8.9.0...8.10.0) (2026-07-10)
1002
-
1003
- ### Features
1004
-
1005
- * **bus-factor:** dogfooded self-review gate (advisory, inert without secret) ([f5afbca](https://github.com/event4u-app/agent-config/commit/f5afbca154e5a62fff7c3f3a3409334457a05e84))
1006
- * **domain-soundness:** author 4 rubric-target domain-truth fixtures (candidates) ([b391a0c](https://github.com/event4u-app/agent-config/commit/b391a0cf13051946ea9b024b68353e6c9a31c124))
1007
- * **evals:** skill-eval-coverage — default-surface set (29 evals) + close + archive ([119328e](https://github.com/event4u-app/agent-config/commit/119328e62410573561c09e6a4076adeece167b3f))
1008
- * **evals:** skill-eval-coverage — behavioural evals for the rich + router sets ([84f066e](https://github.com/event4u-app/agent-config/commit/84f066eb9131310dc0ce3526162565dd3f3cc7ac))
1009
- * **quality:** frontier-quality-operating-system Phases 3–8 — close + archive ([e75d52d](https://github.com/event4u-app/agent-config/commit/e75d52d29787f8dcfcdc7a321df6221e3cb252ec))
1010
- * **testing:** wire mandatory case discovery into TDD, /tests create, stack skills ([d2e9ec5](https://github.com/event4u-app/agent-config/commit/d2e9ec565419fa4166ff04e6b43039226fab8bde))
1011
- * **skill:** add test-case-discovery — enumerate-before-write coverage funnel ([6dc2e76](https://github.com/event4u-app/agent-config/commit/6dc2e76dadc7188c8e64e49e04f7c1fd21d64288))
1012
- * **quality:** frontier-quality-operating-system Phases 1+2 — mechanism matrix + eval-harness spine ([92ad083](https://github.com/event4u-app/agent-config/commit/92ad083a6ce7cd33bfdbc36f04b500b0f0594f56))
1013
- * **work:** consumer-flow intake wiring + retrieval quality metrics ([1ca3b7d](https://github.com/event4u-app/agent-config/commit/1ca3b7d9535b5d49f5d61011a92366ca762cf763))
1014
- * **worktree:** governed worktree layer — skill + /worktree:* thin cluster ([e662249](https://github.com/event4u-app/agent-config/commit/e6622494f5f5d8f00337bf93a3ac750defcc69e1))
1015
- * **telemetry:** delegation quality pair — first_pass_success + escalated ([ded001f](https://github.com/event4u-app/agent-config/commit/ded001f22e4d4eb70a0f4318f47d2aa4323ede58))
1016
- * **sizing:** release-sizing contract + CHANGELOG Rollback: gate ([e591098](https://github.com/event4u-app/agent-config/commit/e591098665eb10561e55b064a1f99e29f3c649e4))
1017
- * **invariants:** kernel semantic-invariant gate (guards lost-merge-content class) ([59c58d5](https://github.com/event4u-app/agent-config/commit/59c58d5995a4127ebae82ea2fd48109ac508928f))
1018
- * **surface:** surface-specific-agent-contracts Phases 2+3 — close + archive ([4899010](https://github.com/event4u-app/agent-config/commit/489901079c538a04f39d293f747fac9040e981f7))
1019
- * **release-gate:** pack-based consumer matrix, release-adjacent dry-runs, red-workflow tripwire ([3742c9a](https://github.com/event4u-app/agent-config/commit/3742c9a8f290156f9696f51f51cf981f49ba97be))
1020
- * **surface:** surface-specific-agent-contracts Phases 0/1/4/5/6/7 — backbone + fixtures ([9bff235](https://github.com/event4u-app/agent-config/commit/9bff2351b2e28703033084be0bf3541458731ea7))
1021
- * **design:** design-artifact-fidelity Phases 5–7 + close + archive ([d92355a](https://github.com/event4u-app/agent-config/commit/d92355ac333d429803270219f1b8d1a4d24f6a85))
1022
- * **design:** design-artifact-fidelity Phase 4 — variation & canvas planning ([b1ae817](https://github.com/event4u-app/agent-config/commit/b1ae817d3a76c9cc859f206a28278b29c9795778))
1023
- * **design:** design-artifact-fidelity Phase 3 — surgical edit preservation ([065fd17](https://github.com/event4u-app/agent-config/commit/065fd1712f6256a662f0073f828491f8b0bc3433))
1024
- * **design:** design-artifact-fidelity Phase 2 — resource-first context gate ([4a40217](https://github.com/event4u-app/agent-config/commit/4a40217e6f86b3d6a5b8f3e25cceeaeea10b550a))
1025
- * **design:** design-artifact-fidelity Phase 1 — lifecycle contract ([1256d47](https://github.com/event4u-app/agent-config/commit/1256d47e94f5a3c874b726e6b24045aca6f74513))
1026
-
1027
- ### Bug Fixes
1028
-
1029
- * **ci:** heal post-merge reds — portability literal, ranking regression, proof drift ([319a2f8](https://github.com/event4u-app/agent-config/commit/319a2f82e67fd2c498a113a627df9ae77871b327))
1030
- * **skill:** playwright-testing — add run-verification note (clears skill_linter warnings) ([68db2b6](https://github.com/event4u-app/agent-config/commit/68db2b629a2689926fc6befdcdd944ea006e4652))
1011
+ # Era: pre-8.12.0 — archived
1031
1012
 
1032
- ### Chores
1013
+ > All entries before `8.12.0` live in
1014
+ > [`docs/archive/CHANGELOG-pre-8.12.0.md`](docs/archive/CHANGELOG-pre-8.12.0.md).
1015
+ > The archive is read-only; git tags remain the canonical
1016
+ > source for what shipped. Splitting them out of the main file
1017
+ > keeps the active era under the 250-line drift cap enforced by
1018
+ > `tests/test_changelog_eras.py`.
1033
1019
 
1034
- * regenerate docs/proof.md — skill-count claim 269 → 270 ([0ec4c58](https://github.com/event4u-app/agent-config/commit/0ec4c5831941aa95b55613bb2c1ffe61c8724ab3))
1035
- * **roadmap:** close + archive command-structure-optimization (deferred items → later/ follow-up) ([fa9a1b7](https://github.com/event4u-app/agent-config/commit/fa9a1b71e4623f4138123299b3fbbf5179d7eb68))
1036
- * regenerate counts, pack manifests, condensation hashes ([1ba1a86](https://github.com/event4u-app/agent-config/commit/1ba1a863de5e52e139ca1283ef36f252672f7ba5))
1037
- * fix command-count badges to 177 (counts-update missed hero badge + browse line) ([4d6551d](https://github.com/event4u-app/agent-config/commit/4d6551d14c80e936135125cdb98476b6fb575913))
1038
- * sync counts, manifests, projections, dashboards; archive completed roadmap ([5178af3](https://github.com/event4u-app/agent-config/commit/5178af3bd66dffb1071607e03b0551a2c5e74d01))
1020
+ # Era: 8.12.x — current
1039
1021
 
1040
- Tests: 7212 (+24 since 8.9.0)
1022
+ > Started at `8.12.0`. Full entries live inline below.
1023
+ > The drift test caps this era at 250 lines of entry body; growth past
1024
+ > that forces a new era split (`# Era: 8.13.x`, etc.) — see
1025
+ > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
1041
1026
 
1042
- ## [8.9.0](https://github.com/event4u-app/agent-config/compare/8.8.0...8.9.0) (2026-07-10)
1027
+ ## [8.12.0](https://github.com/event4u-app/agent-config/compare/8.11.0...8.12.0) (2026-07-12)
1043
1028
 
1044
1029
  ### Features
1045
1030
 
1046
- * **rules:** simplicity-first bans, own-orphan cleanup, goal-driven execution ([3e4de80](https://github.com/event4u-app/agent-config/commit/3e4de80f9d1f7ece41162503fbcd6309620bf331))
1047
- * **design:** design-artifact-fidelity Phase 0 — verification capability + eval baseline ([da9ff3a](https://github.com/event4u-app/agent-config/commit/da9ff3a41381e6ce0e749a74fd499de28b3ee7ea))
1048
- * **kernel:** re-land direct-answers no-duration + never-cite-the-rule (#844 content lost from main) ([2c46e7f](https://github.com/event4u-app/agent-config/commit/2c46e7f3b194ad2179b92307939d588cdb3971f3))
1049
- * **lint:** fail skills that claim a Claude Code built-in name ([4c0cd39](https://github.com/event4u-app/agent-config/commit/4c0cd39b9a0bf604e436bbc80327b0bddf26b9e3))
1050
- * **install:** withhold Claude Code built-in names from /name projections ([6dcba71](https://github.com/event4u-app/agent-config/commit/6dcba71bc2e5660a00c3dd7106ece65754c71633))
1051
- * **kernel:** re-land action-authority sharpening (#840 content lost from main) ([13f244c](https://github.com/event4u-app/agent-config/commit/13f244c9bcb5d92641e5c87e3964c5d4212c8b46))
1052
- * **domain-soundness:** deterministic domain-truth fixtures + scorer + candidate run ([dfb27a2](https://github.com/event4u-app/agent-config/commit/dfb27a2e8f1871f436bac19446d76c569f33e3c6))
1053
- * **execution:** amend-trap, tool-tier ladder, disconfirmation search, anti-over-engineering, authoring guidelines (P2-P6) ([2e7d4d2](https://github.com/event4u-app/agent-config/commit/2e7d4d2a6210672289a50441295f84e21f4f442a))
1054
- * **design:** same-ramp contrast, componentization threshold, async-verifier, handoff template (P3/P4/P5) ([be49527](https://github.com/event4u-app/agent-config/commit/be49527050f235d9396c14f2fe077c3c38209798))
1055
- * **design:** diagram-type routing + geometric pre-checks + embedded register (P1/P2/P4) ([32947b8](https://github.com/event4u-app/agent-config/commit/32947b8a63abc464edeec399929b3f5605b19ddb))
1056
- * **handoff:** verbatim-first lossless template in agent-handoff (P4) ([76a5455](https://github.com/event4u-app/agent-config/commit/76a54557fb5c366b31b72e67d726a105de9e7a74))
1057
- * **memory:** save-successes + reference-shape + verify-then-repair + derivability (P2/P3) ([d4c6e81](https://github.com/event4u-app/agent-config/commit/d4c6e810df365c8990ef9cf75f0289f970eb4a9a))
1058
- * **orchestration:** worker-prompt contract in subagent-orchestration (P1) ([ba65867](https://github.com/event4u-app/agent-config/commit/ba65867f28273b97c16e7799a7c68d00bc16fccd))
1059
- * **memory:** hostile-input write-guards at persist-time (P3) ([e08287b](https://github.com/event4u-app/agent-config/commit/e08287b663a56b4f6e85d0295f6229ca59cb77da))
1060
- * **security:** found-instructions quarantine + injection-signal taxonomy (P1/P2) ([446909a](https://github.com/event4u-app/agent-config/commit/446909a007c2f7dbffee14adf32fc6cdcef9504e))
1061
- * **lint:** cover human-gate phase headings and exit criteria; sharpen step patterns ([68c8738](https://github.com/event4u-app/agent-config/commit/68c8738d1ee10d5b433de02eaaaf3bf3f836b826))
1062
- * **lint:** warn on human-gate checkbox steps in roadmap complexity lint ([64c5f6c](https://github.com/event4u-app/agent-config/commit/64c5f6cbbe5be69eaf4d84c523b6b6935a351ed9))
1063
- * **knowledge:** document slicer (B8) + external code-graph interop rule (B9) ([c09bcb9](https://github.com/event4u-app/agent-config/commit/c09bcb994577f2ed87a19b7e11b617708bf60561))
1064
- * **memory:** seed the curated corpus from the maintainer memory index ([2422f51](https://github.com/event4u-app/agent-config/commit/2422f51e4f07d5ab2b55ab5c9bf74b5950513957))
1065
- * **bench:** self-measuring benchmark command + Cohen's Kappa judge (B7) ([58b9687](https://github.com/event4u-app/agent-config/commit/58b96878931ef976dce92dc333a966021d3b8e08))
1066
- * **discovery:** stat-index primitive + lazy graph rebuild skip (B5a) ([04c34c6](https://github.com/event4u-app/agent-config/commit/04c34c65bc0b08331a9d8d2a1a9fae7ee20102c6))
1067
- * **discovery:** artefact relation-graph + `affected`/`explain` verbs (B4) ([d9ffe0b](https://github.com/event4u-app/agent-config/commit/d9ffe0bff5f8326f4e077c9b27b7f604180d8242))
1068
- * **memory:** merge learning-sidecar verdicts into retrieve() output (B3) ([46ddf98](https://github.com/event4u-app/agent-config/commit/46ddf98e915db50e6c4b75ef5dcf5ebc13b7c721))
1069
- * **memory:** learning-sidecar aggregator — decay + corroboration + dead-ends (B3) ([11fc4a2](https://github.com/event4u-app/agent-config/commit/11fc4a28bf5e724eb09bf5eb07e66076ebfbc689))
1070
- * **memory:** activate the lexical index in retrieve() above the tripwire (B2) ([6d6dbe8](https://github.com/event4u-app/agent-config/commit/6d6dbe8ae8153868c33fe6f867b953ceae375158))
1071
- * **memory:** measure lexical ranking lift — the B2 ship-gate (proven) ([9f4feb9](https://github.com/event4u-app/agent-config/commit/9f4feb923a30f0462362ef1ae25cd3d482225247))
1072
- * **memory:** add hand-rolled BM25 + trigram lexical index (B2) ([971c86e](https://github.com/event4u-app/agent-config/commit/971c86e982a7afc2ab28424195a7783f7ce1f1e9))
1073
- * **lint:** add versioned-cache gate (B5b) ([5bfe14a](https://github.com/event4u-app/agent-config/commit/5bfe14a78e07b9eac130ee3b8e835080752d1424))
1074
- * **memory:** add token_budget compact read surface to retrieve_v1 ([44b8c4c](https://github.com/event4u-app/agent-config/commit/44b8c4c8d6c4e014c5a1d91219fce57dfe60bfde))
1075
- * **security:** sanitize floor on retrieval read-surfaces (B6) ([07802d6](https://github.com/event4u-app/agent-config/commit/07802d69a8ab501435b965a5a6aa9bf86d2004f7))
1076
- * **orchestration:** modeled cost-% for the downshift rate win ([6a4ec50](https://github.com/event4u-app/agent-config/commit/6a4ec50350cf980fe17ba888957c37c615cc68ce))
1077
- * **hooks:** pre-push changed-TypeScript static pass (typecheck + lint) ([640b789](https://github.com/event4u-app/agent-config/commit/640b789c76a2ac1637fa50fe3917557b7789f2a5))
1078
- * **orchestration:** recorder that emits validated telemetry per dispatch ([12aa7b1](https://github.com/event4u-app/agent-config/commit/12aa7b131c7852734df85f920f079f5f1e01357b))
1079
- * **second-brain:** retrieval-precision harness + store + pinned report ([350e9b7](https://github.com/event4u-app/agent-config/commit/350e9b7a3534cd3030272113a06818b3e384a278))
1080
- * **security:** harden agentic-security rules + skills (Fable5 follow-ups) ([e6fdb23](https://github.com/event4u-app/agent-config/commit/e6fdb23bd919789374a3001a7c6d89170426907a))
1081
- * **second-brain:** paired-run harness + pinned PASS report (Phase 2) ([85c9898](https://github.com/event4u-app/agent-config/commit/85c9898bcef8dfb2439096e38531b5d904233eb8))
1031
+ * **rules:** P4 migration Batch A — 9 rule bodies to their existing homes (−51.7% stub bytes) ([94dc19c](https://github.com/event4u-app/agent-config/commit/94dc19cac62ff21449afd5a373c1363ee3d6215c))
1032
+ * **explain-run:** plain-language Summary section ([257d8fc](https://github.com/event4u-app/agent-config/commit/257d8fc4d2ef69e9696f9a143d653a1a0a771e2c))
1033
+ * **complexity:** report v2 — proxy honesty, coupling metric, soft-ratchet baseline ([8328bae](https://github.com/event4u-app/agent-config/commit/8328bae0b791da4215fd704a90734123df0f6b13))
1034
+ * **bench:** live retrieval benchmark executed — decisive PASS ([25d9f03](https://github.com/event4u-app/agent-config/commit/25d9f03756e33870fbc507bc1bc964c5b6c83403))
1035
+ * **bench:** persona-placebo benchmark — executed, HONEST NULL (identity adds nothing) ([000c3e7](https://github.com/event4u-app/agent-config/commit/000c3e77081d7aa39e3d617f98ba67ef27121218))
1036
+ * **reports:** complexity report, explain-run v0, rule-backlinks — all report-only with kill criteria ([e718f13](https://github.com/event4u-app/agent-config/commit/e718f1396562e0cb94fab344b75332a73a34ac35))
1037
+ * **knowledge:** per-card sensitivity classes, promotion gate, revocation trail (ADR-121) ([a14b1ad](https://github.com/event4u-app/agent-config/commit/a14b1ad54b750d86ff288cd96ad9e76fe58fcdc5))
1038
+ * **consumer-matrix:** live hook-lifecycle leg + dist import-graph completeness ([1f1d9e1](https://github.com/event4u-app/agent-config/commit/1f1d9e1f8f8186de51071f47ca20ed649fad01f3))
1039
+ * **bench:** length-neutral judge rerun — executed, SECOND INCONCLUSIVE (gate closed-by-diagnosis) ([66ba0a3](https://github.com/event4u-app/agent-config/commit/66ba0a3e7a995fb8f7db1b795d33682328dc8596))
1040
+ * **council:** restate pass — the last wiring item (pre-round-1, transport-safe) ([4df6069](https://github.com/event4u-app/agent-config/commit/4df6069e127a0467f5a86aea57ea4c90929746a1))
1041
+ * **council:** stance-line repair call in consult (bounded, transport-gated) ([91fd10e](https://github.com/event4u-app/agent-config/commit/91fd10e25429d7d35f460ba8560c76565007b0c6))
1042
+ * **council:** debate-gate repair dispatch in run_debate (bounded, policy-gated) ([e7f6380](https://github.com/event4u-app/agent-config/commit/e7f6380639835d61c72b4b89cb79d77a5c90cb9c))
1082
1043
 
1083
1044
  ### Bug Fixes
1084
1045
 
1085
- * **roadmap:** accept dotted sub-phase ids in PHASE_RE ([aaa54c3](https://github.com/event4u-app/agent-config/commit/aaa54c3ab7060b3e300bac99788325848400f954))
1086
- * **skills:** mcp and code-review opt out of slash registration ([67d261a](https://github.com/event4u-app/agent-config/commit/67d261af0c06147ca3e771b3b6d57ceec34ede63))
1087
- * **roadmap:** live-verify PR merge state before any in-flight/merged claim ([54ae7b0](https://github.com/event4u-app/agent-config/commit/54ae7b063a0bd641a931db423264ed0b8a4452f7))
1088
- * **cli:** rename graph verb explain→graph-explain (collides with decision-chain explain); register verbs; recompile router ([8489858](https://github.com/event4u-app/agent-config/commit/84898580de0df92ec9f2f748d26c9a455c8c2468))
1089
- * **rules:** assign new rules to the `meta` pack, not `core` (strict discovery) ([2a4d118](https://github.com/event4u-app/agent-config/commit/2a4d118fbacaf167d5a005803ef90e9524a7c7b5))
1090
- * **roadmap:** harden /roadmap:process-full as law + add question-not-instruction rule ([b1eee65](https://github.com/event4u-app/agent-config/commit/b1eee65f0ff386b6461b72a39cae577b6582559f))
1091
- * **memory:** align check_memory KNOWN_TYPES with the five write-side types ([1905648](https://github.com/event4u-app/agent-config/commit/1905648dabdfb0680ea1cf610bf43e8f07abda32))
1092
- * **memory:** concrete summary type for measure_lexical_ranking (typecheck) ([475e7be](https://github.com/event4u-app/agent-config/commit/475e7be9af36b6fd7beff717502687f7a84a3e58))
1093
- * **memory:** drop unused import + regenerate proof.md (CI) ([e415eb6](https://github.com/event4u-app/agent-config/commit/e415eb6184b697f1bb667872d6f1b8d08dea1ce6))
1094
- * **second-brain:** restore proof § 3 heading + noUncheckedIndexedAccess guards ([b684a6c](https://github.com/event4u-app/agent-config/commit/b684a6cd1774dfd47d720d5be4cbe32ca854e213))
1095
- * **verify:** require a changed-files static pass before pushing source ([ba3a9b5](https://github.com/event4u-app/agent-config/commit/ba3a9b5f467c5e4621637297366a4e58f84059b2))
1096
- * **security:** post-review nits — through-line pack + FE-render greps + lint desc ([712a338](https://github.com/event4u-app/agent-config/commit/712a3389463453d01df19c421a310ed991a1fc9f))
1097
- * **ci:** pin publish-npm to npm 11 for Node 20 compat ([4c0ed33](https://github.com/event4u-app/agent-config/commit/4c0ed33af0229b53e423a863d9e6946a49d08868))
1046
+ * **ci:** roadmap-ci-steps-mechanics joins the task-invocation skip class ([659d775](https://github.com/event4u-app/agent-config/commit/659d775099bd67168beac8a5742a4efbe773b690))
1047
+ * **ci:** skill description under the 200-char linter cap + modernize a migrated legacy path ([893ce69](https://github.com/event4u-app/agent-config/commit/893ce6922df759ac2432b221e28951a292233a47))
1048
+ * **proof:** move the honest-null entry into the build_proof generator ([5c1a12c](https://github.com/event4u-app/agent-config/commit/5c1a12c152d35fd320e40f0173b27f842fb39903))
1049
+ * **ci:** regenerate proof.md post-merge + de-literalize example imports ([6ff330d](https://github.com/event4u-app/agent-config/commit/6ff330d5a84c4682fae63eb2331ec3f645473cb4))
1050
+ * **claims:** thin-projection honesty + pre-register the council-vs-solo baseline ([6aee669](https://github.com/event4u-app/agent-config/commit/6aee669e311261121f582793e47698e029b0c8ae))
1051
+ * **identity:** resolve the placeholder git identity and guard against recurrence ([b17a801](https://github.com/event4u-app/agent-config/commit/b17a801dd16ddda9c3bcfd6b269dc65aff5a5e41))
1052
+ * **counts:** regenerate CAPABILITIES.yaml and close the structured-surface drift gap ([55aafb5](https://github.com/event4u-app/agent-config/commit/55aafb58b7f0e775b73a100d0b83f55b13defea0))
1098
1053
 
1099
1054
  ### Documentation
1100
1055
 
1101
- * **contracts:** document the reserved host-name floor ([7ef51e9](https://github.com/event4u-app/agent-config/commit/7ef51e99d913f1d0e3ce48dd8caefc8804612ea5))
1102
- * **roadmap:** flip execution-discipline non-kernel phases; counts + dashboard + hashes ([9da5da5](https://github.com/event4u-app/agent-config/commit/9da5da576c08f0eae3d7577079cd4f913a7f69ca))
1103
- * **design:** reference-over-vendor pointer + close design-mechanism harvest (P6) ([e41f45c](https://github.com/event4u-app/agent-config/commit/e41f45cdc1297a6fa4293836b5a7a5cbf43a1c00))
1104
- * **roadmap:** record drift-audit disposition (P5); flip + archive orchestration-memory harvest ([a6caca8](https://github.com/event4u-app/agent-config/commit/a6caca8cd5857be9a188ec5c704835e11921c16e))
1105
- * **roadmap:** blocker sweep per template rule 22 — resolve 7 non-gates, unblock ci-native Phase 1 ([fabbbc3](https://github.com/event4u-app/agent-config/commit/fabbbc320dd65be51dc552ff12bde628ee7402a6))
1106
- * **roadmap:** flip injection-authority Phases 1-3,5; sync hashes + dashboard ([0ca2310](https://github.com/event4u-app/agent-config/commit/0ca2310b0007c15f66ed4f95e5e1260b9b6b83be))
1107
- * **contracts:** draft injected-block authenticity model (P5, proposal only) ([0738dad](https://github.com/event4u-app/agent-config/commit/0738dad234ef545c40d0294fdc47b2b116f2c7aa))
1108
- * **roadmap:** separate external blockers from human gates; risk-based autonomous recommendation ([dc049e1](https://github.com/event4u-app/agent-config/commit/dc049e1fe68612367c576db9fae693abf04b1cc5))
1109
- * **roadmap:** autonomy-first authoring — human gates are the exception ([c007ac7](https://github.com/event4u-app/agent-config/commit/c007ac7db79184805d2815ff21da0c4ba7858402))
1110
- * **memory:** name the separator-recall limit in the retrieval scope + ADR-116 ([0c8a6f8](https://github.com/event4u-app/agent-config/commit/0c8a6f8a065347e8a6a4df8b08b319ce23a6f5b5))
1111
- * sync counts (+2 rules), CLAIMS/proof, archive completed roadmap ([101c801](https://github.com/event4u-app/agent-config/commit/101c8015532f258671af28934048bb4049e16ed4))
1112
- * **roadmap:** mark B3 display-merge done — Phase 3 complete ([3fa451a](https://github.com/event4u-app/agent-config/commit/3fa451aff07a9d1309e594614cef5cd1868b6e15))
1113
- * **roadmap:** mark B3 aggregator done (Phase 3 checkbox 1) ([43ba766](https://github.com/event4u-app/agent-config/commit/43ba76606659310d529cbb73b1ad1e1539f6e2fb))
1114
- * **roadmap:** mark B2 activation done — Phase 2 complete ([89f6ae4](https://github.com/event4u-app/agent-config/commit/89f6ae448123e8a633e4e9f990ca0bae442f045c))
1115
- * **memory:** record ADR-061 <-> FTS5 resolution for retrieval ranking (B2) ([0e54680](https://github.com/event4u-app/agent-config/commit/0e546807489e9e8c0c68e8db45fe661a8e3b1790))
1116
- * **roadmap:** resolve retrieval-substrate design council pass; promote to ready ([9194898](https://github.com/event4u-app/agent-config/commit/9194898cfa0b80f2c1bd5f4b3783eaec7337c037))
1117
- * **roadmap:** draft retrieval-substrate hardening (source-anonymous borrow) ([708ac89](https://github.com/event4u-app/agent-config/commit/708ac89d930301fbf9880e59908552d2e8b1d175))
1118
- * **orchestration:** document dispatch_tokens + session_tier telemetry fields ([f59562a](https://github.com/event4u-app/agent-config/commit/f59562a598c610a42a16fd1ced4dfa769eab2f15))
1119
- * **token-saving:** run the live thin-vs-eager judge — honest INCONCLUSIVE ([3ad161b](https://github.com/event4u-app/agent-config/commit/3ad161b104c1a037b22774738e9545f4b65cc0ca))
1120
- * **claims:** repoint hidden-instruction claim to the release gate ([a41815d](https://github.com/event4u-app/agent-config/commit/a41815db830ba90e5daaa512f6b55b6ee8be4f81))
1121
- * **orchestration:** wire the recorder into the emit procedure + delegation-policy ([69042ad](https://github.com/event4u-app/agent-config/commit/69042ad1568bd9e16a520e63c91744cd385567a1))
1122
- * **proof:** regenerate proof page for the new hidden-instruction claim ([45f5a7a](https://github.com/event4u-app/agent-config/commit/45f5a7a106c4c5c5b3b003ed3c3fd8e6be4f8425))
1123
- * **claims:** bind the hidden-instruction CI scan to the claims ledger ([55fe74e](https://github.com/event4u-app/agent-config/commit/55fe74ed2122959d465b9fcc4f2fc6daffd30445))
1124
- * **second-brain:** publish the retrieval-precision result across the surfaces ([3ee930a](https://github.com/event4u-app/agent-config/commit/3ee930a4bc61e3f1c01c7a02b204099f96042e2a))
1125
- * **frontier-quality:** Phase 0 metrics + provenance + contract + pilot proposal ([0e738fb](https://github.com/event4u-app/agent-config/commit/0e738fb32a4645f499055940e386295b265fdc8d))
1126
- * **second-brain:** publish the measured recall lift + decline the export ([8fbaeaf](https://github.com/event4u-app/agent-config/commit/8fbaeaf0fa8a361d9b469dad4d8046d677b4c9a7))
1127
-
1128
- ### Refactoring
1129
-
1130
- * **skill:** extract topology hints from subagent-orchestration to context ([4918ef2](https://github.com/event4u-app/agent-config/commit/4918ef2372d7cb2c6e24a71ba9e3307946426899))
1131
-
1132
- ### Tests
1133
-
1134
- * **memory:** land the Phase 0-pre substrate-validation foundations ([474df9a](https://github.com/event4u-app/agent-config/commit/474df9af95f8edd2ba10d6ba7ff88465a534d12d))
1135
-
1136
- ### CI
1137
-
1138
- * **security:** fail-closed agent-security gate on the publish path ([f8934f7](https://github.com/event4u-app/agent-config/commit/f8934f739a4f27a11e3c0bd8df7c9943ddba519f))
1139
- * **second-brain:** wire the retrieval-precision dry-run into ci + ci-strict ([da4ec36](https://github.com/event4u-app/agent-config/commit/da4ec36e7c84765203864cb9f8e99e62aaf85e53))
1140
- * **security:** wire lint-agent-security into CI and scan dist/agent-src ([453095f](https://github.com/event4u-app/agent-config/commit/453095f28bcf9aaa9c9419872dc732571d9971e3))
1141
- * **consistency:** trigger required check on any workflow change ([e629624](https://github.com/event4u-app/agent-config/commit/e629624644e33fa1926c763f8b1a05c730c0fcdc))
1056
+ * **posture:** knowledge scaling reality + local_auto_run as deliberate design ([ad9f43b](https://github.com/event4u-app/agent-config/commit/ad9f43baaa52cea533f6e1fd91ca012d95d35e9e))
1057
+ * **maintainers:** one-page system map + prepared branch protection ([efe63d0](https://github.com/event4u-app/agent-config/commit/efe63d006ff7ef97b1f4e201c29e53824ef3af95))
1058
+ * **claims:** pre-register the utilization-window decision criteria ([4667adf](https://github.com/event4u-app/agent-config/commit/4667adf085af9d2e178932b0a3fc9e2d674d6d2c))
1059
+ * **roadmap:** complete + archive road-to-opt-retrieval-and-memory ([cfc8657](https://github.com/event4u-app/agent-config/commit/cfc86578b7033945d227db80d98821aef33b8917))
1060
+ * **roadmap:** complete + archive road-to-opt-council-deliberation ([8777a8e](https://github.com/event4u-app/agent-config/commit/8777a8ebf90c2fc32362cfcbe1e58f8bee8f56d7))
1061
+ * **proof:** persona-identity-placebo-null — backed claim + honest-null story ([0d0de13](https://github.com/event4u-app/agent-config/commit/0d0de1387b6cd61a0165ec26a1db695172dcc2bd))
1062
+ * **rules:** rule-body migration inventory + P4 batches into request-scoped-rule-load ([c5abc40](https://github.com/event4u-app/agent-config/commit/c5abc40e4edc09d92681afbeae5f837f63784e29))
1063
+ * **bench:** record the closed-by-diagnosis disposition ([e02f7d7](https://github.com/event4u-app/agent-config/commit/e02f7d765d1aa2d61ae7bd1e879b27a1711fe595))
1064
+ * **roadmap:** flip the restate step + the confirmed harness prerequisite ([6415b3e](https://github.com/event4u-app/agent-config/commit/6415b3e672a659e8453159ca7e421d2ce7fdb9da))
1065
+ * **roadmap:** flip the stance-repair + chairman-ADR steps ([c1278a0](https://github.com/event4u-app/agent-config/commit/c1278a092027bb1659ba37d3281b9692a2c4066e))
1066
+ * **adr:** ADR-120 — council chairman mode supersedes always-host synthesis ([9e593f4](https://github.com/event4u-app/agent-config/commit/9e593f42bcd5ff844332eb7eca4fbb545be7d8fd))
1067
+ * **roadmap:** flip the debate-gate repair-dispatch step ([d4bba6b](https://github.com/event4u-app/agent-config/commit/d4bba6b31c1ceca01480f66ea80174a27887ab88))
1142
1068
 
1143
1069
  ### Chores
1144
1070
 
1145
- * **roadmap:** add + close road-to-simplicity-and-goal-discipline ([026bf11](https://github.com/event4u-app/agent-config/commit/026bf1159e9af14cee1f76ccfa240d7f7b7076f4))
1146
- * **roadmap:** close + archive execution-discipline-harvest (kernel content landed) ([49134d4](https://github.com/event4u-app/agent-config/commit/49134d4cb4178a7baa1cad8dbd38265b9c0d457f))
1147
- * **roadmap:** close + archive injection-and-authority-harvest (kernel content landed) ([810df58](https://github.com/event4u-app/agent-config/commit/810df58e7b7525b781f3cf5f93a1b651a85927fc))
1148
- * **install:** regenerate install bundle ([f167954](https://github.com/event4u-app/agent-config/commit/f1679547063d9cf6c9354c1d25d026f740445169))
1149
- * **condense:** refresh stale hash for commands/optimize/project.md ([fa9c0ec](https://github.com/event4u-app/agent-config/commit/fa9c0ecb57653a6157a1eacdc8eba2fd77a357c5))
1150
- * **condense:** project phases-4-7 rule/command/context edits into dist/agent-src ([7d727db](https://github.com/event4u-app/agent-config/commit/7d727db49522669d2aba3ac8e87cdbf5c9410898))
1151
- * **tasks:** unify task test to include the vitest suite ([e0ca766](https://github.com/event4u-app/agent-config/commit/e0ca766bc7a15ebf17347ac246257d57c04bf63f))
1152
- * **roadmap:** retrieval-substrate-hardening Phase 0 B6 done ([671f8d5](https://github.com/event4u-app/agent-config/commit/671f8d519a885bd93302d9962b3fc5c78469715a))
1153
- * **roadmap:** record the inconclusive live judge run on token-saving Phase 0 ([2356ec8](https://github.com/event4u-app/agent-config/commit/2356ec88527366fe6122fdaeb71e0ff1284f364c))
1154
- * **sync:** regenerate pack manifests after through-line pack move ([adde3de](https://github.com/event4u-app/agent-config/commit/adde3de8e94a7f03a6ebdc31e7837c0696b47209))
1155
- * **roadmap:** frontier-quality Phase 0 authored (proposal, checkpoint pending) ([0912362](https://github.com/event4u-app/agent-config/commit/0912362aedf6a90ae122ad1ea4f167e741c40dae))
1156
- * **roadmap:** close + archive second-brain-delta-proof (PASS) ([ec0909d](https://github.com/event4u-app/agent-config/commit/ec0909d78264d33e7ba71e6387ae553bd3494354))
1157
-
1158
- Tests: 7188 (+161 since 8.8.0)
1071
+ * **sync:** propagate the shortened skill description into the generated domain README ([ec2a931](https://github.com/event4u-app/agent-config/commit/ec2a931e76b148c0c653dad3353f6f11590edf33))
1072
+ * **roadmaps:** feedback-8.11-2 disposition executed and archived ([0037d52](https://github.com/event4u-app/agent-config/commit/0037d521c62699d3757b5e975dafbec54beab1b4))
1073
+ * **condense:** record knowledge-card template condensation hash ([7ce68cc](https://github.com/event4u-app/agent-config/commit/7ce68cc38d976a4e10666bdf006db4059d788305))
1074
+ * **roadmaps:** feedback-8.11 disposition executed and archived ([960179f](https://github.com/event4u-app/agent-config/commit/960179fa08e343a8e1bb1856bce76e2025abe8d3))
1075
+
1076
+ Tests: 7509 (+130 since 8.11.0)
1159
1077
 
1160
1078
  # Era: pre-4.0.0 — archived
1161
1079
 
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  <p align="center"><a href="https://event4u.app"><img alt="event4u Agent Config" src=".github/assets/banner.png"></a></p>
2
2
 
3
- # Agent Config — every claim machine-checked, including "zero runtime"
3
+ # Agent Config — every claim machine-checked, including "zero runtime daemon"
4
4
 
5
5
  [![Smoke](https://github.com/event4u-app/agent-config/actions/workflows/smoke.yml/badge.svg)](https://github.com/event4u-app/agent-config/actions/workflows/smoke.yml) [![Public install smoke (3 OS × 2 Node)](https://github.com/event4u-app/agent-config/actions/workflows/smoke-public-install.yml/badge.svg)](https://github.com/event4u-app/agent-config/actions/workflows/smoke-public-install.yml) [![npm](https://img.shields.io/npm/v/@event4u/agent-config?style=flat-square&label=npm&color=orange)](https://www.npmjs.com/package/@event4u/agent-config) [![agent-config MCP server](https://glama.ai/mcp/servers/event4u-app/agent-config/badges/score.svg)](https://glama.ai/mcp/servers/event4u-app/agent-config)
6
6
 
7
- [![Skills](https://img.shields.io/badge/Skills-270-orange?style=flat-square)](dist/agent-src/skills/) [![Rules](https://img.shields.io/badge/Rules-103-orange?style=flat-square)](dist/agent-src/rules/) [![Commands](https://img.shields.io/badge/Commands-177-orange?style=flat-square)](dist/agent-src/commands/) [![Guidelines](https://img.shields.io/badge/Guidelines-90-orange?style=flat-square)](docs/guidelines/) [![Personas](https://img.shields.io/badge/Personas-29-orange?style=flat-square)](dist/agent-src/personas/) [![Advisors](https://img.shields.io/badge/Advisors-5-orange?style=flat-square)](dist/agent-src/personas/advisors/)
7
+ [![Skills](https://img.shields.io/badge/Skills-271-orange?style=flat-square)](dist/agent-src/skills/) [![Rules](https://img.shields.io/badge/Rules-104-orange?style=flat-square)](dist/agent-src/rules/) [![Commands](https://img.shields.io/badge/Commands-178-orange?style=flat-square)](dist/agent-src/commands/) [![Guidelines](https://img.shields.io/badge/Guidelines-91-orange?style=flat-square)](docs/guidelines/) [![Personas](https://img.shields.io/badge/Personas-29-orange?style=flat-square)](dist/agent-src/personas/) [![Advisors](https://img.shields.io/badge/Advisors-5-orange?style=flat-square)](dist/agent-src/personas/advisors/)
8
8
 
9
9
  > **Choose your experience — developer · founder · content · agency · finance · ops. Add packs. Get a focused command set, not a 500-artefact dump.** Bring your own AI provider.
10
10
 
@@ -12,13 +12,13 @@
12
12
 
13
13
  **Every public claim in this README is machine-checked — [verify it yourself](docs/proof.md).** In a market that runs on unbacked headline numbers, this one binds each claim to resolvable evidence or fails its own build.
14
14
 
15
- **270 skills, 177 commands, 103 governed rules** — plus a capability router that loads the right skill on intent, and multi-agent orchestration with consensus review. The whole layer is compiled into 7+ host agents (Claude Code, Cursor, Augment, Cline, Windsurf, Copilot, Gemini) with **zero runtime daemon**.<!-- claim:no-runtime-daemon --> Six role-shaped entry paths sit on top, so any host becomes a reliable team member — without locking you to a single model or vendor.
15
+ **A deep library of skills, commands, and governed rules** — plus a capability router that loads the right skill on intent, and multi-agent orchestration with consensus review. The whole layer is compiled into 7+ host agents (Claude Code, Cursor, Augment, Cline, Windsurf, Copilot, Gemini) with **zero runtime daemon**.<!-- claim:no-runtime-daemon --> Six role-shaped entry paths sit on top, so any host becomes a reliable team member — without locking you to a single model or vendor.
16
16
 
17
17
  ### What's different
18
18
 
19
19
  It is both deep **and** disciplined — and honest about what it deliberately is not:
20
20
 
21
- - **Depth that routes itself** — 270 skills + 177 commands, with a capability router that loads the right one on intent, not a 500-artefact context dump.
21
+ - **Depth that routes itself** — a deep skill and command library, with a capability router that loads the right one on intent, not a 500-artefact context dump.
22
22
  - **Governance on every host** — rules compiled into each tool's native format at projection time; deterministic runtime hooks added on hook-capable hosts. This config-space, host-agnostic governance is the moat ([the governance advantage](docs/governance-advantage.md) · [enforcement by host](docs/enforcement-by-host.md)).
23
23
  - **Surgical uninstall** — removes only its own keys from a shared host config (matched by JSON-pointer + SHA-256), never a neighbour tool's entries.<!-- claim:surgical-uninstall -->
24
24
  - **Pack-scoped install** — writes the active pack only, not a 500-artefact dump.
@@ -67,7 +67,7 @@ what is *not* loaded · examples):
67
67
 
68
68
  ### Workflows, not raw commands
69
69
 
70
- You don't memorize 177 commands — you run a **work journey**. Four flows span the
70
+ You don't memorize every command — you run a **work journey**. Four flows span the
71
71
  developer story end-to-end; each names the command you TYPE to start and the
72
72
  skills it composes:
73
73
 
@@ -462,7 +462,7 @@ When a prompt matches a command's purpose ("setze ticket ABC-123 um" → `/imple
462
462
  | [**Migration**](docs/MIGRATION.md) | Per-version upgrade steps |
463
463
  | [**Showcase**](docs/showcase.md) | More examples & expected behavior |
464
464
 
465
- Browse content: [all 177 commands](dist/agent-src/commands/) · [skills catalog](docs/skills-catalog.md) · [full catalog](docs/catalog.md) · [`llms.txt`](llms.txt).
465
+ Browse content: [all commands](dist/agent-src/commands/) · [skills catalog](docs/skills-catalog.md) · [full catalog](docs/catalog.md) · [`llms.txt`](llms.txt).
466
466
 
467
467
  ---
468
468
 
@@ -34,7 +34,10 @@ Drop the seed — a plan, idea, ticket draft, or design sketch — and I'll
34
34
  walk you through a decision tree, one question per turn, until I'm 95%
35
35
  sure what you want. Then you get a copyable Markdown pitch.
36
36
 
37
- Stop early any time by typing `!pitch` (or `!Vision pitchen`).
37
+ End the interview early any time:
38
+ `!pitch` — emit pitch, hand back
39
+ `!roadmap` — emit pitch + auto-route to `/roadmap:create`
40
+ `!ai` / `!council` — poll the AI council for the open question(s), continue (cost auto-accepted)
38
41
  ```
39
42
 
40
43
  Skip the welcome if the user invokes `/challenge-me vision <seed>` directly.
@@ -138,7 +141,7 @@ NEVER ASK WHAT `grep`, `view`, OR `codebase-retrieval` ANSWERS IN SECONDS.
138
141
  2. **Look up before asking.** Existing routes, model fields, conventions,
139
142
  feature flags, previous similar features → resolve from the repo.
140
143
  Surface findings briefly in the next question block ("Repo says X
141
- already exists at `path/to/file.php`"). The user should never have to
144
+ already exists at `path/to/file`"). The user should never have to
142
145
  answer a question the codebase already answers.
143
146
  3. **List the open dimensions** internally — goal, scope, users, data,
144
147
  constraints, success criteria, edge cases, rollback. Do not surface
@@ -164,9 +167,11 @@ constraint this unblocks>.
164
167
  3. <alternative option>
165
168
  4. Skip / not relevant
166
169
 
167
- > Reply with a number, a free-form answer, or type **`!pitch`**
168
- > (or **`!Vision pitchen`**) to lock in the current understanding and
169
- > get the Markdown pitch.
170
+ > Reply with a number, a free-form answer, or one of:
171
+ > **`!pitch`** — emit pitch and hand back ·
172
+ > **`!roadmap`** (or **`!roadmap:create`**) — emit pitch + auto-route to `/roadmap:create` ·
173
+ > **`!ai`** (alias **`!ai-council`** / **`!council`**) — poll the council on the open question(s),
174
+ > cost auto-accepted, then continue the interview.
170
175
  ````
171
176
 
172
177
  **Rules for the question block.**
@@ -188,25 +193,37 @@ constraint this unblocks>.
188
193
  1. Number reply (`1`, `2`, …) → adopt that option.
189
194
  2. Free-form reply → integrate verbatim, do not re-interpret.
190
195
  3. "Skip" / "skip" / "n/a" → branch closed, do not revisit unless reopened.
191
- 4. Pitch trigger fired → jump straight to Step 4, even if confidence < 95%.
196
+ 4. Trigger fired → branch by trigger type (see table below):
197
+ - `!pitch` → jump to Step 4, then Step 5 (emit pitch), then Step 6 hand-back.
198
+ - `!roadmap` / `!roadmap:create` → Step 4 → Step 5 (emit pitch) → Step 6 with **roadmap routing**.
199
+ - `!ai` / `!ai-council` / `!council` → jump to **Step 4-bis (Council poll)**, then resume Step 1 with the answers integrated.
192
200
 
193
- #### Pitch trigger — strict matching
201
+ #### Triggers — strict matching
194
202
 
195
- The pitch trigger requires **explicit syntax** to avoid false positives
196
- on natural sentences like "I'd pitch this to the team".
203
+ Three trigger families end or branch the interview. All require
204
+ **explicit syntax** to avoid false positives on natural prose
205
+ ("I'd pitch this to the team", "let's run a council later").
206
+
207
+ | Trigger | Action | Cost gate |
208
+ |---|---|---|
209
+ | `!pitch` · `/pitch` · whole reply `pitch` | Emit pitch (Step 5), hand back (Step 6) | none |
210
+ | `!roadmap` · `!roadmap:create` · `/roadmap` · `/roadmap:create` · whole reply `roadmap` | Emit pitch (Step 5), then route to `/roadmap:create` with the pitch as seed (Step 6) | none — roadmap creation is text-only |
211
+ | `!ai` · `!ai-council` · `!council` · `/ai` · `/ai-council` · `/council` · whole reply `ai` / `council` | Snapshot open question(s), invoke `/council default` to draft answers, integrate, resume Step 1 | **auto-accepted** — typing the trigger is the consent (per user opt-in to the trigger contract) |
212
+
213
+ Match rules apply to **every** trigger above:
197
214
 
198
215
  | Match | Example | Fires? |
199
216
  |---|---|---|
200
- | `!pitch` (or any `!`-prefixed variant) at line start | `!pitch`, `!Vision pitchen`, `!pitch it` | yes |
201
- | `/pitch` at line start | `/pitch` | yes |
202
- | Whole reply is exactly `pitch` (case-insensitive, no other words) | `pitch` | yes |
203
- | `pitch` inside a sentence | "I would pitch this on Monday" | **no** |
204
- | `pitch mich` / `ship vision` inside prose | natural-language fragment | **no** |
217
+ | `!<trigger>` at line start | `!pitch`, `!roadmap`, `!council`, `!Vision pitchen` | yes |
218
+ | `/<trigger>` at line start | `/pitch`, `/roadmap:create`, `/ai-council` | yes |
219
+ | Whole reply exactly the trigger word (case-insensitive) | `pitch`, `roadmap`, `council` | yes |
220
+ | Trigger word inside a sentence | "I would pitch this on Monday", "let's poll the council later" | **no** |
221
+ | Natural-language fragment (`pitch mich`, `ship vision`) | prose | **no** |
205
222
 
206
- `DE: "!Vision pitchen", "/Vision pitchen", "/pitche das", whole reply "pitch" · EN: "!pitch the vision", "/pitch the vision", whole reply "pitch"`
223
+ `DE: "!Vision pitchen", "!roadmap erstellen", "!Council befragen", whole reply "pitch" · EN: "!pitch the vision", "!roadmap it", "!council on this", whole reply "pitch"`
207
224
 
208
- If the agent is unsure whether the user pitched, it confirms once
209
- (numbered options: `1. emit pitch · 2. continue interview`) instead of
225
+ If the agent is unsure **which** trigger fired (e.g. `!council and pitch`),
226
+ it confirms once with numbered options listing the candidates instead of
210
227
  guessing.
211
228
 
212
229
  ### Step 3: Re-score and continue
@@ -218,7 +235,7 @@ the next question. If reached, go to Step 4 without asking.
218
235
 
219
236
  Before emitting the pitch, run this checklist internally:
220
237
 
221
- 1. All four 95%-conditions hold (or the user fired the pitch trigger).
238
+ 1. All four 95%-conditions hold (or the user fired `!pitch` / `!roadmap`).
222
239
  2. Every adopted answer is reflected in the pitch — no orphan branches.
223
240
  3. Acceptance criteria are observable and testable in the project's
224
241
  existing test surface — not "works correctly" / "looks better".
@@ -226,6 +243,41 @@ Before emitting the pitch, run this checklist internally:
226
243
 
227
244
  If any check fails, ask one more question instead of pitching.
228
245
 
246
+ ### Step 4-bis: Council poll (`!ai` / `!ai-council` / `!council` only)
247
+
248
+ Fires **instead of** Step 4/5 when an AI trigger matches. Cost gate is
249
+ auto-accepted by the trigger contract — do **not** re-ask.
250
+
251
+ 1. **Snapshot** the current interview state:
252
+ - The seed (verbatim).
253
+ - All adopted answers so far (as `<question> → <answer>` lines).
254
+ - Open branches and the very-next question on the table.
255
+ - Any open assumptions surfaced so far.
256
+ 2. **Build the council prompt** as a single block:
257
+
258
+ ```
259
+ You are reviewing an in-progress /challenge-me vision interview.
260
+ Seed: <verbatim>
261
+ Adopted: <list>
262
+ Open question(s): <list>
263
+ For each open question, recommend an answer with one-line rationale,
264
+ plus any unstated risk you spot. Be terse.
265
+ ```
266
+ 3. **Invoke** `/council default prompt:"<above>"` non-interactively
267
+ (auto-accepted cost gate). Pass the host's `ai_council.min_rounds`
268
+ default — do **not** raise rounds inside the trigger.
269
+ 4. **Integrate** the council output:
270
+ - Surface each council answer **labelled with the source** (e.g.
271
+ `Council recommends: <answer> — rationale: <one line>`).
272
+ - Do **not** silently adopt — the user still picks (`1` to accept,
273
+ free-form to refine, `skip` to discard).
274
+ 5. **Resume Step 1** with the very-next question, now showing the
275
+ council's recommendation as option 1 (with the existing recommended
276
+ option pushed to option 2 if they differ).
277
+
278
+ If the council call fails (network, budget, missing member), report the
279
+ error in one line and resume Step 1 unchanged — do **not** re-trigger.
280
+
229
281
  ### Step 5: Emit the pitch
230
282
 
231
283
  Output a single fenced Markdown block the user can copy verbatim. Shape:
@@ -262,22 +314,50 @@ Output a single fenced Markdown block the user can copy verbatim. Shape:
262
314
  The outer fence uses four backticks so the inner triple-backtick stays
263
315
  literal when the user copies it.
264
316
 
265
- ### Step 6: Hand back
317
+ ### Step 6: Hand back — HARD STOP after artifact
266
318
 
267
- After the pitch is emitted, end the turn. Do **not** propose to also
268
- implement the pitch, write it to a roadmap, or commit anything — the
269
- pitch is conversational output the user copies into the next command
270
- (`/work`, `/roadmap-create`, `/feature-plan`, …).
319
+ ```
320
+ PITCH OR ROADMAP LANDED → STOP. NEVER PROPOSE IMPLEMENTATION,
321
+ NEVER ASK "READY TO START?". THE USER PICKS THE NEXT MOVE WITH AN
322
+ EXPLICIT EXECUTION VERB ON A LATER TURN.
323
+ ```
271
324
 
272
- If the user wants the next step run, they invoke it explicitly.
325
+ Branch on which trigger fired (or the natural 95%-stop):
326
+
327
+ - **Natural stop or `!pitch`** — end the turn after emitting the pitch.
328
+ Do **not** propose to also implement, write to a roadmap, or commit —
329
+ the pitch is conversational output the user copies into the next
330
+ command (`/work`, `/roadmap:create`, `/feature-plan`, …).
331
+ - **`!roadmap` / `!roadmap:create`** — emit the pitch (Step 5) **and**
332
+ immediately route to [`/roadmap:create`](../roadmap/create.md) using
333
+ the pitch as the seed for its Step 1 ("Title / goal", "Context",
334
+ "Phases"). The user keeps full control inside `/roadmap:create` —
335
+ this is opt-in routing, not silent execution. Mention the route in a
336
+ single line under the pitch (e.g. *"Routing to `/roadmap:create` —
337
+ this pitch becomes the seed for title + context + phase 1."*).
338
+ The chain ends when `/roadmap:create` saves the file — its own Step
339
+ 9 is a hard stop ([`roadmap/create § 9`](../roadmap/create.md)), no
340
+ execution offer rides on the back of `!roadmap`.
341
+ - **`!ai` / `!ai-council` / `!council`** — handled by Step 4-bis, never
342
+ reaches Step 6.
343
+
344
+ If the user wants any other follow-up, they invoke it explicitly. The
345
+ "Recommended next step" line in the pitch (Step 5) names a *command*
346
+ (`/work`, `/roadmap:create`, …) — it is a suggestion the user copies,
347
+ **not** an offer this command auto-routes through.
273
348
 
274
349
  ## Output format
275
350
 
276
351
  1. **Per-turn question block** — one numbered question with a recommended
277
- option, until 95% or pitch trigger.
352
+ option, until 95% or a trigger (`!pitch` / `!roadmap` / `!ai`).
278
353
  2. **Final pitch** — a single copyable fenced Markdown block (Step 5 shape).
279
354
  3. **One-line handoff suggestion** under the pitch — which command to run
280
- next (`/work`, `/roadmap-create`, `/feature-plan`, etc.).
355
+ next (`/work`, `/roadmap:create`, `/feature-plan`, etc.).
356
+ - For `!roadmap` triggers, this line is the route announcement
357
+ instead of a suggestion (Step 6).
358
+ 4. **Council-poll output** (only if `!ai` fired) — labelled council
359
+ answers integrated into the next question block (Step 4-bis), not a
360
+ final pitch. The interview resumes.
281
361
 
282
362
  ## Examples
283
363
 
@@ -310,17 +390,26 @@ If the user wants the next step run, they invoke it explicitly.
310
390
  - **One question per turn** — non-negotiable, per
311
391
  [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) Iron Law.
312
392
  - **No auto-execution** — emit the pitch, not the implementation it
313
- describes. Do not chain into `/work` or `/roadmap-create` without
314
- explicit user invocation.
315
- - **No file writes** — the pitch is conversational. No commits, no
316
- roadmap edits, no `agents/` writes.
393
+ describes. Do not chain into `/work` or `/roadmap:create` without
394
+ explicit user invocation. The `!roadmap` trigger **is** explicit
395
+ invocation by user opt-in; routing under it is permitted **and ends
396
+ at file save** — never propose "ready to start Phase 1?" after the
397
+ roadmap lands. See [`scope-mechanics § Post-artifact hard stop`](../../contexts/authority/scope-mechanics.md).
398
+ - **No file writes from /challenge-me itself** — the pitch is
399
+ conversational. No commits, no roadmap edits, no `agents/` writes.
400
+ The `!roadmap` trigger routes to `/roadmap:create`, which writes
401
+ under its own contract (with its own user confirmation in Step 6).
402
+ - **Council cost gate is auto-accepted under `!ai`** — typing the
403
+ trigger is the consent. Do not surface a second confirmation. If
404
+ `personal.autonomy: auto`, the trigger still consents on its own —
405
+ the user explicitly opted in by typing it.
317
406
  - **Codebase first** — Step 0 forbids asking what `grep`, `view`, or
318
407
  `codebase-retrieval` would answer in seconds.
319
408
  - **Welcome once** — render the welcome only on the first no-body
320
409
  invocation per session.
321
410
  - **Mirror the user's language** — the question blocks and pitch use
322
- the language the user wrote in (`language-and-tone` Iron Law). The
323
- pitch trigger syntax (`!pitch`, `/pitch`, whole reply `pitch`) stays
411
+ the language the user wrote in (`language-and-tone` Iron Law). All
412
+ trigger syntax (`!pitch`, `!roadmap`, `!ai` and their aliases) stays
324
413
  literal in any language.
325
414
 
326
415
  ## Do NOT