@event4u/agent-config 9.0.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +22 -204
  3. package/MIGRATION.md +14 -0
  4. package/README.md +2 -2
  5. package/dist/agent-src/commands/explain-run.md +88 -0
  6. package/dist/agent-src/commands/implement-ticket.md +2 -0
  7. package/dist/agent-src/commands/pr/create/description-only.md +138 -8
  8. package/dist/agent-src/commands/pr/create.md +16 -5
  9. package/dist/agent-src/commands/review/changes.md +22 -0
  10. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +41 -6
  11. package/dist/agent-src/contexts/execution/verify-budget.md +15 -0
  12. package/dist/agent-src/rules/cross-source-consistency.md +92 -0
  13. package/dist/agent-src/rules/delegation-policy.md +1 -1
  14. package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -0
  15. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  16. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +146 -0
  17. package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +20 -0
  18. package/dist/agent-src/skills/po-discovery/SKILL.md +2 -0
  19. package/dist/agent-src/skills/refine-ticket/SKILL.md +7 -0
  20. package/dist/agent-src/skills/roadmap-writing/SKILL.md +14 -0
  21. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +26 -5
  22. package/dist/agent-src/skills/subagent-orchestration/evals/evals.json +18 -0
  23. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +14 -2
  24. package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +79 -0
  25. package/dist/agent-src/skills/subagent-orchestration/schemas/adversarial-findings.json +56 -0
  26. package/dist/agent-src/skills/token-optimizer/SKILL.md +10 -4
  27. package/dist/agent-src/templates/agent-settings.md +28 -0
  28. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  29. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
  30. package/dist/discovery/deprecation-report.md +1 -1
  31. package/dist/discovery/discovery-manifest.json +105 -28
  32. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  33. package/dist/discovery/discovery-manifest.summary.md +5 -5
  34. package/dist/discovery/orphan-report.md +1 -1
  35. package/dist/discovery/packs.json +16 -12
  36. package/dist/discovery/trust-report.md +8 -8
  37. package/dist/discovery/workspaces.json +12 -8
  38. package/dist/install/install.mjs +47 -31
  39. package/dist/mcp/registry-manifest.json +3 -3
  40. package/dist/router.json +1 -1
  41. package/dist/scripts/_lib/agent_settings.js +4 -1
  42. package/dist/scripts/_lib/agent_settings.js.map +1 -1
  43. package/dist/server/schemas/settings.js +10 -0
  44. package/dist/server/schemas/settings.js.map +1 -1
  45. package/docs/CLAIMS.md +10 -3
  46. package/docs/MIGRATION.md +20 -0
  47. package/docs/architecture.md +4 -4
  48. package/docs/archive/CHANGELOG-pre-9.2.0.md +276 -0
  49. package/docs/benchmark.md +24 -0
  50. package/docs/command-flows.md +1 -1
  51. package/docs/contracts/agents-layout.md +1 -1
  52. package/docs/contracts/consumer-bridge.md +55 -63
  53. package/docs/contracts/install-layout.md +1 -1
  54. package/docs/contracts/migrate-command.md +1 -1
  55. package/docs/customization.md +22 -1
  56. package/docs/decisions/ADR-020-global-only-consumer-scope.md +34 -0
  57. package/docs/decisions/ADR-122-adversarial-verification-council.md +136 -0
  58. package/docs/decisions/INDEX.md +1 -0
  59. package/docs/design/adversarial-council-eval.md +106 -0
  60. package/docs/featured-skills.md +2 -2
  61. package/docs/getting-started-by-role.md +1 -1
  62. package/docs/getting-started.md +2 -2
  63. package/docs/governance-advantage.md +1 -1
  64. package/docs/guidelines/agent-infra/api-cost-levers.md +126 -0
  65. package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
  66. package/docs/installation.md +2 -1
  67. package/docs/maintainers/dev-mode.md +3 -2
  68. package/docs/proof.md +7 -7
  69. package/package.json +1 -1
  70. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
  71. package/src/config/agent-settings.template.yml +81 -0
  72. package/src/config/gitignore-block.txt +16 -6
  73. package/src/scripts/_cli/cmd_conformance.ts +2 -2
  74. package/src/scripts/_cli/cmd_doctor.ts +162 -13
  75. package/src/scripts/_cli/cmd_refresh.ts +35 -118
  76. package/src/scripts/_lib/adversarial_council_gate.test.ts +112 -0
  77. package/src/scripts/_lib/adversarial_council_gate.ts +98 -0
  78. package/src/scripts/_lib/adversarial_reconcile.test.ts +197 -0
  79. package/src/scripts/_lib/adversarial_reconcile.ts +187 -0
  80. package/src/scripts/_lib/agent_settings.ts +4 -1
  81. package/src/scripts/_lib/verify_budget.ts +4 -1
  82. package/src/scripts/ai_council/clients.ts +68 -6
  83. package/src/scripts/ai_council/pricing.ts +62 -0
  84. package/src/scripts/council_cli.ts +19 -3
  85. package/src/scripts/install.ts +44 -45
  86. package/src/scripts/lint_agents_layout.ts +10 -4
  87. package/src/scripts/lint_breaking_changes_index.ts +303 -0
  88. package/src/scripts/mcp_server/tools.ts +1 -3
  89. package/src/scripts/schemas/agent-settings.schema.json +28 -0
  90. package/src/scripts/self_review_gate.test.ts +11 -0
  91. package/src/scripts/self_review_gate.ts +7 -1
  92. package/src/scripts/skill_eval_coverage.ts +4 -1
  93. package/src/server/schemas/settings.ts +24 -0
@@ -146,10 +146,10 @@ note, package-internal path-swap, description budget, and the
146
146
 
147
147
  | Layer | Count | Purpose |
148
148
  |---|---|---|
149
- | **Skills** | 274 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
150
- | **Rules** | 104 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
151
- | **Commands** | 183 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
152
- | **Guidelines** | 98 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
149
+ | **Skills** | 275 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
150
+ | **Rules** | 105 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
151
+ | **Commands** | 184 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
152
+ | **Guidelines** | 100 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
153
153
  | **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
154
154
  | **Contexts** | 5 | Shared knowledge about the system itself |
155
155
 
@@ -0,0 +1,276 @@
1
+ # Changelog Archive — pre-9.2.0
2
+
3
+ > Frozen snapshot of `event4u/agent-config` changelog entries
4
+ > released before `9.2.0`, split out of the main
5
+ > [`CHANGELOG.md`](../../CHANGELOG.md) by `scripts/release.py`
6
+ > once the active era's body crossed the drift cap enforced by
7
+ > `tests/test_changelog_eras.py`.
8
+ >
9
+ > **Read-only.** New entries land in `CHANGELOG.md`. Entries
10
+ > here are not amended — git tags remain the canonical source
11
+ > for what shipped.
12
+ >
13
+ > Entry shape follows
14
+ > [`../contracts/CHANGELOG-conventions.md`](../contracts/CHANGELOG-conventions.md).
15
+
16
+ ## [9.1.0](https://github.com/event4u-app/agent-config/compare/9.0.0...9.1.0) (2026-07-14)
17
+
18
+ ### Features
19
+
20
+ * **create-pr:** tier-driven body, grounded API examples, capability-gated screenshots ([306f7d5](https://github.com/event4u-app/agent-config/commit/306f7d59e6e7dee4a22e9c34aad4fbc89a75e3e2))
21
+ * **create-pr:** settings for description detail level, API examples, screenshots ([65275bb](https://github.com/event4u-app/agent-config/commit/65275bb1237fc4dfbbcefd86d27bc45ef4be257c))
22
+ * **ai-council:** prompt caching + right-sized output on the paid Anthropic path ([3ec7ff0](https://github.com/event4u-app/agent-config/commit/3ec7ff09d49283b096901e5d4716cc529fef1609))
23
+ * **skills:** add llm-provider-knowledge — verify LLM product facts against official docs ([ba34d94](https://github.com/event4u-app/agent-config/commit/ba34d94530d1b30066470a0316f247be84b5ac2d))
24
+ * **commands:** register discoverable /explain-run command ([13955a1](https://github.com/event4u-app/agent-config/commit/13955a1e7ab40a658ed0879e21266fe49a54c6a0))
25
+ * **doctor:** add rule-scope-drift check for the scoped-projection flip ([71353f8](https://github.com/event4u-app/agent-config/commit/71353f8c6bb66b404916f599c5e168bef1f85601))
26
+
27
+ ### Bug Fixes
28
+
29
+ * **ai-council:** make prompt caching explicit opt-in (default off) ([bad8070](https://github.com/event4u-app/agent-config/commit/bad80707eda42aacbd3698575e1d22383dbea8b3))
30
+ * **refs:** treat external claude-api plugin as non-repo reference ([75a3431](https://github.com/event4u-app/agent-config/commit/75a34314ca802e8cda39df8ff6b375c52621ae63))
31
+ * **commands:** reference agent-docs-writing skill in /explain-run ([c104279](https://github.com/event4u-app/agent-config/commit/c104279abaaad1035758cc86140be847ed4f4a06))
32
+ * **ci:** honest gate status in skill-lint + self-review comments ([5098465](https://github.com/event4u-app/agent-config/commit/50984659e028c8c0029b1cd1deb8a69bf1c4e61b))
33
+ * **install:** rebuild install bundle with real node_modules paths ([f875244](https://github.com/event4u-app/agent-config/commit/f8752443b1b27bd9471dbf056a65097d898e15de))
34
+ * **install:** rebuild install bundle + reword source-repo comment ([48e9dc2](https://github.com/event4u-app/agent-config/commit/48e9dc2a6f694610322d533b0196346cf07a151d))
35
+ * **tests:** make wrapper-delegation install test hermetic ([8ef5ea2](https://github.com/event4u-app/agent-config/commit/8ef5ea2bdc60f90fde7979bee2dca3d15a2e118e))
36
+
37
+ ### Documentation
38
+
39
+ * **create-pr:** document PR-description content settings ([812ae6b](https://github.com/event4u-app/agent-config/commit/812ae6ba84ba5508a71b3ab02c351cad4a3a2e55))
40
+ * subagent prompt-cache break-even + record the follow-up council verdict ([fdba56d](https://github.com/event4u-app/agent-config/commit/fdba56dbe06818c4bc50c5b3e94322e10b34bd0d))
41
+ * **roadmap:** API cost-optimization roadmap + dashboard ([3d1b313](https://github.com/event4u-app/agent-config/commit/3d1b3132b0d0d3a52c7eba555b1e3afd95d5750e))
42
+ * **agent-infra:** API cost-levers guideline + token-optimizer index wiring ([a97d0e7](https://github.com/event4u-app/agent-config/commit/a97d0e7eaa4c61eb4db59f8bdf469d112595b1b5))
43
+ * **roadmap:** archive completed road-to-llm-provider-knowledge-skill ([059aa10](https://github.com/event4u-app/agent-config/commit/059aa10b3405597986c12c0de3da6c767385bb97))
44
+ * **roadmap:** add + archive feedback-9.0-followups roadmap ([c8aa510](https://github.com/event4u-app/agent-config/commit/c8aa5104ac774f77f1354ac9c6c3816096b769fe))
45
+ * **changelog:** repair breaking-surface index + add sync lint ([e333d71](https://github.com/event4u-app/agent-config/commit/e333d7150254310fe569dcb6e0fad2c487568d32))
46
+
47
+ ### Refactoring
48
+
49
+ * **install:** retire the consumer bridge marker (ADR-020 amendment) ([2737b04](https://github.com/event4u-app/agent-config/commit/2737b04441b7e807240c979e874d8e2bb3967b9b))
50
+
51
+ ### Build
52
+
53
+ * **install:** rebuild bundle with repo-relative module paths ([f30adb5](https://github.com/event4u-app/agent-config/commit/f30adb5a109ac6aee9777bad722ef0146fc208fa))
54
+ * **install:** rebuild install bundle after create_pr settings addition ([a760b9f](https://github.com/event4u-app/agent-config/commit/a760b9f39a41a9621b21ad2fb92851c4a1ea66b2))
55
+
56
+ ### Chores
57
+
58
+ * **roadmaps:** archive completed pr-description-tiers roadmap ([2c4615f](https://github.com/event4u-app/agent-config/commit/2c4615fe42129eb8bd33e87a368cbed8f5f1ded7))
59
+ * sync generated guideline count (98 -> 99) for api-cost-levers ([17ce22b](https://github.com/event4u-app/agent-config/commit/17ce22bdfc2d99341d7a3edeaaf80554f4d75f33))
60
+ * **evals:** ratchet behavioural-eval coverage floor to current ([84f42fa](https://github.com/event4u-app/agent-config/commit/84f42fab93d77ad8b0b28ce430b79ae222748719))
61
+
62
+ Tests: 7737 (+21 since 9.0.0)
63
+
64
+ ## [9.0.0](https://github.com/event4u-app/agent-config/compare/8.13.0...9.0.0) (2026-07-13)
65
+
66
+ ### BREAKING CHANGES
67
+
68
+ * **scoping:** flip consumer rule projection default to scoped (Phase-1 human gate, approved) ([565c91a](https://github.com/event4u-app/agent-config/commit/565c91aa25e4c970d5b37258f497366f33e7a7a9))
69
+
70
+ **Consumer rule projection is scoped by default** (`road-to-request-scoped-rule-load` Phase 1 human gate, 2026-07-13)
71
+
72
+ - **Who is affected:** fresh consumer installs — the settings template now
73
+ ships `projection.rule_workspaces` filled with every consumer workspace, so
74
+ the 16 exclusively-maintainer specification rules (plus the recorded
75
+ `source-of-truth.md` compat exclusion) no longer arrive: 103 → 88 rules,
76
+ −9,880 cl100k tokens (−13.1%) per install. All domain safety floors and
77
+ domain rules keep shipping; kernel rules always ship.
78
+ - **Existing installs:** unchanged until you run `agent-config sync` /
79
+ re-install (settings sync preserves your current value; fill the list to
80
+ opt in). The first session after opting in rebuilds the KV-cache prefix
81
+ once (1.25–2× write cost, one session only).
82
+ - **Quality evidence:** deterministic set-inclusion verification
83
+ (`src/scripts/check_consumer_scope_flip.ts` →
84
+ `internal/bench/reports/2026-07-13-consumer-scoped-default-flip.json`):
85
+ only exclusively-maintainer rules drop; zero golden-set-exercised consumer
86
+ rules affected (90/90 labelled tasks, coverage 86/86).
87
+ - **Rollback:** set `projection.rule_workspaces: []` (= legacy-all).
88
+
89
+ ### Features
90
+
91
+ * **product:** pre-build demand gate folded into improve-before-implement — plate complete, archived ([d6b0fcb](https://github.com/event4u-app/agent-config/commit/d6b0fcb9d020f983a98f8cd0c744d758bb758f9a))
92
+ * **skills:** Known-pitfalls sections for docker, terraform, laravel ([4427224](https://github.com/event4u-app/agent-config/commit/442722417f319b7b704c2d0bdc711c38e870f796))
93
+ * **skill-writing,size-enforcement:** Known-pitfalls section standard + sprawl guard ([6276c9f](https://github.com/event4u-app/agent-config/commit/6276c9f24b3166c1ae4360151cf05f2cd29f9b31))
94
+ * **skill:** spreadsheet-authoring — recalc-verification loop + zero-formula-error contract ([fcaf93e](https://github.com/event4u-app/agent-config/commit/fcaf93e8beb36c944b356df04b1203941f8a3271))
95
+ * **skill:** pdf-tools — library-per-task PDF create/transform/fill routing ([11af714](https://github.com/event4u-app/agent-config/commit/11af7140fa999dea0f514ddb32f5a1d6d6e8934b))
96
+ * **skill:** docx-authoring — skeleton-create + unpack/edit/pack-with-validate toolkit ([218f711](https://github.com/event4u-app/agent-config/commit/218f7115359f10c630c239ec02302f6a2eb21a63))
97
+ * **humanizer:** severity-tiered AI-ism taxonomy, stance-preservation, voice-match ([00077d2](https://github.com/event4u-app/agent-config/commit/00077d2488246766317f86110a65e65cab7080b9))
98
+ * **skills:** docx-authoring + pdf-tools — completes the document read→write cycle ([c0688c1](https://github.com/event4u-app/agent-config/commit/c0688c11badc38bd060de89f0585b351ea2d265d))
99
+ * **skill:** launch-readiness epistemics block + fix-loop (contract-backed) ([591c386](https://github.com/event4u-app/agent-config/commit/591c386ae6be8d06b68997a41198166334e7249c))
100
+ * **prelaunch:** finding-ID contract, epistemics, regression gate + suppression ([0f4bff6](https://github.com/event4u-app/agent-config/commit/0f4bff64e12f5a73525ea2272df479672ce7f9aa))
101
+ * **workflow:** Phase 3 merge-conflicts plan-first — plate complete, archived ([3f51f4e](https://github.com/event4u-app/agent-config/commit/3f51f4ed1fa6ed4253788432db468c35678f1c81))
102
+ * **workflow:** Phase 2 — HANDOFF.md convention, resume rule, artifact validation ([5092d5e](https://github.com/event4u-app/agent-config/commit/5092d5ef44ea154817eda4640a526fa0909ed9a9))
103
+ * **workflow:** Phase 1 — TDD mode contracts with diff-checkable Forbidden blocks ([a6c4d70](https://github.com/event4u-app/agent-config/commit/a6c4d7048e24505db80dc04c6e03d8a63bfce3d1))
104
+ * **ci:** bridge-derivation, tools-matrix + host-loadability gates (Phase 4.3/4.4) ([9168bbd](https://github.com/event4u-app/agent-config/commit/9168bbdb455412261bf593dd89f5111085d24fe9))
105
+ * **schema:** optional effort: reasoning-effort pin (Phase 4.2) ([9248f36](https://github.com/event4u-app/agent-config/commit/9248f366d13e79d195bfcd50985fc48313e1b51f))
106
+ * **commands:** argument-hint frontmatter across the command surface (Phase 4.1) ([333a1b3](https://github.com/event4u-app/agent-config/commit/333a1b37bd15ff394c9c82ba4a7a961ce3aaf1c2))
107
+ * **authoring:** U1 description-optimizer loop (held-out split) — plate complete, archived ([a2d7f55](https://github.com/event4u-app/agent-config/commit/a2d7f552a6d28657714914d0a0efa81decb2b57e))
108
+ * **authoring:** U5 self-QA fresh-eyes pattern for output-producing skills ([6295bd7](https://github.com/event4u-app/agent-config/commit/6295bd744dc6dbd96face318956e3925a0b80ca6))
109
+ * **authoring:** U3 tool-grant uplift — scoped grants, disallowed_tools deny-list, numeric thresholds ([7089ac8](https://github.com/event4u-app/agent-config/commit/7089ac8d6ac5121f391650987b5b2c8fb227f6fb))
110
+ * **authoring:** U4 register note + U2 Agent-Skills spec alignment ([6ce3a13](https://github.com/event4u-app/agent-config/commit/6ce3a13b1243fdfb63a184c758a4764ab1dc67d8))
111
+ * **telemetry:** U5 agent-combo facet on the orchestration record ([1aacb46](https://github.com/event4u-app/agent-config/commit/1aacb46458c42f3857b5107d714ca25386133e97))
112
+ * **measurement:** U4 host-loadability smoke — generated trees must actually load ([0d0b014](https://github.com/event4u-app/agent-config/commit/0d0b0141f160f5722d4bba71ba8e017d0445a98a))
113
+ * **evals:** U2 golden-adversarial review pair + not_contains assertion kind ([b5f040a](https://github.com/event4u-app/agent-config/commit/b5f040a8fd90b6012106760c06a67981a2a437a9))
114
+ * **measurement:** U1 loaded-vs-fired utilization report + census-honesty note ([545c2ce](https://github.com/event4u-app/agent-config/commit/545c2ce3f1c0d3894bb9eebd5c87bb8e110ddb2b))
115
+ * **telemetry:** U1a loaded denominator — engagement schema, record CLI, aggregator, renderer ([a549788](https://github.com/event4u-app/agent-config/commit/a5497881cc67475a6cddfc3fb857f675fcb032be))
116
+ * **skill-quality:** add read-only-by-default script-convention lint ([401828d](https://github.com/event4u-app/agent-config/commit/401828df53069331007fe0e28edab8811fa46fa4))
117
+ * **skill-quality:** add eval schema v2 — tool-choice + trajectory_budget ([63a5cdf](https://github.com/event4u-app/agent-config/commit/63a5cdfd433374099ea70e8e10a5b8350ccebb52))
118
+ * **skill-quality:** add description-quality lint gate ([e7acc5e](https://github.com/event4u-app/agent-config/commit/e7acc5ec8744b1e00d2fe9ad89727731d3500147))
119
+ * **scoping:** deterministic held-quality verifier for the consumer scoped-projection flip ([9375e6e](https://github.com/event4u-app/agent-config/commit/9375e6e6f4788f644c031a62c36e956bd49c0ec7))
120
+ * **review:** tally-vs-reasoned boundary + fix-pr-comments dedup ([564efa8](https://github.com/event4u-app/agent-config/commit/564efa8300b07c345c9c618b8d5790f20fde9089))
121
+ * **review:** change-type routing, two-tier output, de-biasing in code-review ([ffad758](https://github.com/event4u-app/agent-config/commit/ffad75807e3ae6dae58087280d47865286d9d437))
122
+ * **team-gate:** managed Review-Gate circuit breaker — never an infinite Claude/Codex loop ([0356b30](https://github.com/event4u-app/agent-config/commit/0356b30f60a00b9fe7b13cdd7dde05ddda3684db))
123
+ * **team-fallback:** read-only multi-host review via team_dispatch + team-review envelope ([ba6ea00](https://github.com/event4u-app/agent-config/commit/ba6ea0062b34cad03dc296a887a7d8edba559d09))
124
+ * **security:** STRIDE table, CI-agent + insecure-defaults coverage, active-probe design note ([260fd2f](https://github.com/event4u-app/agent-config/commit/260fd2fe667e0c605cd042935327b316fa4a9641))
125
+ * **security:** add security-maturity-assessment skill ([657b68f](https://github.com/event4u-app/agent-config/commit/657b68f550bdeff356cfa3e1654a98f69835ec26))
126
+ * **security:** add false-positive gate to bug + security review skills ([4309cb3](https://github.com/event4u-app/agent-config/commit/4309cb35f93eb68deeed523369417ad90c13d86c))
127
+ * **evals:** calibrate finding_floor from the cross-host lower envelope — gate armed ([c19aecf](https://github.com/event4u-app/agent-config/commit/c19aecfb440e3d748935a494400319ff8bd0617a))
128
+ * **bench:** cross-model parity count-pass runner (council-transport re-scope) ([5cef323](https://github.com/event4u-app/agent-config/commit/5cef32329263f1169ed7875cf4cfad0ab982a10c))
129
+
130
+ ### Bug Fixes
131
+
132
+ * **humanizer:** reword 'drift' → 'slippage' to clear wing3_vendor_independence false-positive ([66f9179](https://github.com/event4u-app/agent-config/commit/66f91797a0f3cff9c414cb0edfe64b89c916d1a8))
133
+ * **ai-council:** enforce config is user-global only, never project-local ([09b16bb](https://github.com/event4u-app/agent-config/commit/09b16bb559f548baf2760a255e1ab20b48a3ccdd))
134
+ * **merge:** resolve index-roadmap conflict — both quality-gates and workflow-contracts shipped ([c42dce4](https://github.com/event4u-app/agent-config/commit/c42dce428f0c35f01cf2e58046f62be28dc05504))
135
+ * **ci:** use .js import extensions in the new matrix-lint modules (typecheck) ([bf79fe0](https://github.com/event4u-app/agent-config/commit/bf79fe0fd32975b2b1e7d1639bf382874f9b0c18))
136
+ * **schema:** surgical skill-schema edits — restore original formatting ([01243ad](https://github.com/event4u-app/agent-config/commit/01243ad12cf5381a010f1e822b6f0e3bb8a32268))
137
+ * **rules:** P4 Batch B stub consistency — routes_to + fire-time fix-now boundary ([97bed1c](https://github.com/event4u-app/agent-config/commit/97bed1c1dedc0687a9349381949094f850da8e1f))
138
+ * **linear-digest:** drop stale strip_sections for context-hygiene after Batch B migration ([0e705c1](https://github.com/event4u-app/agent-config/commit/0e705c1316a5cfb2e76ca5e0cd958fa95757463c))
139
+ * **tests:** run bench_parity_count tests under vitest (CI runner), not node:test ([5076a68](https://github.com/event4u-app/agent-config/commit/5076a68353f789d35dc2f236090056aa1a958017))
140
+ * **ci:** team status description under the 200-char linter cap ([800d2f4](https://github.com/event4u-app/agent-config/commit/800d2f49fdbd980bf58333f3a80bebe0760768bb))
141
+ * **team-doctor:** expiry-aware auth signal + namespace-resistant plugin identity + gate WARN ([7698386](https://github.com/event4u-app/agent-config/commit/76983863d0a164e20ad2a588fb2e6b8517f00622))
142
+
143
+ ### Documentation
144
+
145
+ * **roadmap:** mark skill-quality-gates Phases 1-3 done ([b0c2d43](https://github.com/event4u-app/agent-config/commit/b0c2d43b5a409c69a991191b478c8af28e58a463))
146
+ * **changelog:** breaking-change entry for the scoped consumer default (sync/re-install + one-time KV-prefix rebuild) ([2520859](https://github.com/event4u-app/agent-config/commit/2520859aa3e1842658392596e892b82b16f2b6eb))
147
+ * **roadmaps:** add and archive road-to-batch-b-stub-consistency ([60bf22c](https://github.com/event4u-app/agent-config/commit/60bf22cbbfffdf60e431c147bb5ec2367d2b1fa1))
148
+ * **team:** quota clarity, honest wording, pack move to meta, envelope contract ([6be986e](https://github.com/event4u-app/agent-config/commit/6be986e3ed500d3165a7adec3525203a0fd5b76e))
149
+ * **bench:** cross-model-parity-count claim + benchmark section ([5ff1a4c](https://github.com/event4u-app/agent-config/commit/5ff1a4c9f90344523e8977639296e18128674abc))
150
+
151
+ ### Refactoring
152
+
153
+ * **rules:** P4 Batch B part 2 — domain-adoption-policy, minimal-safe-diff, context-hygiene thinned; backlink report + grandfather shrink ([c6eb79c](https://github.com/event4u-app/agent-config/commit/c6eb79cb7383a78e3b48bc46bef4ade01b7d9106))
154
+ * **rules:** P4 Batch B part 1 — active-remediation, artifact-drafting-protocol, framework-neutrality, design-fidelity thinned to stubs ([e382bec](https://github.com/event4u-app/agent-config/commit/e382bec6cc04470e19534c7521a8271c52e0f79e))
155
+
156
+ ### Tests
157
+
158
+ * **workspace_inbox:** refresh skill-hint snapshot for docker Known-pitfalls section ([7003101](https://github.com/event4u-app/agent-config/commit/70031011264cc6bcafc8b68a33f8b6cfafa1c7e2))
159
+ * **review:** review-mechanics eval fixtures ([3a74f94](https://github.com/event4u-app/agent-config/commit/3a74f94e729fe6c5f0476be303e11b1d91a80027))
160
+
161
+ ### Build
162
+
163
+ * **skill-quality:** wire the two new lints into ci-fast ([c9e85d8](https://github.com/event4u-app/agent-config/commit/c9e85d80f31266f901189f2ee3bdc337ce030551))
164
+
165
+ ### Chores
166
+
167
+ * **roadmap:** tool-pitfalls plate complete — archived, index updated ([b93774c](https://github.com/event4u-app/agent-config/commit/b93774c8d130a2e0f6663b0aba24d88e679924a1))
168
+ * refresh condensation hashes ([8a0d974](https://github.com/event4u-app/agent-config/commit/8a0d97437f6257399da5f79cb218671154aa97b4))
169
+ * **roadmap:** document-skills plate complete — archived, index updated ([d96a11e](https://github.com/event4u-app/agent-config/commit/d96a11e5d69bf21c7d6d6d2148b231fb56449a7e))
170
+ * **docs:** skill counts 272 → 274, meta pack regen, condensation hashes ([4115d3a](https://github.com/event4u-app/agent-config/commit/4115d3a08041086251926303ee9e3d6c39437cd8))
171
+ * **generated:** regenerate proof.md + CAPABILITIES.yaml after +2 skills (272→274) ([51eac3e](https://github.com/event4u-app/agent-config/commit/51eac3eb885956ac4ded6f874d4a27645b1c6dc9))
172
+ * **roadmap:** prose-authenticity U1-U5 complete; U6 blocked on decision-revisit-gate ([ebff2d8](https://github.com/event4u-app/agent-config/commit/ebff2d815630ea92a69bd341a21f73aa39fc66ac))
173
+ * **roadmap:** prelaunch-diagnostics plate complete — archived, index updated ([6ca449d](https://github.com/event4u-app/agent-config/commit/6ca449de2e3b4c8c73ef36ca509a9956d57ac087))
174
+ * **roadmap:** skill-quality-gates plate complete — Phase 4 flipped, archived, index updated ([2d89dd3](https://github.com/event4u-app/agent-config/commit/2d89dd3e2c514f3add37176ee86e84e2b218fbb4))
175
+ * **sync:** regenerate meta domain README after condense-memory description update ([d6f8557](https://github.com/event4u-app/agent-config/commit/d6f85574627e124b6b9af8e2b2e3cc2b2731a122))
176
+ * **condense:** re-mark upstream-contribute after skill-writing dep-fold ([6e71ef9](https://github.com/event4u-app/agent-config/commit/6e71ef95daf695b23de2da3fd30c4f840ca1a2b7))
177
+ * **roadmap:** authoring-rigor U2+U4 closed ([b744092](https://github.com/event4u-app/agent-config/commit/b74409267a40e458805a701cc44678bf679041df))
178
+ * **sync:** dist twin of code-review evals after U2 golden pair ([10d67ba](https://github.com/event4u-app/agent-config/commit/10d67ba755ef75ecc2520e2ff242d00a9c8e10fa))
179
+ * **roadmap:** reliability-measurement plate complete — archived, index updated ([5662e80](https://github.com/event4u-app/agent-config/commit/5662e80753a620be34c95680e1d7e4cec56dd0d4))
180
+ * **roadmap:** reliability-measurement U1/U1a/U3 closed ([dc16eaa](https://github.com/event4u-app/agent-config/commit/dc16eaa6e1d19c105b36001f09979e8a08cb8466))
181
+ * **roadmap:** request-scoped-rule-load Phase-1 human gate closed - only trigger-gated Phase-4 park remains ([0f46997](https://github.com/event4u-app/agent-config/commit/0f46997c9829a6d9c3f265ed4d744c3588e7f7be))
182
+ * **counts:** guideline badge + table 91 -> 98 after Batch B guideline homes ([ecad776](https://github.com/event4u-app/agent-config/commit/ecad7764848d8a0309bae2a56c11b3aafd048efc))
183
+ * **roadmap:** complete + archive review-mechanics; refresh hashes ([9ede176](https://github.com/event4u-app/agent-config/commit/9ede1767c451446ec485198da25247821d56b032))
184
+ * **roadmap:** request-scoped-rule-load Phase 5 closed — Batch B done, Batch C skipped-by-tradeoff, backlink report current ([37e73f8](https://github.com/event4u-app/agent-config/commit/37e73f89cd30dc7127293de51cc583ed0118d7b1))
185
+ * **roadmap:** truth-sync the inherited golden-set blocker in request-scoped-rule-load ([2e13966](https://github.com/event4u-app/agent-config/commit/2e1396657d2e9570bb6eebbb02f51413f1b5fad2))
186
+ * **roadmap:** park road-to-token-saving in later/ — all open work operator-gated, judge blocker resolved negative ([51a56bd](https://github.com/event4u-app/agent-config/commit/51a56bdd0fe6b6203bde83792892a88f25a5c8c4))
187
+ * **proof:** regenerate docs/proof.md after claims-ledger update ([63421da](https://github.com/event4u-app/agent-config/commit/63421da76566e2ca38e1f72025c68e49646ec404))
188
+ * **bench:** codex-host lift replication HONEST NULL — discipline_profile default stays; measurement-unblock roadmap complete + archived ([5e11ce0](https://github.com/event4u-app/agent-config/commit/5e11ce09f7846f4875e032db1c6dc236f9a229cb))
189
+ * **pack:** register security-maturity-assessment in engineering-base manifest ([ee89252](https://github.com/event4u-app/agent-config/commit/ee89252794e4979a002de7e2dd682ee90c75d533))
190
+ * sync generated count surfaces + dependent command hashes ([44e064a](https://github.com/event4u-app/agent-config/commit/44e064abecd90d924432fcef958477964ed13fa7))
191
+ * **sync:** meta pack manifest + index + envelope dist projection ([5473ca0](https://github.com/event4u-app/agent-config/commit/5473ca0e9e6446bfff475db8668ff334b9f2295d))
192
+ * **roadmaps:** feedback-8.11-5 executed and archived; team-mode Phases 3+4 complete ([487cbe6](https://github.com/event4u-app/agent-config/commit/487cbe61a2fa52e20c21db66aa9b6a4650aac60b))
193
+ * **roadmap:** regenerate progress dashboard ([d085f71](https://github.com/event4u-app/agent-config/commit/d085f716c25c06fa2edf6561c0c66ba9204acdc9))
194
+ * **roadmap:** archive completed ecosystem-harvest bug-security-rigor ([25982c5](https://github.com/event4u-app/agent-config/commit/25982c55aefd3a8c2b8715f2ac05112e52849bb4))
195
+ * **roadmap:** measurement-unblock Phase 3 complete (build decision + parity pass + armed gate) ([9c0f051](https://github.com/event4u-app/agent-config/commit/9c0f051c91b6a712884fb1408e41c339fc42462f))
196
+
197
+ Tests: 7716 (+158 since 8.13.0)
198
+
199
+ ## [8.13.0](https://github.com/event4u-app/agent-config/compare/8.12.0...8.13.0) (2026-07-12)
200
+
201
+ ### Features
202
+
203
+ * **backlinks:** orphan-stub correctness check + fan-out info + gated hard-gate list ([fe88ff5](https://github.com/event4u-app/agent-config/commit/fe88ff5c42bd08338c0ab9c83f3e1fdf0f6f7d1c))
204
+ * **team-doctor:** 'team' health check + suppressible setup hint ([22a5c14](https://github.com/event4u-app/agent-config/commit/22a5c141ddaa47994f7d9c150dafa36b0fcb38a8))
205
+ * **team-commands:** /team family — thin fail-closed delegations under ai_team governance ([958c491](https://github.com/event4u-app/agent-config/commit/958c4910bf2276449a99ef2462e78caa718148a5))
206
+ * **team-config:** ai_team contract — default-off block, fail-closed loader, shared quota ([f45c988](https://github.com/event4u-app/agent-config/commit/f45c98860a63d2c8c572a9e121ecaf05d4c34aa9))
207
+ * **pr-create:** harden the freshness gate — regenerate-on-conflict + update freshness ([83104e0](https://github.com/event4u-app/agent-config/commit/83104e0a3a8666d8eb47044c9b9e028a1e60c913))
208
+
209
+ ### Bug Fixes
210
+
211
+ * **rules:** restore the concrete verification-tool mapping in the improve-before-implement stub ([a54d89f](https://github.com/event4u-app/agent-config/commit/a54d89f852120e639f25aa059e33baf672255f66))
212
+
213
+ ### Documentation
214
+
215
+ * **round4:** strict:false operating conditions + Batch B/C stub-necessity pre-questions ([7961ba4](https://github.com/event4u-app/agent-config/commit/7961ba4dda15d33fe4a8be6a92d4e71b7a4bedb6))
216
+ * **team:** getting-started section — depth complement to the council, no value claims ([6c64fc3](https://github.com/event4u-app/agent-config/commit/6c64fc3acade96c3d1eff3c610677be5a852f18e))
217
+ * **roadmap:** measurement-unblock Phase 2 — codex auth+smoke verified, paired run in flight ([489bdc1](https://github.com/event4u-app/agent-config/commit/489bdc168565c6b27eceeaca8384751e089378ef))
218
+
219
+ ### Chores
220
+
221
+ * **counts:** hero badge + browse line 178 -> 183 after the 8.12.0 release merge ([ef396f5](https://github.com/event4u-app/agent-config/commit/ef396f55476ccfed53387a6fbe49201be8e312c0))
222
+ * **counts:** featured-skills command count 178 -> 183 (update_counts anchor) ([13cb8de](https://github.com/event4u-app/agent-config/commit/13cb8de13373e66c26a21689b2a86427ee9ac043))
223
+ * **roadmaps:** feedback-8.11-4 executed and archived; team-mode P1+P2 complete ([dd44aa6](https://github.com/event4u-app/agent-config/commit/dd44aa69fea35d95fadc00936c3ec23caaeb2c1b))
224
+
225
+ Tests: 7558 (+49 since 8.12.0)
226
+
227
+ ## [8.12.0](https://github.com/event4u-app/agent-config/compare/8.11.0...8.12.0) (2026-07-12)
228
+
229
+ ### Features
230
+
231
+ * **rules:** P4 migration Batch A — 9 rule bodies to their existing homes (−51.7% stub bytes) ([94dc19c](https://github.com/event4u-app/agent-config/commit/94dc19cac62ff21449afd5a373c1363ee3d6215c))
232
+ * **explain-run:** plain-language Summary section ([257d8fc](https://github.com/event4u-app/agent-config/commit/257d8fc4d2ef69e9696f9a143d653a1a0a771e2c))
233
+ * **complexity:** report v2 — proxy honesty, coupling metric, soft-ratchet baseline ([8328bae](https://github.com/event4u-app/agent-config/commit/8328bae0b791da4215fd704a90734123df0f6b13))
234
+ * **bench:** live retrieval benchmark executed — decisive PASS ([25d9f03](https://github.com/event4u-app/agent-config/commit/25d9f03756e33870fbc507bc1bc964c5b6c83403))
235
+ * **bench:** persona-placebo benchmark — executed, HONEST NULL (identity adds nothing) ([000c3e7](https://github.com/event4u-app/agent-config/commit/000c3e77081d7aa39e3d617f98ba67ef27121218))
236
+ * **reports:** complexity report, explain-run v0, rule-backlinks — all report-only with kill criteria ([e718f13](https://github.com/event4u-app/agent-config/commit/e718f1396562e0cb94fab344b75332a73a34ac35))
237
+ * **knowledge:** per-card sensitivity classes, promotion gate, revocation trail (ADR-121) ([a14b1ad](https://github.com/event4u-app/agent-config/commit/a14b1ad54b750d86ff288cd96ad9e76fe58fcdc5))
238
+ * **consumer-matrix:** live hook-lifecycle leg + dist import-graph completeness ([1f1d9e1](https://github.com/event4u-app/agent-config/commit/1f1d9e1f8f8186de51071f47ca20ed649fad01f3))
239
+ * **bench:** length-neutral judge rerun — executed, SECOND INCONCLUSIVE (gate closed-by-diagnosis) ([66ba0a3](https://github.com/event4u-app/agent-config/commit/66ba0a3e7a995fb8f7db1b795d33682328dc8596))
240
+ * **council:** restate pass — the last wiring item (pre-round-1, transport-safe) ([4df6069](https://github.com/event4u-app/agent-config/commit/4df6069e127a0467f5a86aea57ea4c90929746a1))
241
+ * **council:** stance-line repair call in consult (bounded, transport-gated) ([91fd10e](https://github.com/event4u-app/agent-config/commit/91fd10e25429d7d35f460ba8560c76565007b0c6))
242
+ * **council:** debate-gate repair dispatch in run_debate (bounded, policy-gated) ([e7f6380](https://github.com/event4u-app/agent-config/commit/e7f6380639835d61c72b4b89cb79d77a5c90cb9c))
243
+
244
+ ### Bug Fixes
245
+
246
+ * **ci:** roadmap-ci-steps-mechanics joins the task-invocation skip class ([659d775](https://github.com/event4u-app/agent-config/commit/659d775099bd67168beac8a5742a4efbe773b690))
247
+ * **ci:** skill description under the 200-char linter cap + modernize a migrated legacy path ([893ce69](https://github.com/event4u-app/agent-config/commit/893ce6922df759ac2432b221e28951a292233a47))
248
+ * **proof:** move the honest-null entry into the build_proof generator ([5c1a12c](https://github.com/event4u-app/agent-config/commit/5c1a12c152d35fd320e40f0173b27f842fb39903))
249
+ * **ci:** regenerate proof.md post-merge + de-literalize example imports ([6ff330d](https://github.com/event4u-app/agent-config/commit/6ff330d5a84c4682fae63eb2331ec3f645473cb4))
250
+ * **claims:** thin-projection honesty + pre-register the council-vs-solo baseline ([6aee669](https://github.com/event4u-app/agent-config/commit/6aee669e311261121f582793e47698e029b0c8ae))
251
+ * **identity:** resolve the placeholder git identity and guard against recurrence ([b17a801](https://github.com/event4u-app/agent-config/commit/b17a801dd16ddda9c3bcfd6b269dc65aff5a5e41))
252
+ * **counts:** regenerate CAPABILITIES.yaml and close the structured-surface drift gap ([55aafb5](https://github.com/event4u-app/agent-config/commit/55aafb58b7f0e775b73a100d0b83f55b13defea0))
253
+
254
+ ### Documentation
255
+
256
+ * **posture:** knowledge scaling reality + local_auto_run as deliberate design ([ad9f43b](https://github.com/event4u-app/agent-config/commit/ad9f43baaa52cea533f6e1fd91ca012d95d35e9e))
257
+ * **maintainers:** one-page system map + prepared branch protection ([efe63d0](https://github.com/event4u-app/agent-config/commit/efe63d006ff7ef97b1f4e201c29e53824ef3af95))
258
+ * **claims:** pre-register the utilization-window decision criteria ([4667adf](https://github.com/event4u-app/agent-config/commit/4667adf085af9d2e178932b0a3fc9e2d674d6d2c))
259
+ * **roadmap:** complete + archive road-to-opt-retrieval-and-memory ([cfc8657](https://github.com/event4u-app/agent-config/commit/cfc86578b7033945d227db80d98821aef33b8917))
260
+ * **roadmap:** complete + archive road-to-opt-council-deliberation ([8777a8e](https://github.com/event4u-app/agent-config/commit/8777a8ebf90c2fc32362cfcbe1e58f8bee8f56d7))
261
+ * **proof:** persona-identity-placebo-null — backed claim + honest-null story ([0d0de13](https://github.com/event4u-app/agent-config/commit/0d0de1387b6cd61a0165ec26a1db695172dcc2bd))
262
+ * **rules:** rule-body migration inventory + P4 batches into request-scoped-rule-load ([c5abc40](https://github.com/event4u-app/agent-config/commit/c5abc40e4edc09d92681afbeae5f837f63784e29))
263
+ * **bench:** record the closed-by-diagnosis disposition ([e02f7d7](https://github.com/event4u-app/agent-config/commit/e02f7d765d1aa2d61ae7bd1e879b27a1711fe595))
264
+ * **roadmap:** flip the restate step + the confirmed harness prerequisite ([6415b3e](https://github.com/event4u-app/agent-config/commit/6415b3e672a659e8453159ca7e421d2ce7fdb9da))
265
+ * **roadmap:** flip the stance-repair + chairman-ADR steps ([c1278a0](https://github.com/event4u-app/agent-config/commit/c1278a092027bb1659ba37d3281b9692a2c4066e))
266
+ * **adr:** ADR-120 — council chairman mode supersedes always-host synthesis ([9e593f4](https://github.com/event4u-app/agent-config/commit/9e593f42bcd5ff844332eb7eca4fbb545be7d8fd))
267
+ * **roadmap:** flip the debate-gate repair-dispatch step ([d4bba6b](https://github.com/event4u-app/agent-config/commit/d4bba6b31c1ceca01480f66ea80174a27887ab88))
268
+
269
+ ### Chores
270
+
271
+ * **sync:** propagate the shortened skill description into the generated domain README ([ec2a931](https://github.com/event4u-app/agent-config/commit/ec2a931e76b148c0c653dad3353f6f11590edf33))
272
+ * **roadmaps:** feedback-8.11-2 disposition executed and archived ([0037d52](https://github.com/event4u-app/agent-config/commit/0037d521c62699d3757b5e975dafbec54beab1b4))
273
+ * **condense:** record knowledge-card template condensation hash ([7ce68cc](https://github.com/event4u-app/agent-config/commit/7ce68cc38d976a4e10666bdf006db4059d788305))
274
+ * **roadmaps:** feedback-8.11 disposition executed and archived ([960179f](https://github.com/event4u-app/agent-config/commit/960179fa08e343a8e1bb1856bce76e2025abe8d3))
275
+
276
+ Tests: 7509 (+130 since 8.11.0)
package/docs/benchmark.md CHANGED
@@ -558,3 +558,27 @@ replication on a per-token-billed key.
558
558
 
559
559
  - Runner: `src/scripts/bench_ab_v2_run.ts --host codex` (checkpoint-resumable).
560
560
  - Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 2.
561
+
562
+ ## adversarial-verification-council finding coverage — UNBACKED (pending corpus + run)
563
+
564
+ Pre-registered claim `adversarial-council-finding-coverage` (docs/CLAIMS.md,
565
+ ADR-122): on the RESIDUAL defect pool — defects that survive a single strong
566
+ cross-model judge — a cross-vendor skeptic panel (subagent-orchestration Mode 9,
567
+ `adversarial-verification-council`) finds materially more residual defects than
568
+ that judge, at a false-positive rate no worse than baseline on a
569
+ controversial-but-correct control.
570
+
571
+ - **Design (two-stage residual protocol, corpus-validity bar, dual threshold,
572
+ controversial-clean FP control):** [`docs/design/adversarial-council-eval.md`](design/adversarial-council-eval.md).
573
+ - **Gate (locked at pre-registration):** relative residual-recall lift >= +25%
574
+ **AND** absolute >= +8 pp, **AND** panel FP not worse than baseline within
575
+ noise — encoded + tested in
576
+ [`src/scripts/_lib/adversarial_council_gate.ts`](../src/scripts/_lib/adversarial_council_gate.ts).
577
+ - **Status: UNBACKED.** The corpus-validity gate BLOCKS the registered run: the
578
+ existing `internal/bench/orchestration/corpus/` was built for cross-vendor
579
+ *parity* (obvious, model-differentiating defects), not judge-survivable
580
+ residual subtleties, so a run on it would be a measurement artifact (the
581
+ council's Round-1 critique). Resolving the claim needs (1) a curated
582
+ judge-survivable-subtlety corpus with a published distribution, then (2) a
583
+ maintainer-gated paid cross-vendor run. Honest-null on that run keeps the
584
+ surface default-off permanently, like recursive-verification.
@@ -7,7 +7,7 @@
7
7
 
8
8
  > Every command is classified in `src/flows/surface-map.yaml` (coverage enforced by `scripts/lint_command_flow_coverage.py`). The four user-work flows carry rich definitions in `src/flows/<flow>.yaml`.
9
9
 
10
- **183 commands** across **10 surfaces** (4 user-work flows + 6 platform/domain surfaces).
10
+ **184 commands** across **10 surfaces** (4 user-work flows + 6 platform/domain surfaces).
11
11
 
12
12
  ## User-work flows
13
13
 
@@ -100,7 +100,7 @@ After `agent-config migrate`, a consumer project's `agents/` contains only:
100
100
  | Entry | Rationale |
101
101
  |---|---|
102
102
  | `overrides/` | Per-project skill/rule customisation |
103
- | `.event4u-bridge.yml` | ADR-020 bridge marker (global-only install) |
103
+ | `.event4u-bridge.yml` | Retired (ADR-020 amendment 2026-07-13); global root resolves from `~/.event4u/agent-config`. Legacy leftover only — deleted by installer / `refresh --project`. |
104
104
  | `.gitkeep` | Keeps `agents/` in the tree |
105
105
  | `knowledge/` | Optional: curated project-specific knowledge pages |
106
106
  | `memory/` | Optional: promotion pipeline (intake gitignored, curated YAML committed) |
@@ -1,81 +1,73 @@
1
1
  ---
2
- stability: beta
3
- keep-beta-until: 2026-08-21
2
+ stability: stable
4
3
  ---
5
4
 
6
- # Consumer Bridge Marker
5
+ # Consumer Bridge Marker (retired)
7
6
 
8
- **Status:** Proposed — road-to-global-only-install Phase 4.1.
7
+ **Status:** Retired — [`ADR-020 § Amendment 2026-07-13`](../decisions/ADR-020-global-only-consumer-scope.md#amendment--2026-07-13--bridge-marker-retired).
9
8
  **Pairs with:** [`ADR-020 — global-only consumer scope`](../decisions/ADR-020-global-only-consumer-scope.md), [`ADR-007 § Amendment 2026-05-13`](../decisions/ADR-007-agent-discovery-scopes.md#amendment-2026-05-13--augment-global-only).
10
9
 
11
- ## Purpose
12
-
13
- After Phase 3 of `road-to-global-only-install` lands, a consumer
14
- project carries **only** `agents/overrides/` plus this bridge marker.
15
- Every other agent artefact (rules, skills, commands, personas,
16
- settings, user identity) is read from `~/.event4u/agent-config/`. The
17
- bridge marker is the single, declarative pointer that lets per-tool
18
- adapters (Windsurf, Cline, Gemini-CLI, the Augment workspace
19
- projector) locate the global root from inside the repo.
20
-
21
- ## File
22
-
23
- `agents/.event4u-bridge.yml` at the consumer project root. <!-- ref-ignore -->
24
- Written by `scripts/install.py` on every successful consumer install
25
- (global scope). Idempotent — same file, refreshed `installed_at`.
26
-
27
- ## Schema
10
+ ## Why it was retired
11
+
12
+ The bridge marker `agents/.event4u-bridge.yml` was a per-project file that
13
+ pointed at the global install. It carried **no project-specific data**:
14
+ `global_root` is always the well-known `~/.event4u/agent-config` (one global
15
+ install per machine), and nothing in the codebase ever read the field — the
16
+ loader, doctor, and conformance checks all derive the global root independently
17
+ via `user_global_paths.event4u_root()`. Yet the marker was **committed** to the
18
+ shared project tree and rewrote its volatile `installed_at` / `installer_version`
19
+ fields on every install, so each developer's install produced a diff and
20
+ overwrote every other developer's committed copy. A file whose scope (global)
21
+ did not match its location (per-project, committed) — pure churn.
22
+
23
+ It is retired: the global root is resolved directly from the well-known path.
24
+
25
+ ## What replaced it
26
+
27
+ - **Global-root resolution** — `user_global_paths.event4u_root()` returns
28
+ `~/.event4u/agent-config` (overridable via `EVENT4U_CONFIG_HOME`). Readers fail
29
+ closed when that path is missing on disk. No per-project pointer is consulted.
30
+ - **Migration-idempotency sentinel** — moved to
31
+ `agents/.agent-state/install-mode.txt` (written on every full / minimal
32
+ install), which the installer's legacy-detection and the doctor's
33
+ "global-only consumer" branch key on. `agents/overrides/` is an equivalent
34
+ signal.
35
+ - **Project anchor** — a bare consumer `agents/` directory is anchored on
36
+ `agents/overrides/` (the guaranteed minimal-consumer surface), not the marker.
37
+ - **Cleanup** — the installer and `agent-config refresh --project` delete any
38
+ legacy `agents/.event4u-bridge.yml` a prior install committed; the managed
39
+ `.gitignore` block also ignores it so a stale copy is never re-committed.
40
+
41
+ ## Per-tool anchor strategy (still active)
42
+
43
+ Some AI tools only load rules when an anchor file is **inside** the workspace
44
+ (Windsurf, Cline, Gemini-CLI). For those IDs the installer plants a thin pointer
45
+ file under the tool's per-project directory:
28
46
 
29
47
  ```yaml
30
48
  schema: event4u-bridge/v1
49
+ tool: windsurf
31
50
  global_root: ~/.event4u/agent-config
32
- installed_at: 2026-05-23T14:00:00Z
33
- installer_version: 2.4.0
51
+ installed_at: 2026-07-13T00:00:00Z
34
52
  ```
35
53
 
36
- ### Fields
37
-
38
- | Field | Type | Required | Description |
39
- |---|---|---|---|
40
- | `schema` | string | yes | Must equal `event4u-bridge/v1`. Bumped on breaking field changes. |
41
- | `global_root` | string | yes | Absolute path or `~`-prefixed path to the global install. Readers MUST expand `~` against the current user's `$HOME`. |
42
- | `installed_at` | string (ISO-8601 UTC) | yes | Timestamp of the last successful install or refresh. |
43
- | `installer_version` | string (semver) | yes | Version of `@event4u/agent-config` that produced the marker. |
44
-
45
- Unknown fields are ignored by `v1` readers (forward-compat).
46
-
47
- ## Reader contract
48
-
49
- Per-tool adapters MUST:
50
-
51
- 1. Read `agents/.event4u-bridge.yml` from the project root. <!-- ref-ignore -->
52
- 2. Reject `schema != event4u-bridge/v1` with a clear error pointing at this contract.
53
- 3. Expand `~` in `global_root` against the **current process's** `$HOME` (not the writer's).
54
- 4. Fail closed if `global_root` is missing on disk — never silently fall back to project-local lookup.
55
- 5. Treat the marker as **read-only data**. Adapters MUST NOT write back through it.
56
-
57
- ## Writer contract
58
-
59
- `scripts/install.py` MUST:
60
-
61
- 1. Write the marker atomically (temp file + rename) so a crash never leaves a half-formed pointer.
62
- 2. Refresh `installed_at` + `installer_version` on every consumer-scope install.
63
- 3. Use `0644` permissions (world-readable, owner-writable). The marker contains no secrets.
64
- 4. Skip the write under `AGENT_CONFIG_DEV_MODE=1` — maintainer dev installs never lay the bridge into the source repo (this repo's `agents/` directory is the project surface, not a consumer surface).
65
-
66
- The marker is (re-)written by the consumer install, by the wizard's apply step, and by `agent-config refresh --project` — which also scaffolds `agents/overrides/` and syncs the managed `agents/` block in `.gitignore` (the full minimal project surface, no wizard). `refresh --project` no-ops inside an agent-config checkout (same source-repo guard as rule 4).
67
-
68
- ## Per-tool anchor strategy
69
-
70
- Some AI tools only load rules when an anchor file is **inside** the workspace (Windsurf, Cline, Gemini-CLI). For those IDs, Phase 4.3 plants a thin pointer file under the tool's per-project directory whose body resolves to the bridge marker. Tools that load purely from user-scope (Claude Code, Cursor, Augment) read the marker once and need no per-tool file.
54
+ - Files: `.windsurf/agent-config.bridge.yml`, `.clinerules/agent-config.bridge.yml`,
55
+ `.gemini/agent-config.bridge.yml`.
56
+ - `global_root` is the well-known path (readers expand `~` against the current
57
+ `$HOME`, never the writer's). There is no `bridge:` back-pointer — the retired
58
+ marker no longer exists to point at.
59
+ - These anchors are **gitignored**: each developer regenerates them on install,
60
+ so they never churn in version control. Tools that load purely from user scope
61
+ (Claude Code, Cursor, Augment) need no per-tool file.
71
62
 
72
- ## Out of scope
63
+ ## Legacy reader note
73
64
 
74
- - Cross-machine sync of `~/.event4u/agent-config/` (the marker is local-only).
75
- - Editing the marker by hand to swap installs (use `agent-config init --global-root=…` instead, once that flag ships in Phase 5).
76
- - Multi-tenant `global_root` (one marker = one global install per project).
65
+ A `v1` marker left in an un-migrated consumer repo still parses as before
66
+ (`schema: event4u-bridge/v1`, `~`-expanded `global_root`). Do not add new readers
67
+ of it — resolve the global root from the well-known path instead. The next
68
+ install removes it.
77
69
 
78
70
  ## References
79
71
 
80
- - [`ADR-020`](../decisions/ADR-020-global-only-consumer-scope.md) — global-only consumer scope; cites the in-flight roadmap for Phase 4 surface design + Phase 5 migration order.
72
+ - [`ADR-020`](../decisions/ADR-020-global-only-consumer-scope.md) — global-only consumer scope + the 2026-07-13 retirement amendment.
81
73
  - [`ADR-007`](../decisions/ADR-007-agent-discovery-scopes.md) — scope precedence and the global-default amendment.
@@ -72,7 +72,7 @@ run writes only the subset for the selected scope + tools.
72
72
  |---|---|---|
73
73
  | `<root>/agents/settings/.agent-settings.yml` | deployed | canonical YAML settings (ADR-038) |
74
74
  | `<root>/.agent-settings.yml` | deployed | legacy fallback; migrated then removed on first run |
75
- | `<root>/agents/.event4u-bridge.yml` | bridge | project → `~/.event4u/agent-config/` pointer; schema `event4u-bridge/v1` |
75
+ | `<root>/agents/.event4u-bridge.yml` | retired | Retired (ADR-020 amendment 2026-07-13); no longer written. Global root resolves from `~/.event4u/agent-config`; installer / `refresh --project` delete any legacy leftover. |
76
76
  | `<root>/agents/.agent-state/install-mode.txt` | marker | `minimal\n` or `full\n` |
77
77
 
78
78
  Minimal-install scaffold (override layer): `agents/overrides/{rules,skills,commands}/.gitkeep`,
@@ -178,7 +178,7 @@ intentionally **outside** the unified `migrate` command:
178
178
  | Write a fresh `.agent-settings.yml` | wizard (`agent-config setup`) | Same as above — the wizard is the source of truth for new project config. |
179
179
  | Run the perms gate (`lint_global_paths.py`) | `agent-config doctor` | Migration deletes project-local state; the perms audit is a separate diagnostic on the global tree. |
180
180
  | `.legacy-pre-global-only/<stamp>/` snapshot | (removed) | Snapshot-and-rollback was a `migrate-to-global` semantic. The deletion path needs no snapshot — git history is the rollback surface. |
181
- | `agents/.event4u-bridge.yml` bridge marker write | `install.py` | Bridge marker is an install-time artefact, not a migration concern. |
181
+ | `agents/.event4u-bridge.yml` legacy marker removal | `install.py` | Marker is retired (ADR-020 amendment 2026-07-13); install now deletes any legacy leftover instead of writing it. Global root resolves from `~/.event4u/agent-config`. |
182
182
  | `settings:migrate` (read-only copy of project YAML into global) | (removed; superseded by wizard) | The read-only copy was a stepping stone for the destructive move. With the deletion policy, neither step survives. |
183
183
 
184
184
  ## Exit codes
@@ -332,6 +332,28 @@ Per-invocation overrides (no settings change required):
332
332
  existing carve-out — `verbosity.offer_council_in_delivery` does not
333
333
  re-enable it. Use `/council diff:<base>..<head>` separately.
334
334
 
335
+ #### PR description content — tier + enrichments
336
+
337
+ The `commands.create_pr.*` block controls how much the generated PR
338
+ **description body** carries. Defaults are tuned for token frugality: the
339
+ description defaults to `min`, and the two enrichments are additive and
340
+ self-limiting (grounded / capability-gated), so `min` stays genuinely
341
+ minimal without ever dropping a critical callout.
342
+
343
+ | Setting | Values | Default | Description |
344
+ |---|---|---|---|
345
+ | `commands.create_pr.detail_level` | `min`, `med`, `max` | `min` | Verbosity tier of the Description section. `min` = title + 2-3 sentence what/why/impact + linked ticket; `med` = `min` + grouped changes + tests note; `max` = `med` + how-to-test + edge cases + reviewer guidance. Critical info (breaking changes, migrations, security, rollback) is included at **every** tier — the tier governs explanatory depth, never whether a critical callout appears. |
346
+ | `commands.create_pr.api_examples` | `true`, `false` | `true` | Add a fenced JSON request/response example for API-endpoint changes. `true` = include **only** when grounded in a real source (DTO/resource, OpenAPI, test fixture, or an actual probe); otherwise a one-line pointer, never an invented example. `false` = never. |
347
+ | `commands.create_pr.screenshots` | `true`, `false` | `false` | Capture frontend screenshots for UI changes. `false` = never. `true` = attempt when the host has browser/preview tooling and the diff touches a frontend surface; capability-gated (emits a one-line note and leaves the placeholder when tooling is absent, never fails or blocks the PR). Before/after + region-highlighting is best-effort; byte-embedding into the PR body is not possible via the GitHub API (host image-upload or manual attach). |
348
+ | `commands.create_pr.ui_paths` | glob list | `[]` | Optional globs that make frontend detection explicit (e.g. `["resources/views/**", "src/pages/**"]`). Empty = a light path/extension heuristic that fails open. |
349
+ | `commands.create_pr.api_paths` | glob list | `[]` | Optional globs that make API-endpoint detection explicit (e.g. `["app/Http/Controllers/Api/**", "src/pages/api/**"]`). Empty = a light heuristic that fails open. |
350
+
351
+ These flags are read once at the top of the `/create-pr` run and cached; the
352
+ content flags feed `/create-pr:description-only` generation. `min` is the
353
+ default precisely because a shorter description costs fewer output tokens on
354
+ every PR — turn it up per-project (or per-invocation via the settings file)
355
+ when reviewers want the richer context.
356
+
335
357
  #### Script-output level — env-var overrides
336
358
 
337
359
  `verbosity.script_output` is read by `scripts/_lib/script_output.py`.
@@ -395,7 +417,6 @@ Consumer projects can maintain their own agent documentation:
395
417
  ```
396
418
  agents/
397
419
  ├── overrides/ ← Skill/rule/command overrides (required after migrate)
398
- ├── .event4u-bridge.yml ← Global-only bridge marker (ADR-020)
399
420
  ├── knowledge/ ← Optional: curated project-specific knowledge pages
400
421
  ├── memory/ ← Optional: memory promotion pipeline
401
422
  ├── roadmaps/ ← Optional: project-local roadmaps
@@ -126,6 +126,40 @@ This amendment narrows ADR-020's wording; the global-only **consumer install**
126
126
  decision (distributed content writes only to `~/.event4u/agent-config/`) is
127
127
  unchanged.
128
128
 
129
+ ## Amendment — 2026-07-13 · bridge marker retired
130
+
131
+ The 2026-05-30 amendment restated `agents/.event4u-bridge.yml` as a mandated
132
+ consumer metadata artefact. Field use showed the marker was a design mistake:
133
+ it was **committed** to the shared project tree yet carried **no
134
+ project-specific data**. `global_root` is always the well-known
135
+ `~/.event4u/agent-config` (one global install per machine), and no code ever
136
+ read the field — the loader, doctor, and conformance checks resolve the global
137
+ root independently via `user_global_paths.event4u_root()`. Its only volatile
138
+ content (`installed_at`, `installer_version`) meant every developer's install
139
+ produced a diff and overwrote every other developer's committed copy. Scope
140
+ (global) did not match location (per-project, committed).
141
+
142
+ AI-council-converged (anthropic/claude-sonnet-4-5 + openai/gpt-4o, 2026-07-13,
143
+ 2-round debate): **Option B — eliminate the project marker; resolve the global
144
+ root from the well-known path.** Changes:
145
+
146
+ - The installer and `agent-config refresh --project` no longer write
147
+ `agents/.event4u-bridge.yml`; they **delete** any legacy committed copy. The
148
+ managed `.gitignore` block ignores it so a stale copy is never re-committed.
149
+ - The global root is resolved from `~/.event4u/agent-config`
150
+ (`EVENT4U_CONFIG_HOME`-overridable), failing closed when absent.
151
+ - Migration idempotency moved from the marker's presence to
152
+ `agents/.agent-state/install-mode.txt` (written on every install);
153
+ project-anchor detection keys on `agents/overrides/`.
154
+ - The Windsurf / Cline / Gemini-CLI per-tool anchors stay (those tools cannot
155
+ read user scope) but now resolve the well-known path directly (no `bridge:`
156
+ back-pointer) and are **gitignored** — regenerated per-install, never shared.
157
+
158
+ The single project-local agent surface is now **`agents/overrides/`** alone.
159
+ This narrows the 2026-05-30 amendment; the global-only **consumer install**
160
+ decision is unchanged. See [`consumer-bridge`](../contracts/consumer-bridge.md)
161
+ (retired) for the reader/writer detail.
162
+
129
163
  ## Alternatives considered
130
164
 
131
165
  - **Status quo (project default + global opt-in).** Keeps the drift