@event4u/agent-config 2.13.0 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.agent-src/commands/agents/user/accept.md +117 -0
  2. package/.agent-src/commands/agents/user/init.md +163 -0
  3. package/.agent-src/commands/agents/user/review.md +107 -0
  4. package/.agent-src/commands/agents/user/show.md +109 -0
  5. package/.agent-src/commands/agents/user/update.md +98 -0
  6. package/.agent-src/commands/agents/user.md +66 -0
  7. package/.agent-src/commands/agents.md +2 -0
  8. package/.agent-src/commands/memory/learn-low-impact.md +143 -0
  9. package/.agent-src/rules/ask-when-uncertain.md +10 -6
  10. package/.agent-src/rules/copilot-routing.md +1 -1
  11. package/.agent-src/rules/devcontainer-routing.md +1 -1
  12. package/.agent-src/rules/external-reference-deep-dive.md +1 -1
  13. package/.agent-src/rules/fast-path-marker-visibility.md +38 -0
  14. package/.agent-src/rules/low-impact-corpus-privacy-floor.md +74 -0
  15. package/.agent-src/rules/symfony-routing.md +1 -1
  16. package/.agent-src/skills/ai-council/SKILL.md +208 -8
  17. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  18. package/.claude-plugin/marketplace.json +8 -1
  19. package/CHANGELOG.md +328 -124
  20. package/README.md +21 -6
  21. package/config/agent-settings.template.yml +4 -0
  22. package/config/gitignore-block.txt +17 -0
  23. package/docs/architecture.md +12 -12
  24. package/docs/archive/CHANGELOG-pre-2.11.0.md +141 -0
  25. package/docs/catalog.md +16 -7
  26. package/docs/contracts/adr-architectural-consensus-mechanism.md +4 -3
  27. package/docs/contracts/adr-level-6-productization.md +7 -9
  28. package/docs/contracts/agent-user-schema.md +165 -0
  29. package/docs/contracts/ai-council-config.md +492 -20
  30. package/docs/contracts/command-clusters.md +2 -2
  31. package/docs/contracts/command-surface-tiers.md +3 -2
  32. package/docs/contracts/cost-profile-defaults.md +5 -0
  33. package/docs/contracts/decision-engine-gates.md +5 -0
  34. package/docs/contracts/decision-trace-v1.md +2 -2
  35. package/docs/contracts/file-ownership-matrix.json +1961 -108
  36. package/docs/contracts/installed-tools-lockfile.md +2 -1
  37. package/docs/contracts/low-impact-corpus-format.md +95 -0
  38. package/docs/contracts/mcp-beta-criteria.md +6 -5
  39. package/docs/contracts/mcp-cloud-scope.md +5 -4
  40. package/docs/contracts/multi-tool-projection-fidelity.md +8 -2
  41. package/docs/contracts/release-trunk-sync.md +4 -3
  42. package/docs/contracts/tier-3-contrib-plugin.md +5 -6
  43. package/docs/examples/agent-user.example.md +21 -0
  44. package/docs/getting-started.md +2 -2
  45. package/docs/guidelines/agent-infra/installed-tools-manifest.md +2 -1
  46. package/docs/installation.md +32 -0
  47. package/package.json +1 -1
  48. package/scripts/_cli/cmd_doctor.py +134 -0
  49. package/scripts/ai_council/airgap.py +165 -0
  50. package/scripts/ai_council/cli_hints.py +123 -0
  51. package/scripts/ai_council/clients.py +787 -5
  52. package/scripts/ai_council/compile_corpus.py +178 -0
  53. package/scripts/ai_council/confidence_gate.py +156 -0
  54. package/scripts/ai_council/config.py +1007 -11
  55. package/scripts/ai_council/consensus.py +41 -2
  56. package/scripts/ai_council/events_log.py +137 -0
  57. package/scripts/ai_council/learn_low_impact_preview.py +252 -0
  58. package/scripts/ai_council/low_impact.py +714 -0
  59. package/scripts/ai_council/low_impact_corpus.py +466 -0
  60. package/scripts/ai_council/low_impact_intake.py +163 -0
  61. package/scripts/ai_council/modes.py +6 -1
  62. package/scripts/ai_council/necessity.py +782 -0
  63. package/scripts/ai_council/orchestrator.py +252 -14
  64. package/scripts/ai_council/probation_gate.py +152 -0
  65. package/scripts/ai_council/redact_low_impact_entry.py +155 -0
  66. package/scripts/ai_council/replay.py +155 -0
  67. package/scripts/ai_council/session.py +19 -1
  68. package/scripts/ai_council/shadow_dispatch.py +235 -0
  69. package/scripts/ai_council/solo_dispatch.py +226 -0
  70. package/scripts/audit_cloud_compatibility.py +74 -0
  71. package/scripts/audit_command_surface.py +363 -0
  72. package/scripts/check_council_layout.py +11 -0
  73. package/scripts/council_cli.py +1046 -15
  74. 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,153 @@ 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.15.0](https://github.com/event4u-app/agent-config/compare/2.14.0...2.15.0) (2026-05-15)
611
+
612
+ ### Features
613
+
614
+ * **agent-user:** add /agents user command cluster (init, show, review, accept, update) ([15d53d8](https://github.com/event4u-app/agent-config/commit/15d53d8d9a2365b044831cd42127e247a70d7e20))
615
+ * **agent-user:** add v1 schema contract for .agent-user.md persona file ([64f4eab](https://github.com/event4u-app/agent-config/commit/64f4eab62ccf6a2606fbca0c56d398372c05a7a0))
616
+
617
+ ### Bug Fixes
618
+
619
+ * **agent-user:** inline council-reference summary per no-roadmap-references ([ee4d3ce](https://github.com/event4u-app/agent-config/commit/ee4d3cedf9f4429450d21ca5badc2ae5c2ecaaed))
620
+ * **agent-user:** drop roadmap references per no-roadmap-references rule ([c8ade8d](https://github.com/event4u-app/agent-config/commit/c8ade8d7c5b495e0e4295aa0cb801e59076ee0b0))
621
+ * **agent-user:** adjust keep-beta-until to fit 90-day window ([801b365](https://github.com/event4u-app/agent-config/commit/801b365117a2d1efb4505e504bdd730e4cbbc217))
622
+
623
+ ### Documentation
624
+
625
+ * **persona:** README section + agent-settings legacy-fallback note ([4da7629](https://github.com/event4u-app/agent-config/commit/4da7629f1f0b5a35a64d0a861040ad8639a66ebe))
626
+ * **roadmap:** mark step-3-agent-user-persona phases as in-progress ([f29d3bc](https://github.com/event4u-app/agent-config/commit/f29d3bce2380c0ea9c67e6094540b88d920ed9ff))
627
+
628
+ ### Chores
629
+
630
+ * **roadmap:** close out + archive step-3-agent-user-persona ([09c0229](https://github.com/event4u-app/agent-config/commit/09c0229efd67af9cad7b2ca8202f4caa351d028d))
631
+ * **ownership:** regenerate file-ownership-matrix for /agents user ([128890d](https://github.com/event4u-app/agent-config/commit/128890d880584704b4842a398555dd979ae54462))
632
+ * **docs:** bump command count from 109 to 115 ([f8c61b1](https://github.com/event4u-app/agent-config/commit/f8c61b1d0ec48034e0d66e8d32534056ca4aa1f0))
633
+ * **template:** bump agent_config_version pin to 2.14.0 ([fcb885f](https://github.com/event4u-app/agent-config/commit/fcb885fd19bdbca46ef91ec4d5e723cc6c186c6d))
634
+ * **index:** regenerate agents/index.md + docs/catalog.md for /agents user ([56b281d](https://github.com/event4u-app/agent-config/commit/56b281d69960d3e57adbd24b9ec6fd24fc1a5aff))
635
+ * **agent-user:** regenerate compressed sources + claude tool stubs ([f79b6d1](https://github.com/event4u-app/agent-config/commit/f79b6d1cfcf1caccde4a723ad779c65d9ed87198))
636
+
637
+ Tests: 4352 (+12 since 2.14.0)
638
+
639
+ ## [2.14.0](https://github.com/event4u-app/agent-config/compare/2.13.0...2.14.0) (2026-05-15)
640
+
641
+ ### Features
642
+
643
+ * **ai-council:** switch low-impact corpus runtime to YAML lockfile ([c8a4b9c](https://github.com/event4u-app/agent-config/commit/c8a4b9c318f3b0c04b6fcd974790ba2bc2623554))
644
+ * **ai-council:** add corpus YAML compiler and lockfile ([50ffcb8](https://github.com/event4u-app/agent-config/commit/50ffcb809d633aeb760ea0865a90208be431de43))
645
+ * **council:** wire confidence gate into solo dispatch + shadow log ([fcd19d7](https://github.com/event4u-app/agent-config/commit/fcd19d7bd6e12b2c198ec2f3771da5c8c562cd17))
646
+ * **council:** add confidence_gate heuristics module ([acee171](https://github.com/event4u-app/agent-config/commit/acee17182770a7aa31574669b1f74b269ae34c27))
647
+ * **council:** add solo_confidence_floor config knob + Iron Law lock ([2afef0b](https://github.com/event4u-app/agent-config/commit/2afef0b8d853298be6b73da57bb53415acac798d))
648
+ * **audit:** --iron-law flag scans for validator bypasses (step-9 phase 11) ([2e0ef55](https://github.com/event4u-app/agent-config/commit/2e0ef55d625b60ef073b74e9a91a40478e6ff1e3))
649
+ * **ai-council:** airgap detection + installer first-run hook (step-9 phase 11) ([d528d88](https://github.com/event4u-app/agent-config/commit/d528d8832fba6893f52bad587365019016f060aa))
650
+ * **ai-council:** shadow-mode logger + shadow-report CLI (step-9 phase 10) ([052ed1f](https://github.com/event4u-app/agent-config/commit/052ed1f0355fb35277f80d1193cf912d3943753a))
651
+ * **ai-council:** solo-member dispatch via routing fallback chain ([4cf5738](https://github.com/event4u-app/agent-config/commit/4cf5738c209e5fc6ce3c7681112d4f3b4bb89ce9))
652
+ * **ai-council:** config schema for solo dispatch + Iron Law (step-9 phase 8) ([779f302](https://github.com/event4u-app/agent-config/commit/779f3025f3f78b1b275ce1ffb9364ae970d18424))
653
+ * **low-impact:** preview builder for learn-low-impact (step-9 phase 7) ([234647c](https://github.com/event4u-app/agent-config/commit/234647c81336aa30aac648774e0d2fa0416e8dcf))
654
+ * **low_impact:** emit normative fast-path markers per Iron-Law rule ([95b528b](https://github.com/event4u-app/agent-config/commit/95b528ba7dc1ec445c52cbe1844846612afd3d79))
655
+ * **rules:** add fast-path-marker-visibility Iron-Law rule ([82d97c2](https://github.com/event4u-app/agent-config/commit/82d97c206a5b439d535f1cac7777be82ff51269d))
656
+ * **council:** opt-in fuzzy corpus matching with safety vetoes (step-9 P5) ([903b9f1](https://github.com/event4u-app/agent-config/commit/903b9f1f244ee72f6e01ebdc4e8f3be51c76ef23))
657
+ * **council:** harden low-impact corpus parser with typed errors (step-9 P4) ([6e56737](https://github.com/event4u-app/agent-config/commit/6e567375ef8c379ec1696d5f35c41804276f6bbf))
658
+ * **doctor:** add council-cli health check (step-9 P3) ([fcb36f5](https://github.com/event4u-app/agent-config/commit/fcb36f584df423613d353c2119a13e842b52117d))
659
+ * **council:** surface CLI install hints when binary missing (step-9 phase 2) ([2507eea](https://github.com/event4u-app/agent-config/commit/2507eea06d8739bfffe1a036b284f6459ee329e4))
660
+ * **council:** persistent events log with privacy floor (step-8 phase 3) ([e2b30de](https://github.com/event4u-app/agent-config/commit/e2b30de6811b8affedf87c938f32d27d527222d0))
661
+ * **council:** necessity tier split with warn-only default (step-8 phase 2) ([3837299](https://github.com/event4u-app/agent-config/commit/3837299194ae20e09ab076e55f824d596815f1d7))
662
+ * **council:** add CLI quota observability (step-8 phase 1) ([c17d29b](https://github.com/event4u-app/agent-config/commit/c17d29b1ef4113f032ab492a6862aca624c45f48))
663
+ * **council:** enforce canonical output paths at runtime ([9fa50c4](https://github.com/event4u-app/agent-config/commit/9fa50c4d6ea759dd38ff32dbb114163037979b75))
664
+ * **ai-council:** Phase 12 — low-impact decisions corpus ([d82509b](https://github.com/event4u-app/agent-config/commit/d82509bcc91dc4de519a080e44f5aa296de34d5e))
665
+ * **ai-council:** Phase 11 — replay engine + Lightweight-QA fast-path ([8fa5da8](https://github.com/event4u-app/agent-config/commit/8fa5da8b5de982b93c4608c38d95f64ad60c048b))
666
+ * **ai-council:** Phase 10 — impact-based decision routing + cost disclosure ([5dbe837](https://github.com/event4u-app/agent-config/commit/5dbe83743e782351f5eea54a86071b4414208976))
667
+ * **ai-council:** Phase 8-9 — necessity classifier with corpus consultation ([5adfe71](https://github.com/event4u-app/agent-config/commit/5adfe7190f0c379a07c1e51ebe634a7f439ec79b))
668
+ * **ai-council:** Phase 5 — session-trail + negative-test backfill ([dd64874](https://github.com/event4u-app/agent-config/commit/dd648744a5cd3fc3b516851704d943d9625602de))
669
+ * **ai-council:** wire XAI + Perplexity community CLI transports ([4df827c](https://github.com/event4u-app/agent-config/commit/4df827c80c9b6bf51ff41e4e56844c9263dab281))
670
+ * **ai-council:** phase 3 — Codex + Gemini CLI clients wired ([16dd7fe](https://github.com/event4u-app/agent-config/commit/16dd7fe987b685c290d2be2f7594f514979db1fd))
671
+ * **ai-council:** phase 2 — wire AnthropicCliClient end-to-end ([e965ab1](https://github.com/event4u-app/agent-config/commit/e965ab1cf67d5f18b64bafd7370d4ee7d70124af))
672
+ * **ai-council:** phase 1 — CliClient + AnthropicCliClient + daily quota ([df0d88c](https://github.com/event4u-app/agent-config/commit/df0d88c686c02f1e45707787ae196ac7e8371ef6))
673
+ * **ai-council:** phase 0 — extend schema for CLI transport ([cb45344](https://github.com/event4u-app/agent-config/commit/cb45344e6e686af430677a61c2026e972f1bfe45))
674
+ * **readme:** add Personas and Advisors to hero badge ([f11b85e](https://github.com/event4u-app/agent-config/commit/f11b85ea82fd0f0a04b68d18444d4a8c73d86de1))
675
+
676
+ ### Bug Fixes
677
+
678
+ * **council:** allowlist audit-* dirs in layout linter ([09d6900](https://github.com/event4u-app/agent-config/commit/09d69003204c2a86a2cc9f1193b8c33145d856b4))
679
+ * **rules:** align validator_ignore reason between source and projection ([89b7fac](https://github.com/event4u-app/agent-config/commit/89b7facf48d2a4fe39558028bdf15ff40d98c59a))
680
+ * **rules:** allowlist .agent-src.uncompressed/ back-pointer in fast-path-marker ([e74383b](https://github.com/event4u-app/agent-config/commit/e74383b62253ab990e938d1dfdc631d20db94181))
681
+ * **ask-when-uncertain:** trim AI Council prose to clear 12% concentration cap ([59abb4a](https://github.com/event4u-app/agent-config/commit/59abb4a3f827b4f8ecb24b63568b057462ae7649))
682
+ * **ai-council:** mark skill cloud-safe with degrade tier ([3c568e6](https://github.com/event4u-app/agent-config/commit/3c568e6eed6c50f8fee2c1685d25dc7aef9d82ec))
683
+ * **low-impact-floor:** drop forbidden authoring-tree path from rule ([8962291](https://github.com/event4u-app/agent-config/commit/89622914c375d01629ed3795d37fd7adf7a07c60))
684
+ * **ai-council:** restore Phase 11 sections in compressed SKILL.md ([52e4f14](https://github.com/event4u-app/agent-config/commit/52e4f14177acd90fd63b4c1c283b3dbda41a6437))
685
+
686
+ ### Documentation
687
+
688
+ * add (beta) markers next to beta-stability contract links ([0eb55dc](https://github.com/event4u-app/agent-config/commit/0eb55dc1303eb06b52b7f1a88cb2a137a6cde8f9))
689
+ * **reports:** command-surface inventory + AI Council synthesis ([38c3cc3](https://github.com/event4u-app/agent-config/commit/38c3cc39176cefb1c92431c0485659fa442002cf))
690
+ * **council:** document confidence-gate auto-escalation ([4202dac](https://github.com/event4u-app/agent-config/commit/4202dace49401598bb8b7e3033768c99333d1659))
691
+ * **roadmap:** mark step-9 complete and archive ([1c0ca06](https://github.com/event4u-app/agent-config/commit/1c0ca06495f718cda5d1f7065b2d7b07dd4e63f8))
692
+ * **contracts:** declare stability=beta for low-impact-corpus-format ([2114086](https://github.com/event4u-app/agent-config/commit/21140864621b8c1eb9bdb38a0d6b5146e562915a))
693
+ * CHANGELOG + roadmap step-9 phases 10-12 complete ([9f1a220](https://github.com/event4u-app/agent-config/commit/9f1a220f7b44bb96788898f2662782e0d6b4ec99))
694
+ * **roadmap:** mark step-9 Phase 9 complete + regen dashboard ([ae29fbf](https://github.com/event4u-app/agent-config/commit/ae29fbfe32eaf77d847bc00fcee76210e5f17848))
695
+ * **ai-council:** document solo dispatch + Iron Law contract (step-9 phase 8) ([ed12ca9](https://github.com/event4u-app/agent-config/commit/ed12ca9dabc585b0962f82d740a682206caeb2df))
696
+ * **low-impact:** switch /memory learn-low-impact default to --preview (step-9 phase 7) ([493ef5d](https://github.com/event4u-app/agent-config/commit/493ef5d91024761ee2b7a845b992257b76e71671))
697
+ * **roadmap:** mark step-9 phases 0/1/5 complete + regen dashboard ([5f55bad](https://github.com/event4u-app/agent-config/commit/5f55bad0495532431b2451130a2397c144374b58))
698
+ * **roadmap:** mark step-9 phase 4 complete (corpus parser hardening) ([5b35aaa](https://github.com/event4u-app/agent-config/commit/5b35aaa3ab27dd348ef161c4a78321f886775b6a))
699
+ * **roadmap:** mark step-9 phase 2 complete (CLI install hints) ([11ae2ee](https://github.com/event4u-app/agent-config/commit/11ae2ee97753abf6f1e2a18583b5efd84924f208))
700
+ * **council:** document low-impact council opt-in (step-9 phase 1) ([c0fd395](https://github.com/event4u-app/agent-config/commit/c0fd395423693f525fe628a744e6b324a87cf589))
701
+ * **roadmap:** mark step-8 complete and archive ([e7d328d](https://github.com/event4u-app/agent-config/commit/e7d328d7f85acb1df5ce01c559e2809640ee2096))
702
+ * **council:** document quota/necessity transparency surface (step-8 phase 4) ([ba72154](https://github.com/event4u-app/agent-config/commit/ba72154f02bcb791e2864f8ee7818a946710d630))
703
+ * **roadmap:** add step-9 pr-150 feedback hardening + regen progress dashboard ([bf89e80](https://github.com/event4u-app/agent-config/commit/bf89e80e3e238a449daab1399942b6866de920a6))
704
+ * **roadmap:** add step-8 quota necessity transparency ([8aa2385](https://github.com/event4u-app/agent-config/commit/8aa23857583a7e434e9bca1372ef18436f9933e5))
705
+ * **roadmap:** add step-7 agent-folder discovery + minimal init ([a13c963](https://github.com/event4u-app/agent-config/commit/a13c96335bc8244eeeee9bb3dfb1e30aa292e179))
706
+ * **roadmap:** add step-2 feedback follow-up roadmap ([b9f34d3](https://github.com/event4u-app/agent-config/commit/b9f34d39d94d28d6e2d9eba2748995d579b36373))
707
+ * **roadmap:** expand step-1 with safety net, impact routing, and low-impact corpus ([3925a74](https://github.com/event4u-app/agent-config/commit/3925a74b5cdba6d9c6b92fbaf1c0cf6e05fb1cd3))
708
+
709
+ ### Refactoring
710
+
711
+ * **commands:** nest learn-low-impact under memory cluster ([473dc97](https://github.com/event4u-app/agent-config/commit/473dc9776cd3dfb55f66e06977c1abaf02afcc01))
712
+
713
+ ### Tests
714
+
715
+ * **install:** sandbox HOME for --global guard test ([189baef](https://github.com/event4u-app/agent-config/commit/189baefe91d72392753ca144ae290a23e253a266))
716
+ * **ai-council:** Iron-Law sentinel for locked dispatch (step-9 phase 11) ([c5b617a](https://github.com/event4u-app/agent-config/commit/c5b617aeae79431ba4071a436f12a7ca35dd144b))
717
+ * **council:** cover step-8 quota + necessity-tier surface (phase 5) ([be4eba3](https://github.com/event4u-app/agent-config/commit/be4eba3dba54c5f6926924e80dd56ff312a4124a))
718
+
719
+ ### Build
720
+
721
+ * **ai-council:** wire compile-corpus into consistency + sync ([5a35b90](https://github.com/event4u-app/agent-config/commit/5a35b9037ee161f24224b71b2431e1c6bdbe6f86))
722
+
723
+ ### Chores
724
+
725
+ * **roadmap:** close out + archive step-2-feedback-followup ([fc347d2](https://github.com/event4u-app/agent-config/commit/fc347d28d93b1237300bbc3b31b1877a147857ca))
726
+ * **roadmap:** mark step-2-feedback-followup phases 1-3 complete ([6f8c456](https://github.com/event4u-app/agent-config/commit/6f8c4567993067b039ca9aebf680aaf76bd5e69c))
727
+ * **scripts:** add command-surface audit tool ([e118870](https://github.com/event4u-app/agent-config/commit/e11887001cf0e5bd68ee46164bb8d27a7f9a7a32))
728
+ * **roadmaps:** archive step-10 (corpus YAML lockfile complete) ([1d5ecfa](https://github.com/event4u-app/agent-config/commit/1d5ecfa07f63103456d4647a121a83e662a2d686))
729
+ * **index:** regenerate after auto-rule description trims ([fb39853](https://github.com/event4u-app/agent-config/commit/fb398539a22b82c530ec9cc39adb4343475edf6b))
730
+ * **rules:** trim auto-rule descriptions to fit 150-char Augment cap ([7755665](https://github.com/event4u-app/agent-config/commit/77556655e9db859a3c8bb3ca90931724bb144b9f))
731
+ * **ownership:** regenerate ownership matrix ([3661223](https://github.com/event4u-app/agent-config/commit/3661223dea90d842239a947c8d605ac22257cfc1))
732
+ * **lint:** suppress pre-existing council references with allowed pragma ([3770fb7](https://github.com/event4u-app/agent-config/commit/3770fb76f661a7042fd014ce18537babf6d6a127))
733
+ * **roadmaps:** tag step-7 and step-9 as structural ([99e8801](https://github.com/event4u-app/agent-config/commit/99e88019d2f8352e3c61932433a159c3e9b1136c))
734
+ * **index:** regenerate agents/index.md + docs/catalog.md ([e3adea4](https://github.com/event4u-app/agent-config/commit/e3adea43c1a8a4bf184f4476ef0a158e48a4c7ce))
735
+ * **lint:** clear pre-existing check-no-roadmap-refs violations (step-9 phase 0) ([41284d4](https://github.com/event4u-app/agent-config/commit/41284d4f990d3beb0efbe31dc8b9782a57a528b5))
736
+ * **changelog:** split off pre-2.11.0 era into archive ([913da95](https://github.com/event4u-app/agent-config/commit/913da950c07ab8221e8fc7b96b28fde3ae6aa83f))
737
+ * **roadmap:** archive step-1-ai-council-cli-transport (100% complete) ([2a9eaa5](https://github.com/event4u-app/agent-config/commit/2a9eaa558178349819609cf73f33300dcc3b846f))
738
+ * **index:** regenerate after learn-low-impact cluster move ([6d38afb](https://github.com/event4u-app/agent-config/commit/6d38afbca4ff8b2f75ea6d3669f9a15a1a49b2f4))
739
+ * **counts:** bump documented command count 108 to 109 ([6ada77d](https://github.com/event4u-app/agent-config/commit/6ada77d42b367909c68381f5c1bd9480960dd85f))
740
+ * **index:** regenerate after low-impact-corpus + learn-low-impact ([e256dd0](https://github.com/event4u-app/agent-config/commit/e256dd0d56492fbe390ab60b7902a99d1b509d50))
741
+ * **roadmap:** mark Phase 8-12 complete + regenerate dashboards ([8f14a9c](https://github.com/event4u-app/agent-config/commit/8f14a9c8e5ba16348c45f8ac9cfbeb1f053b26bd))
742
+ * **contracts:** pull keep-beta-until back inside 90-day window ([8b4c8c9](https://github.com/event4u-app/agent-config/commit/8b4c8c9de4fab092e8bc4c7580b2b435de85e973))
743
+ * **docs:** clear pre-existing check-public-links failures ([822c40e](https://github.com/event4u-app/agent-config/commit/822c40e9f90d81ffdcdb1a3fa590dc0d0e89c9f5))
744
+ * **roadmap:** stub agents/low-impact-decisions.md for Phase 12 forward-ref ([3af26f6](https://github.com/event4u-app/agent-config/commit/3af26f67f3ad86afc5a964a75ac3173526772b95))
745
+ * **templates:** bump agent_config_version to 2.13.0 ([1e5ddcd](https://github.com/event4u-app/agent-config/commit/1e5ddcd6d6aeed485253e8476c002262a3e95962))
746
+ * **roadmap:** regenerate roadmaps progress dashboard ([3a33c7e](https://github.com/event4u-app/agent-config/commit/3a33c7eda801c25aacb13ec2e58680f9f856cc91))
747
+
748
+ Tests: 4340 (+472 since 2.13.0)
749
+
432
750
  ## [2.13.0](https://github.com/event4u-app/agent-config/compare/2.12.0...2.13.0) (2026-05-14)
433
751
 
434
752
  ### Features
@@ -544,129 +862,15 @@ Tests: 3718 (+0 since 2.11.0)
544
862
 
545
863
  Tests: 3718 (+55 since 2.10.0)
546
864
 
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))
584
-
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))
865
+ # Era: pre-2.11.0 — archived
598
866
 
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))
867
+ > All entries from `2.10.0` through `2.7.0` live in
868
+ > [`docs/archive/CHANGELOG-pre-2.11.0.md`](docs/archive/CHANGELOG-pre-2.11.0.md).
869
+ > The archive is read-only; git tags `2.10.0` and prior remain the
870
+ > canonical source for what shipped. Splitting these out of the main
871
+ > file keeps the active era under the 200-line drift cap enforced by
872
+ > `tests/test_changelog_eras.py`.
668
873
 
669
- Tests: 3566 (+36 since 2.6.1)
670
874
 
671
875
  # Era: pre-2.7.0 — archived
672
876
 
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>115 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 115 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 + 115 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
@@ -605,6 +605,21 @@ for the per-rule routing.
605
605
 
606
606
  ---
607
607
 
608
+ ## User persona (`.agent-user.md`)
609
+
610
+ A project-root `.agent-user.md` file captures who the user is — name,
611
+ primary language, role, work style, and a single voice sample — so the
612
+ agent can address them correctly from the first turn. The file is
613
+ gitignored by default, paste-only, and contains zero PII beyond what the
614
+ user explicitly volunteers. Schema is locked v1 in
615
+ [`docs/contracts/agent-user-schema.md`](docs/contracts/agent-user-schema.md).
616
+
617
+ Create it interactively with `/agents user init`. Inspect with
618
+ `/agents user show`. Updates happen only through the explicit
619
+ `review` / `accept` / `update` flow — never silent auto-writes. The
620
+ legacy `personal.user_name` key in `.agent-settings.yml` stays as a
621
+ fallback when `.agent-user.md` is absent.
622
+
608
623
  ## Core Principles
609
624
 
610
625
  - **Analyze before implementing** — no guessing, no blind edits
@@ -40,6 +40,10 @@ personal:
40
40
  open_edited_files: false
41
41
 
42
42
  # User's first name — used to address the user personally
43
+ # NOTE (legacy fallback): Source of truth for user identity is now the
44
+ # project-root `.agent-user.md` file, created via `/agents user init`.
45
+ # This key is retained for backward compatibility; the agent only falls
46
+ # back to it when `.agent-user.md` is absent.
43
47
  user_name: ""
44
48
 
45
49
  # rtk (Rust Token Killer) installed for output filtering (true, false)
@@ -18,6 +18,17 @@
18
18
  .agent-settings
19
19
  .agent-settings.backup.key-value
20
20
 
21
+ # Agent config — user-persona file (.agent-user.md, written by /agents user init)
22
+ # Contains who the user is and how they want to be addressed. Local-only by
23
+ # default; commit explicitly only via the deferred --shared opt-in.
24
+ # See docs/contracts/agent-user-schema.md.
25
+ .agent-user.md
26
+ .agent-user.md.bak
27
+
28
+ # Agent config — user-persona observation buffer (append-only JSONL,
29
+ # never shared). Feeds /agents user review / accept only.
30
+ .agent-user.observations.jsonl
31
+
21
32
  # Agent config — persistent chat history (crash recovery, never commit)
22
33
  /agents/.agent-chat-history
23
34
  /agents/.agent-chat-history.bak
@@ -37,6 +48,12 @@
37
48
  /agents/council-responses/
38
49
  /agents/council-sessions/
39
50
 
51
+ # Agent config — AI Council persistent events log (step-8 D3).
52
+ # Local JSONL audit trail for necessity / quota decisions. Hashes
53
+ # original_ask before write but is still considered private. Set
54
+ # AGENT_CONFIG_NO_EVENTS_LOG=1 to disable writes entirely.
55
+ /agents/council-events.log
56
+
40
57
  # Agent config — Tier 1 hook runtime state (context-hygiene.json,
41
58
  # onboarding-gate.json). Written by SessionStart / PostToolUse hooks
42
59
  # on Augment + Claude Code; regenerated on demand, never commit.