@event4u/agent-config 2.18.0 → 2.20.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/agent-status.md +29 -0
- package/.agent-src/commands/onboard.md +221 -81
- package/.agent-src/commands/refine-ticket.md +3 -0
- 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/personas/README.md +8 -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/refine-ticket/SKILL.md +3 -0
- 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/.agent-src/user-types/README.md +124 -0
- package/.agent-src/user-types/_template/user-type.md +95 -0
- package/.agent-src/user-types/galabau-field-crew.md +100 -0
- package/.agent-src/user-types/metalworking-shop.md +105 -0
- package/.agent-src/user-types/truck-driver.md +113 -0
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +91 -30
- 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/contracts/adr-layout.md +108 -0
- package/docs/contracts/adr-mcp-runtime.md +128 -0
- package/docs/contracts/adr-user-types-axis.md +127 -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/user-type-schema.md +146 -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/docs/recruits/_template.md +81 -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/compress.py +48 -2
- 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/schemas/user-type.schema.json +35 -0
- package/scripts/skill_linter.py +139 -4
- package/scripts/skill_overlap.py +204 -0
- package/scripts/skill_tools/audit_user_type_coverage.py +148 -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
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: truck-driver
|
|
3
|
+
kind: user-type
|
|
4
|
+
description: "Commercial truck driver — voice-first, hours-of-service gated, dead-zone tolerant, photo+GPS proof-of-delivery."
|
|
5
|
+
version: "1.0"
|
|
6
|
+
source: project
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Truck Driver
|
|
10
|
+
|
|
11
|
+
## Focus
|
|
12
|
+
|
|
13
|
+
Commercial truck driver doing regional or long-haul delivery —
|
|
14
|
+
typically single driver, phone or in-cab tablet on a mount, gloves
|
|
15
|
+
optional but hands often busy with the wheel, paperwork, or a
|
|
16
|
+
pallet jack. Day is gated by **hours-of-service (HOS)** — legally
|
|
17
|
+
bounded driving and rest windows that cannot be ignored without
|
|
18
|
+
losing the licence. Cargo moves through warehouses, loading docks,
|
|
19
|
+
customer yards; signal drops in tunnels, basements, rural
|
|
20
|
+
stretches. Proof-of-delivery (photo + signature + GPS + timestamp)
|
|
21
|
+
is the moment the invoice becomes collectable.
|
|
22
|
+
|
|
23
|
+
Review lens only, never operational instruction source. No driving
|
|
24
|
+
advice, no HOS legal interpretation, no vehicle-maintenance
|
|
25
|
+
guidance, no hazmat procedure. Trade execution stays with the
|
|
26
|
+
dispatcher, the safety officer, and the certified driver-trainer.
|
|
27
|
+
|
|
28
|
+
## Daily Workflow
|
|
29
|
+
|
|
30
|
+
- 05:00 — pre-trip inspection, vehicle check captured on tablet;
|
|
31
|
+
driver swipes into HOS clock at start of duty.
|
|
32
|
+
- 06:00 — first loading-dock arrival; wait time on the dock can be
|
|
33
|
+
15 minutes or 3 hours; status (waiting / loading / loaded)
|
|
34
|
+
matters for billing and HOS attribution.
|
|
35
|
+
- 07:30 — driving: device must not require typing or precise taps
|
|
36
|
+
while in motion; voice input or large single-tap actions only.
|
|
37
|
+
- Multiple stops — route may reorder mid-day (cancelled stop, new
|
|
38
|
+
rush stop); ETA must recalc and propagate to the customer
|
|
39
|
+
without driver intervention beyond confirming.
|
|
40
|
+
- Per delivery — photo of the pallet, customer signature
|
|
41
|
+
on-screen, GPS pin, timestamp; the four-tuple is the invoice
|
|
42
|
+
trigger.
|
|
43
|
+
- End of duty — HOS clock closes; if next break-window starts
|
|
44
|
+
mid-route, system warns **before** the driver commits.
|
|
45
|
+
|
|
46
|
+
## Vocabulary
|
|
47
|
+
|
|
48
|
+
- **HOS (hours-of-service)** — legally enforced driving / rest
|
|
49
|
+
windows; not "shift hours" or "working time".
|
|
50
|
+
- **POD (proof-of-delivery)** — the photo + signature + GPS +
|
|
51
|
+
timestamp four-tuple; missing one element = unbilled delivery.
|
|
52
|
+
- **Dock dwell / detention** — wait time at a dock, often billable
|
|
53
|
+
to the shipper; capturing the timestamps is the negotiation
|
|
54
|
+
evidence.
|
|
55
|
+
- **Bill of lading (BOL)** — paper or electronic; the legal cargo
|
|
56
|
+
manifest, not a "shipment summary".
|
|
57
|
+
|
|
58
|
+
## Operational Constraints
|
|
59
|
+
|
|
60
|
+
- **Driving-while-using is prohibited.** No typing flow on the
|
|
61
|
+
critical path while in motion; voice or large single-tap only.
|
|
62
|
+
Anything else risks the licence and the company.
|
|
63
|
+
- **HOS is hard law.** A UI that lets the driver accept a stop
|
|
64
|
+
that would breach the remaining break-window is rejected — the
|
|
65
|
+
system warns first, dispatcher reroutes.
|
|
66
|
+
- **Dead zones are routine.** Tunnels, basements, rural roads;
|
|
67
|
+
every write queues, every read works from cache, and POD
|
|
68
|
+
uploads sync with photo intact when signal returns.
|
|
69
|
+
- **One-handed operation.** Other hand on the wheel, paperwork,
|
|
70
|
+
or pallet jack; bottom-thumb-reachable primary actions, no
|
|
71
|
+
precision drag.
|
|
72
|
+
- **Cold / wet / glare.** Outdoor docks in winter; gloves on,
|
|
73
|
+
screen wet, sun directly on the display — same outdoor-default
|
|
74
|
+
high-contrast as the field-crew lens.
|
|
75
|
+
|
|
76
|
+
## Unique Questions
|
|
77
|
+
|
|
78
|
+
- Does the primary flow work hands-busy at a loading dock, with
|
|
79
|
+
voice or one large tap, and not collapse if the connection
|
|
80
|
+
drops mid-step?
|
|
81
|
+
- Does the POD step capture photo + signature + GPS + timestamp
|
|
82
|
+
in a single offline-resilient action, or are they four separate
|
|
83
|
+
forms that can each drop?
|
|
84
|
+
- Does the system block or warn before the driver accepts a stop
|
|
85
|
+
that would breach the remaining HOS break-window?
|
|
86
|
+
- Is dock-dwell time captured automatically from arrival to
|
|
87
|
+
loaded, or does it rely on the driver remembering to tap?
|
|
88
|
+
|
|
89
|
+
## Ticket Red Flags
|
|
90
|
+
|
|
91
|
+
- "Driver enters …" with text input on the in-motion path.
|
|
92
|
+
- POD described as a single field rather than a four-element
|
|
93
|
+
bundle (photo + signature + GPS + timestamp).
|
|
94
|
+
- HOS treated as informational ("show remaining hours") rather
|
|
95
|
+
than a constraint on what stops can be accepted.
|
|
96
|
+
- Sync described as online-only; no queue + retry sketched for
|
|
97
|
+
dead-zone delivery.
|
|
98
|
+
- Dock-dwell capture left to manual tap with no arrival-trigger
|
|
99
|
+
fallback.
|
|
100
|
+
|
|
101
|
+
## Anti-Patterns
|
|
102
|
+
|
|
103
|
+
- **Review-only, never operational.** No driving advice, no HOS
|
|
104
|
+
legal interpretation, no vehicle-maintenance procedure, no
|
|
105
|
+
hazmat-handling guidance. Those need certified humans.
|
|
106
|
+
- **No generic prose.** "Consider mobile usability" fails the
|
|
107
|
+
Anti-Generic Quality Bar — every observation cites HOS, POD,
|
|
108
|
+
dock-dwell, dead-zone, or hands-busy.
|
|
109
|
+
- **No in-motion typing on the critical path.** A flow needing
|
|
110
|
+
the driver to type while driving is rejected outright.
|
|
111
|
+
- **No partial POD acceptance.** Missing any element of the
|
|
112
|
+
four-tuple = unbilled; the flow must hold the action open
|
|
113
|
+
until all four are captured or explicitly waived by dispatch.
|
package/CHANGELOG.md
CHANGED
|
@@ -695,13 +695,94 @@ 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.16.x — current
|
|
699
699
|
|
|
700
|
-
> Started at `2.
|
|
700
|
+
> Started at `2.16.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.17.x`, etc.) — see
|
|
703
703
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
704
704
|
|
|
705
|
+
## [2.20.0](https://github.com/event4u-app/agent-config/compare/2.19.0...2.20.0) (2026-05-16)
|
|
706
|
+
|
|
707
|
+
### Features
|
|
708
|
+
|
|
709
|
+
* **product:** step-15 product refinement — profiles + packs + presets + explain CLI ([59e7d6f](https://github.com/event4u-app/agent-config/commit/59e7d6f3ddce025e558da08c1da1b4c8155e68eb))
|
|
710
|
+
* **parity:** step-11 ruflo parity — smoke + ADR + cost + namespace + MCP ([521b4c6](https://github.com/event4u-app/agent-config/commit/521b4c62f5fe266f5c18dfcca2abf4e06d97c217))
|
|
711
|
+
* **caveman:** step-10 default-kill criterion + parity roadmap ([dd7ec3c](https://github.com/event4u-app/agent-config/commit/dd7ec3cae4f8839b28b4d3ff9dbdbb316ec5d035))
|
|
712
|
+
* **bench:** step-4 measurement + benchmark infrastructure ([981d0cd](https://github.com/event4u-app/agent-config/commit/981d0cd1c48e2d23eede29bd86e833cd826ddfd9))
|
|
713
|
+
* **skills:** step-2 skill inventory rationalization ([3fa651d](https://github.com/event4u-app/agent-config/commit/3fa651d2496e4fc483cd7ed452bb39f41dd39365))
|
|
714
|
+
|
|
715
|
+
### Bug Fixes
|
|
716
|
+
|
|
717
|
+
* **adr-create:** restore Inspect keyword in step-1 heading ([46c40ad](https://github.com/event4u-app/agent-config/commit/46c40adf4741f1e13d8d275f9363f98047d4b733))
|
|
718
|
+
* **audit_mcp_tools:** drop roadmap link from generated inventory ([d35459e](https://github.com/event4u-app/agent-config/commit/d35459e94d9be473bbb567f7c348be5bff4b5e9d))
|
|
719
|
+
* **audit_mcp_tools:** emit stability frontmatter in generated inventory ([ba7af12](https://github.com/event4u-app/agent-config/commit/ba7af12cf26509f2ea0ddb867303f3b225fea866))
|
|
720
|
+
* **no-cheap-questions:** trim to clear concentration cap ([3516283](https://github.com/event4u-app/agent-config/commit/351628301aa168c31130b62ee306858944ecf9f2))
|
|
721
|
+
* **onboard:** move recommendation off inline (recommended) tag ([6a77a06](https://github.com/event4u-app/agent-config/commit/6a77a06c014d8820662906ca6ab0ee55ac847e05))
|
|
722
|
+
* **refs:** suppress legitimate council-response audit links ([d764329](https://github.com/event4u-app/agent-config/commit/d764329d8718124d150deafcce52bdd206ada740))
|
|
723
|
+
* **contracts:** drop roadmap-file links from stable artefacts ([96ea60f](https://github.com/event4u-app/agent-config/commit/96ea60f8f6e85c6ce04e8042d9d2535938f75d9f))
|
|
724
|
+
* **contracts:** bring beta-review markers into the 90-day window ([4be4a47](https://github.com/event4u-app/agent-config/commit/4be4a47cc30532fa20d1ea7c3311d7eaa154d7e6))
|
|
725
|
+
* **contracts:** add stability frontmatter to 6 new contracts ([8b27577](https://github.com/event4u-app/agent-config/commit/8b27577bc6b4b28c36ccfbea48b4e92e35372fbd))
|
|
726
|
+
* **portability:** replace task cost:* with direct script invocations ([0225f60](https://github.com/event4u-app/agent-config/commit/0225f60d0157edf4b4f74fe8fc1266295d5b90f2))
|
|
727
|
+
* **rules:** restore no-cheap-questions Iron Law block ([e95315f](https://github.com/event4u-app/agent-config/commit/e95315f96323d1ef32328b1c8a630b5aacafee84))
|
|
728
|
+
|
|
729
|
+
### Documentation
|
|
730
|
+
|
|
731
|
+
* **readme:** restore three-audience headings, tighten user-types blurb ([fdb03bf](https://github.com/event4u-app/agent-config/commit/fdb03bf314acb1a7a570400c1ba3cadb8098b943))
|
|
732
|
+
* **readme:** restore browse-all-commands canonical line ([d91f6e0](https://github.com/event4u-app/agent-config/commit/d91f6e0d99230792f570b02fab6a1b30a744187c))
|
|
733
|
+
* **readme:** extract profile detail + featured commands to /docs ([e8745f3](https://github.com/event4u-app/agent-config/commit/e8745f33f1da089aefd763cc659be4568177dd07))
|
|
734
|
+
* **roadmap:** regenerate dashboard + cross-roadmap link refresh ([f6b7085](https://github.com/event4u-app/agent-config/commit/f6b7085d3419f1a8b57daf9b949bd55312c17b9b))
|
|
735
|
+
* **roadmap:** step-5 schema rigor + test cleanup ([b043230](https://github.com/event4u-app/agent-config/commit/b043230291222f6d6287d73e0807ea772e227e98))
|
|
736
|
+
|
|
737
|
+
### Chores
|
|
738
|
+
|
|
739
|
+
* **changelog:** split era 2.15.x → pre-2.16.0 ([88b81ba](https://github.com/event4u-app/agent-config/commit/88b81bac54ae5f9558a1087c81d453c47d3039bb))
|
|
740
|
+
* **mcp:** regenerate MCP tool inventory ([bce3169](https://github.com/event4u-app/agent-config/commit/bce3169b353c2d240df610e4bf01c91c96d23e0d))
|
|
741
|
+
* **ownership:** regenerate ownership matrix after no-cheap-questions trim ([dbe58a9](https://github.com/event4u-app/agent-config/commit/dbe58a9dfafbca487f11b2501b1f1dabb1053a8d))
|
|
742
|
+
* **template:** bump agent_config_version pin to 2.19.0 ([cfc4c59](https://github.com/event4u-app/agent-config/commit/cfc4c59e288862eccf4e7b9d215adf30e527f5a0))
|
|
743
|
+
* **build:** wire step-2/4/11/15 tooling into Taskfile + gitignore ([0acc9e7](https://github.com/event4u-app/agent-config/commit/0acc9e77515e611eb685c58aeba91f3d5af9423f))
|
|
744
|
+
|
|
745
|
+
Tests: 4535 (+42 since 2.19.0)
|
|
746
|
+
|
|
747
|
+
## [2.19.0](https://github.com/event4u-app/agent-config/compare/2.18.0...2.19.0) (2026-05-16)
|
|
748
|
+
|
|
749
|
+
### Features
|
|
750
|
+
|
|
751
|
+
* **user-types:** land three seed user-types (galabau, metalworking, truck) ([361745e](https://github.com/event4u-app/agent-config/commit/361745ec88d32c7f6faa8f50ac4d350f95f6b6d1))
|
|
752
|
+
* **refine-ticket:** add --user-type lens, orthogonal to --personas ([7d70138](https://github.com/event4u-app/agent-config/commit/7d7013840d92d53ead0b8dba15bf6613398dcd5b))
|
|
753
|
+
* **linter:** add user-type artifact-type support ([bce874c](https://github.com/event4u-app/agent-config/commit/bce874cdb7e925585b74b478b0f4f0e4a7f40380))
|
|
754
|
+
* **user-types:** wire compile pipeline + author scaffolding ([8637dae](https://github.com/event4u-app/agent-config/commit/8637dae4463796726b0d7e737d37169334a0283b))
|
|
755
|
+
* **user-types:** lock schema + ADR for runtime user-type axis ([0ce1549](https://github.com/event4u-app/agent-config/commit/0ce1549a1e5037521cb06e9d1c467fa4ebf87d06))
|
|
756
|
+
* **eval-findings:** add schema template for step-13 closure evidence ([2b2daa4](https://github.com/event4u-app/agent-config/commit/2b2daa46fbf348f5a2901b185c91901de06a1025))
|
|
757
|
+
* **recruits:** add intake template for step-13 P1 recruit walkthroughs ([a569071](https://github.com/event4u-app/agent-config/commit/a569071853d665ca57813fc4c4676bba38716fac))
|
|
758
|
+
|
|
759
|
+
### Bug Fixes
|
|
760
|
+
|
|
761
|
+
* **adr:** drop transient roadmap links from user-types axis ADR ([e8d30fe](https://github.com/event4u-app/agent-config/commit/e8d30fe80c2d0b87406571b2c3dbbdd031312998))
|
|
762
|
+
* **contracts:** clamp user-type beta-review markers to 90-day window ([25af8cc](https://github.com/event4u-app/agent-config/commit/25af8ccd650d6ea304f5060ebb55c2d034d746a2))
|
|
763
|
+
* **refine-ticket:** sync compressed SKILL.md with --user-type persona-voice bullet ([14b9dcd](https://github.com/event4u-app/agent-config/commit/14b9dcdab69f063e1dcfc8d9070892b4d56305b1))
|
|
764
|
+
* **refs:** inline AI Council Phase 4 convergence summary ([0e6a578](https://github.com/event4u-app/agent-config/commit/0e6a5780773fbabba6f98a01bd4b25726c996903))
|
|
765
|
+
* **adr:** drop transient roadmap links from MCP runtime ADR ([8f2691e](https://github.com/event4u-app/agent-config/commit/8f2691e90130a9333bd9e01d0863ecb0c9f7ec97))
|
|
766
|
+
* **template:** bump agent_config_version pin to 2.18.0 ([dd7441d](https://github.com/event4u-app/agent-config/commit/dd7441d2fc0fd785a70272b6520eb0eb29a61a66))
|
|
767
|
+
|
|
768
|
+
### Documentation
|
|
769
|
+
|
|
770
|
+
* **user-types:** cross-link personas↔user-types and surface metalworking-shop example ([ac0b0ce](https://github.com/event4u-app/agent-config/commit/ac0b0ce2e356654352d3c4caf1528b3d5772047c))
|
|
771
|
+
* **step-13:** link new recruit + eval-finding templates from prerequisites ([57b729a](https://github.com/event4u-app/agent-config/commit/57b729a236bf1b442df140fb2efbdecd9e73ffd9))
|
|
772
|
+
* **adr:** record MCP server runtime as Anthropic Python SDK ([5f5d689](https://github.com/event4u-app/agent-config/commit/5f5d6895d4369b313e1a5058eca21807e5566cfd))
|
|
773
|
+
|
|
774
|
+
### Tests
|
|
775
|
+
|
|
776
|
+
* **user-types:** add coverage audit script + tests ([ca403bb](https://github.com/event4u-app/agent-config/commit/ca403bb714fd505f539715fe25b7948714d0ee66))
|
|
777
|
+
* **user-types:** lock schema, lint, and composition contracts ([cfeb48a](https://github.com/event4u-app/agent-config/commit/cfeb48a9d04956ff9d6744383b44bcabeaa57702))
|
|
778
|
+
|
|
779
|
+
### Chores
|
|
780
|
+
|
|
781
|
+
* **roadmap:** close step-6 user-types axis and refresh progress dashboard ([2f50a96](https://github.com/event4u-app/agent-config/commit/2f50a96eeec1ea1bf832ed560553d4e940a94812))
|
|
782
|
+
* **roadmap:** close step-14 phases 1+2 against shipped MCP server ([2dcf04b](https://github.com/event4u-app/agent-config/commit/2dcf04bdf5f71bd546b7ec9cf27bbbb7fc6d0ec4))
|
|
783
|
+
|
|
784
|
+
Tests: 4493 (+17 since 2.18.0)
|
|
785
|
+
|
|
705
786
|
## [2.18.0](https://github.com/event4u-app/agent-config/compare/2.17.0...2.18.0) (2026-05-16)
|
|
706
787
|
|
|
707
788
|
### Features
|
|
@@ -842,34 +923,14 @@ Tests: 4459 (+54 since 2.16.0)
|
|
|
842
923
|
|
|
843
924
|
Tests: 4405 (+53 since 2.15.0)
|
|
844
925
|
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
### Features
|
|
848
|
-
|
|
849
|
-
* **agent-user:** add /agents user command cluster (init, show, review, accept, update) ([15d53d8](https://github.com/event4u-app/agent-config/commit/15d53d8d9a2365b044831cd42127e247a70d7e20))
|
|
850
|
-
* **agent-user:** add v1 schema contract for .agent-user.md persona file ([64f4eab](https://github.com/event4u-app/agent-config/commit/64f4eab62ccf6a2606fbca0c56d398372c05a7a0))
|
|
851
|
-
|
|
852
|
-
### Bug Fixes
|
|
853
|
-
|
|
854
|
-
* **agent-user:** inline council-reference summary per no-roadmap-references ([ee4d3ce](https://github.com/event4u-app/agent-config/commit/ee4d3cedf9f4429450d21ca5badc2ae5c2ecaaed))
|
|
855
|
-
* **agent-user:** drop roadmap references per no-roadmap-references rule ([c8ade8d](https://github.com/event4u-app/agent-config/commit/c8ade8d7c5b495e0e4295aa0cb801e59076ee0b0))
|
|
856
|
-
* **agent-user:** adjust keep-beta-until to fit 90-day window ([801b365](https://github.com/event4u-app/agent-config/commit/801b365117a2d1efb4505e504bdd730e4cbbc217))
|
|
857
|
-
|
|
858
|
-
### Documentation
|
|
926
|
+
# Era: pre-2.16.0 — archived
|
|
859
927
|
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
* **ownership:** regenerate file-ownership-matrix for /agents user ([128890d](https://github.com/event4u-app/agent-config/commit/128890d880584704b4842a398555dd979ae54462))
|
|
867
|
-
* **docs:** bump command count from 109 to 115 ([f8c61b1](https://github.com/event4u-app/agent-config/commit/f8c61b1d0ec48034e0d66e8d32534056ca4aa1f0))
|
|
868
|
-
* **template:** bump agent_config_version pin to 2.14.0 ([fcb885f](https://github.com/event4u-app/agent-config/commit/fcb885fd19bdbca46ef91ec4d5e723cc6c186c6d))
|
|
869
|
-
* **index:** regenerate agents/index.md + docs/catalog.md for /agents user ([56b281d](https://github.com/event4u-app/agent-config/commit/56b281d69960d3e57adbd24b9ec6fd24fc1a5aff))
|
|
870
|
-
* **agent-user:** regenerate compressed sources + claude tool stubs ([f79b6d1](https://github.com/event4u-app/agent-config/commit/f79b6d1cfcf1caccde4a723ad779c65d9ed87198))
|
|
871
|
-
|
|
872
|
-
Tests: 4352 (+12 since 2.14.0)
|
|
928
|
+
> All `2.15.0` entries live in
|
|
929
|
+
> [`docs/archive/CHANGELOG-pre-2.16.0.md`](docs/archive/CHANGELOG-pre-2.16.0.md).
|
|
930
|
+
> The archive is read-only; git tag `2.15.0` remains the canonical
|
|
931
|
+
> source for what shipped. Splitting these out of the main file keeps
|
|
932
|
+
> the active era under the 200-line drift cap enforced by
|
|
933
|
+
> `tests/test_changelog_eras.py`.
|
|
873
934
|
|
|
874
935
|
# Era: pre-2.15.0 — archived
|
|
875
936
|
|
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, …)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# ADR 0001 — Caveman compression default stays OFF until `task bench`
|
|
2
|
+
|
|
3
|
+
> Area: `caveman` · Status: accepted · Date: 2026-05-16 · Type: retrospective
|
|
4
|
+
> Roadmap: `agents/roadmaps/step-11-ruflo-parity.md` Phase 4 Step 3
|
|
5
|
+
> Supersedes: —
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
Caveman-speak is a turn-time compression dialect that trades English
|
|
10
|
+
grammar for tokens. The dialect is documented in
|
|
11
|
+
[`caveman-speak`](../../../.agent-src.uncompressed/rules/caveman-speak.md);
|
|
12
|
+
the question this ADR records is **whether the dialect should default
|
|
13
|
+
ON for all consumers**.
|
|
14
|
+
|
|
15
|
+
The North-Star council ([`council-synthesis.md` § 7](../../../agents/audit-2026-05-14-north-star/council-synthesis.md))
|
|
16
|
+
landed split: two voices (token-efficiency, ops) argued default-ON
|
|
17
|
+
saves 40 %+ tokens on long sessions; two voices (UX, governance)
|
|
18
|
+
argued default-ON degrades novice readability and locks in a dialect
|
|
19
|
+
nobody has measured against the real benchmark corpus.
|
|
20
|
+
|
|
21
|
+
## Decision
|
|
22
|
+
|
|
23
|
+
**`caveman.speak_scope` defaults `off`**. Carve-outs (security ·
|
|
24
|
+
destructive · multi-step · code blocks · paths · numbered options ·
|
|
25
|
+
Iron-Law markers) stay in the rule body so the dialect is **defined**
|
|
26
|
+
even when **inactive**. The default flips only when `task bench`
|
|
27
|
+
produces measured win/loss numbers against the locked 25-prompt corpus.
|
|
28
|
+
|
|
29
|
+
Authoritative kill-criterion:
|
|
30
|
+
[`docs/contracts/compression-default-kill-criterion.md`](../../contracts/compression-default-kill-criterion.md)
|
|
31
|
+
§ Rule lines 8–11.
|
|
32
|
+
|
|
33
|
+
### Decision owner
|
|
34
|
+
|
|
35
|
+
`step-4-measurement-and-benchmark.md` closeout phase. Not this doc.
|
|
36
|
+
Not `step-99`. Not the North-Star council. The closeout reads
|
|
37
|
+
`docs/parity/bench.json` and applies exactly one of three branches
|
|
38
|
+
defined in the kill-criterion.
|
|
39
|
+
|
|
40
|
+
### Default-ON gates (all required)
|
|
41
|
+
|
|
42
|
+
1. ≥ 30 % token reduction averaged across the 25-prompt corpus.
|
|
43
|
+
2. ≤ 5 % regression on the readability score from the same run.
|
|
44
|
+
3. Reversibility check passes (caveman → English round-trip ≥ 95 %
|
|
45
|
+
semantic preservation per the bench scorer).
|
|
46
|
+
|
|
47
|
+
Any gate fails → default stays OFF. Re-bench after the next dialect
|
|
48
|
+
edit.
|
|
49
|
+
|
|
50
|
+
## Considered alternatives
|
|
51
|
+
|
|
52
|
+
### Alt 1 — Default ON now (rejected)
|
|
53
|
+
|
|
54
|
+
Flip the default immediately; let consumers opt out.
|
|
55
|
+
|
|
56
|
+
**Why rejected:** no measured baseline exists. The two pro voices'
|
|
57
|
+
40 % claim is from informal turn-snippet comparisons, not the locked
|
|
58
|
+
corpus. Default-on without measurement is exactly the Ruflo-style
|
|
59
|
+
"trust me it's faster" pattern the audit calls out.
|
|
60
|
+
|
|
61
|
+
### Alt 2 — Default ON for cost-profile `lean`, OFF for `default` (rejected)
|
|
62
|
+
|
|
63
|
+
Couple the default to the cost profile.
|
|
64
|
+
|
|
65
|
+
**Why rejected:** cost profiles already carry profile-specific budget
|
|
66
|
+
ladders and smoke contracts. Adding a dialect coupling makes the
|
|
67
|
+
matrix `2 × N` instead of `1 × N`. The kill-criterion measurement is
|
|
68
|
+
the same regardless of profile — make the decision once.
|
|
69
|
+
|
|
70
|
+
### Alt 3 — Keep default OFF, measure first (accepted)
|
|
71
|
+
|
|
72
|
+
The chosen path. Dialect ships, stays dormant, gets benched, then
|
|
73
|
+
either ships default-on or gets deprecated. No middle state.
|
|
74
|
+
|
|
75
|
+
## Consequences
|
|
76
|
+
|
|
77
|
+
- **Positive:** new consumers get standard English by default; the
|
|
78
|
+
novice-onboarding path is unaffected; the dialect is auditable and
|
|
79
|
+
measurable before it becomes the default cost vector.
|
|
80
|
+
- **Negative:** the 40 %+ token savings are leave-on-table for any
|
|
81
|
+
consumer who doesn't explicitly opt in. Mitigated by surfacing the
|
|
82
|
+
flag in `/onboard` once `task bench` lands.
|
|
83
|
+
- **Reversal cost:** flip the default in
|
|
84
|
+
[`.agent-settings.yml`](../../../.agent-settings.yml.example)
|
|
85
|
+
template; existing user settings unaffected by template change.
|
|
86
|
+
|
|
87
|
+
## References
|
|
88
|
+
|
|
89
|
+
- [`docs/contracts/compression-default-kill-criterion.md`](../../contracts/compression-default-kill-criterion.md) — kill-criterion contract.
|
|
90
|
+
- [`.agent-src.uncompressed/rules/caveman-speak.md`](../../../.agent-src.uncompressed/rules/caveman-speak.md) — dialect definition.
|
|
91
|
+
- [`agents/roadmaps/step-4-measurement-and-benchmark.md`](../../../agents/roadmaps/step-4-measurement-and-benchmark.md) — bench owner.
|
|
92
|
+
- [`agents/audit-2026-05-14-north-star/council-synthesis.md`](../../../agents/audit-2026-05-14-north-star/council-synthesis.md) § 7 — council split.
|
|
93
|
+
- [`agents/roadmaps/step-11-ruflo-parity.md`](../../../agents/roadmaps/step-11-ruflo-parity.md) Phase 4 Step 3 — origin.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# ADRs — `caveman`
|
|
2
|
+
|
|
3
|
+
> Caveman-speak compression, decompression, reversibility guards.
|
|
4
|
+
|
|
5
|
+
Contract: [`docs/contracts/compression-default-kill-criterion.md`](../../../docs/contracts/compression-default-kill-criterion.md).
|
|
6
|
+
|
|
7
|
+
| # | Title | Status | Date | Supersedes |
|
|
8
|
+
|---|---|---|---|---|
|
|
9
|
+
| [0001](0001-default-off-until-bench.md) | Default Off Until Bench | — | — | — |
|