@event4u/agent-config 2.13.0 → 2.14.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 (64) hide show
  1. package/.agent-src/commands/memory/learn-low-impact.md +143 -0
  2. package/.agent-src/rules/ask-when-uncertain.md +10 -6
  3. package/.agent-src/rules/copilot-routing.md +1 -1
  4. package/.agent-src/rules/devcontainer-routing.md +1 -1
  5. package/.agent-src/rules/external-reference-deep-dive.md +1 -1
  6. package/.agent-src/rules/fast-path-marker-visibility.md +38 -0
  7. package/.agent-src/rules/low-impact-corpus-privacy-floor.md +74 -0
  8. package/.agent-src/rules/symfony-routing.md +1 -1
  9. package/.agent-src/skills/ai-council/SKILL.md +208 -8
  10. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  11. package/.claude-plugin/marketplace.json +2 -1
  12. package/CHANGELOG.md +299 -124
  13. package/README.md +6 -6
  14. package/config/gitignore-block.txt +6 -0
  15. package/docs/architecture.md +12 -12
  16. package/docs/archive/CHANGELOG-pre-2.11.0.md +141 -0
  17. package/docs/catalog.md +10 -7
  18. package/docs/contracts/adr-architectural-consensus-mechanism.md +4 -3
  19. package/docs/contracts/adr-level-6-productization.md +7 -9
  20. package/docs/contracts/ai-council-config.md +492 -20
  21. package/docs/contracts/command-clusters.md +1 -1
  22. package/docs/contracts/command-surface-tiers.md +3 -2
  23. package/docs/contracts/cost-profile-defaults.md +5 -0
  24. package/docs/contracts/decision-engine-gates.md +5 -0
  25. package/docs/contracts/decision-trace-v1.md +2 -2
  26. package/docs/contracts/file-ownership-matrix.json +1735 -72
  27. package/docs/contracts/installed-tools-lockfile.md +2 -1
  28. package/docs/contracts/low-impact-corpus-format.md +95 -0
  29. package/docs/contracts/mcp-beta-criteria.md +6 -5
  30. package/docs/contracts/mcp-cloud-scope.md +5 -4
  31. package/docs/contracts/multi-tool-projection-fidelity.md +8 -2
  32. package/docs/contracts/release-trunk-sync.md +4 -3
  33. package/docs/contracts/tier-3-contrib-plugin.md +5 -6
  34. package/docs/getting-started.md +2 -2
  35. package/docs/guidelines/agent-infra/installed-tools-manifest.md +2 -1
  36. package/docs/installation.md +32 -0
  37. package/package.json +1 -1
  38. package/scripts/_cli/cmd_doctor.py +134 -0
  39. package/scripts/ai_council/airgap.py +165 -0
  40. package/scripts/ai_council/cli_hints.py +123 -0
  41. package/scripts/ai_council/clients.py +787 -5
  42. package/scripts/ai_council/compile_corpus.py +178 -0
  43. package/scripts/ai_council/confidence_gate.py +156 -0
  44. package/scripts/ai_council/config.py +1007 -11
  45. package/scripts/ai_council/consensus.py +41 -2
  46. package/scripts/ai_council/events_log.py +137 -0
  47. package/scripts/ai_council/learn_low_impact_preview.py +252 -0
  48. package/scripts/ai_council/low_impact.py +714 -0
  49. package/scripts/ai_council/low_impact_corpus.py +466 -0
  50. package/scripts/ai_council/low_impact_intake.py +163 -0
  51. package/scripts/ai_council/modes.py +6 -1
  52. package/scripts/ai_council/necessity.py +782 -0
  53. package/scripts/ai_council/orchestrator.py +252 -14
  54. package/scripts/ai_council/probation_gate.py +152 -0
  55. package/scripts/ai_council/redact_low_impact_entry.py +155 -0
  56. package/scripts/ai_council/replay.py +155 -0
  57. package/scripts/ai_council/session.py +19 -1
  58. package/scripts/ai_council/shadow_dispatch.py +235 -0
  59. package/scripts/ai_council/solo_dispatch.py +226 -0
  60. package/scripts/audit_cloud_compatibility.py +74 -0
  61. package/scripts/audit_command_surface.py +363 -0
  62. package/scripts/check_council_layout.py +11 -0
  63. package/scripts/council_cli.py +1046 -15
  64. package/scripts/install.sh +12 -0
package/CHANGELOG.md CHANGED
@@ -16,6 +16,184 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
16
16
 
17
17
  ## [Unreleased]
18
18
 
19
+ **PR #150 follow-up hardening (`step-9-pr150-feedback-hardening`)** —
20
+ twelve-phase response to the Claude+GPT review findings on PR #150 plus
21
+ three user-requested settings-shape changes (CLI-default, preferred-single
22
+ member, low-impact dispatch) under one roadmap. New surfaces:
23
+
24
+ - **`defaults.member_mode: cli | api`** (default `cli`) — flips the
25
+ global transport default to CLI-first onboarding (subscription auth,
26
+ no API key). Per-member explicit `mode:` keeps overriding.
27
+ - **`routing.solo_member_fallback_chain: [provider, ...]`** — ordered
28
+ preference list for single-member dispatch. Disabled members are
29
+ skipped; duplicates rejected at config-load time; all-invalid
30
+ escalates to full council (never fails the decision). 15-minute
31
+ auth cache, 3-second timeout per probe.
32
+ - **`low_impact.dispatch: full | single`** (default `full`) — opt-in
33
+ cost-efficient routing for low-impact decisions through
34
+ `routing.solo_member_fallback_chain`. **Iron Law:** `high_impact`
35
+ and `user_required` dispatch are NOT configurable — config validator
36
+ rejects both top-level and `decision_resolution.classes.*` forms,
37
+ including YAML `<<:` anchor smuggling attempts. Sentinel in
38
+ `tests/test_iron_law_config.py`.
39
+ - **Shadow-mode safety net** — when `low_impact.dispatch: single` is
40
+ active, sample (default `0.1`) decisions go to both solo + full
41
+ council. Disagreements append to `agents/council-shadow-log.jsonl`
42
+ (privacy-redactor enforced). `agent-config council shadow-report`
43
+ computes the 7-day rolling SLO (`OK <5%` / `WARN 5–8%` / `BREACH
44
+ >8%`); pre-flight cost disclosure surfaces the verdict. No auto-
45
+ revert — humans decide.
46
+ - **Confidence gate — auto-escalation on uncertain solo runs**
47
+ (`scripts/ai_council/confidence_gate.py`) — every solo response is
48
+ scored before the verdict is returned. Four escalation reasons in
49
+ priority order: `refusal` (empty / refusal markers), `split`
50
+ (two-verdict / option-A-vs-B / Variante 1/2), `short_response`
51
+ (< 20 chars), `low_confidence` (explicit `Confidence: 0.X` marker
52
+ or hedge-word density below floor). Zero extra LLM calls —
53
+ heuristics run in-process. Escalations append `escalated: true` +
54
+ `escalation_reason` to `agents/council-shadow-log.jsonl`; the SLO
55
+ banner appends the rolling auto-escalation rate so quiet uncertainty
56
+ cannot hide behind a flat disagreement rate.
57
+ - **`low_impact.solo_confidence_floor: float`** (default `0.7`,
58
+ range `[0.0, 1.0]`) — threshold for the confidence gate.
59
+ **Iron Law:** `solo_confidence_floor` is also rejected on
60
+ top-level `high_impact:` and `user_required:` — those classes
61
+ never run solo, so a solo-specific knob there is incoherent.
62
+ - **`AGENT_CONFIG_FORCE_FULL_COUNCIL=1`** — per-invocation kill-switch
63
+ that forces full council regardless of `low_impact.dispatch`.
64
+ - **Airgap detection** (`scripts/ai_council/airgap.py`) — installer
65
+ first-run probes DNS for `api.anthropic.com`, `api.openai.com`,
66
+ `generativelanguage.googleapis.com` with 1s timeout per host. All
67
+ fail → banner `airgapped environment detected — defaulting to
68
+ mode: api` and `defaults.member_mode: api` recommendation.
69
+ - **Fast-path marker visibility Iron-Law rule**
70
+ (`.agent-src.uncompressed/rules/fast-path-marker-visibility.md`,
71
+ kernel-tier, always-active) — host agents MUST surface
72
+ `Resolved via low-impact council fast-path: …` markers verbatim;
73
+ swallowing them is a rule violation.
74
+ - **`/memory learn-low-impact --preview`** (default) / `--apply` —
75
+ preview shows promoted entries, refused entries with redaction
76
+ reasons, source-project-stripped diff, and the upstream PR body
77
+ draft before anything is written.
78
+ - **Corpus parser hardening** — typed `CorpusParseError(reason=...)`
79
+ replaces silent skip; seven failure-mode fixtures in
80
+ `tests/fixtures/corpus-robust/` (missing anchor · renamed heading ·
81
+ bullet-without-quotes · duplicate entry · anti-example wrongly
82
+ under Validated · malformed ISO timestamp · redactor-bypass).
83
+ Contract in `docs/contracts/low-impact-corpus-format.md`.
84
+ - **Fuzzy corpus matching (opt-in)** —
85
+ `low_impact.fuzzy_match.{enabled,threshold}` (defaults `false`,
86
+ `0.92`) using `difflib.SequenceMatcher`. High-impact trigger veto
87
+ + anti-example veto preserve the Iron Law.
88
+ - **CLI-binary UX** — pre-flight cost disclosure now prints
89
+ `member X skipped: binary not found, install via <hint>` per
90
+ skipped CLI member; hints sourced from
91
+ `scripts/ai_council/cli_hints.py`.
92
+ - **Doctor CLI checks** — `agent-config doctor --check council-cli`
93
+ reports per CLI member: binary present · auth probe · parse
94
+ fixture · quota remaining · billable flag.
95
+ - **Iron-Law bypass linter** — `audit_cloud_compatibility.py
96
+ --iron-law` scans `scripts/` for raw YAML loads of `ai-council.yml`
97
+ that skip the config validator; baseline is 0 findings; suppress
98
+ legitimate cases with `# iron-law-ok: <reason>` on the load line.
99
+
100
+ Surface delta: **4 new config knobs** (`defaults.member_mode`,
101
+ `routing.solo_member_fallback_chain`, `low_impact.dispatch`,
102
+ `low_impact.solo_confidence_floor`),
103
+ **1 new env-var kill-switch** (`AGENT_CONFIG_FORCE_FULL_COUNCIL`),
104
+ **1 new CLI subcommand** (`council shadow-report`), **1 new CLI flag**
105
+ (`council run --single`), **1 new always-active rule**
106
+ (`fast-path-marker-visibility`), **2 new local-only files**
107
+ (`agents/council-shadow-log.jsonl`, gitignored;
108
+ `scripts/ai_council/airgap.py`). Backward-compat: defaults map the
109
+ existing behaviour (`dispatch=full`, empty chain, `member_mode=cli`
110
+ in fresh installs; existing configs read unchanged). No migration
111
+ script — defaults are silent-safe.
112
+
113
+ **Low-impact corpus YAML lockfile (`step-10-corpus-yaml-lockfile`)** —
114
+ follow-up to the PR #150 review (Punkt 4): the Markdown parser used to
115
+ be the runtime source-of-truth for the low-impact decisions corpus,
116
+ making every human edit-variation (curly quotes, bullet style,
117
+ whitespace, heading rename) a potential parser bomb on the hot path.
118
+ Switched the runtime to a generated YAML lockfile while keeping
119
+ Markdown as the human-editable source. New surfaces:
120
+
121
+ - **`scripts/ai_council/compile_corpus.py`** — build tool that runs
122
+ `parse_corpus_strict()` over `agents/low-impact-decisions.md` and
123
+ emits `agents/low-impact-decisions.lock.yaml` (schema-v1, sorted
124
+ keys, deterministic). `--check` mode exits `1` on drift, `2` on
125
+ parse error.
126
+ - **`agents/low-impact-decisions.lock.yaml`** — generated, **committed**
127
+ lockfile. Schema `{schema_version: 1, provenance: {source_path,
128
+ source_sha256, last_upstreamed}, validated, probation, anti_examples}`.
129
+ Diffed in PR reviews alongside the Markdown source.
130
+ - **`low_impact_corpus.load_corpus_lock()`** — new primitive that
131
+ loads the YAML lockfile and re-materialises a `CorpusParseResult`.
132
+ Schema-version mismatch raises `CorpusParseError` with reason
133
+ `schema_version_mismatch`.
134
+ - **Lenient loaders prefer YAML** — `load_validated_phrases` and
135
+ `load_anti_example_phrases` (consumed by `necessity.py` and
136
+ `low_impact.py` on the hot path) check for the sibling `.lock.yaml`
137
+ first. Missing / malformed lockfile → silent fallback to lenient
138
+ Markdown parsing, so a fresh clone before `task sync` still works.
139
+ - **CI gate** — `task compile-corpus` runs as part of `task sync` and
140
+ `task consistency` (before `git diff --quiet`). A stale lockfile
141
+ fails CI the same way `.agent-src/` drift does.
142
+ - **Preview tool unchanged** — `learn_low_impact_preview.py` keeps
143
+ reading the Markdown directly via `parse_corpus_strict`; it runs
144
+ *before* `task sync` rebuilds the lockfile, so it must read whatever
145
+ the user just edited.
146
+
147
+ The Markdown parser stays in the repo as a build-time dependency, not
148
+ a runtime dependency — a parser regression breaks `task consistency`,
149
+ never the live council. Privacy floor (`low-impact-corpus-privacy-floor`)
150
+ unchanged: the redactor scans entry text, not file format.
151
+
152
+ **Council quota & necessity transparency (`step-8-quota-necessity-transparency`)** —
153
+ the council's two pre-flight gates (`cli_call_budget` and
154
+ `necessity_classifier`) become observable and aligned with the
155
+ "Council always active when enabled" mental model. New surfaces:
156
+
157
+ - `council run` / `council debate` print a one-line
158
+ `council:quota · <provider> used/limit · …` summary before the
159
+ first member fires. Only providers with a configured per-day cap
160
+ appear; uncapped providers are omitted (no false metering).
161
+ - `cli_call_budget.warn_at` (float, default `0.8`) — once
162
+ `used / max_calls_per_day >= warn_at`, the summary line is
163
+ prefixed `⚠️` and a `council:quota · WARN` line names the
164
+ providers near the wall.
165
+ - New `agent-config council quota` subcommand dumps today's
166
+ `~/.event4u/agent-config/cli-calls.json` state plus the configured
167
+ caps. `--reset <provider> --confirm` clears today's counter for one
168
+ provider for manual rollover.
169
+ - **Necessity tier split (D2):** `necessity_classifier.user_explicit_mode`
170
+ (default `warn-only`) separates the agent and user_explicit tiers.
171
+ User-typed `/council` calls proceed by default with an annotated
172
+ stdout line; agent-initiated dispatches keep `educate` behaviour.
173
+ New `warn-only` mode joins the existing `off | educate | block`
174
+ enum — annotates the verdict but never skips.
175
+ - **Persistent events log (D3):** every necessity-gate decision
176
+ (`proceed` / `skip_necessity`) and every quota block
177
+ (`block_quota`) appends one JSON line to `agents/council-events.log`
178
+ (gitignored; never committed). Schema v1 with `schema_version`,
179
+ `ts_utc`, `lens`, `invocation`, `action`, `verdict`,
180
+ `provider_caps`, `original_ask_hash`. `original_ask` is hashed
181
+ `sha256[:12]` before write — the raw prompt is never persisted
182
+ (privacy floor per `agents/low-impact-decisions.md`).
183
+ - **Kill-switch (D5):** `AGENT_CONFIG_NO_EVENTS_LOG=1` disables
184
+ every events-log write in-process. Mirrors the
185
+ `AGENT_CONFIG_LEGACY_ANCHOR=1` pattern from step-7.
186
+
187
+ Surface delta: **1 new subcommand** (`council quota`), **2 new
188
+ config knobs** (`cli_call_budget.warn_at`,
189
+ `necessity_classifier.user_explicit_mode`), **1 new local-only file**
190
+ (`agents/council-events.log`, gitignored). Backward-compat:
191
+ existing `.agent-settings.yml` and `agents/.ai-council.yml` work
192
+ unchanged; new knobs are optional. Docs:
193
+ [`docs/contracts/ai-council-config.md`](docs/contracts/ai-council-config.md)
194
+ + [`docs/installation.md`](docs/installation.md) § AI Council local
195
+ state.
196
+
19
197
  Four roadmaps land in this release.
20
198
 
21
199
  **Tier-0 trim (`road-to-surface-discipline` Phase 1)** — six CLI
@@ -422,13 +600,124 @@ our recommendation order, not its support status.
422
600
  users" tension without removing any path that an existing user
423
601
  might rely on.
424
602
 
425
- # Era: 2.7.x — current
603
+ # Era: 2.11.x — current
426
604
 
427
- > Started at `2.7.0` (2026-05-13). Full entries live inline below.
605
+ > Started at `2.11.0` (2026-05-14). Full entries live inline below.
428
606
  > The drift test caps this era at 200 lines of entry body; growth past
429
- > that forces a new era split (`# Era: 2.8.x`, etc.) — see
607
+ > that forces a new era split (`# Era: 2.12.x`, etc.) — see
430
608
  > [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
431
609
 
610
+ ## [2.14.0](https://github.com/event4u-app/agent-config/compare/2.13.0...2.14.0) (2026-05-15)
611
+
612
+ ### Features
613
+
614
+ * **ai-council:** switch low-impact corpus runtime to YAML lockfile ([c8a4b9c](https://github.com/event4u-app/agent-config/commit/c8a4b9c318f3b0c04b6fcd974790ba2bc2623554))
615
+ * **ai-council:** add corpus YAML compiler and lockfile ([50ffcb8](https://github.com/event4u-app/agent-config/commit/50ffcb809d633aeb760ea0865a90208be431de43))
616
+ * **council:** wire confidence gate into solo dispatch + shadow log ([fcd19d7](https://github.com/event4u-app/agent-config/commit/fcd19d7bd6e12b2c198ec2f3771da5c8c562cd17))
617
+ * **council:** add confidence_gate heuristics module ([acee171](https://github.com/event4u-app/agent-config/commit/acee17182770a7aa31574669b1f74b269ae34c27))
618
+ * **council:** add solo_confidence_floor config knob + Iron Law lock ([2afef0b](https://github.com/event4u-app/agent-config/commit/2afef0b8d853298be6b73da57bb53415acac798d))
619
+ * **audit:** --iron-law flag scans for validator bypasses (step-9 phase 11) ([2e0ef55](https://github.com/event4u-app/agent-config/commit/2e0ef55d625b60ef073b74e9a91a40478e6ff1e3))
620
+ * **ai-council:** airgap detection + installer first-run hook (step-9 phase 11) ([d528d88](https://github.com/event4u-app/agent-config/commit/d528d8832fba6893f52bad587365019016f060aa))
621
+ * **ai-council:** shadow-mode logger + shadow-report CLI (step-9 phase 10) ([052ed1f](https://github.com/event4u-app/agent-config/commit/052ed1f0355fb35277f80d1193cf912d3943753a))
622
+ * **ai-council:** solo-member dispatch via routing fallback chain ([4cf5738](https://github.com/event4u-app/agent-config/commit/4cf5738c209e5fc6ce3c7681112d4f3b4bb89ce9))
623
+ * **ai-council:** config schema for solo dispatch + Iron Law (step-9 phase 8) ([779f302](https://github.com/event4u-app/agent-config/commit/779f3025f3f78b1b275ce1ffb9364ae970d18424))
624
+ * **low-impact:** preview builder for learn-low-impact (step-9 phase 7) ([234647c](https://github.com/event4u-app/agent-config/commit/234647c81336aa30aac648774e0d2fa0416e8dcf))
625
+ * **low_impact:** emit normative fast-path markers per Iron-Law rule ([95b528b](https://github.com/event4u-app/agent-config/commit/95b528ba7dc1ec445c52cbe1844846612afd3d79))
626
+ * **rules:** add fast-path-marker-visibility Iron-Law rule ([82d97c2](https://github.com/event4u-app/agent-config/commit/82d97c206a5b439d535f1cac7777be82ff51269d))
627
+ * **council:** opt-in fuzzy corpus matching with safety vetoes (step-9 P5) ([903b9f1](https://github.com/event4u-app/agent-config/commit/903b9f1f244ee72f6e01ebdc4e8f3be51c76ef23))
628
+ * **council:** harden low-impact corpus parser with typed errors (step-9 P4) ([6e56737](https://github.com/event4u-app/agent-config/commit/6e567375ef8c379ec1696d5f35c41804276f6bbf))
629
+ * **doctor:** add council-cli health check (step-9 P3) ([fcb36f5](https://github.com/event4u-app/agent-config/commit/fcb36f584df423613d353c2119a13e842b52117d))
630
+ * **council:** surface CLI install hints when binary missing (step-9 phase 2) ([2507eea](https://github.com/event4u-app/agent-config/commit/2507eea06d8739bfffe1a036b284f6459ee329e4))
631
+ * **council:** persistent events log with privacy floor (step-8 phase 3) ([e2b30de](https://github.com/event4u-app/agent-config/commit/e2b30de6811b8affedf87c938f32d27d527222d0))
632
+ * **council:** necessity tier split with warn-only default (step-8 phase 2) ([3837299](https://github.com/event4u-app/agent-config/commit/3837299194ae20e09ab076e55f824d596815f1d7))
633
+ * **council:** add CLI quota observability (step-8 phase 1) ([c17d29b](https://github.com/event4u-app/agent-config/commit/c17d29b1ef4113f032ab492a6862aca624c45f48))
634
+ * **council:** enforce canonical output paths at runtime ([9fa50c4](https://github.com/event4u-app/agent-config/commit/9fa50c4d6ea759dd38ff32dbb114163037979b75))
635
+ * **ai-council:** Phase 12 — low-impact decisions corpus ([d82509b](https://github.com/event4u-app/agent-config/commit/d82509bcc91dc4de519a080e44f5aa296de34d5e))
636
+ * **ai-council:** Phase 11 — replay engine + Lightweight-QA fast-path ([8fa5da8](https://github.com/event4u-app/agent-config/commit/8fa5da8b5de982b93c4608c38d95f64ad60c048b))
637
+ * **ai-council:** Phase 10 — impact-based decision routing + cost disclosure ([5dbe837](https://github.com/event4u-app/agent-config/commit/5dbe83743e782351f5eea54a86071b4414208976))
638
+ * **ai-council:** Phase 8-9 — necessity classifier with corpus consultation ([5adfe71](https://github.com/event4u-app/agent-config/commit/5adfe7190f0c379a07c1e51ebe634a7f439ec79b))
639
+ * **ai-council:** Phase 5 — session-trail + negative-test backfill ([dd64874](https://github.com/event4u-app/agent-config/commit/dd648744a5cd3fc3b516851704d943d9625602de))
640
+ * **ai-council:** wire XAI + Perplexity community CLI transports ([4df827c](https://github.com/event4u-app/agent-config/commit/4df827c80c9b6bf51ff41e4e56844c9263dab281))
641
+ * **ai-council:** phase 3 — Codex + Gemini CLI clients wired ([16dd7fe](https://github.com/event4u-app/agent-config/commit/16dd7fe987b685c290d2be2f7594f514979db1fd))
642
+ * **ai-council:** phase 2 — wire AnthropicCliClient end-to-end ([e965ab1](https://github.com/event4u-app/agent-config/commit/e965ab1cf67d5f18b64bafd7370d4ee7d70124af))
643
+ * **ai-council:** phase 1 — CliClient + AnthropicCliClient + daily quota ([df0d88c](https://github.com/event4u-app/agent-config/commit/df0d88c686c02f1e45707787ae196ac7e8371ef6))
644
+ * **ai-council:** phase 0 — extend schema for CLI transport ([cb45344](https://github.com/event4u-app/agent-config/commit/cb45344e6e686af430677a61c2026e972f1bfe45))
645
+ * **readme:** add Personas and Advisors to hero badge ([f11b85e](https://github.com/event4u-app/agent-config/commit/f11b85ea82fd0f0a04b68d18444d4a8c73d86de1))
646
+
647
+ ### Bug Fixes
648
+
649
+ * **council:** allowlist audit-* dirs in layout linter ([09d6900](https://github.com/event4u-app/agent-config/commit/09d69003204c2a86a2cc9f1193b8c33145d856b4))
650
+ * **rules:** align validator_ignore reason between source and projection ([89b7fac](https://github.com/event4u-app/agent-config/commit/89b7facf48d2a4fe39558028bdf15ff40d98c59a))
651
+ * **rules:** allowlist .agent-src.uncompressed/ back-pointer in fast-path-marker ([e74383b](https://github.com/event4u-app/agent-config/commit/e74383b62253ab990e938d1dfdc631d20db94181))
652
+ * **ask-when-uncertain:** trim AI Council prose to clear 12% concentration cap ([59abb4a](https://github.com/event4u-app/agent-config/commit/59abb4a3f827b4f8ecb24b63568b057462ae7649))
653
+ * **ai-council:** mark skill cloud-safe with degrade tier ([3c568e6](https://github.com/event4u-app/agent-config/commit/3c568e6eed6c50f8fee2c1685d25dc7aef9d82ec))
654
+ * **low-impact-floor:** drop forbidden authoring-tree path from rule ([8962291](https://github.com/event4u-app/agent-config/commit/89622914c375d01629ed3795d37fd7adf7a07c60))
655
+ * **ai-council:** restore Phase 11 sections in compressed SKILL.md ([52e4f14](https://github.com/event4u-app/agent-config/commit/52e4f14177acd90fd63b4c1c283b3dbda41a6437))
656
+
657
+ ### Documentation
658
+
659
+ * add (beta) markers next to beta-stability contract links ([0eb55dc](https://github.com/event4u-app/agent-config/commit/0eb55dc1303eb06b52b7f1a88cb2a137a6cde8f9))
660
+ * **reports:** command-surface inventory + AI Council synthesis ([38c3cc3](https://github.com/event4u-app/agent-config/commit/38c3cc39176cefb1c92431c0485659fa442002cf))
661
+ * **council:** document confidence-gate auto-escalation ([4202dac](https://github.com/event4u-app/agent-config/commit/4202dace49401598bb8b7e3033768c99333d1659))
662
+ * **roadmap:** mark step-9 complete and archive ([1c0ca06](https://github.com/event4u-app/agent-config/commit/1c0ca06495f718cda5d1f7065b2d7b07dd4e63f8))
663
+ * **contracts:** declare stability=beta for low-impact-corpus-format ([2114086](https://github.com/event4u-app/agent-config/commit/21140864621b8c1eb9bdb38a0d6b5146e562915a))
664
+ * CHANGELOG + roadmap step-9 phases 10-12 complete ([9f1a220](https://github.com/event4u-app/agent-config/commit/9f1a220f7b44bb96788898f2662782e0d6b4ec99))
665
+ * **roadmap:** mark step-9 Phase 9 complete + regen dashboard ([ae29fbf](https://github.com/event4u-app/agent-config/commit/ae29fbfe32eaf77d847bc00fcee76210e5f17848))
666
+ * **ai-council:** document solo dispatch + Iron Law contract (step-9 phase 8) ([ed12ca9](https://github.com/event4u-app/agent-config/commit/ed12ca9dabc585b0962f82d740a682206caeb2df))
667
+ * **low-impact:** switch /memory learn-low-impact default to --preview (step-9 phase 7) ([493ef5d](https://github.com/event4u-app/agent-config/commit/493ef5d91024761ee2b7a845b992257b76e71671))
668
+ * **roadmap:** mark step-9 phases 0/1/5 complete + regen dashboard ([5f55bad](https://github.com/event4u-app/agent-config/commit/5f55bad0495532431b2451130a2397c144374b58))
669
+ * **roadmap:** mark step-9 phase 4 complete (corpus parser hardening) ([5b35aaa](https://github.com/event4u-app/agent-config/commit/5b35aaa3ab27dd348ef161c4a78321f886775b6a))
670
+ * **roadmap:** mark step-9 phase 2 complete (CLI install hints) ([11ae2ee](https://github.com/event4u-app/agent-config/commit/11ae2ee97753abf6f1e2a18583b5efd84924f208))
671
+ * **council:** document low-impact council opt-in (step-9 phase 1) ([c0fd395](https://github.com/event4u-app/agent-config/commit/c0fd395423693f525fe628a744e6b324a87cf589))
672
+ * **roadmap:** mark step-8 complete and archive ([e7d328d](https://github.com/event4u-app/agent-config/commit/e7d328d7f85acb1df5ce01c559e2809640ee2096))
673
+ * **council:** document quota/necessity transparency surface (step-8 phase 4) ([ba72154](https://github.com/event4u-app/agent-config/commit/ba72154f02bcb791e2864f8ee7818a946710d630))
674
+ * **roadmap:** add step-9 pr-150 feedback hardening + regen progress dashboard ([bf89e80](https://github.com/event4u-app/agent-config/commit/bf89e80e3e238a449daab1399942b6866de920a6))
675
+ * **roadmap:** add step-8 quota necessity transparency ([8aa2385](https://github.com/event4u-app/agent-config/commit/8aa23857583a7e434e9bca1372ef18436f9933e5))
676
+ * **roadmap:** add step-7 agent-folder discovery + minimal init ([a13c963](https://github.com/event4u-app/agent-config/commit/a13c96335bc8244eeeee9bb3dfb1e30aa292e179))
677
+ * **roadmap:** add step-2 feedback follow-up roadmap ([b9f34d3](https://github.com/event4u-app/agent-config/commit/b9f34d39d94d28d6e2d9eba2748995d579b36373))
678
+ * **roadmap:** expand step-1 with safety net, impact routing, and low-impact corpus ([3925a74](https://github.com/event4u-app/agent-config/commit/3925a74b5cdba6d9c6b92fbaf1c0cf6e05fb1cd3))
679
+
680
+ ### Refactoring
681
+
682
+ * **commands:** nest learn-low-impact under memory cluster ([473dc97](https://github.com/event4u-app/agent-config/commit/473dc9776cd3dfb55f66e06977c1abaf02afcc01))
683
+
684
+ ### Tests
685
+
686
+ * **install:** sandbox HOME for --global guard test ([189baef](https://github.com/event4u-app/agent-config/commit/189baefe91d72392753ca144ae290a23e253a266))
687
+ * **ai-council:** Iron-Law sentinel for locked dispatch (step-9 phase 11) ([c5b617a](https://github.com/event4u-app/agent-config/commit/c5b617aeae79431ba4071a436f12a7ca35dd144b))
688
+ * **council:** cover step-8 quota + necessity-tier surface (phase 5) ([be4eba3](https://github.com/event4u-app/agent-config/commit/be4eba3dba54c5f6926924e80dd56ff312a4124a))
689
+
690
+ ### Build
691
+
692
+ * **ai-council:** wire compile-corpus into consistency + sync ([5a35b90](https://github.com/event4u-app/agent-config/commit/5a35b9037ee161f24224b71b2431e1c6bdbe6f86))
693
+
694
+ ### Chores
695
+
696
+ * **roadmap:** close out + archive step-2-feedback-followup ([fc347d2](https://github.com/event4u-app/agent-config/commit/fc347d28d93b1237300bbc3b31b1877a147857ca))
697
+ * **roadmap:** mark step-2-feedback-followup phases 1-3 complete ([6f8c456](https://github.com/event4u-app/agent-config/commit/6f8c4567993067b039ca9aebf680aaf76bd5e69c))
698
+ * **scripts:** add command-surface audit tool ([e118870](https://github.com/event4u-app/agent-config/commit/e11887001cf0e5bd68ee46164bb8d27a7f9a7a32))
699
+ * **roadmaps:** archive step-10 (corpus YAML lockfile complete) ([1d5ecfa](https://github.com/event4u-app/agent-config/commit/1d5ecfa07f63103456d4647a121a83e662a2d686))
700
+ * **index:** regenerate after auto-rule description trims ([fb39853](https://github.com/event4u-app/agent-config/commit/fb398539a22b82c530ec9cc39adb4343475edf6b))
701
+ * **rules:** trim auto-rule descriptions to fit 150-char Augment cap ([7755665](https://github.com/event4u-app/agent-config/commit/77556655e9db859a3c8bb3ca90931724bb144b9f))
702
+ * **ownership:** regenerate ownership matrix ([3661223](https://github.com/event4u-app/agent-config/commit/3661223dea90d842239a947c8d605ac22257cfc1))
703
+ * **lint:** suppress pre-existing council references with allowed pragma ([3770fb7](https://github.com/event4u-app/agent-config/commit/3770fb76f661a7042fd014ce18537babf6d6a127))
704
+ * **roadmaps:** tag step-7 and step-9 as structural ([99e8801](https://github.com/event4u-app/agent-config/commit/99e88019d2f8352e3c61932433a159c3e9b1136c))
705
+ * **index:** regenerate agents/index.md + docs/catalog.md ([e3adea4](https://github.com/event4u-app/agent-config/commit/e3adea43c1a8a4bf184f4476ef0a158e48a4c7ce))
706
+ * **lint:** clear pre-existing check-no-roadmap-refs violations (step-9 phase 0) ([41284d4](https://github.com/event4u-app/agent-config/commit/41284d4f990d3beb0efbe31dc8b9782a57a528b5))
707
+ * **changelog:** split off pre-2.11.0 era into archive ([913da95](https://github.com/event4u-app/agent-config/commit/913da950c07ab8221e8fc7b96b28fde3ae6aa83f))
708
+ * **roadmap:** archive step-1-ai-council-cli-transport (100% complete) ([2a9eaa5](https://github.com/event4u-app/agent-config/commit/2a9eaa558178349819609cf73f33300dcc3b846f))
709
+ * **index:** regenerate after learn-low-impact cluster move ([6d38afb](https://github.com/event4u-app/agent-config/commit/6d38afbca4ff8b2f75ea6d3669f9a15a1a49b2f4))
710
+ * **counts:** bump documented command count 108 to 109 ([6ada77d](https://github.com/event4u-app/agent-config/commit/6ada77d42b367909c68381f5c1bd9480960dd85f))
711
+ * **index:** regenerate after low-impact-corpus + learn-low-impact ([e256dd0](https://github.com/event4u-app/agent-config/commit/e256dd0d56492fbe390ab60b7902a99d1b509d50))
712
+ * **roadmap:** mark Phase 8-12 complete + regenerate dashboards ([8f14a9c](https://github.com/event4u-app/agent-config/commit/8f14a9c8e5ba16348c45f8ac9cfbeb1f053b26bd))
713
+ * **contracts:** pull keep-beta-until back inside 90-day window ([8b4c8c9](https://github.com/event4u-app/agent-config/commit/8b4c8c9de4fab092e8bc4c7580b2b435de85e973))
714
+ * **docs:** clear pre-existing check-public-links failures ([822c40e](https://github.com/event4u-app/agent-config/commit/822c40e9f90d81ffdcdb1a3fa590dc0d0e89c9f5))
715
+ * **roadmap:** stub agents/low-impact-decisions.md for Phase 12 forward-ref ([3af26f6](https://github.com/event4u-app/agent-config/commit/3af26f67f3ad86afc5a964a75ac3173526772b95))
716
+ * **templates:** bump agent_config_version to 2.13.0 ([1e5ddcd](https://github.com/event4u-app/agent-config/commit/1e5ddcd6d6aeed485253e8476c002262a3e95962))
717
+ * **roadmap:** regenerate roadmaps progress dashboard ([3a33c7e](https://github.com/event4u-app/agent-config/commit/3a33c7eda801c25aacb13ec2e58680f9f856cc91))
718
+
719
+ Tests: 4340 (+472 since 2.13.0)
720
+
432
721
  ## [2.13.0](https://github.com/event4u-app/agent-config/compare/2.12.0...2.13.0) (2026-05-14)
433
722
 
434
723
  ### Features
@@ -544,129 +833,15 @@ Tests: 3718 (+0 since 2.11.0)
544
833
 
545
834
  Tests: 3718 (+55 since 2.10.0)
546
835
 
547
- ## [2.10.0](https://github.com/event4u-app/agent-config/compare/2.9.0...2.10.0) (2026-05-14)
548
-
549
- ### Features
550
-
551
- * **ci:** lint-hook-concern-budget Tier-1 fail-closed gate ([8d60b8a](https://github.com/event4u-app/agent-config/commit/8d60b8ab464c4c5bdc6d072bb2a9b0123942e13b))
552
- * **cli:** settings:check command + YAML subset contract ([638e740](https://github.com/event4u-app/agent-config/commit/638e74017ffea8d7c08073a949e86fde047db109))
553
- * **hooks:** hooks:doctor + hooks:replay subcommands + fixture corpus ([3156e25](https://github.com/event4u-app/agent-config/commit/3156e25fd3253fc926a57b92e14b407a9ed54b58))
554
- * **work-engine:** add decision-trace memory_visibility hook + scoring ([bf056ac](https://github.com/event4u-app/agent-config/commit/bf056ace877a696afa5fe758053ea1eb350e5dff))
555
-
556
- ### Bug Fixes
557
-
558
- * **roadmap:** point productization P6 gate at archived proof-not-features path ([35a1009](https://github.com/event4u-app/agent-config/commit/35a1009cffdfde28c7b0384c890c31a7e62b70cf))
559
-
560
- ### Documentation
561
-
562
- * **roadmap:** complete road-to-proof-not-features 16/16 + sync dashboard ([89af72d](https://github.com/event4u-app/agent-config/commit/89af72d5514b74c19d533b5a2e69ff7ddf16ecbc))
563
- * **readme:** split README by audience + audience-order contract ([60a87c0](https://github.com/event4u-app/agent-config/commit/60a87c056555a80585d25555f3d5b87d54c7283a))
564
-
565
- ### Refactoring
566
-
567
- * **check-council-references:** structural carve-outs for immutable inputs and decision provenance ([3ed7784](https://github.com/event4u-app/agent-config/commit/3ed77841c42c5e3ebf4191611bb7fa4a52ed2fa0))
568
-
569
- ### Chores
570
-
571
- * **roadmap:** archive road-to-proof-not-features (16/16 done, Phase 1 deferred) ([9d05aed](https://github.com/event4u-app/agent-config/commit/9d05aed79a46023b1e95c5488a1e3d5e78748e67))
572
-
573
- Tests: 3663 (+60 since 2.9.0)
574
-
575
- ## [2.9.0](https://github.com/event4u-app/agent-config/compare/2.8.0...2.9.0) (2026-05-13)
576
-
577
- ### Features
578
-
579
- * tier-usage telemetry settings + report template ([22172f2](https://github.com/event4u-app/agent-config/commit/22172f2a59b530034633ff72226506006c5fd81b))
580
- * mcp beta-readiness criteria with pending gate tests ([3653788](https://github.com/event4u-app/agent-config/commit/36537880e03546e9baf424b2fdd70aa69d41eb03))
581
- * expand doctor diagnostic hub to 10 checks ([372c193](https://github.com/event4u-app/agent-config/commit/372c19362f8037c76f919a2d918780ae5ec9cb40))
582
- * **roadmap:** add road-to-surface-discipline (council-reviewed) ([d9da987](https://github.com/event4u-app/agent-config/commit/d9da9870989ccdb7594cd693e9b18608b957ab79))
583
- * **linter:** wing-4 cognition-boundary checks + spine slot vocab ([c4d9a4b](https://github.com/event4u-app/agent-config/commit/c4d9a4ba8e5c7184b9be0a58d4d8b220a60cab7c))
836
+ # Era: pre-2.11.0 — archived
584
837
 
585
- ### Bug Fixes
586
-
587
- * **skills:** clear missing_inspect_step + bare_noun warnings ([0c88c6e](https://github.com/event4u-app/agent-config/commit/0c88c6ee45873e47fd8c7d356ec82b28b63b12c5))
588
- * **docs:** drop roadmap-file pointers from wing-4 ADRs and handoff ([ccd7624](https://github.com/event4u-app/agent-config/commit/ccd7624127094d0a01eda0901fa41c31319f7bc5))
589
- * **template:** bump agent_config_version pin to 2.8.0 ([f21e916](https://github.com/event4u-app/agent-config/commit/f21e916c6bb793fa6efe7d264a1e069e11ab4c62))
590
- * **skills:** spine slot citations + finance-partner polish ([9072783](https://github.com/event4u-app/agent-config/commit/90727831b223bd970d8425d158940bf3e3bc104f))
591
-
592
- ### Documentation
593
-
594
- * archive surface-discipline roadmap + 2.8.0 changelog ([551e306](https://github.com/event4u-app/agent-config/commit/551e306e43fa82fffda9178bdaa690b19d8bec4e))
595
- * 6-layer architecture refresh + thin-root sync ([91d25a8](https://github.com/event4u-app/agent-config/commit/91d25a80b37fb1c1782c2d5f00f23925ba6ec1b3))
596
- * **roadmap:** complete road-to-money-strategy-ops phase 1 ([83cf9fe](https://github.com/event4u-app/agent-config/commit/83cf9fe99c034b71e146099eddc9ce5b3137f434))
597
- * **contracts:** register wing-4 spine slots + marketplace entries ([75b829d](https://github.com/event4u-app/agent-config/commit/75b829d162bc18ab3dc2dda6614d15a087a4f32a))
598
-
599
- ### Refactoring
600
-
601
- * trim tier-0 surface from 13 to 7 commands ([a9eafd1](https://github.com/event4u-app/agent-config/commit/a9eafd1c5226c10209e3dee2b972f38d9c0f3dd9))
602
-
603
- ### Chores
604
-
605
- * **generated:** regenerate derived outputs for wing-4 additions ([54f3779](https://github.com/event4u-app/agent-config/commit/54f3779a6d2161ed06bfb327c3e416ec107b4016))
606
-
607
- Tests: 3603 (+26 since 2.8.0)
608
-
609
- ## [2.8.0](https://github.com/event4u-app/agent-config/compare/2.7.0...2.8.0) (2026-05-13)
610
-
611
- ### Features
612
-
613
- * **linter:** wing-scoped persona line budgets ([81c8cda](https://github.com/event4u-app/agent-config/commit/81c8cdaf08f243a61f848b2e53fad73305ec173d))
614
- * **personas:** GTM roadmap I1-I4 — Wing-3 personas (CMO, RevOps, CS, Growth-PM) ([a05d49e](https://github.com/event4u-app/agent-config/commit/a05d49e1fd2076effd68dabce7a0789676b2bbf5))
615
- * **skills:** GTM roadmap H8-H16 — RevOps, CS, Growth-PM clusters ([f79e7a1](https://github.com/event4u-app/agent-config/commit/f79e7a11f5447466c05c6be613a618b9c564a4b1))
616
- * **gtm:** H3–H7 — complete CMO cluster skills (gtm-launch, editorial-calendar, content-funnel-design, voice-and-tone-design, fundraising-narrative) ([a905bea](https://github.com/event4u-app/agent-config/commit/a905bea811a02d973a682465525ca39d274d3342))
617
- * **gtm:** H1+H2 — positioning + messaging-architecture senior skills ([00aeb27](https://github.com/event4u-app/agent-config/commit/00aeb279be9924c01dea998df7ee91442fd3ff88))
618
- * **gtm:** G3 — Wing-3 handoff guideline + Block G closed ([15643da](https://github.com/event4u-app/agent-config/commit/15643da3e2e96a6b00a738e8f4b7ba10edd18187))
619
- * **gtm:** G2 — Wing-3 cognition-boundary linter ([8445921](https://github.com/event4u-app/agent-config/commit/84459218a914dd5d39c524824e9e0a597c28daec))
620
- * **gtm:** G1 — extend context-spine with Wing-3 slots ([853e653](https://github.com/event4u-app/agent-config/commit/853e6538fff24429ab0f4136f5eec5d4b992dda4))
621
-
622
- ### Bug Fixes
623
-
624
- * **refs:** drop roadmap-file citations from GTM ADR + handoff guideline ([092a01d](https://github.com/event4u-app/agent-config/commit/092a01d7bcd6b51c85d12bfcf83dc973b35c0fcc))
625
- * **contracts:** add stability frontmatter to command-surface-tiers.md ([3ab2ffd](https://github.com/event4u-app/agent-config/commit/3ab2ffde4345b4ca30cc4d64926f571bce5ce7dd))
626
- * **lint:** teach context-spine linter the Wing-3 GTM slots ([5bf81d5](https://github.com/event4u-app/agent-config/commit/5bf81d51864b652301d890eafb0574641d05b71a))
627
- * **refs:** replace dangling skill backticks with plain phrasing in GTM skills ([9f20b06](https://github.com/event4u-app/agent-config/commit/9f20b0612b58f8ef0273bfbe5f830793f4dca131))
628
- * **template:** bump agent_config_version to 2.7.0 in agent-project-settings template ([ac65734](https://github.com/event4u-app/agent-config/commit/ac657343a81879c3aee4664728e15233863016a5))
629
-
630
- ### Refactoring
631
-
632
- * **skill:** rename positioning → positioning-strategy ([be1a5c9](https://github.com/event4u-app/agent-config/commit/be1a5c9019ac18fabde14469784db42aa7588a14))
633
-
634
- ### Chores
635
-
636
- * **index:** regenerate after positioning → positioning-strategy rename ([9f42d91](https://github.com/event4u-app/agent-config/commit/9f42d9148f196d30635ae8288e9bba0feda66067))
637
- * **changelog:** split era 2.2.x → pre-2.7.0 ([7158c30](https://github.com/event4u-app/agent-config/commit/7158c30db391f3464fd74f3c7e193698b869b82d))
638
- * **generated:** refresh agents/index.md and docs/catalog.md for GTM skills/personas ([649b86e](https://github.com/event4u-app/agent-config/commit/649b86e287ecef7d0d28ce23ed2b0cbf43f2adc6))
639
- * **generated:** regenerate .claude/ tool output + marketplace + compression hashes for GTM skills/personas ([bb7d56c](https://github.com/event4u-app/agent-config/commit/bb7d56cd8e7cafb9037a4e6ec0078e56154f9d5c))
640
- * **roadmap:** archive road-to-gtm-and-growth — G+H+I all shipped ([dc48cdd](https://github.com/event4u-app/agent-config/commit/dc48cdd29e236c745e98b5f5fb8b45fa716a4c07))
641
-
642
- Tests: 3577 (+11 since 2.7.0)
643
-
644
- ## [2.7.0](https://github.com/event4u-app/agent-config/compare/2.6.1...2.7.0) (2026-05-13)
645
-
646
- ### Features
647
-
648
- * **install:** make augment global-only per ADR-007 amendment ([ea9a82f](https://github.com/event4u-app/agent-config/commit/ea9a82f2305a2a178b058ee66c40859790620d63))
649
- * **mcp:** define mcp_scope lite vs full boundary in cloud-scope contract ([15a268c](https://github.com/event4u-app/agent-config/commit/15a268c9f86fabe677b4d70db9fd4e3d1726ef8a))
650
- * **commands:** tier the slash + CLI command surface (Phase 4 of road-to-distribution-maturity) ([cc0102f](https://github.com/event4u-app/agent-config/commit/cc0102fe9677c936f703fd6e08b75cc99f758071))
651
- * **distribution:** roadmap phases 1+2 — MCP auth-surface sync + verified-offline install ([a85c1af](https://github.com/event4u-app/agent-config/commit/a85c1afdc457c5fa4d939afc2d91649c67926501))
652
-
653
- ### Bug Fixes
654
-
655
- * **refs:** point evaluation-2-2-2-followups at archived roadmap location ([cde02e6](https://github.com/event4u-app/agent-config/commit/cde02e6fd3bfbb2d67e2a8e3976fe6794ea4de6c))
656
-
657
- ### Documentation
658
-
659
- * **architecture:** split docs/architecture.md into four pipeline sub-pages + drift test ([4f13cf5](https://github.com/event4u-app/agent-config/commit/4f13cf504c0b2d9b92661234a597b5515a7c54e8))
660
- * **roadmap:** add distribution-maturity roadmap with council verdicts folded in ([14145cf](https://github.com/event4u-app/agent-config/commit/14145cff75ef34065358a2e99ee8c220ab0e59a0))
661
-
662
- ### Chores
663
-
664
- * **ci:** refresh compression hashes after cc0102fe tiering pass ([ca06729](https://github.com/event4u-app/agent-config/commit/ca06729d03bb8bd8d1536b7aecef1d1b134d8333))
665
- * finalize roadmaps ([bb156ea](https://github.com/event4u-app/agent-config/commit/bb156ea4f52741d511c3e54cd87e3bcab2fbf107))
666
- * **roadmap:** close road-to-distribution-maturity, archive ([d48e5d6](https://github.com/event4u-app/agent-config/commit/d48e5d64f9396f6b75b47bf336fd6ac129c8e254))
667
- * **changelog:** split into eras, archive pre-2.2.0 entries ([e54c5cb](https://github.com/event4u-app/agent-config/commit/e54c5cbf0222de7f0f4c84a379118f4ea30b5a07))
838
+ > All entries from `2.10.0` through `2.7.0` live in
839
+ > [`docs/archive/CHANGELOG-pre-2.11.0.md`](docs/archive/CHANGELOG-pre-2.11.0.md).
840
+ > The archive is read-only; git tags `2.10.0` and prior remain the
841
+ > canonical source for what shipped. Splitting these out of the main
842
+ > file keeps the active era under the 200-line drift cap enforced by
843
+ > `tests/test_changelog_eras.py`.
668
844
 
669
- Tests: 3566 (+36 since 2.6.1)
670
845
 
671
846
  # Era: pre-2.7.0 — archived
672
847
 
package/README.md CHANGED
@@ -7,7 +7,7 @@ Give your AI agents an audit-disciplined orchestration contract — testing, Git
7
7
  > Your agent picks up the project's stack, runs tests, prepares PRs, fixes CI — and follows your team's coding standards while doing it. Stack-aware skill sets ship for PHP (Laravel · Symfony · Zend/Laminas), JavaScript (Next.js · React · Node), and cross-stack concerns (API · testing · security · observability).
8
8
 
9
9
  <p align="center">
10
- <strong>210 Skills</strong> · <strong>65 Rules</strong> · <strong>108 Commands</strong> · <strong>72 Guidelines</strong> · <strong>8 AI Tools</strong>
10
+ <strong>210 Skills</strong> · <strong>67 Rules</strong> · <strong>109 Commands</strong> · <strong>72 Guidelines</strong> · <strong>22 Personas</strong> · <strong>5 Advisors</strong> · <strong>8 AI Tools</strong>
11
11
  </p>
12
12
 
13
13
  ---
@@ -31,8 +31,8 @@ replay it. [Core Principles](#core-principles) names the four invariants.
31
31
  [What this package is — and what it isn't](#what-this-package-is--and-what-it-isnt)
32
32
  draws the scope boundary. [Documentation](#documentation) lists the
33
33
  contracts the package ships against, including
34
- [`memory-visibility-v1`](docs/contracts/memory-visibility-v1.md) and
35
- [`decision-trace-v1`](docs/contracts/decision-trace-v1.md).
34
+ [`memory-visibility-v1`](docs/contracts/memory-visibility-v1.md) (beta) and
35
+ [`decision-trace-v1`](docs/contracts/decision-trace-v1.md) (beta).
36
36
 
37
37
  ## Contribute
38
38
 
@@ -288,7 +288,7 @@ Install in the same project (dev-only):
288
288
  npm install --save-dev @event4u/agent-memory
289
289
  ```
290
290
 
291
- → [Memory contract & retrieval API](docs/contracts/agent-memory-contract.md) (beta) · [Built-in MCP server](docs/mcp-server.md) (experimental — local stdio access from Claude Desktop / Cursor / Zed / Continue, install with `task mcp:setup`; promotion to beta gated on [`mcp-beta-criteria.md`](docs/contracts/mcp-beta-criteria.md))
291
+ → [Memory contract & retrieval API](docs/contracts/agent-memory-contract.md) (beta) · [Built-in MCP server](docs/mcp-server.md) (experimental — local stdio access from Claude Desktop / Cursor / Zed / Continue, install with `task mcp:setup`; promotion to beta gated on `docs/contracts/mcp-beta-criteria.md`)
292
292
 
293
293
  ---
294
294
 
@@ -524,7 +524,7 @@ kernel set: [`docs/contracts/kernel-membership.md`](docs/contracts/kernel-member
524
524
  | [`/jira-ticket`](.agent-src/commands/jira-ticket.md) | Read ticket from branch, implement feature |
525
525
  | [`/compress`](.agent-src/commands/compress.md) | Compress skills for token efficiency |
526
526
 
527
- → [Browse all 108 active commands](.agent-src/commands/)
527
+ → [Browse all 109 active commands](.agent-src/commands/)
528
528
 
529
529
  ---
530
530
 
@@ -556,7 +556,7 @@ slash-commands) &nbsp; 📌 = informational marker only (no auto-discovery
556
556
  or manual wiring required)
557
557
 
558
558
  > **What this means in practice:** Claude Code gets the full project-scoped
559
- > package (rules + 210 skills + 108 native commands); Augment Code gets the
559
+ > package (rules + 210 skills + 109 native commands); Augment Code gets the
560
560
  > same content but only from a single global install at `~/.augment/`.
561
561
  > Cursor, Cline, Windsurf, Gemini CLI, GitHub Copilot, Roo Code, Codex CLI,
562
562
  > and Continue.dev only get the **rules** natively; skills and commands are
@@ -37,6 +37,12 @@
37
37
  /agents/council-responses/
38
38
  /agents/council-sessions/
39
39
 
40
+ # Agent config — AI Council persistent events log (step-8 D3).
41
+ # Local JSONL audit trail for necessity / quota decisions. Hashes
42
+ # original_ask before write but is still considered private. Set
43
+ # AGENT_CONFIG_NO_EVENTS_LOG=1 to disable writes entirely.
44
+ /agents/council-events.log
45
+
40
46
  # Agent config — Tier 1 hook runtime state (context-hygiene.json,
41
47
  # onboarding-gate.json). Written by SessionStart / PostToolUse hooks
42
48
  # on Augment + Claude Code; regenerated on demand, never commit.
@@ -17,12 +17,12 @@ MCP Lite/Full → Hosted read-only (Lite) · local stdio (Full)
17
17
 
18
18
  | Layer | Canonical contract | Tier |
19
19
  |---|---|---|
20
- | **Distribution** | [`installed-tools-lockfile.md`](contracts/installed-tools-lockfile.md) + the "Distribution model" subsection below | stable |
21
- | **Governance** | [`command-clusters.md`](contracts/command-clusters.md) + [`command-surface-tiers.md`](contracts/command-surface-tiers.md) | stable |
22
- | **Router-Kernel** | [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) | stable |
20
+ | **Distribution** | [`installed-tools-lockfile.md`](contracts/installed-tools-lockfile.md) + the "Distribution model" subsection below | (beta) |
21
+ | **Governance** | [`command-clusters.md`](contracts/command-clusters.md) + [`command-surface-tiers.md`](contracts/command-surface-tiers.md) | (beta) |
22
+ | **Router-Kernel** | [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) | (beta) |
23
23
  | **Projection** | [`architecture/source-projection.md`](architecture/source-projection.md), [`augment-projection.md`](architecture/augment-projection.md), [`multi-tool-projection.md`](architecture/multi-tool-projection.md), [`claude-bundle.md`](architecture/claude-bundle.md) | stable |
24
- | **Execution Contracts** | [`implement-ticket-flow.md`](contracts/implement-ticket-flow.md), [`orchestration-dsl-v1.md`](contracts/orchestration-dsl-v1.md), [`adr-product-ui-track.md`](contracts/adr-product-ui-track.md) | stable (skills · commands) / beta (work-engine · roadmap engine) |
25
- | **MCP Lite/Full** | [`mcp-phase-1-scope.md`](contracts/mcp-phase-1-scope.md), [`mcp-cloud-scope.md`](contracts/mcp-cloud-scope.md), [`mcp-beta-criteria.md`](contracts/mcp-beta-criteria.md) | experimental — promotion to beta gated on `mcp-beta-criteria.md` (six artefact gates, monitored by `agent-config doctor --check mcp-beta-readiness`) |
24
+ | **Execution Contracts** | [`implement-ticket-flow.md`](contracts/implement-ticket-flow.md), [`orchestration-dsl-v1.md`](contracts/orchestration-dsl-v1.md), [`adr-product-ui-track.md`](contracts/adr-product-ui-track.md) | stable (adr-product-ui-track) / (beta) (implement-ticket-flow · orchestration-dsl-v1) |
25
+ | **MCP Lite/Full** | `docs/contracts/mcp-phase-1-scope.md`, `docs/contracts/mcp-cloud-scope.md`, `docs/contracts/mcp-beta-criteria.md` | experimental — promotion to beta gated on `mcp-beta-criteria.md` (six artefact gates, monitored by `agent-config doctor --check mcp-beta-readiness`) |
26
26
 
27
27
  Stability tiers follow [`docs/contracts/STABILITY.md`](contracts/STABILITY.md):
28
28
 
@@ -34,10 +34,10 @@ Stability tiers follow [`docs/contracts/STABILITY.md`](contracts/STABILITY.md):
34
34
 
35
35
  Four load-bearing additions reshaped the top of the model between 2.2.2 and the current release. They are listed here so the diagram above reads as the *current* package, not a historical accumulation:
36
36
 
37
- 1. **Router-Kernel** — the always-loaded Iron Laws collapsed into a 9-rule kernel with explicit per-rule character budgets enforced by `task lint-rule-budget`; everything else routes via tier-1/2 (`.agent-src/router.json`). Contract: [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md).
38
- 2. **MCP Lite/Full** — replaces the old "Tool Adapters" layer at the top level. Lite is the hosted read-only surface (Claude.ai, Cloud agents); Full is the local stdio server consumers self-host. Promotion to beta is gated on six falsifiable artefacts in [`mcp-beta-criteria.md`](contracts/mcp-beta-criteria.md); the old GitHub / Jira adapters remain as an internal detail of the Execution Contracts layer (see Tool Adapters subsection below).
37
+ 1. **Router-Kernel** — the always-loaded Iron Laws collapsed into a 9-rule kernel with explicit per-rule character budgets enforced by `task lint-rule-budget`; everything else routes via tier-1/2 (`.agent-src/router.json`). Contract: [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) — both (beta).
38
+ 2. **MCP Lite/Full** — replaces the old "Tool Adapters" layer at the top level. Lite is the hosted read-only surface (Claude.ai, Cloud agents); Full is the local stdio server consumers self-host. Promotion to beta is gated on six falsifiable artefacts in `docs/contracts/mcp-beta-criteria.md`; the old GitHub / Jira adapters remain as an internal detail of the Execution Contracts layer (see Tool Adapters subsection below).
39
39
  3. **npx distribution** — Composer and `npm install` paths retired in favour of `npx @event4u/agent-config`, with the lockfile-equivalent role played by `agent_config_version` in `.agent-settings.yml`. Full rationale in the "Distribution model" subsection below.
40
- 4. **Command tiering** — `/`-commands now declare a `tier:` (0 / 1 / 2 / 3) that maps to invocation frequency and surface budget; tier-0 is the trimmed Tier-0 set surfaced in `agent-config --help` after the 2.7.x surface-discipline pass. Contract: [`command-surface-tiers.md`](contracts/command-surface-tiers.md) + [`command-clusters.md`](contracts/command-clusters.md).
40
+ 4. **Command tiering** — `/`-commands now declare a `tier:` (0 / 1 / 2 / 3) that maps to invocation frequency and surface budget; tier-0 is the trimmed Tier-0 set surfaced in `agent-config --help` after the 2.7.x surface-discipline pass. Contract: [`command-surface-tiers.md`](contracts/command-surface-tiers.md) + [`command-clusters.md`](contracts/command-clusters.md) — both (beta).
41
41
 
42
42
  > The previous "observability, feedback, lifecycle" layers were removed in
43
43
  > 1.5 — they were scaffolds without production consumers. The "Tool
@@ -142,8 +142,8 @@ note, package-internal path-swap, description budget, and the
142
142
  | Layer | Count | Purpose |
143
143
  |---|---|---|
144
144
  | **Skills** | 210 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
145
- | **Rules** | 65 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
146
- | **Commands** | 108 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
145
+ | **Rules** | 67 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
146
+ | **Commands** | 109 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
147
147
  | **Guidelines** | 72 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
148
148
  | **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
149
149
  | **Contexts** | 5 | Shared knowledge about the system itself |
@@ -161,7 +161,7 @@ note, package-internal path-swap, description budget, and the
161
161
  - **Guidelines** → reference-only documentation
162
162
  - **Commands** → workflow orchestration
163
163
 
164
- Ensures: no guessing, analysis before action, real verification, consistent outputs. Canonical contracts: [`kernel-membership.md`](contracts/kernel-membership.md), [`rule-router.md`](contracts/rule-router.md), [`command-clusters.md`](contracts/command-clusters.md), [`command-surface-tiers.md`](contracts/command-surface-tiers.md).
164
+ Ensures: no guessing, analysis before action, real verification, consistent outputs. Canonical contracts (all (beta)): [`kernel-membership.md`](contracts/kernel-membership.md), [`rule-router.md`](contracts/rule-router.md), [`command-clusters.md`](contracts/command-clusters.md), [`command-surface-tiers.md`](contracts/command-surface-tiers.md).
165
165
 
166
166
  ### 2. Runtime Dispatcher — stable mechanism, pilot coverage
167
167
 
@@ -248,7 +248,7 @@ independent components with separate stability tiers.
248
248
 
249
249
  ### 4. Tool Adapters — experimental (internal detail; superseded at the top level by MCP)
250
250
 
251
- > **Position in the new model.** Tool Adapters no longer occupy a top-level layer — that slot is now **MCP Lite/Full**. The adapter classes still ship as the internal mechanism the Work Engine uses for inline GitHub/Jira reads, but external integration is meant to land via MCP going forward. See [`mcp-phase-1-scope.md`](contracts/mcp-phase-1-scope.md), [`mcp-cloud-scope.md`](contracts/mcp-cloud-scope.md), and [`mcp-beta-criteria.md`](contracts/mcp-beta-criteria.md) for the surface that replaces this layer at the top level.
251
+ > **Position in the new model.** Tool Adapters no longer occupy a top-level layer — that slot is now **MCP Lite/Full**. The adapter classes still ship as the internal mechanism the Work Engine uses for inline GitHub/Jira reads, but external integration is meant to land via MCP going forward. See `docs/contracts/mcp-phase-1-scope.md`, `docs/contracts/mcp-cloud-scope.md`, and `docs/contracts/mcp-beta-criteria.md` for the surface that replaces this layer at the top level.
252
252
 
253
253
  > **Status: scaffold + read-only GitHub calls.** With a `GITHUB_TOKEN` the
254
254
  > GitHub adapter performs real read calls; without one it returns scaffold