@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.
- package/.agent-src/commands/agents/user/accept.md +117 -0
- package/.agent-src/commands/agents/user/init.md +163 -0
- package/.agent-src/commands/agents/user/review.md +107 -0
- package/.agent-src/commands/agents/user/show.md +109 -0
- package/.agent-src/commands/agents/user/update.md +98 -0
- package/.agent-src/commands/agents/user.md +66 -0
- package/.agent-src/commands/agents.md +2 -0
- package/.agent-src/commands/memory/learn-low-impact.md +143 -0
- package/.agent-src/rules/ask-when-uncertain.md +10 -6
- package/.agent-src/rules/copilot-routing.md +1 -1
- package/.agent-src/rules/devcontainer-routing.md +1 -1
- package/.agent-src/rules/external-reference-deep-dive.md +1 -1
- package/.agent-src/rules/fast-path-marker-visibility.md +38 -0
- package/.agent-src/rules/low-impact-corpus-privacy-floor.md +74 -0
- package/.agent-src/rules/symfony-routing.md +1 -1
- package/.agent-src/skills/ai-council/SKILL.md +208 -8
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.claude-plugin/marketplace.json +8 -1
- package/CHANGELOG.md +328 -124
- package/README.md +21 -6
- package/config/agent-settings.template.yml +4 -0
- package/config/gitignore-block.txt +17 -0
- package/docs/architecture.md +12 -12
- package/docs/archive/CHANGELOG-pre-2.11.0.md +141 -0
- package/docs/catalog.md +16 -7
- package/docs/contracts/adr-architectural-consensus-mechanism.md +4 -3
- package/docs/contracts/adr-level-6-productization.md +7 -9
- package/docs/contracts/agent-user-schema.md +165 -0
- package/docs/contracts/ai-council-config.md +492 -20
- package/docs/contracts/command-clusters.md +2 -2
- package/docs/contracts/command-surface-tiers.md +3 -2
- package/docs/contracts/cost-profile-defaults.md +5 -0
- package/docs/contracts/decision-engine-gates.md +5 -0
- package/docs/contracts/decision-trace-v1.md +2 -2
- package/docs/contracts/file-ownership-matrix.json +1961 -108
- package/docs/contracts/installed-tools-lockfile.md +2 -1
- package/docs/contracts/low-impact-corpus-format.md +95 -0
- package/docs/contracts/mcp-beta-criteria.md +6 -5
- package/docs/contracts/mcp-cloud-scope.md +5 -4
- package/docs/contracts/multi-tool-projection-fidelity.md +8 -2
- package/docs/contracts/release-trunk-sync.md +4 -3
- package/docs/contracts/tier-3-contrib-plugin.md +5 -6
- package/docs/examples/agent-user.example.md +21 -0
- package/docs/getting-started.md +2 -2
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +2 -1
- package/docs/installation.md +32 -0
- package/package.json +1 -1
- package/scripts/_cli/cmd_doctor.py +134 -0
- package/scripts/ai_council/airgap.py +165 -0
- package/scripts/ai_council/cli_hints.py +123 -0
- package/scripts/ai_council/clients.py +787 -5
- package/scripts/ai_council/compile_corpus.py +178 -0
- package/scripts/ai_council/confidence_gate.py +156 -0
- package/scripts/ai_council/config.py +1007 -11
- package/scripts/ai_council/consensus.py +41 -2
- package/scripts/ai_council/events_log.py +137 -0
- package/scripts/ai_council/learn_low_impact_preview.py +252 -0
- package/scripts/ai_council/low_impact.py +714 -0
- package/scripts/ai_council/low_impact_corpus.py +466 -0
- package/scripts/ai_council/low_impact_intake.py +163 -0
- package/scripts/ai_council/modes.py +6 -1
- package/scripts/ai_council/necessity.py +782 -0
- package/scripts/ai_council/orchestrator.py +252 -14
- package/scripts/ai_council/probation_gate.py +152 -0
- package/scripts/ai_council/redact_low_impact_entry.py +155 -0
- package/scripts/ai_council/replay.py +155 -0
- package/scripts/ai_council/session.py +19 -1
- package/scripts/ai_council/shadow_dispatch.py +235 -0
- package/scripts/ai_council/solo_dispatch.py +226 -0
- package/scripts/audit_cloud_compatibility.py +74 -0
- package/scripts/audit_command_surface.py +363 -0
- package/scripts/check_council_layout.py +11 -0
- package/scripts/council_cli.py +1046 -15
- package/scripts/install.sh +12 -0
package/docs/architecture.md
CHANGED
|
@@ -17,12 +17,12 @@ MCP Lite/Full → Hosted read-only (Lite) · local stdio (Full)
|
|
|
17
17
|
|
|
18
18
|
| Layer | Canonical contract | Tier |
|
|
19
19
|
|---|---|---|
|
|
20
|
-
| **Distribution** | [`installed-tools-lockfile.md`](contracts/installed-tools-lockfile.md) + the "Distribution model" subsection below |
|
|
21
|
-
| **Governance** | [`command-clusters.md`](contracts/command-clusters.md) + [`command-surface-tiers.md`](contracts/command-surface-tiers.md) |
|
|
22
|
-
| **Router-Kernel** | [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) |
|
|
20
|
+
| **Distribution** | [`installed-tools-lockfile.md`](contracts/installed-tools-lockfile.md) + the "Distribution model" subsection below | (beta) |
|
|
21
|
+
| **Governance** | [`command-clusters.md`](contracts/command-clusters.md) + [`command-surface-tiers.md`](contracts/command-surface-tiers.md) | (beta) |
|
|
22
|
+
| **Router-Kernel** | [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) | (beta) |
|
|
23
23
|
| **Projection** | [`architecture/source-projection.md`](architecture/source-projection.md), [`augment-projection.md`](architecture/augment-projection.md), [`multi-tool-projection.md`](architecture/multi-tool-projection.md), [`claude-bundle.md`](architecture/claude-bundle.md) | stable |
|
|
24
|
-
| **Execution Contracts** | [`implement-ticket-flow.md`](contracts/implement-ticket-flow.md), [`orchestration-dsl-v1.md`](contracts/orchestration-dsl-v1.md), [`adr-product-ui-track.md`](contracts/adr-product-ui-track.md) | stable (
|
|
25
|
-
| **MCP Lite/Full** |
|
|
24
|
+
| **Execution Contracts** | [`implement-ticket-flow.md`](contracts/implement-ticket-flow.md), [`orchestration-dsl-v1.md`](contracts/orchestration-dsl-v1.md), [`adr-product-ui-track.md`](contracts/adr-product-ui-track.md) | stable (adr-product-ui-track) / (beta) (implement-ticket-flow · orchestration-dsl-v1) |
|
|
25
|
+
| **MCP Lite/Full** | `docs/contracts/mcp-phase-1-scope.md`, `docs/contracts/mcp-cloud-scope.md`, `docs/contracts/mcp-beta-criteria.md` | experimental — promotion to beta gated on `mcp-beta-criteria.md` (six artefact gates, monitored by `agent-config doctor --check mcp-beta-readiness`) |
|
|
26
26
|
|
|
27
27
|
Stability tiers follow [`docs/contracts/STABILITY.md`](contracts/STABILITY.md):
|
|
28
28
|
|
|
@@ -34,10 +34,10 @@ Stability tiers follow [`docs/contracts/STABILITY.md`](contracts/STABILITY.md):
|
|
|
34
34
|
|
|
35
35
|
Four load-bearing additions reshaped the top of the model between 2.2.2 and the current release. They are listed here so the diagram above reads as the *current* package, not a historical accumulation:
|
|
36
36
|
|
|
37
|
-
1. **Router-Kernel** — the always-loaded Iron Laws collapsed into a 9-rule kernel with explicit per-rule character budgets enforced by `task lint-rule-budget`; everything else routes via tier-1/2 (`.agent-src/router.json`). Contract: [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md).
|
|
38
|
-
2. **MCP Lite/Full** — replaces the old "Tool Adapters" layer at the top level. Lite is the hosted read-only surface (Claude.ai, Cloud agents); Full is the local stdio server consumers self-host. Promotion to beta is gated on six falsifiable artefacts in
|
|
37
|
+
1. **Router-Kernel** — the always-loaded Iron Laws collapsed into a 9-rule kernel with explicit per-rule character budgets enforced by `task lint-rule-budget`; everything else routes via tier-1/2 (`.agent-src/router.json`). Contract: [`kernel-membership.md`](contracts/kernel-membership.md) + [`rule-router.md`](contracts/rule-router.md) — both (beta).
|
|
38
|
+
2. **MCP Lite/Full** — replaces the old "Tool Adapters" layer at the top level. Lite is the hosted read-only surface (Claude.ai, Cloud agents); Full is the local stdio server consumers self-host. Promotion to beta is gated on six falsifiable artefacts in `docs/contracts/mcp-beta-criteria.md`; the old GitHub / Jira adapters remain as an internal detail of the Execution Contracts layer (see Tool Adapters subsection below).
|
|
39
39
|
3. **npx distribution** — Composer and `npm install` paths retired in favour of `npx @event4u/agent-config`, with the lockfile-equivalent role played by `agent_config_version` in `.agent-settings.yml`. Full rationale in the "Distribution model" subsection below.
|
|
40
|
-
4. **Command tiering** — `/`-commands now declare a `tier:` (0 / 1 / 2 / 3) that maps to invocation frequency and surface budget; tier-0 is the trimmed Tier-0 set surfaced in `agent-config --help` after the 2.7.x surface-discipline pass. Contract: [`command-surface-tiers.md`](contracts/command-surface-tiers.md) + [`command-clusters.md`](contracts/command-clusters.md).
|
|
40
|
+
4. **Command tiering** — `/`-commands now declare a `tier:` (0 / 1 / 2 / 3) that maps to invocation frequency and surface budget; tier-0 is the trimmed Tier-0 set surfaced in `agent-config --help` after the 2.7.x surface-discipline pass. Contract: [`command-surface-tiers.md`](contracts/command-surface-tiers.md) + [`command-clusters.md`](contracts/command-clusters.md) — both (beta).
|
|
41
41
|
|
|
42
42
|
> The previous "observability, feedback, lifecycle" layers were removed in
|
|
43
43
|
> 1.5 — they were scaffolds without production consumers. The "Tool
|
|
@@ -142,8 +142,8 @@ note, package-internal path-swap, description budget, and the
|
|
|
142
142
|
| Layer | Count | Purpose |
|
|
143
143
|
|---|---|---|
|
|
144
144
|
| **Skills** | 210 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
145
|
-
| **Rules** |
|
|
146
|
-
| **Commands** |
|
|
145
|
+
| **Rules** | 67 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
146
|
+
| **Commands** | 115 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
|
|
147
147
|
| **Guidelines** | 72 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
148
148
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|
|
149
149
|
| **Contexts** | 5 | Shared knowledge about the system itself |
|
|
@@ -161,7 +161,7 @@ note, package-internal path-swap, description budget, and the
|
|
|
161
161
|
- **Guidelines** → reference-only documentation
|
|
162
162
|
- **Commands** → workflow orchestration
|
|
163
163
|
|
|
164
|
-
Ensures: no guessing, analysis before action, real verification, consistent outputs. Canonical contracts: [`kernel-membership.md`](contracts/kernel-membership.md), [`rule-router.md`](contracts/rule-router.md), [`command-clusters.md`](contracts/command-clusters.md), [`command-surface-tiers.md`](contracts/command-surface-tiers.md).
|
|
164
|
+
Ensures: no guessing, analysis before action, real verification, consistent outputs. Canonical contracts (all (beta)): [`kernel-membership.md`](contracts/kernel-membership.md), [`rule-router.md`](contracts/rule-router.md), [`command-clusters.md`](contracts/command-clusters.md), [`command-surface-tiers.md`](contracts/command-surface-tiers.md).
|
|
165
165
|
|
|
166
166
|
### 2. Runtime Dispatcher — stable mechanism, pilot coverage
|
|
167
167
|
|
|
@@ -248,7 +248,7 @@ independent components with separate stability tiers.
|
|
|
248
248
|
|
|
249
249
|
### 4. Tool Adapters — experimental (internal detail; superseded at the top level by MCP)
|
|
250
250
|
|
|
251
|
-
> **Position in the new model.** Tool Adapters no longer occupy a top-level layer — that slot is now **MCP Lite/Full**. The adapter classes still ship as the internal mechanism the Work Engine uses for inline GitHub/Jira reads, but external integration is meant to land via MCP going forward. See
|
|
251
|
+
> **Position in the new model.** Tool Adapters no longer occupy a top-level layer — that slot is now **MCP Lite/Full**. The adapter classes still ship as the internal mechanism the Work Engine uses for inline GitHub/Jira reads, but external integration is meant to land via MCP going forward. See `docs/contracts/mcp-phase-1-scope.md`, `docs/contracts/mcp-cloud-scope.md`, and `docs/contracts/mcp-beta-criteria.md` for the surface that replaces this layer at the top level.
|
|
252
252
|
|
|
253
253
|
> **Status: scaffold + read-only GitHub calls.** With a `GITHUB_TOKEN` the
|
|
254
254
|
> GitHub adapter performs real read calls; without one it returns scaffold
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Changelog Archive — pre-2.11.0
|
|
2
|
+
|
|
3
|
+
> Frozen snapshot of `event4u/agent-config` changelog entries from
|
|
4
|
+
> `2.10.0` and earlier (back to `2.7.0`), split out of the main
|
|
5
|
+
> [`CHANGELOG.md`](../../CHANGELOG.md) on 2026-05-15 once the active
|
|
6
|
+
> era's body crossed the 200-line drift cap enforced by
|
|
7
|
+
> `tests/test_changelog_eras.py`.
|
|
8
|
+
>
|
|
9
|
+
> **Read-only.** New entries land in `CHANGELOG.md` § "Era: 2.11.x".
|
|
10
|
+
> Entries here are not amended — git tags `2.10.0` and prior remain the
|
|
11
|
+
> canonical source for what shipped.
|
|
12
|
+
>
|
|
13
|
+
> Entry shape follows the conventions documented in
|
|
14
|
+
> [`docs/contracts/CHANGELOG-conventions.md`](../contracts/CHANGELOG-conventions.md).
|
|
15
|
+
> Earlier eras live in
|
|
16
|
+
> [`CHANGELOG-pre-2.7.0.md`](CHANGELOG-pre-2.7.0.md) and
|
|
17
|
+
> [`CHANGELOG-pre-2.2.0.md`](CHANGELOG-pre-2.2.0.md).
|
|
18
|
+
|
|
19
|
+
## [2.10.0](https://github.com/event4u-app/agent-config/compare/2.9.0...2.10.0) (2026-05-14)
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* **ci:** lint-hook-concern-budget Tier-1 fail-closed gate ([8d60b8a](https://github.com/event4u-app/agent-config/commit/8d60b8ab464c4c5bdc6d072bb2a9b0123942e13b))
|
|
24
|
+
* **cli:** settings:check command + YAML subset contract ([638e740](https://github.com/event4u-app/agent-config/commit/638e74017ffea8d7c08073a949e86fde047db109))
|
|
25
|
+
* **hooks:** hooks:doctor + hooks:replay subcommands + fixture corpus ([3156e25](https://github.com/event4u-app/agent-config/commit/3156e25fd3253fc926a57b92e14b407a9ed54b58))
|
|
26
|
+
* **work-engine:** add decision-trace memory_visibility hook + scoring ([bf056ac](https://github.com/event4u-app/agent-config/commit/bf056ace877a696afa5fe758053ea1eb350e5dff))
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **roadmap:** point productization P6 gate at archived proof-not-features path ([35a1009](https://github.com/event4u-app/agent-config/commit/35a1009cffdfde28c7b0384c890c31a7e62b70cf))
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
* **roadmap:** complete road-to-proof-not-features 16/16 + sync dashboard ([89af72d](https://github.com/event4u-app/agent-config/commit/89af72d5514b74c19d533b5a2e69ff7ddf16ecbc))
|
|
35
|
+
* **readme:** split README by audience + audience-order contract ([60a87c0](https://github.com/event4u-app/agent-config/commit/60a87c056555a80585d25555f3d5b87d54c7283a))
|
|
36
|
+
|
|
37
|
+
### Refactoring
|
|
38
|
+
|
|
39
|
+
* **check-council-references:** structural carve-outs for immutable inputs and decision provenance ([3ed7784](https://github.com/event4u-app/agent-config/commit/3ed77841c42c5e3ebf4191611bb7fa4a52ed2fa0))
|
|
40
|
+
|
|
41
|
+
### Chores
|
|
42
|
+
|
|
43
|
+
* **roadmap:** archive road-to-proof-not-features (16/16 done, Phase 1 deferred) ([9d05aed](https://github.com/event4u-app/agent-config/commit/9d05aed79a46023b1e95c5488a1e3d5e78748e67))
|
|
44
|
+
|
|
45
|
+
Tests: 3663 (+60 since 2.9.0)
|
|
46
|
+
|
|
47
|
+
## [2.9.0](https://github.com/event4u-app/agent-config/compare/2.8.0...2.9.0) (2026-05-13)
|
|
48
|
+
|
|
49
|
+
### Features
|
|
50
|
+
|
|
51
|
+
* tier-usage telemetry settings + report template ([22172f2](https://github.com/event4u-app/agent-config/commit/22172f2a59b530034633ff72226506006c5fd81b))
|
|
52
|
+
* mcp beta-readiness criteria with pending gate tests ([3653788](https://github.com/event4u-app/agent-config/commit/36537880e03546e9baf424b2fdd70aa69d41eb03))
|
|
53
|
+
* expand doctor diagnostic hub to 10 checks ([372c193](https://github.com/event4u-app/agent-config/commit/372c19362f8037c76f919a2d918780ae5ec9cb40))
|
|
54
|
+
* **roadmap:** add road-to-surface-discipline (council-reviewed) ([d9da987](https://github.com/event4u-app/agent-config/commit/d9da9870989ccdb7594cd693e9b18608b957ab79))
|
|
55
|
+
* **linter:** wing-4 cognition-boundary checks + spine slot vocab ([c4d9a4b](https://github.com/event4u-app/agent-config/commit/c4d9a4ba8e5c7184b9be0a58d4d8b220a60cab7c))
|
|
56
|
+
|
|
57
|
+
### Bug Fixes
|
|
58
|
+
|
|
59
|
+
* **skills:** clear missing_inspect_step + bare_noun warnings ([0c88c6e](https://github.com/event4u-app/agent-config/commit/0c88c6ee45873e47fd8c7d356ec82b28b63b12c5))
|
|
60
|
+
* **docs:** drop roadmap-file pointers from wing-4 ADRs and handoff ([ccd7624](https://github.com/event4u-app/agent-config/commit/ccd7624127094d0a01eda0901fa41c31319f7bc5))
|
|
61
|
+
* **template:** bump agent_config_version pin to 2.8.0 ([f21e916](https://github.com/event4u-app/agent-config/commit/f21e916c6bb793fa6efe7d264a1e069e11ab4c62))
|
|
62
|
+
* **skills:** spine slot citations + finance-partner polish ([9072783](https://github.com/event4u-app/agent-config/commit/90727831b223bd970d8425d158940bf3e3bc104f))
|
|
63
|
+
|
|
64
|
+
### Documentation
|
|
65
|
+
|
|
66
|
+
* archive surface-discipline roadmap + 2.8.0 changelog ([551e306](https://github.com/event4u-app/agent-config/commit/551e306e43fa82fffda9178bdaa690b19d8bec4e))
|
|
67
|
+
* 6-layer architecture refresh + thin-root sync ([91d25a8](https://github.com/event4u-app/agent-config/commit/91d25a80b37fb1c1782c2d5f00f23925ba6ec1b3))
|
|
68
|
+
* **roadmap:** complete road-to-money-strategy-ops phase 1 ([83cf9fe](https://github.com/event4u-app/agent-config/commit/83cf9fe99c034b71e146099eddc9ce5b3137f434))
|
|
69
|
+
* **contracts:** register wing-4 spine slots + marketplace entries ([75b829d](https://github.com/event4u-app/agent-config/commit/75b829d162bc18ab3dc2dda6614d15a087a4f32a))
|
|
70
|
+
|
|
71
|
+
### Refactoring
|
|
72
|
+
|
|
73
|
+
* trim tier-0 surface from 13 to 7 commands ([a9eafd1](https://github.com/event4u-app/agent-config/commit/a9eafd1c5226c10209e3dee2b972f38d9c0f3dd9))
|
|
74
|
+
|
|
75
|
+
### Chores
|
|
76
|
+
|
|
77
|
+
* **generated:** regenerate derived outputs for wing-4 additions ([54f3779](https://github.com/event4u-app/agent-config/commit/54f3779a6d2161ed06bfb327c3e416ec107b4016))
|
|
78
|
+
|
|
79
|
+
Tests: 3603 (+26 since 2.8.0)
|
|
80
|
+
|
|
81
|
+
## [2.8.0](https://github.com/event4u-app/agent-config/compare/2.7.0...2.8.0) (2026-05-13)
|
|
82
|
+
|
|
83
|
+
### Features
|
|
84
|
+
|
|
85
|
+
* **linter:** wing-scoped persona line budgets ([81c8cda](https://github.com/event4u-app/agent-config/commit/81c8cdaf08f243a61f848b2e53fad73305ec173d))
|
|
86
|
+
* **personas:** GTM roadmap I1-I4 — Wing-3 personas (CMO, RevOps, CS, Growth-PM) ([a05d49e](https://github.com/event4u-app/agent-config/commit/a05d49e1fd2076effd68dabce7a0789676b2bbf5))
|
|
87
|
+
* **skills:** GTM roadmap H8-H16 — RevOps, CS, Growth-PM clusters ([f79e7a1](https://github.com/event4u-app/agent-config/commit/f79e7a11f5447466c05c6be613a618b9c564a4b1))
|
|
88
|
+
* **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))
|
|
89
|
+
* **gtm:** H1+H2 — positioning + messaging-architecture senior skills ([00aeb27](https://github.com/event4u-app/agent-config/commit/00aeb279be9924c01dea998df7ee91442fd3ff88))
|
|
90
|
+
* **gtm:** G3 — Wing-3 handoff guideline + Block G closed ([15643da](https://github.com/event4u-app/agent-config/commit/15643da3e2e96a6b00a738e8f4b7ba10edd18187))
|
|
91
|
+
* **gtm:** G2 — Wing-3 cognition-boundary linter ([8445921](https://github.com/event4u-app/agent-config/commit/84459218a914dd5d39c524824e9e0a597c28daec))
|
|
92
|
+
* **gtm:** G1 — extend context-spine with Wing-3 slots ([853e653](https://github.com/event4u-app/agent-config/commit/853e6538fff24429ab0f4136f5eec5d4b992dda4))
|
|
93
|
+
|
|
94
|
+
### Bug Fixes
|
|
95
|
+
|
|
96
|
+
* **refs:** drop roadmap-file citations from GTM ADR + handoff guideline ([092a01d](https://github.com/event4u-app/agent-config/commit/092a01d7bcd6b51c85d12bfcf83dc973b35c0fcc))
|
|
97
|
+
* **contracts:** add stability frontmatter to command-surface-tiers.md ([3ab2ffd](https://github.com/event4u-app/agent-config/commit/3ab2ffde4345b4ca30cc4d64926f571bce5ce7dd))
|
|
98
|
+
* **lint:** teach context-spine linter the Wing-3 GTM slots ([5bf81d5](https://github.com/event4u-app/agent-config/commit/5bf81d51864b652301d890eafb0574641d05b71a))
|
|
99
|
+
* **refs:** replace dangling skill backticks with plain phrasing in GTM skills ([9f20b06](https://github.com/event4u-app/agent-config/commit/9f20b0612b58f8ef0273bfbe5f830793f4dca131))
|
|
100
|
+
* **template:** bump agent_config_version to 2.7.0 in agent-project-settings template ([ac65734](https://github.com/event4u-app/agent-config/commit/ac657343a81879c3aee4664728e15233863016a5))
|
|
101
|
+
|
|
102
|
+
### Refactoring
|
|
103
|
+
|
|
104
|
+
* **skill:** rename positioning → positioning-strategy ([be1a5c9](https://github.com/event4u-app/agent-config/commit/be1a5c9019ac18fabde14469784db42aa7588a14))
|
|
105
|
+
|
|
106
|
+
### Chores
|
|
107
|
+
|
|
108
|
+
* **index:** regenerate after positioning → positioning-strategy rename ([9f42d91](https://github.com/event4u-app/agent-config/commit/9f42d9148f196d30635ae8288e9bba0feda66067))
|
|
109
|
+
* **changelog:** split era 2.2.x → pre-2.7.0 ([7158c30](https://github.com/event4u-app/agent-config/commit/7158c30db391f3464fd74f3c7e193698b869b82d))
|
|
110
|
+
* **generated:** refresh agents/index.md and docs/catalog.md for GTM skills/personas ([649b86e](https://github.com/event4u-app/agent-config/commit/649b86e287ecef7d0d28ce23ed2b0cbf43f2adc6))
|
|
111
|
+
* **generated:** regenerate .claude/ tool output + marketplace + compression hashes for GTM skills/personas ([bb7d56c](https://github.com/event4u-app/agent-config/commit/bb7d56cd8e7cafb9037a4e6ec0078e56154f9d5c))
|
|
112
|
+
* **roadmap:** archive road-to-gtm-and-growth — G+H+I all shipped ([dc48cdd](https://github.com/event4u-app/agent-config/commit/dc48cdd29e236c745e98b5f5fb8b45fa716a4c07))
|
|
113
|
+
|
|
114
|
+
Tests: 3577 (+11 since 2.7.0)
|
|
115
|
+
|
|
116
|
+
## [2.7.0](https://github.com/event4u-app/agent-config/compare/2.6.1...2.7.0) (2026-05-13)
|
|
117
|
+
|
|
118
|
+
### Features
|
|
119
|
+
|
|
120
|
+
* **install:** make augment global-only per ADR-007 amendment ([ea9a82f](https://github.com/event4u-app/agent-config/commit/ea9a82f2305a2a178b058ee66c40859790620d63))
|
|
121
|
+
* **mcp:** define mcp_scope lite vs full boundary in cloud-scope contract ([15a268c](https://github.com/event4u-app/agent-config/commit/15a268c9f86fabe677b4d70db9fd4e3d1726ef8a))
|
|
122
|
+
* **commands:** tier the slash + CLI command surface (Phase 4 of road-to-distribution-maturity) ([cc0102f](https://github.com/event4u-app/agent-config/commit/cc0102fe9677c936f703fd6e08b75cc99f758071))
|
|
123
|
+
* **distribution:** roadmap phases 1+2 — MCP auth-surface sync + verified-offline install ([a85c1af](https://github.com/event4u-app/agent-config/commit/a85c1afdc457c5fa4d939afc2d91649c67926501))
|
|
124
|
+
|
|
125
|
+
### Bug Fixes
|
|
126
|
+
|
|
127
|
+
* **refs:** point evaluation-2-2-2-followups at archived roadmap location ([cde02e6](https://github.com/event4u-app/agent-config/commit/cde02e6fd3bfbb2d67e2a8e3976fe6794ea4de6c))
|
|
128
|
+
|
|
129
|
+
### Documentation
|
|
130
|
+
|
|
131
|
+
* **architecture:** split docs/architecture.md into four pipeline sub-pages + drift test ([4f13cf5](https://github.com/event4u-app/agent-config/commit/4f13cf504c0b2d9b92661234a597b5515a7c54e8))
|
|
132
|
+
* **roadmap:** add distribution-maturity roadmap with council verdicts folded in ([14145cf](https://github.com/event4u-app/agent-config/commit/14145cff75ef34065358a2e99ee8c220ab0e59a0))
|
|
133
|
+
|
|
134
|
+
### Chores
|
|
135
|
+
|
|
136
|
+
* **ci:** refresh compression hashes after cc0102fe tiering pass ([ca06729](https://github.com/event4u-app/agent-config/commit/ca06729d03bb8bd8d1536b7aecef1d1b134d8333))
|
|
137
|
+
* finalize roadmaps ([bb156ea](https://github.com/event4u-app/agent-config/commit/bb156ea4f52741d511c3e54cd87e3bcab2fbf107))
|
|
138
|
+
* **roadmap:** close road-to-distribution-maturity, archive ([d48e5d6](https://github.com/event4u-app/agent-config/commit/d48e5d64f9396f6b75b47bf336fd6ac129c8e254))
|
|
139
|
+
* **changelog:** split into eras, archive pre-2.2.0 entries ([e54c5cb](https://github.com/event4u-app/agent-config/commit/e54c5cbf0222de7f0f4c84a379118f4ea30b5a07))
|
|
140
|
+
|
|
141
|
+
Tests: 3566 (+36 since 2.6.1)
|
package/docs/catalog.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# agent-config — Public Catalog
|
|
2
2
|
|
|
3
|
-
Consumer-facing catalog of all **
|
|
3
|
+
Consumer-facing catalog of all **461 public artefacts** shipped by
|
|
4
4
|
this package. Internal package-maintenance rules and deprecation shims
|
|
5
5
|
are excluded.
|
|
6
6
|
|
|
@@ -222,7 +222,7 @@ are excluded.
|
|
|
222
222
|
| skill | [`voice-and-tone-design`](../.agent-src/skills/voice-and-tone-design/SKILL.md) | | Use when shaping brand voice — voice attributes, tone-by-context matrix, consistency review. Triggers on 'define our voice', 'why does our copy sound different on every surface'. |
|
|
223
223
|
| skill | [`websocket`](../.agent-src/skills/websocket/SKILL.md) | | Use when building real-time features — WebSocket broadcasting, live updates, presence channels, connection state — even when the user just says 'push this to the client live'. |
|
|
224
224
|
|
|
225
|
-
## Rules (
|
|
225
|
+
## Rules (64)
|
|
226
226
|
|
|
227
227
|
| kind | name | type | description |
|
|
228
228
|
|---|---|---|---|
|
|
@@ -241,20 +241,22 @@ are excluded.
|
|
|
241
241
|
| rule | [`commit-conventions`](../.agent-src/rules/commit-conventions.md) | auto | Git commit message format, branch naming, conventional commits, committing, pushing, or creating pull requests |
|
|
242
242
|
| rule | [`commit-policy`](../.agent-src/rules/commit-policy.md) | always | Commit policy — never commit and never ask about committing unless the user said so this turn, the roadmap authorizes it, or a commit command is invoked |
|
|
243
243
|
| rule | [`context-hygiene`](../.agent-src/rules/context-hygiene.md) | auto | When debugging, fixing errors, or running long conversations — 3-failure stop rule, tool-loop detection, fresh-chat triggers |
|
|
244
|
-
| rule | [`copilot-routing`](../.agent-src/rules/copilot-routing.md) | auto |
|
|
245
|
-
| rule | [`devcontainer-routing`](../.agent-src/rules/devcontainer-routing.md) | auto |
|
|
244
|
+
| rule | [`copilot-routing`](../.agent-src/rules/copilot-routing.md) | auto | Configuring GitHub Copilot — copilot-instructions.md, PR-review comment patterns, suggestion behavior — route to the copilot-config skill |
|
|
245
|
+
| rule | [`devcontainer-routing`](../.agent-src/rules/devcontainer-routing.md) | auto | Wiring DevContainers or GitHub Codespaces — devcontainer.json, images, VS Code features, port forwarding — route to the devcontainer skill |
|
|
246
246
|
| rule | [`direct-answers`](../.agent-src/rules/direct-answers.md) | always | Always — direct, unembellished answers. No flattery, no invented facts (verify load-bearing claims, otherwise ask). Emojis only as functional markers. Brevity is the default. |
|
|
247
247
|
| rule | [`docker-commands`](../.agent-src/rules/docker-commands.md) | auto | Running PHP commands inside Docker containers — artisan, composer, phpstan, rector, ecs, phpunit, tests, migrations, and any CLI tool execution |
|
|
248
248
|
| rule | [`domain-adoption-policy`](../.agent-src/rules/domain-adoption-policy.md) | auto | Adopting a new domain track (mobile, ML, blockchain, IoT, gaming) — gates import on demand, ownership, CI fit, Sunset compatibility BEFORE harvest |
|
|
249
249
|
| rule | [`downstream-changes`](../.agent-src/rules/downstream-changes.md) | auto | After EVERY code edit, find ALL downstream changes needed to existing files, including callers, tests, imports, types, and documentation |
|
|
250
250
|
| rule | [`e2e-testing`](../.agent-src/rules/e2e-testing.md) | auto | Playwright E2E tests — locators, assertions, Page Objects, fixtures, CI, and flaky test prevention |
|
|
251
|
-
| rule | [`external-reference-deep-dive`](../.agent-src/rules/external-reference-deep-dive.md) | auto |
|
|
251
|
+
| rule | [`external-reference-deep-dive`](../.agent-src/rules/external-reference-deep-dive.md) | auto | User names an external repo, file, URL, or artifact as reference — fetch the actual tree and inspect, never summarize from README or metadata |
|
|
252
|
+
| rule | [`fast-path-marker-visibility`](../.agent-src/rules/fast-path-marker-visibility.md) | auto | Low-impact council fast-path dispatch — host agent MUST surface the transparency marker verbatim in the reply opening; never swallow or paraphrase it. |
|
|
252
253
|
| rule | [`guidelines`](../.agent-src/rules/guidelines.md) | manual | Writing or reviewing code — check relevant guideline before writing or reviewing code |
|
|
253
254
|
| rule | [`improve-before-implement`](../.agent-src/rules/improve-before-implement.md) | auto | Before implementing features or architectural changes — validate the request against existing code, challenge weak requirements, suggest improvements |
|
|
254
255
|
| rule | [`invite-challenge`](../.agent-src/rules/invite-challenge.md) | auto | Before executing a complex plan or non-trivial design — ask 'am I solving the right problem?' and pause for user confirmation, even when no ambiguity |
|
|
255
256
|
| rule | [`language-and-tone`](../.agent-src/rules/language-and-tone.md) | always | Language and tone — informal German Du, English code comments, .md files always English |
|
|
256
257
|
| rule | [`laravel-routing`](../.agent-src/rules/laravel-routing.md) | auto | When writing or reviewing Laravel code — controllers, Eloquent, Artisan, jobs, events, policies — route to the laravel skill |
|
|
257
258
|
| rule | [`laravel-translations`](../.agent-src/rules/laravel-translations.md) | auto | Laravel language files, translations, i18n, lang/de, lang/en, __() helper, localization, multilingual text |
|
|
259
|
+
| rule | [`low-impact-corpus-privacy-floor`](../.agent-src/rules/low-impact-corpus-privacy-floor.md) | auto | Writing, editing, or upstreaming entries in `agents/low-impact-decisions.md` — non-bypassable privacy floor for the learning corpus. |
|
|
258
260
|
| rule | [`markdown-safe-codeblocks`](../.agent-src/rules/markdown-safe-codeblocks.md) | auto | Generating markdown output that contains code blocks — prevent broken nesting |
|
|
259
261
|
| rule | [`minimal-safe-diff`](../.agent-src/rules/minimal-safe-diff.md) | auto | When writing or reviewing a diff — the smallest change that solves the stated problem; no drive-by edits, opportunistic refactors, or reformatting |
|
|
260
262
|
| rule | [`missing-tool-handling`](../.agent-src/rules/missing-tool-handling.md) | auto | When a CLI tool needed for the task is not installed — ask before working around it; do NOT install silently |
|
|
@@ -279,7 +281,7 @@ are excluded.
|
|
|
279
281
|
| rule | [`skill-improvement-trigger`](../.agent-src/rules/skill-improvement-trigger.md) | auto | After completing a meaningful task — trigger post-task learning capture if pipelines.skill_improvement is enabled |
|
|
280
282
|
| rule | [`skill-quality`](../.agent-src/rules/skill-quality.md) | auto | Creating, editing, or reviewing skills — minimum quality standard, every skill must be executable, validated, and self-contained |
|
|
281
283
|
| rule | [`slash-command-routing-policy`](../.agent-src/rules/slash-command-routing-policy.md) | auto | When user types a slash command like /create-pr, /commit, or pastes command file content |
|
|
282
|
-
| rule | [`symfony-routing`](../.agent-src/rules/symfony-routing.md) | auto |
|
|
284
|
+
| rule | [`symfony-routing`](../.agent-src/rules/symfony-routing.md) | auto | Writing or reviewing Symfony code — DI, bundles, Doctrine, Messenger, Security voters, console commands — route to the symfony-workflow skill |
|
|
283
285
|
| rule | [`think-before-action`](../.agent-src/rules/think-before-action.md) | auto | Before coding, modifying, or debugging — analyze first, verify with real tools, never guess or trial-and-error |
|
|
284
286
|
| rule | [`token-efficiency`](../.agent-src/rules/token-efficiency.md) | auto | When running CLI tools, fetching logs, or producing replies — redirect verbose output, minimize tool calls, keep replies concise |
|
|
285
287
|
| rule | [`token-optimizer-maintenance`](../.agent-src/rules/token-optimizer-maintenance.md) | auto | Editing a token-optimizer-cited asset (cli-output-handling, rtk-output-filtering, token-efficiency, markitdown) — sync catalog same commit |
|
|
@@ -289,7 +291,7 @@ are excluded.
|
|
|
289
291
|
| rule | [`user-interaction`](../.agent-src/rules/user-interaction.md) | auto | Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators |
|
|
290
292
|
| rule | [`verify-before-complete`](../.agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
|
|
291
293
|
|
|
292
|
-
## Commands (
|
|
294
|
+
## Commands (115)
|
|
293
295
|
|
|
294
296
|
| kind | name | cluster | description |
|
|
295
297
|
|---|---|---|---|
|
|
@@ -298,6 +300,12 @@ are excluded.
|
|
|
298
300
|
| command | [`agents:audit`](../.agent-src/commands/agents/audit.md) | cluster: agents | Audit agent infrastructure — token overhead, rule triggers, AGENTS.md health, Capability-over-Structure adherence, stale references. Read-only, suggest-only, never auto-apply. |
|
|
299
301
|
| command | [`agents:init`](../.agent-src/commands/agents/init.md) | cluster: agents | Initialize the agent layer for a consumer project — creates AGENTS.md and .github/copilot-instructions.md from package templates, auto-detects stack, never leaks other projects' identifiers. |
|
|
300
302
|
| command | [`agents:optimize`](../.agent-src/commands/agents/optimize.md) | cluster: agents | Refactor AGENTS.md to the Thin-Root contract (caps, pointer ratio, capability bullets, emergency-triage) and propagate to tool stubs. Suggest only, never auto-apply. |
|
|
303
|
+
| command | [`agents:user-accept`](../.agent-src/commands/agents/user/accept.md) | cluster: agents | Apply a buffered observation to .agent-user.md after explicit user confirmation; bumps last_updated and drops the applied observations from the buffer. |
|
|
304
|
+
| command | [`agents:user-init`](../.agent-src/commands/agents/user/init.md) | cluster: agents | Interactive interview that creates the project-root .agent-user.md from the locked v1 schema (name, language, role, style, voice_sample). |
|
|
305
|
+
| command | [`agents:user-review`](../.agent-src/commands/agents/user/review.md) | cluster: agents | List buffered observations from .agent-user.observations.jsonl with numbered options to inspect or accept individually. |
|
|
306
|
+
| command | [`agents:user-show`](../.agent-src/commands/agents/user/show.md) | cluster: agents | Read-only render of .agent-user.md — prints the persona summary the host agent loads at session start. |
|
|
307
|
+
| command | [`agents:user-update`](../.agent-src/commands/agents/user/update.md) | cluster: agents | Open .agent-user.md in the user's IDE for manual edit; validates schema and 100-line cap on save. |
|
|
308
|
+
| command | [`agents:user`](../.agent-src/commands/agents/user.md) | cluster: agents | User-persona file (.agent-user.md) — interview, render, and maintain who the user is and how they want to be addressed. |
|
|
301
309
|
| command | [`agents`](../.agent-src/commands/agents.md) | cluster: agents | Agent-layer orchestrator — routes to init, optimize, audit. Covers AGENTS.md and its multi-tool stubs (CLAUDE.md, GEMINI.md, copilot-instructions.md, .cursorrules). |
|
|
302
310
|
| command | [`analyze-reference-repo`](../.agent-src/commands/analyze-reference-repo.md) | | Analyze an external reference repository (competitor, inspiration, peer) and produce a structured comparison + adoption plan for this project. |
|
|
303
311
|
| command | [`bug-fix`](../.agent-src/commands/bug-fix.md) | | Plan and implement a bug fix — based on investigation, with quality checks and test verification |
|
|
@@ -351,6 +359,7 @@ are excluded.
|
|
|
351
359
|
| command | [`judge:steps`](../.agent-src/commands/judge/steps.md) | cluster: judge | Execute an ordered plan step by step with a judge gate between steps — stops on first failed verdict |
|
|
352
360
|
| command | [`judge`](../.agent-src/commands/judge.md) | cluster: judge | Judge orchestrator — routes to solo, steps, on-diff |
|
|
353
361
|
| command | [`memory:add`](../.agent-src/commands/memory/add.md) | cluster: memory | Interactively add a validated entry to an engineering-memory file (domain-invariants, architecture-decisions, incident-learnings, product-rules) |
|
|
362
|
+
| command | [`memory:learn-low-impact`](../.agent-src/commands/memory/learn-low-impact.md) | cluster: memory | Preview validated low-impact entries that would be upstreamed to the package seed (default `--preview`); `--apply` opens a draft PR via `upstream-contribute` after re-redaction. |
|
|
354
363
|
| command | [`memory:load`](../.agent-src/commands/memory/load.md) | cluster: memory | Load ALL curated entries of a given memory type into the current context — opt-in full load for deep analysis, never auto-triggered |
|
|
355
364
|
| command | [`memory:mine-session`](../.agent-src/commands/memory/mine-session.md) | cluster: memory | Mine the active session transcript for memory signals (corrections, preferences, decisions, recurring patterns) — preview-by-default, opt-in transcript access, host-agnostic via TranscriptAdapter. |
|
|
356
365
|
| command | [`memory:promote`](../.agent-src/commands/memory/promote.md) | cluster: memory | Promote an intake signal (or provisional proposal) into a curated memory entry — opens a PR and runs the admission gate. |
|
|
@@ -6,8 +6,9 @@ keep-beta-until: 2026-08-12
|
|
|
6
6
|
# ADR — Architectural Consensus Mechanism (bus-factor / multi-author readiness)
|
|
7
7
|
|
|
8
8
|
> **Status:** Decided · 2026-05-14
|
|
9
|
-
> **Context:** v2 council finding C1 (file [01-bus-factor-and-consensus.md](../../agents/council-sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md)) flagged that a single-author skill suite cannot detect ontology drift (two skills with overlapping triggers, drift between description and body, generic best-practice patterns repeated across clusters). The package needs a **mechanical consensus signal** that does not depend on the original author's judgment.
|
|
10
|
-
> **Roadmap:** Closes Phase 5.2 of
|
|
9
|
+
> **Context:** v2 council finding C1 (file [01-bus-factor-and-consensus.md](../../agents/council-sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md)) flagged that a single-author skill suite cannot detect ontology drift (two skills with overlapping triggers, drift between description and body, generic best-practice patterns repeated across clusters). The package needs a **mechanical consensus signal** that does not depend on the original author's judgment. <!-- council-ref-allowed: ADR decision trace -->
|
|
10
|
+
> **Roadmap:** Closes Phase 5.2 of the v2 feedback follow-up roadmap
|
|
11
|
+
> (see `agents/roadmaps/`).
|
|
11
12
|
|
|
12
13
|
## Decision
|
|
13
14
|
|
|
@@ -60,7 +61,7 @@ The final acceptance gate (lint going from warn-only to fail-the-build) is defer
|
|
|
60
61
|
|
|
61
62
|
## Related
|
|
62
63
|
|
|
63
|
-
- Origin: [`agents/council-sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md`](../../agents/council-sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md)
|
|
64
|
+
- Origin: [`agents/council-sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md`](../../agents/council-sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md) <!-- council-ref-allowed: ADR decision trace -->
|
|
64
65
|
- Mechanical scripts: [`scripts/skill_collision_clusters.py`](../../scripts/skill_collision_clusters.py), [`scripts/score_skill_selection.py`](../../scripts/score_skill_selection.py)
|
|
65
66
|
- Sibling decision: [`docs/contracts/rule-router.md`](rule-router.md) — the routing layer the ADR feeds
|
|
66
67
|
- Sibling decision: [`docs/contracts/multi-tool-projection-fidelity.md`](multi-tool-projection-fidelity.md) — Phase 4 of the same roadmap
|
|
@@ -11,10 +11,10 @@ stability: stable
|
|
|
11
11
|
> package from Level-4 (execution engine) to Level-5 (observable
|
|
12
12
|
> decision system); this roadmap was the Level-5 → Level-6 jump:
|
|
13
13
|
> **steerable + provable + onboardable**.
|
|
14
|
-
> **Cross-links:**
|
|
15
|
-
>
|
|
16
|
-
>
|
|
17
|
-
>
|
|
14
|
+
> **Cross-links:** sibling roadmaps `road-to-productization`,
|
|
15
|
+
> `road-to-proof-not-features`, and `road-to-better-skills-and-profiles`
|
|
16
|
+
> — see `agents/roadmaps/` (or `agents/roadmaps/archive/` for the
|
|
17
|
+
> closed ones) for current status.
|
|
18
18
|
|
|
19
19
|
## What shipped
|
|
20
20
|
|
|
@@ -72,9 +72,8 @@ stability: stable
|
|
|
72
72
|
- Beta-review marker protocol shipped in [`STABILITY.md`](STABILITY.md)
|
|
73
73
|
§ Beta-review markers; `scripts/check_beta_review_markers.py` wired
|
|
74
74
|
into `task ci`; 39 beta contracts back-filled (P5.4).
|
|
75
|
-
- Test-redundancy audit produced
|
|
76
|
-
|
|
77
|
-
— audit-only, no deletions (P5.5).
|
|
75
|
+
- Test-redundancy audit produced the `step-5-test-cleanup` sibling
|
|
76
|
+
roadmap — audit-only, no deletions (P5.5).
|
|
78
77
|
|
|
79
78
|
### Release-trunk discipline (Phase 1)
|
|
80
79
|
|
|
@@ -118,8 +117,7 @@ keep-beta-until dates beyond the window.
|
|
|
118
117
|
|
|
119
118
|
- **Showcase capture** → future `road-to-showcase-capture.md` when a
|
|
120
119
|
hosted-LLM runner is on the table.
|
|
121
|
-
- **Test-suite deletion** →
|
|
122
|
-
[`step-5-test-cleanup.md`](../../agents/roadmaps/step-5-test-cleanup.md)
|
|
120
|
+
- **Test-suite deletion** → `step-5-test-cleanup` sibling roadmap
|
|
123
121
|
(audit-only sibling spawned by P5.5; non-destructive by default).
|
|
124
122
|
- **Persona Block B** (Architect / Risk-Officer extension) —
|
|
125
123
|
anti-recommended per the sibling closure decision; not deferred,
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: beta
|
|
3
|
+
keep-beta-until: 2026-08-13
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# `.agent-user.md` schema (v1)
|
|
7
|
+
|
|
8
|
+
> **Status:** beta — locked for `1.18.0`. Re-evaluate fields after
|
|
9
|
+
> Phase 3 has been in active use for ≥1 week.
|
|
10
|
+
|
|
11
|
+
`.agent-user.md` is a single, project-root, gitignored Markdown file
|
|
12
|
+
that captures who the user is and how they want the agent to address
|
|
13
|
+
them. It is **deliberately minimal in v1** — name, language, role,
|
|
14
|
+
style, and a single voice sample. Everything else is deferred until
|
|
15
|
+
usage signal exists.
|
|
16
|
+
|
|
17
|
+
The file is owned by the user. The agent never edits it without an
|
|
18
|
+
explicit `accept` step.
|
|
19
|
+
|
|
20
|
+
## Locked frontmatter (v1)
|
|
21
|
+
|
|
22
|
+
```yaml
|
|
23
|
+
---
|
|
24
|
+
version: 1
|
|
25
|
+
identity:
|
|
26
|
+
name: "Mathias" # required — full name or how the user wants to be addressed
|
|
27
|
+
nickname: "Matze" # optional — preferred shorthand (used by default in chat)
|
|
28
|
+
language: "de" # required — BCP-47-ish primary language ("de", "en", "fr", ...)
|
|
29
|
+
role: "founder/engineer" # required — short free-form role label
|
|
30
|
+
style:
|
|
31
|
+
formality: "informal" # informal | formal
|
|
32
|
+
pace: "pragmatic" # pragmatic | thorough | rapid
|
|
33
|
+
voice_sample: | # required — one paste of the user's typical writing
|
|
34
|
+
Mach das einfach. Wenn unklar, frag im Council.
|
|
35
|
+
last_updated: "2026-05-15" # YYYY-MM-DD — bumped on every accepted change
|
|
36
|
+
---
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
After the frontmatter, the body is a single freeform **`# Notes`**
|
|
40
|
+
section. Hard cap: **100 lines** total file size (including
|
|
41
|
+
frontmatter, body, and the Notes section). The 100-line cap is
|
|
42
|
+
enforced by `/agents user accept` and `/agents user update`.
|
|
43
|
+
|
|
44
|
+
## Field reference
|
|
45
|
+
|
|
46
|
+
| Field | Required | Purpose |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `version` | yes | Schema version. v1 is the only valid value today. |
|
|
49
|
+
| `identity.name` | yes | Default address form. |
|
|
50
|
+
| `identity.nickname` | no | Preferred shorthand — agent uses this by default in chat replies when set. |
|
|
51
|
+
| `language` | yes | Primary language; the agent mirrors per [`language-and-tone`](../../.agent-src/rules/language-and-tone.md). |
|
|
52
|
+
| `role` | yes | Short free-form label — drives reviewer voice selection and persona pairing. |
|
|
53
|
+
| `style.formality` | yes | `informal` (Du / first-name) or `formal` (Sie / full name). |
|
|
54
|
+
| `style.pace` | yes | `pragmatic` (default), `thorough` (more verification), or `rapid` (shorter replies). |
|
|
55
|
+
| `voice_sample` | yes | One representative paste — anchors mirror-back and tone calibration. |
|
|
56
|
+
| `last_updated` | yes | ISO date, bumped on every accept. |
|
|
57
|
+
|
|
58
|
+
## Explicit exclusions
|
|
59
|
+
|
|
60
|
+
The agent NEVER writes any of the following to `.agent-user.md`, even
|
|
61
|
+
with the user's explicit consent — they violate the privacy floor:
|
|
62
|
+
|
|
63
|
+
- Credentials, API keys, passwords, tokens.
|
|
64
|
+
- Third-party names (children, partners, colleagues, clients).
|
|
65
|
+
- Third-party birthdays or dates.
|
|
66
|
+
- Financial figures (salary, revenue, net worth, runway numbers).
|
|
67
|
+
- Health, legal, or therapy status.
|
|
68
|
+
- Demographics (relationship status, family context, age, location) —
|
|
69
|
+
**deferred to v2** pending usage data per the re-validation gate.
|
|
70
|
+
- LinkedIn URL or any other external-source identifier — **deferred**
|
|
71
|
+
until a written host-agent-fetch contract and a "what counts as a
|
|
72
|
+
public profile field" privacy floor exist.
|
|
73
|
+
|
|
74
|
+
## Loader contract
|
|
75
|
+
|
|
76
|
+
Host agents read `.agent-user.md` at session start, in this priority
|
|
77
|
+
order:
|
|
78
|
+
|
|
79
|
+
1. `.agent-user.md` at project root (this contract).
|
|
80
|
+
2. `personal.user_name` in `.agent-settings.yml` (legacy fallback).
|
|
81
|
+
3. Nothing — agent uses generic address forms.
|
|
82
|
+
|
|
83
|
+
The host agent surfaces the user's `identity.nickname` (or `name` if
|
|
84
|
+
unset) on first reply when the file is present.
|
|
85
|
+
|
|
86
|
+
## Determinism floor
|
|
87
|
+
|
|
88
|
+
The `agent-config` package itself contains **zero network code**.
|
|
89
|
+
External enrichment (e.g. LinkedIn profile fetch) was rejected on
|
|
90
|
+
determinism / ToS / test-impossibility grounds, and the host-agent
|
|
91
|
+
delegation workaround was additionally rejected on contract-floor
|
|
92
|
+
grounds (AI Council convergence — Anthropic, OpenAI, Google · 2026-05-14).
|
|
93
|
+
v1 is paste-only via `/agents user init`.
|
|
94
|
+
|
|
95
|
+
## Staleness
|
|
96
|
+
|
|
97
|
+
When `last_updated` is older than 90 days, any `/agents user *`
|
|
98
|
+
command surfaces a one-line warning (not a blocker):
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
⚠️ .agent-user.md was last updated YYYY-MM-DD (>90 days ago). Run /agents user review or /agents user update.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Commands
|
|
105
|
+
|
|
106
|
+
| Command | Role |
|
|
107
|
+
|---|---|
|
|
108
|
+
| `/agents user init` | Creates the file from a short interview. Refuses overwrite without `--force`. |
|
|
109
|
+
| `/agents user show` | Read-only render. (Phase 2.) |
|
|
110
|
+
| `/agents user review` | List buffered observations. (Phase 3.) |
|
|
111
|
+
| `/agents user accept` | Apply selected observations; bumps `last_updated`. (Phase 3.) |
|
|
112
|
+
| `/agents user update` | Open in IDE for manual edit; validates on save. (Phase 3.) |
|
|
113
|
+
|
|
114
|
+
See [`command-clusters.md`](command-clusters.md) for the locked
|
|
115
|
+
cluster registration.
|
|
116
|
+
|
|
117
|
+
## Observation buffer
|
|
118
|
+
|
|
119
|
+
Agents MAY append observations about the user (preferred reply style,
|
|
120
|
+
detected language drift, repeated correction patterns) to a separate
|
|
121
|
+
JSONL buffer at the project root:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
.agent-user.observations.jsonl
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
The buffer is **append-only**, gitignored, and never read by the
|
|
128
|
+
host-agent loader directly. It only feeds `/agents user review` →
|
|
129
|
+
`/agents user accept`.
|
|
130
|
+
|
|
131
|
+
Each line is a single JSON object:
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{"ts":"2026-05-15T10:23:00Z","field":"style.pace","suggest":"rapid","source":"chat","evidence":"user said 'mach kürzer' 3× this session"}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Allowed `field` values mirror the schema (`identity.nickname`,
|
|
138
|
+
`language`, `role`, `style.formality`, `style.pace`, `voice_sample`,
|
|
139
|
+
`notes`). Anything outside that set is dropped on read.
|
|
140
|
+
|
|
141
|
+
Privacy floor applies on write — never buffer credentials, third-party
|
|
142
|
+
PII, financial figures, or health/legal status. The same
|
|
143
|
+
[exclusions list](#explicit-exclusions) governs both `.agent-user.md`
|
|
144
|
+
and the buffer.
|
|
145
|
+
|
|
146
|
+
## Gitignore
|
|
147
|
+
|
|
148
|
+
`.agent-user.md` and `.agent-user.observations.jsonl` are added to the
|
|
149
|
+
package-managed `.gitignore` block
|
|
150
|
+
([`config/gitignore-block.txt`](../../config/gitignore-block.txt)) and
|
|
151
|
+
ignored by default. A `--shared` opt-in to commit `.agent-user.md` is
|
|
152
|
+
deferred — only the doc note lands in v1. The observation buffer is
|
|
153
|
+
**never** shared.
|
|
154
|
+
|
|
155
|
+
## Example
|
|
156
|
+
|
|
157
|
+
A complete, paste-ready fixture lives at
|
|
158
|
+
[`docs/examples/agent-user.example.md`](../examples/agent-user.example.md).
|
|
159
|
+
Copy it to the project root as `.agent-user.md` and edit, or run
|
|
160
|
+
`/agents user init` for the interactive flow.
|
|
161
|
+
|
|
162
|
+
## See also
|
|
163
|
+
|
|
164
|
+
- [`language-and-tone`](../../.agent-src/rules/language-and-tone.md) — language-mirroring rule the loader feeds.
|
|
165
|
+
- [`agents-md-thin-root`](../../.agent-src/skills/agents-md-thin-root/SKILL.md) — Thin-Root contract that this file complements (user-state vs project-state).
|