@event4u/agent-config 2.19.0 → 2.20.1
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/agent-status.md +29 -0
- package/.agent-src/commands/onboard.md +221 -81
- package/.agent-src/packs/README.md +49 -0
- package/.agent-src/packs/agency-delivery.yml +63 -0
- package/.agent-src/packs/content-engine.yml +53 -0
- package/.agent-src/packs/founder-mvp.yml +51 -0
- package/.agent-src/presets/README.md +26 -0
- package/.agent-src/presets/balanced.yml +34 -0
- package/.agent-src/presets/fast.yml +31 -0
- package/.agent-src/presets/strict.yml +38 -0
- package/.agent-src/profiles/README.md +29 -0
- package/.agent-src/profiles/agency.yml +27 -0
- package/.agent-src/profiles/content_creator.yml +25 -0
- package/.agent-src/profiles/developer.yml +26 -0
- package/.agent-src/profiles/finance.yml +24 -0
- package/.agent-src/profiles/founder.yml +25 -0
- package/.agent-src/profiles/ops.yml +25 -0
- package/.agent-src/rules/no-cheap-questions.md +25 -17
- package/.agent-src/skills/adr-create/SKILL.md +78 -68
- package/.agent-src/skills/subagent-orchestration/SKILL.md +33 -0
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.agent-src/templates/skill-archive-note.md +101 -0
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +73 -70
- package/README.md +68 -72
- package/config/agent-settings.template.yml +22 -0
- package/docs/adrs/caveman/0001-default-off-until-bench.md +93 -0
- package/docs/adrs/caveman/README.md +9 -0
- package/docs/adrs/cost/0001-hard-stop-hook.md +114 -0
- package/docs/adrs/cost/README.md +9 -0
- package/docs/adrs/memory/0001-consumer-side-snapshot.md +111 -0
- package/docs/adrs/memory/README.md +9 -0
- package/docs/adrs/router/0001-three-tier-routing.md +119 -0
- package/docs/adrs/router/README.md +9 -0
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +102 -0
- package/docs/adrs/schema/README.md +9 -0
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +99 -0
- package/docs/adrs/smoke/README.md +9 -0
- package/docs/architecture/current-onboard-baseline.md +126 -0
- package/docs/architecture/current-safety-behavior.md +137 -0
- package/docs/archive/CHANGELOG-pre-2.16.0.md +48 -0
- package/docs/archive/CHANGELOG-pre-2.17.0.md +63 -0
- package/docs/contracts/adr-layout.md +108 -0
- package/docs/contracts/benchmark-corpus-spec.md +97 -0
- package/docs/contracts/benchmark-report-schema.md +111 -0
- package/docs/contracts/command-clusters.md +1 -0
- package/docs/contracts/command-taxonomy.md +137 -0
- package/docs/contracts/compression-default-kill-criterion.md +69 -0
- package/docs/contracts/config-presets.md +144 -0
- package/docs/contracts/cost-dashboard.md +143 -0
- package/docs/contracts/cost-enforcement.md +134 -0
- package/docs/contracts/file-ownership-matrix.json +0 -7
- package/docs/contracts/mcp-tool-inventory.md +53 -0
- package/docs/contracts/measurement-baseline.md +102 -0
- package/docs/contracts/namespace.md +125 -0
- package/docs/contracts/profile-system.md +142 -0
- package/docs/contracts/safety-model.md +129 -0
- package/docs/contracts/smoke-contracts.md +144 -0
- package/docs/contracts/workflow-packs.md +121 -0
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +132 -0
- package/docs/decisions/INDEX.md +1 -0
- package/docs/featured-commands.md +27 -0
- package/docs/parity/bench-ruflo.json +58 -0
- package/docs/parity/bench.json +41 -0
- package/docs/parity/ruflo.md +46 -0
- package/docs/profiles.md +91 -0
- package/package.json +1 -1
- package/scripts/_cli/cmd_explain.py +250 -0
- package/scripts/_lib/bench_cost.py +138 -0
- package/scripts/_lib/bench_quality.py +118 -0
- package/scripts/_lib/bench_report.py +150 -0
- package/scripts/agent-config +13 -0
- package/scripts/audit_adr_coverage.py +175 -0
- package/scripts/audit_mcp_tools.py +146 -0
- package/scripts/bench_baseline_ready.py +108 -0
- package/scripts/bench_drift_check.py +151 -0
- package/scripts/bench_per_tool.py +216 -0
- package/scripts/bench_run.py +155 -0
- package/scripts/config/__init__.py +9 -0
- package/scripts/config/presets.py +206 -0
- package/scripts/config/profiles.py +173 -0
- package/scripts/cost/budget.mjs +73 -12
- package/scripts/cost/preflight.mjs +89 -0
- package/scripts/lint_archived_skills.py +143 -0
- package/scripts/lint_bench_corpus.py +161 -0
- package/scripts/lint_namespace.py +135 -0
- package/scripts/lint_roadmap_complexity.py +3 -2
- package/scripts/skill_overlap.py +204 -0
- package/scripts/skill_usage_collect.py +191 -0
- package/scripts/skill_usage_report.py +162 -0
- package/scripts/smoke/kernel.sh +101 -0
- package/scripts/smoke/router.sh +129 -0
- package/scripts/smoke/schema.sh +71 -0
- package/scripts/smoke/skills.sh +101 -0
|
@@ -51,6 +51,39 @@ Each mode has a decision row: when to use, when not, and the expected
|
|
|
51
51
|
model pairing. Defaults come from
|
|
52
52
|
[`subagent-configuration`](../../contexts/subagent-configuration.md).
|
|
53
53
|
|
|
54
|
+
### Topology hints — per-mode communication shape
|
|
55
|
+
|
|
56
|
+
Descriptive, not enforced. Documents the **expected agent-to-agent
|
|
57
|
+
communication topology** so consumers can predict latency, failure
|
|
58
|
+
modes, and where consensus is required. Cited from
|
|
59
|
+
[`external-findings.md § 2`](../../../agents/audit-2026-05-14-north-star/external-findings.md)
|
|
60
|
+
row 7 (Ruflo's `hierarchical, 6–8 agents, raft consensus` anti-drift
|
|
61
|
+
default).
|
|
62
|
+
|
|
63
|
+
| Mode | Topology | Anti-drift default | Notes |
|
|
64
|
+
|---|---|---|---|
|
|
65
|
+
| do-and-judge | `hierarchical` | 1 implementer · 1 judge · session-orchestrated | Two-node hub-and-spoke; orchestrator owns the loop. |
|
|
66
|
+
| do-and-judge-two-stage | `hierarchical` | 1 implementer · 2 sequential judges | Stages are serialized; spec-judge gates quality-judge. |
|
|
67
|
+
| do-in-steps | `ring` | N steps · 1 judge between each | Step N output → judge → step N+1 input; cycle on revise. |
|
|
68
|
+
| do-in-parallel | `star` | 6–8 implementers · 1 judge · session-hub | Capped by `subagents.max_parallel`; judge runs once on union. |
|
|
69
|
+
| do-competitively | `mesh` | 2–4 implementers · 1 judge | Implementers do not see each other; judge sees all candidates. |
|
|
70
|
+
| judge-with-debate | `hierarchical-mesh` | 2 judges · 1 meta-judge | Judges debate (mesh edge); meta-judge reconciles (hierarchical). |
|
|
71
|
+
| do-in-worktrees | `adaptive` | per-step topology of the underlying mode | Each worktree picks its own shape; chain is hierarchical. |
|
|
72
|
+
|
|
73
|
+
**Anti-drift default** (Ruflo convention, descriptive only):
|
|
74
|
+
`hierarchical, 6–8 agents, raft consensus`. Consumers free to
|
|
75
|
+
override per orchestration — table is **starting point**, not a
|
|
76
|
+
constraint. Topology is metadata for capacity planning, not
|
|
77
|
+
runtime-enforced.
|
|
78
|
+
|
|
79
|
+
**Glossary:**
|
|
80
|
+
- `hierarchical` — orchestrator hub; agents reply to hub only.
|
|
81
|
+
- `mesh` — agents see each other's outputs (e.g. competing diffs).
|
|
82
|
+
- `hierarchical-mesh` — peer debate followed by hub reconciliation.
|
|
83
|
+
- `ring` — output of step N feeds input of step N+1 in order.
|
|
84
|
+
- `star` — N agents fan out from single hub; no peer comms.
|
|
85
|
+
- `adaptive` — topology shifts per step; outer chain remains hub.
|
|
86
|
+
|
|
54
87
|
### 1. do-and-judge
|
|
55
88
|
|
|
56
89
|
Implementer produces a diff; judge reviews; loop applies, revises, or
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.py (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "2.
|
|
42
|
+
agent_config_version: "2.20.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Skill Archive Note Template
|
|
2
|
+
|
|
3
|
+
> Template for `agents/archived-skills/<slug>.md`. Created during
|
|
4
|
+
> `step-2-skill-inventory-rationalization.md`
|
|
5
|
+
> Phase 4 execution. Every skill removed from
|
|
6
|
+
> `.agent-src.uncompressed/skills/` MUST have a matching archive note
|
|
7
|
+
> here — enforced by `scripts/lint_archived_skills.py`.
|
|
8
|
+
|
|
9
|
+
## Instructions
|
|
10
|
+
|
|
11
|
+
1. Create the file: `agents/archived-skills/{slug}.md`.
|
|
12
|
+
2. Copy the template body below and fill every required field.
|
|
13
|
+
3. Commit alongside the SKILL.md removal in the same PR (the linter
|
|
14
|
+
refuses to pass if the pair drifts).
|
|
15
|
+
|
|
16
|
+
## Required frontmatter
|
|
17
|
+
|
|
18
|
+
```yaml
|
|
19
|
+
---
|
|
20
|
+
slug: {skill-slug} # the directory name that was removed
|
|
21
|
+
archived_on: 2026-MM-DD # UTC date of the removal commit
|
|
22
|
+
last_seen_count: 0 # mentions_30d at archival time (from skill-usage-report.md)
|
|
23
|
+
reason: unused # one of: unused, merged, superseded, deprecated
|
|
24
|
+
replacement: none # successor slug, or literal "none" if reason ∈ {unused, deprecated}
|
|
25
|
+
last_known_callers: # YAML list — files / commands / rules that cited this slug
|
|
26
|
+
- "none detected" # or e.g. ".augment/rules/foo.md", "agents/roadmaps/bar.md"
|
|
27
|
+
---
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Required body
|
|
31
|
+
|
|
32
|
+
````markdown
|
|
33
|
+
# {skill-slug}
|
|
34
|
+
|
|
35
|
+
## Why archived
|
|
36
|
+
|
|
37
|
+
{1–3 sentences. Cite the Phase 2 candidates-table row (overlap pair,
|
|
38
|
+
activation counts, or both) that justified removal. Link the row.}
|
|
39
|
+
|
|
40
|
+
## What replaces it
|
|
41
|
+
|
|
42
|
+
{If `replacement: <successor>`: one paragraph on how the successor
|
|
43
|
+
covers the source's triggers, and which trigger phrases it absorbed.
|
|
44
|
+
Link the successor's SKILL.md.}
|
|
45
|
+
|
|
46
|
+
{If `replacement: none`: one paragraph on why the capability is gone —
|
|
47
|
+
no successor needed because the workflow itself was retired / merged
|
|
48
|
+
into a router decision tree / handled inline by another rule.}
|
|
49
|
+
|
|
50
|
+
## Last-known callers
|
|
51
|
+
|
|
52
|
+
{If `last_known_callers:` is non-empty, one bullet per caller with a
|
|
53
|
+
short note on whether the caller was updated, redirected, or left
|
|
54
|
+
referencing the archive note. The lint gate fails if a caller still
|
|
55
|
+
references the removed slug without pointing at this note.}
|
|
56
|
+
|
|
57
|
+
## References
|
|
58
|
+
|
|
59
|
+
- Candidates table row: [`skill-rationalization-candidates.md`](../metrics/skill-rationalization-candidates.md#{anchor})
|
|
60
|
+
- Activation baseline: [`skill-usage-report.md`](../metrics/skill-usage-report.md)
|
|
61
|
+
- Overlap pair (if applicable): [`skill-overlap.md`](../metrics/skill-overlap.md)
|
|
62
|
+
````
|
|
63
|
+
|
|
64
|
+
## Field semantics
|
|
65
|
+
|
|
66
|
+
- **`slug`** — must match the removed directory name exactly. The
|
|
67
|
+
linter keys on this.
|
|
68
|
+
- **`archived_on`** — UTC date string `YYYY-MM-DD`. Used for cohort
|
|
69
|
+
reporting (e.g. "skills archived in the May 2026 rationalization").
|
|
70
|
+
- **`last_seen_count`** — `mentions_30d` value from the activation
|
|
71
|
+
report at the moment of archival. `0` is the dominant case; non-zero
|
|
72
|
+
values demand extra justification in *Why archived*.
|
|
73
|
+
- **`reason`** — exactly one of:
|
|
74
|
+
- `unused` — `mentions_30d == 0` over the soak window.
|
|
75
|
+
- `merged` — content folded into another skill; trigger phrases
|
|
76
|
+
transferred.
|
|
77
|
+
- `superseded` — thin-redirect successor exists (`replaced_by`
|
|
78
|
+
relationship documented in the successor's frontmatter).
|
|
79
|
+
- `deprecated` — capability retired; no successor needed.
|
|
80
|
+
- **`replacement`** — successor slug (must exist under
|
|
81
|
+
`.agent-src.uncompressed/skills/`) or literal `none`. The linter
|
|
82
|
+
validates the successor's existence.
|
|
83
|
+
- **`last_known_callers`** — references found by
|
|
84
|
+
`scripts/check_references.py` at archival time. Empty list is valid
|
|
85
|
+
only when the check truly returned zero hits.
|
|
86
|
+
|
|
87
|
+
## Lint contract
|
|
88
|
+
|
|
89
|
+
`scripts/lint_archived_skills.py` enforces:
|
|
90
|
+
|
|
91
|
+
1. Every file under `agents/archived-skills/*.md` (except the README)
|
|
92
|
+
has a frontmatter block with the six required fields.
|
|
93
|
+
2. `reason` is one of the four allowed values.
|
|
94
|
+
3. When `reason ∈ {merged, superseded}`, the `replacement` slug exists
|
|
95
|
+
under `.agent-src.uncompressed/skills/`.
|
|
96
|
+
4. Every slug under `agents/archived-skills/` is *absent* from
|
|
97
|
+
`.agent-src.uncompressed/skills/` (no zombies).
|
|
98
|
+
5. No SKILL.md present under `.agent-src.uncompressed/skills/`
|
|
99
|
+
references an archived slug as a router target.
|
|
100
|
+
|
|
101
|
+
Run via `task lint-archived-skills`. Included in `task ci`.
|
package/CHANGELOG.md
CHANGED
|
@@ -695,13 +695,69 @@ our recommendation order, not its support status.
|
|
|
695
695
|
users" tension without removing any path that an existing user
|
|
696
696
|
might rely on.
|
|
697
697
|
|
|
698
|
-
# Era: 2.
|
|
698
|
+
# Era: 2.17.x — current
|
|
699
699
|
|
|
700
|
-
> Started at `2.
|
|
700
|
+
> Started at `2.17.0` (2026-05-15). Full entries live inline below.
|
|
701
701
|
> The drift test caps this era at 200 lines of entry body; growth past
|
|
702
|
-
> that forces a new era split (`# Era: 2.
|
|
702
|
+
> that forces a new era split (`# Era: 2.18.x`, etc.) — see
|
|
703
703
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
704
704
|
|
|
705
|
+
## [2.20.1](https://github.com/event4u-app/agent-config/compare/2.20.0...2.20.1) (2026-05-16)
|
|
706
|
+
|
|
707
|
+
### Bug Fixes
|
|
708
|
+
|
|
709
|
+
* **lint:** treat zero active roadmaps as pass in lint-roadmap-complexity ([ff814e2](https://github.com/event4u-app/agent-config/commit/ff814e262a25b9269ae5d1b66495602b5d8f457b))
|
|
710
|
+
* **template:** bump agent_config_version pin to 2.20.0 ([ab3acfc](https://github.com/event4u-app/agent-config/commit/ab3acfc3eebd39e5fb7df919bd5b7a455e2f58ea))
|
|
711
|
+
|
|
712
|
+
### Chores
|
|
713
|
+
|
|
714
|
+
* **changelog:** split era 2.16.x → pre-2.17.0 ([67b668e](https://github.com/event4u-app/agent-config/commit/67b668ee2298cc56478a808a716e965482bf199d))
|
|
715
|
+
* **roadmaps:** close and archive all 8 open roadmaps (Total Dominance) ([c13359f](https://github.com/event4u-app/agent-config/commit/c13359f0b676f251a9b6c6b7ed11804fdeb84257))
|
|
716
|
+
|
|
717
|
+
Tests: 4535 (+0 since 2.20.0)
|
|
718
|
+
|
|
719
|
+
## [2.20.0](https://github.com/event4u-app/agent-config/compare/2.19.0...2.20.0) (2026-05-16)
|
|
720
|
+
|
|
721
|
+
### Features
|
|
722
|
+
|
|
723
|
+
* **product:** step-15 product refinement — profiles + packs + presets + explain CLI ([59e7d6f](https://github.com/event4u-app/agent-config/commit/59e7d6f3ddce025e558da08c1da1b4c8155e68eb))
|
|
724
|
+
* **parity:** step-11 ruflo parity — smoke + ADR + cost + namespace + MCP ([521b4c6](https://github.com/event4u-app/agent-config/commit/521b4c62f5fe266f5c18dfcca2abf4e06d97c217))
|
|
725
|
+
* **caveman:** step-10 default-kill criterion + parity roadmap ([dd7ec3c](https://github.com/event4u-app/agent-config/commit/dd7ec3cae4f8839b28b4d3ff9dbdbb316ec5d035))
|
|
726
|
+
* **bench:** step-4 measurement + benchmark infrastructure ([981d0cd](https://github.com/event4u-app/agent-config/commit/981d0cd1c48e2d23eede29bd86e833cd826ddfd9))
|
|
727
|
+
* **skills:** step-2 skill inventory rationalization ([3fa651d](https://github.com/event4u-app/agent-config/commit/3fa651d2496e4fc483cd7ed452bb39f41dd39365))
|
|
728
|
+
|
|
729
|
+
### Bug Fixes
|
|
730
|
+
|
|
731
|
+
* **adr-create:** restore Inspect keyword in step-1 heading ([46c40ad](https://github.com/event4u-app/agent-config/commit/46c40adf4741f1e13d8d275f9363f98047d4b733))
|
|
732
|
+
* **audit_mcp_tools:** drop roadmap link from generated inventory ([d35459e](https://github.com/event4u-app/agent-config/commit/d35459e94d9be473bbb567f7c348be5bff4b5e9d))
|
|
733
|
+
* **audit_mcp_tools:** emit stability frontmatter in generated inventory ([ba7af12](https://github.com/event4u-app/agent-config/commit/ba7af12cf26509f2ea0ddb867303f3b225fea866))
|
|
734
|
+
* **no-cheap-questions:** trim to clear concentration cap ([3516283](https://github.com/event4u-app/agent-config/commit/351628301aa168c31130b62ee306858944ecf9f2))
|
|
735
|
+
* **onboard:** move recommendation off inline (recommended) tag ([6a77a06](https://github.com/event4u-app/agent-config/commit/6a77a06c014d8820662906ca6ab0ee55ac847e05))
|
|
736
|
+
* **refs:** suppress legitimate council-response audit links ([d764329](https://github.com/event4u-app/agent-config/commit/d764329d8718124d150deafcce52bdd206ada740))
|
|
737
|
+
* **contracts:** drop roadmap-file links from stable artefacts ([96ea60f](https://github.com/event4u-app/agent-config/commit/96ea60f8f6e85c6ce04e8042d9d2535938f75d9f))
|
|
738
|
+
* **contracts:** bring beta-review markers into the 90-day window ([4be4a47](https://github.com/event4u-app/agent-config/commit/4be4a47cc30532fa20d1ea7c3311d7eaa154d7e6))
|
|
739
|
+
* **contracts:** add stability frontmatter to 6 new contracts ([8b27577](https://github.com/event4u-app/agent-config/commit/8b27577bc6b4b28c36ccfbea48b4e92e35372fbd))
|
|
740
|
+
* **portability:** replace task cost:* with direct script invocations ([0225f60](https://github.com/event4u-app/agent-config/commit/0225f60d0157edf4b4f74fe8fc1266295d5b90f2))
|
|
741
|
+
* **rules:** restore no-cheap-questions Iron Law block ([e95315f](https://github.com/event4u-app/agent-config/commit/e95315f96323d1ef32328b1c8a630b5aacafee84))
|
|
742
|
+
|
|
743
|
+
### Documentation
|
|
744
|
+
|
|
745
|
+
* **readme:** restore three-audience headings, tighten user-types blurb ([fdb03bf](https://github.com/event4u-app/agent-config/commit/fdb03bf314acb1a7a570400c1ba3cadb8098b943))
|
|
746
|
+
* **readme:** restore browse-all-commands canonical line ([d91f6e0](https://github.com/event4u-app/agent-config/commit/d91f6e0d99230792f570b02fab6a1b30a744187c))
|
|
747
|
+
* **readme:** extract profile detail + featured commands to /docs ([e8745f3](https://github.com/event4u-app/agent-config/commit/e8745f33f1da089aefd763cc659be4568177dd07))
|
|
748
|
+
* **roadmap:** regenerate dashboard + cross-roadmap link refresh ([f6b7085](https://github.com/event4u-app/agent-config/commit/f6b7085d3419f1a8b57daf9b949bd55312c17b9b))
|
|
749
|
+
* **roadmap:** step-5 schema rigor + test cleanup ([b043230](https://github.com/event4u-app/agent-config/commit/b043230291222f6d6287d73e0807ea772e227e98))
|
|
750
|
+
|
|
751
|
+
### Chores
|
|
752
|
+
|
|
753
|
+
* **changelog:** split era 2.15.x → pre-2.16.0 ([88b81ba](https://github.com/event4u-app/agent-config/commit/88b81bac54ae5f9558a1087c81d453c47d3039bb))
|
|
754
|
+
* **mcp:** regenerate MCP tool inventory ([bce3169](https://github.com/event4u-app/agent-config/commit/bce3169b353c2d240df610e4bf01c91c96d23e0d))
|
|
755
|
+
* **ownership:** regenerate ownership matrix after no-cheap-questions trim ([dbe58a9](https://github.com/event4u-app/agent-config/commit/dbe58a9dfafbca487f11b2501b1f1dabb1053a8d))
|
|
756
|
+
* **template:** bump agent_config_version pin to 2.19.0 ([cfc4c59](https://github.com/event4u-app/agent-config/commit/cfc4c59e288862eccf4e7b9d215adf30e527f5a0))
|
|
757
|
+
* **build:** wire step-2/4/11/15 tooling into Taskfile + gitignore ([0acc9e7](https://github.com/event4u-app/agent-config/commit/0acc9e77515e611eb685c58aeba91f3d5af9423f))
|
|
758
|
+
|
|
759
|
+
Tests: 4535 (+42 since 2.19.0)
|
|
760
|
+
|
|
705
761
|
## [2.19.0](https://github.com/event4u-app/agent-config/compare/2.18.0...2.19.0) (2026-05-16)
|
|
706
762
|
|
|
707
763
|
### Features
|
|
@@ -839,76 +895,23 @@ Tests: 4476 (+17 since 2.17.0)
|
|
|
839
895
|
|
|
840
896
|
Tests: 4459 (+54 since 2.16.0)
|
|
841
897
|
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
### Features
|
|
845
|
-
|
|
846
|
-
* **install:** install-mode marker + minimal-init upgrade hint (Step 8 P3) ([e028468](https://github.com/event4u-app/agent-config/commit/e028468ed2b58428b99bea5a2e6c2a25e12fc113))
|
|
847
|
-
* **cli:** doctor --trace-root + --context diagnostic surface (Step 8 P2) ([387a626](https://github.com/event4u-app/agent-config/commit/387a626b7795fc40e6e2442c1dde272dfc98f9d7))
|
|
848
|
-
* **cli:** --root override flag + fail-loud root validation (Step 8 P1) ([0c8356e](https://github.com/event4u-app/agent-config/commit/0c8356e9034ca474827de89db5386a04c61f560c))
|
|
849
|
-
* **wrapper:** export AGENT_CONFIG_PROJECT_ROOT pin so subdir invocations skip the walk ([e866cef](https://github.com/event4u-app/agent-config/commit/e866cef14d40269786fb0a88b69d9aafcfab1c88))
|
|
850
|
-
* **agent-settings:** add resolve_project_root helper for Phase 3 subdir hardening ([95bac18](https://github.com/event4u-app/agent-config/commit/95bac187132d35d476716cd38d8c619bccaca6e5))
|
|
851
|
-
* **install:** add --minimal / --settings-only init mode ([4c02743](https://github.com/event4u-app/agent-config/commit/4c02743cd7df6d89f7b7fa6188d654ca1eec983c))
|
|
852
|
-
* **agent_settings:** extend find_project_root with agents/ + .agent-settings.yml anchors ([60dcd11](https://github.com/event4u-app/agent-config/commit/60dcd11c498f25f92bb01482943bfb95d4efef37))
|
|
898
|
+
# Era: pre-2.17.0 — archived
|
|
853
899
|
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
* **roadmap:** mark Step 7 Phase 3 complete (subdir invocation hardening) ([518f9dc](https://github.com/event4u-app/agent-config/commit/518f9dcaf6d71a34cf1700bceb1487f1e8e33175))
|
|
861
|
-
* **roadmap:** mark Step 7 Phase 2 + test items complete ([1bb9b71](https://github.com/event4u-app/agent-config/commit/1bb9b712d866dd509124f7d8502f52957e972b20))
|
|
862
|
-
* **roadmap:** mark Step 7 Phase 1 complete; refresh progress dashboard ([2ba8d5b](https://github.com/event4u-app/agent-config/commit/2ba8d5be1b94bbab87da4270d833697c895cc9c6))
|
|
863
|
-
|
|
864
|
-
### Refactoring
|
|
865
|
-
|
|
866
|
-
* **cli:** route all cmd_*.py entry points through resolve_project_root ([aa7a01a](https://github.com/event4u-app/agent-config/commit/aa7a01a7f27205919193d54339298c0dbd30c43e))
|
|
867
|
-
|
|
868
|
-
### Tests
|
|
869
|
-
|
|
870
|
-
* **cli:** coverage for --root override + doctor trace/context (Step 8) ([9b943aa](https://github.com/event4u-app/agent-config/commit/9b943aa9f002750499738fd36f8a203525fb84da))
|
|
871
|
-
* **subdir:** cover resolve_project_root precedence + wrapper-pinned root ([0693714](https://github.com/event4u-app/agent-config/commit/06937145ac8f4e1160ec9279d3832e4f5397bb1e))
|
|
872
|
-
* **install:** cover --minimal payload + nested-install guard ([5623521](https://github.com/event4u-app/agent-config/commit/56235218624792b487a92f444ff8ee114a5651a3))
|
|
873
|
-
* **agent_settings:** cover anchor extension, kill-switch, perf budget ([37a080c](https://github.com/event4u-app/agent-config/commit/37a080c07ee9238fda45bbda1829764a4232f062))
|
|
874
|
-
|
|
875
|
-
### Chores
|
|
876
|
-
|
|
877
|
-
* **template:** bump agent_config_version pin to 2.15.0 ([093367d](https://github.com/event4u-app/agent-config/commit/093367d3e417a11a28295f2efa574e8c3fef6524))
|
|
878
|
-
* **sync:** propagate Step 8 agent_settings.py to .agent-src/ projection ([7ce92e5](https://github.com/event4u-app/agent-config/commit/7ce92e514a8edbd970a4118b91d2f651bf730070))
|
|
879
|
-
* **roadmap:** archive Step 8 discovery polish ([1c21982](https://github.com/event4u-app/agent-config/commit/1c219825dc413cfe45aefc3b12c08d2720583880))
|
|
880
|
-
* **changelog:** split era 2.11.x → pre-2.15.0 ([c79363c](https://github.com/event4u-app/agent-config/commit/c79363c05d775ecfa95ab6fff5b3bbe706f797c9))
|
|
881
|
-
|
|
882
|
-
Tests: 4405 (+53 since 2.15.0)
|
|
883
|
-
|
|
884
|
-
## [2.15.0](https://github.com/event4u-app/agent-config/compare/2.14.0...2.15.0) (2026-05-15)
|
|
885
|
-
|
|
886
|
-
### Features
|
|
887
|
-
|
|
888
|
-
* **agent-user:** add /agents user command cluster (init, show, review, accept, update) ([15d53d8](https://github.com/event4u-app/agent-config/commit/15d53d8d9a2365b044831cd42127e247a70d7e20))
|
|
889
|
-
* **agent-user:** add v1 schema contract for .agent-user.md persona file ([64f4eab](https://github.com/event4u-app/agent-config/commit/64f4eab62ccf6a2606fbca0c56d398372c05a7a0))
|
|
890
|
-
|
|
891
|
-
### Bug Fixes
|
|
892
|
-
|
|
893
|
-
* **agent-user:** inline council-reference summary per no-roadmap-references ([ee4d3ce](https://github.com/event4u-app/agent-config/commit/ee4d3cedf9f4429450d21ca5badc2ae5c2ecaaed))
|
|
894
|
-
* **agent-user:** drop roadmap references per no-roadmap-references rule ([c8ade8d](https://github.com/event4u-app/agent-config/commit/c8ade8d7c5b495e0e4295aa0cb801e59076ee0b0))
|
|
895
|
-
* **agent-user:** adjust keep-beta-until to fit 90-day window ([801b365](https://github.com/event4u-app/agent-config/commit/801b365117a2d1efb4505e504bdd730e4cbbc217))
|
|
896
|
-
|
|
897
|
-
### Documentation
|
|
898
|
-
|
|
899
|
-
* **persona:** README section + agent-settings legacy-fallback note ([4da7629](https://github.com/event4u-app/agent-config/commit/4da7629f1f0b5a35a64d0a861040ad8639a66ebe))
|
|
900
|
-
* **roadmap:** mark step-3-agent-user-persona phases as in-progress ([f29d3bc](https://github.com/event4u-app/agent-config/commit/f29d3bce2380c0ea9c67e6094540b88d920ed9ff))
|
|
901
|
-
|
|
902
|
-
### Chores
|
|
900
|
+
> All `2.16.0` entries live in
|
|
901
|
+
> [`docs/archive/CHANGELOG-pre-2.17.0.md`](docs/archive/CHANGELOG-pre-2.17.0.md).
|
|
902
|
+
> The archive is read-only; git tag `2.16.0` remains the canonical
|
|
903
|
+
> source for what shipped. Splitting these out of the main file keeps
|
|
904
|
+
> the active era under the 200-line drift cap enforced by
|
|
905
|
+
> `tests/test_changelog_eras.py`.
|
|
903
906
|
|
|
904
|
-
|
|
905
|
-
* **ownership:** regenerate file-ownership-matrix for /agents user ([128890d](https://github.com/event4u-app/agent-config/commit/128890d880584704b4842a398555dd979ae54462))
|
|
906
|
-
* **docs:** bump command count from 109 to 115 ([f8c61b1](https://github.com/event4u-app/agent-config/commit/f8c61b1d0ec48034e0d66e8d32534056ca4aa1f0))
|
|
907
|
-
* **template:** bump agent_config_version pin to 2.14.0 ([fcb885f](https://github.com/event4u-app/agent-config/commit/fcb885fd19bdbca46ef91ec4d5e723cc6c186c6d))
|
|
908
|
-
* **index:** regenerate agents/index.md + docs/catalog.md for /agents user ([56b281d](https://github.com/event4u-app/agent-config/commit/56b281d69960d3e57adbd24b9ec6fd24fc1a5aff))
|
|
909
|
-
* **agent-user:** regenerate compressed sources + claude tool stubs ([f79b6d1](https://github.com/event4u-app/agent-config/commit/f79b6d1cfcf1caccde4a723ad779c65d9ed87198))
|
|
907
|
+
# Era: pre-2.16.0 — archived
|
|
910
908
|
|
|
911
|
-
|
|
909
|
+
> All `2.15.0` entries live in
|
|
910
|
+
> [`docs/archive/CHANGELOG-pre-2.16.0.md`](docs/archive/CHANGELOG-pre-2.16.0.md).
|
|
911
|
+
> The archive is read-only; git tag `2.15.0` remains the canonical
|
|
912
|
+
> source for what shipped. Splitting these out of the main file keeps
|
|
913
|
+
> the active era under the 200-line drift cap enforced by
|
|
914
|
+
> `tests/test_changelog_eras.py`.
|
|
912
915
|
|
|
913
916
|
# Era: pre-2.15.0 — archived
|
|
914
917
|
|
package/README.md
CHANGED
|
@@ -4,47 +4,67 @@
|
|
|
4
4
|
|
|
5
5
|
Give your AI agents an audit-disciplined execution layer: **210 skills**, **79 governance rules**, **124 commands**, and a replayable state machine that turns any host agent (Claude Code, Augment, Cursor, Copilot, Windsurf) into a reliable team member.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
### Pick your profile — six entry paths
|
|
8
|
+
|
|
9
|
+
`/onboard` writes `profile.id` to `.agent-settings.yml`; each anchor
|
|
10
|
+
below is the first-screen the wizard sends you to. One README, six
|
|
11
|
+
entries, no role-detection guesswork.
|
|
12
|
+
|
|
13
|
+
| Profile (`profile.id`) | Audience | First commands | First skills |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| 👩💻 [`developer`](docs/profiles.md#profile-developer) | IC engineer | `/implement-ticket` · `/work` · `/review-changes` · `/fix` · `/commit` | `developer-like-execution` · `verify-completion-evidence` · `minimal-safe-diff` · `systematic-debugging` · `test-driven-development` |
|
|
16
|
+
| ✍️ [`content_creator`](docs/profiles.md#profile-content_creator) | Writers, ghostwriters, marketers | `/work` · `/post-as` · `/ghostwriter` · `/optimize-prompt` | `voice-and-tone-design` · `messaging-architecture` · `editorial-calendar` · `release-comms` · `prompt-engineering-patterns` |
|
|
17
|
+
| 🚀 [`founder`](docs/profiles.md#profile-founder) | Solo / early-stage founder | `/work` · `/feature` · `/challenge-me` · `/council` | `refine-prompt` · `rice-prioritization` · `vision-articulation` · `fundraising-narrative` · `runway-cognition` |
|
|
18
|
+
| 🏛 [`agency`](docs/profiles.md#profile-agency) | Multi-client delivery shop | `/work` · `/implement-ticket` · `/refine-ticket` · `/feature` · `/roadmap` | `doc-coauthoring` · `decision-record` · `refine-ticket` · `estimate-ticket` · `perf-feedback-craft` |
|
|
19
|
+
| 💼 [`finance`](docs/profiles.md#profile-finance) | CFO / fractional finance / FP&A | `/work` · `/council` · `/challenge-me` | `dcf-modeling` · `forecasting` · `scenario-modeling` · `unit-economics-modeling` · `runway-cognition` |
|
|
20
|
+
| 🛡 [`ops`](docs/profiles.md#profile-ops) | RevOps, support, SRE-adjacent | `/work` · `/threat-model` · `/review-changes` · `/fix` | `incident-commander` · `dashboard-design` · `logging-monitoring` · `threat-modeling` · `launch-readiness` |
|
|
21
|
+
|
|
22
|
+
**Not sure which one?** Run `npx @event4u/agent-config init` and open
|
|
23
|
+
your AI agent — `/onboard` asks a single 8-option role question and
|
|
24
|
+
maps to the closest profile. Source-of-truth:
|
|
25
|
+
[`.agent-src.uncompressed/profiles/`](.agent-src.uncompressed/profiles/) ·
|
|
26
|
+
schema: [`docs/contracts/profile-system.md`](docs/contracts/profile-system.md).
|
|
27
|
+
Beyond software: [`user-types/`](.agent-src.uncompressed/user-types/)
|
|
28
|
+
(galabau · metalworking · truck — see [Who this is for](#who-this-is-for)).
|
|
10
29
|
|
|
11
30
|
<p align="center">
|
|
12
31
|
<strong>210 Skills</strong> · <strong>79 Rules</strong> · <strong>124 Commands</strong> · <strong>72 Guidelines</strong> · <strong>22 Personas</strong> · <strong>5 Advisors</strong> · <strong>8 AI Tools</strong>
|
|
13
32
|
</p>
|
|
14
33
|
|
|
34
|
+
<p align="center">
|
|
35
|
+
<a href="CHANGELOG.md">CHANGELOG</a> ·
|
|
36
|
+
<a href="https://github.com/event4u-app/agent-config/releases/latest">Latest release</a> ·
|
|
37
|
+
<a href="https://github.com/event4u-app/agent-config/discussions">Discussions</a>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
15
40
|
---
|
|
16
41
|
|
|
17
42
|
## Use it in your project
|
|
18
43
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
`/create-pr`). For a deeper tour, see the
|
|
26
|
-
[2-minute demo: `/implement-ticket`](#2-minute-demo-implement-ticket).
|
|
44
|
+
Run from a consumer repo — bootstrap via `npx`, the agent picks up
|
|
45
|
+
your stack, and you ship work end-to-end. New install? Start with the
|
|
46
|
+
[Quickstart](#quickstart). Already installed? [Supported Tools](#supported-tools)
|
|
47
|
+
shows the wired AIs; [`docs/featured-commands.md`](docs/featured-commands.md)
|
|
48
|
+
lists the end-to-end workflows (`/implement-ticket`, `/work`,
|
|
49
|
+
`/commit`, `/create-pr`). Deeper tour: [2-minute demo](#2-minute-demo-implement-ticket).
|
|
27
50
|
|
|
28
51
|
## Prove it
|
|
29
52
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
53
|
+
Audit-disciplined by construction — every memory consult, decision
|
|
54
|
+
key, and hook concern lands in `agents/state/` so you can replay it.
|
|
55
|
+
[Core Principles](#core-principles) names the four invariants;
|
|
33
56
|
[What this package is — and what it isn't](#what-this-package-is--and-what-it-isnt)
|
|
34
|
-
draws the scope boundary.
|
|
35
|
-
contracts
|
|
36
|
-
[`
|
|
37
|
-
[`decision-trace-v1`](docs/contracts/decision-trace-v1.md) (beta).
|
|
57
|
+
draws the scope boundary. Beta contracts:
|
|
58
|
+
[`memory-visibility-v1`](docs/contracts/memory-visibility-v1.md) ·
|
|
59
|
+
[`decision-trace-v1`](docs/contracts/decision-trace-v1.md).
|
|
38
60
|
|
|
39
61
|
## Contribute
|
|
40
62
|
|
|
41
|
-
Working on the package itself
|
|
42
|
-
[
|
|
43
|
-
[Requirements](#requirements) the toolchain, and
|
|
63
|
+
Working on the package itself? [Development](#development) covers the
|
|
64
|
+
`task ci` pipeline, [Requirements](#requirements) the toolchain,
|
|
44
65
|
[Maintainer telemetry](#maintainer-telemetry-opt-in-default-off) the
|
|
45
|
-
opt-in measurement loop.
|
|
46
|
-
`.agent-src.uncompressed/`; never hand-edit
|
|
47
|
-
or `.agent-src/`.
|
|
66
|
+
opt-in measurement loop. Source-of-truth tree is
|
|
67
|
+
`.agent-src.uncompressed/`; never hand-edit `.augment/` or `.agent-src/`.
|
|
48
68
|
|
|
49
69
|
## Quickstart
|
|
50
70
|
|
|
@@ -464,18 +484,20 @@ session is explicitly not.
|
|
|
464
484
|
|
|
465
485
|
## You don't need everything
|
|
466
486
|
|
|
467
|
-
|
|
468
|
-
(
|
|
469
|
-
|
|
470
|
-
|
|
487
|
+
Pick how much governance your agent loads up front. The safety floor
|
|
488
|
+
(non-destructive defaults, ask-before-guessing, mirror-the-user's-language)
|
|
489
|
+
ships in **every** profile — what changes is how much extra coaching gets
|
|
490
|
+
pulled in alongside it.
|
|
471
491
|
|
|
472
|
-
| Profile |
|
|
473
|
-
|
|
474
|
-
| **`minimal`** |
|
|
475
|
-
| **`balanced`** (default) |
|
|
476
|
-
| **`full`** |
|
|
492
|
+
| Profile | What you get | When to pick it |
|
|
493
|
+
|---|---|---|
|
|
494
|
+
| **`minimal`** | The non-negotiable safety floor and nothing else. Cheapest, fastest. | Quick questions · throw-away scripts · running in CI · tight token budgets |
|
|
495
|
+
| **`balanced`** (default) | Safety floor plus the everyday coaching most teams want — sensible defaults, code-review nudges, common pitfalls flagged. | Day-to-day work · the right answer if you're not sure |
|
|
496
|
+
| **`full`** | Everything, including the long-tail rules normally only the package maintainers need. | Working on `agent-config` itself · audits · maximum fidelity demos |
|
|
477
497
|
|
|
478
|
-
|
|
498
|
+
Under the hood, this is the rule-tier switch: kernel-only · kernel + tier-1
|
|
499
|
+
auto-rules · kernel + tier-1 + tier-2. Architecture details:
|
|
500
|
+
[`docs/contracts/rule-router.md`](docs/contracts/rule-router.md) (beta) ·
|
|
479
501
|
kernel set: [`docs/contracts/kernel-membership.md`](docs/contracts/kernel-membership.md) (beta) ·
|
|
480
502
|
[Configure profiles →](docs/customization.md)
|
|
481
503
|
|
|
@@ -503,53 +525,27 @@ kernel set: [`docs/contracts/kernel-membership.md`](docs/contracts/kernel-member
|
|
|
503
525
|
|
|
504
526
|
**Deepest reference stack today: Laravel** — Pest, PHPStan, Rector, Eloquent, Livewire/Flux, Horizon, Pulse, Reverb, Pennant. **Workflow-grade second tier: Symfony** (`symfony-workflow` — DI, Doctrine, Messenger, voters, Twig) and **Next.js App Router** (`nextjs-patterns` — RSC boundaries, Server Actions, caching, route handlers). Other stacks ship in the order they are battle-tested, not second-class. Adopting on a thin stack? Open an issue so we can prioritize the right skills for extraction.
|
|
505
527
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
## Data governance & domain safety
|
|
528
|
+
### …and beyond software (`user-types/`)
|
|
509
529
|
|
|
510
|
-
|
|
530
|
+
The same orchestration core drives non-software trades. Worked-example user types ship as the actual prompt-pack the agent loads: [`galabau-field-crew`](.agent-src.uncompressed/user-types/galabau-field-crew.md) (landscaping) · [`metalworking-shop`](.agent-src.uncompressed/user-types/metalworking-shop.md) · [`truck-driver`](.agent-src.uncompressed/user-types/truck-driver.md). Contributing your own? [5-minute scaffold](.agent-src.uncompressed/user-types/_template/) + [conventions](.agent-src.uncompressed/user-types/README.md). Same governance, command suite, and safety rules apply.
|
|
511
531
|
|
|
512
532
|
---
|
|
513
533
|
|
|
514
|
-
##
|
|
534
|
+
## Data governance & domain safety
|
|
515
535
|
|
|
516
|
-
|
|
517
|
-
|---|---|
|
|
518
|
-
| [`laravel`](.agent-src/skills/laravel/SKILL.md) | Write Laravel code following framework conventions and project architecture |
|
|
519
|
-
| [`pest-testing`](.agent-src/skills/pest-testing/SKILL.md) | Write Pest tests with clear intent, good coverage, and project conventions |
|
|
520
|
-
| [`eloquent`](.agent-src/skills/eloquent/SKILL.md) | Eloquent models, relationships, scopes, eager loading, type safety |
|
|
521
|
-
| [`create-pr`](.agent-src/commands/create-pr.md) | Create GitHub PRs with structured descriptions from Jira tickets |
|
|
522
|
-
| [`commit`](.agent-src/commands/commit.md) | Stage and commit changes following Conventional Commits |
|
|
523
|
-
| [`/fix ci`](.agent-src/commands/fix.md) | Fetch CI errors from GitHub Actions and fix them |
|
|
524
|
-
| [`/fix pr-comments`](.agent-src/commands/fix.md) | Fix and reply to all open review comments on a PR |
|
|
525
|
-
| [`quality-fix`](.agent-src/commands/quality-fix.md) | Run PHPStan/Rector/ECS and fix all errors |
|
|
526
|
-
| [`bug-analyzer`](.agent-src/skills/bug-analyzer/SKILL.md) | Root cause analysis from Sentry errors or Jira tickets |
|
|
527
|
-
| [`improve-before-implement`](.agent-src/rules/improve-before-implement.md) | Challenge weak requirements before coding |
|
|
528
|
-
| [`docker`](.agent-src/skills/docker/SKILL.md) | Dockerfile, docker-compose, container management |
|
|
529
|
-
| [`security`](.agent-src/skills/security/SKILL.md) | Auth, policies, CSRF, rate limiting, secure coding |
|
|
530
|
-
| [`api-design`](.agent-src/skills/api-design/SKILL.md) | REST conventions, versioning, deprecation |
|
|
531
|
-
| [`database`](.agent-src/skills/database/SKILL.md) | MariaDB optimization, indexing, query performance |
|
|
532
|
-
|
|
533
|
-
→ [Public catalog](docs/catalog.md) (all rules, skills, commands, guidelines) · [Skills only](docs/skills-catalog.md) · [llms.txt](llms.txt)
|
|
536
|
+
12 domain-safety rules (`.agent-src.uncompressed/rules/domain-safety-*.md`) act as a per-domain output floor — PII redaction for support / finance / recruiting / marketing, advice disclaimers for legal / financial / medical / consulting drafts, retention guidance for finance / support, and ops floors for logging / export. Full surface → rule(s) → floor matrix: [`docs/safety.md`](docs/safety.md).
|
|
534
537
|
|
|
535
538
|
---
|
|
536
539
|
|
|
537
|
-
##
|
|
540
|
+
## Profile entry paths & featured commands
|
|
538
541
|
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
| [`/feature plan`](.agent-src/commands/feature.md) | Interactively plan a feature |
|
|
547
|
-
| [`/quality-fix`](.agent-src/commands/quality-fix.md) | Run and fix all quality checks |
|
|
548
|
-
| [`/review-changes`](.agent-src/commands/review-changes.md) | Self-review before creating a PR |
|
|
549
|
-
| [`/jira-ticket`](.agent-src/commands/jira-ticket.md) | Read ticket from branch, implement feature |
|
|
550
|
-
| [`/compress`](.agent-src/commands/compress.md) | Compress skills for token efficiency |
|
|
551
|
-
|
|
552
|
-
→ [Browse all 124 active commands](.agent-src/commands/)
|
|
542
|
+
Deep version of the profile table above (audience · first commands ·
|
|
543
|
+
first skills · preset default per profile):
|
|
544
|
+
[`docs/profiles.md`](docs/profiles.md). Curated featured-commands
|
|
545
|
+
subset: [`docs/featured-commands.md`](docs/featured-commands.md).
|
|
546
|
+
[Browse all 124 active commands](.agent-src/commands/) · full catalog:
|
|
547
|
+
[`docs/catalog.md`](docs/catalog.md) ·
|
|
548
|
+
[skills only](docs/skills-catalog.md) · [`llms.txt`](llms.txt).
|
|
553
549
|
|
|
554
550
|
---
|
|
555
551
|
|
|
@@ -30,6 +30,28 @@ agent_config_version: ""
|
|
|
30
30
|
# custom = ignore profile — every matrix value must be set explicitly.
|
|
31
31
|
cost_profile: __COST_PROFILE__
|
|
32
32
|
|
|
33
|
+
# --- Cost tracking + budget enforcement ---
|
|
34
|
+
#
|
|
35
|
+
# USD budgets evaluated against `agents/cost-tracking/sessions.jsonl` by
|
|
36
|
+
# `scripts/cost/budget.mjs`. Empty / 0 = unbudgeted (no enforcement,
|
|
37
|
+
# `cost:check` reports spend only). See docs/contracts/cost-enforcement.md
|
|
38
|
+
# for the full contract (tier ladder, hook surface, bypass mechanism).
|
|
39
|
+
cost:
|
|
40
|
+
budgets:
|
|
41
|
+
# Daily USD ceiling (rolling 24h). 0 / null = no daily budget.
|
|
42
|
+
daily: 0
|
|
43
|
+
# Weekly USD ceiling (rolling 7d). 0 / null = no weekly budget.
|
|
44
|
+
weekly: 0
|
|
45
|
+
# Monthly USD ceiling (rolling 30d). 0 / null = no monthly budget.
|
|
46
|
+
monthly: 0
|
|
47
|
+
# Enforcement mode at the HARD_STOP tier (100% utilization):
|
|
48
|
+
# advisory = dashboards and `cost:check` show the breach; agent
|
|
49
|
+
# keeps working. Default. Safe for greenfield projects.
|
|
50
|
+
# hard-stop = preflight hook (scripts/cost/preflight.mjs) exits
|
|
51
|
+
# non-zero on HARD_STOP; CI / shell wrappers refuse to
|
|
52
|
+
# start the turn until the budget is raised or reset.
|
|
53
|
+
enforcement: advisory
|
|
54
|
+
|
|
33
55
|
# --- Personal preferences ---
|
|
34
56
|
personal:
|
|
35
57
|
# IDE to use for opening files (code, phpstorm, cursor, …)
|