@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.
Files changed (108) hide show
  1. package/.agent-src/commands/agent-status.md +29 -0
  2. package/.agent-src/commands/onboard.md +221 -81
  3. package/.agent-src/commands/refine-ticket.md +3 -0
  4. package/.agent-src/packs/README.md +49 -0
  5. package/.agent-src/packs/agency-delivery.yml +63 -0
  6. package/.agent-src/packs/content-engine.yml +53 -0
  7. package/.agent-src/packs/founder-mvp.yml +51 -0
  8. package/.agent-src/personas/README.md +8 -0
  9. package/.agent-src/presets/README.md +26 -0
  10. package/.agent-src/presets/balanced.yml +34 -0
  11. package/.agent-src/presets/fast.yml +31 -0
  12. package/.agent-src/presets/strict.yml +38 -0
  13. package/.agent-src/profiles/README.md +29 -0
  14. package/.agent-src/profiles/agency.yml +27 -0
  15. package/.agent-src/profiles/content_creator.yml +25 -0
  16. package/.agent-src/profiles/developer.yml +26 -0
  17. package/.agent-src/profiles/finance.yml +24 -0
  18. package/.agent-src/profiles/founder.yml +25 -0
  19. package/.agent-src/profiles/ops.yml +25 -0
  20. package/.agent-src/rules/no-cheap-questions.md +25 -17
  21. package/.agent-src/skills/adr-create/SKILL.md +78 -68
  22. package/.agent-src/skills/refine-ticket/SKILL.md +3 -0
  23. package/.agent-src/skills/subagent-orchestration/SKILL.md +33 -0
  24. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  25. package/.agent-src/templates/skill-archive-note.md +101 -0
  26. package/.agent-src/user-types/README.md +124 -0
  27. package/.agent-src/user-types/_template/user-type.md +95 -0
  28. package/.agent-src/user-types/galabau-field-crew.md +100 -0
  29. package/.agent-src/user-types/metalworking-shop.md +105 -0
  30. package/.agent-src/user-types/truck-driver.md +113 -0
  31. package/.claude-plugin/marketplace.json +1 -1
  32. package/CHANGELOG.md +91 -30
  33. package/README.md +68 -72
  34. package/config/agent-settings.template.yml +22 -0
  35. package/docs/adrs/caveman/0001-default-off-until-bench.md +93 -0
  36. package/docs/adrs/caveman/README.md +9 -0
  37. package/docs/adrs/cost/0001-hard-stop-hook.md +114 -0
  38. package/docs/adrs/cost/README.md +9 -0
  39. package/docs/adrs/memory/0001-consumer-side-snapshot.md +111 -0
  40. package/docs/adrs/memory/README.md +9 -0
  41. package/docs/adrs/router/0001-three-tier-routing.md +119 -0
  42. package/docs/adrs/router/README.md +9 -0
  43. package/docs/adrs/schema/0001-json-schema-frontmatter.md +102 -0
  44. package/docs/adrs/schema/README.md +9 -0
  45. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +99 -0
  46. package/docs/adrs/smoke/README.md +9 -0
  47. package/docs/architecture/current-onboard-baseline.md +126 -0
  48. package/docs/architecture/current-safety-behavior.md +137 -0
  49. package/docs/archive/CHANGELOG-pre-2.16.0.md +48 -0
  50. package/docs/contracts/adr-layout.md +108 -0
  51. package/docs/contracts/adr-mcp-runtime.md +128 -0
  52. package/docs/contracts/adr-user-types-axis.md +127 -0
  53. package/docs/contracts/benchmark-corpus-spec.md +97 -0
  54. package/docs/contracts/benchmark-report-schema.md +111 -0
  55. package/docs/contracts/command-clusters.md +1 -0
  56. package/docs/contracts/command-taxonomy.md +137 -0
  57. package/docs/contracts/compression-default-kill-criterion.md +69 -0
  58. package/docs/contracts/config-presets.md +144 -0
  59. package/docs/contracts/cost-dashboard.md +143 -0
  60. package/docs/contracts/cost-enforcement.md +134 -0
  61. package/docs/contracts/file-ownership-matrix.json +0 -7
  62. package/docs/contracts/mcp-tool-inventory.md +53 -0
  63. package/docs/contracts/measurement-baseline.md +102 -0
  64. package/docs/contracts/namespace.md +125 -0
  65. package/docs/contracts/profile-system.md +142 -0
  66. package/docs/contracts/safety-model.md +129 -0
  67. package/docs/contracts/smoke-contracts.md +144 -0
  68. package/docs/contracts/user-type-schema.md +146 -0
  69. package/docs/contracts/workflow-packs.md +121 -0
  70. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +132 -0
  71. package/docs/decisions/INDEX.md +1 -0
  72. package/docs/featured-commands.md +27 -0
  73. package/docs/parity/bench-ruflo.json +58 -0
  74. package/docs/parity/bench.json +41 -0
  75. package/docs/parity/ruflo.md +46 -0
  76. package/docs/profiles.md +91 -0
  77. package/docs/recruits/_template.md +81 -0
  78. package/package.json +1 -1
  79. package/scripts/_cli/cmd_explain.py +250 -0
  80. package/scripts/_lib/bench_cost.py +138 -0
  81. package/scripts/_lib/bench_quality.py +118 -0
  82. package/scripts/_lib/bench_report.py +150 -0
  83. package/scripts/agent-config +13 -0
  84. package/scripts/audit_adr_coverage.py +175 -0
  85. package/scripts/audit_mcp_tools.py +146 -0
  86. package/scripts/bench_baseline_ready.py +108 -0
  87. package/scripts/bench_drift_check.py +151 -0
  88. package/scripts/bench_per_tool.py +216 -0
  89. package/scripts/bench_run.py +155 -0
  90. package/scripts/compress.py +48 -2
  91. package/scripts/config/__init__.py +9 -0
  92. package/scripts/config/presets.py +206 -0
  93. package/scripts/config/profiles.py +173 -0
  94. package/scripts/cost/budget.mjs +73 -12
  95. package/scripts/cost/preflight.mjs +89 -0
  96. package/scripts/lint_archived_skills.py +143 -0
  97. package/scripts/lint_bench_corpus.py +161 -0
  98. package/scripts/lint_namespace.py +135 -0
  99. package/scripts/schemas/user-type.schema.json +35 -0
  100. package/scripts/skill_linter.py +139 -4
  101. package/scripts/skill_overlap.py +204 -0
  102. package/scripts/skill_tools/audit_user_type_coverage.py +148 -0
  103. package/scripts/skill_usage_collect.py +191 -0
  104. package/scripts/skill_usage_report.py +162 -0
  105. package/scripts/smoke/kernel.sh +101 -0
  106. package/scripts/smoke/router.sh +129 -0
  107. package/scripts/smoke/schema.sh +71 -0
  108. 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.
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Shared agent configuration \u2014 skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
9
- "version": "2.18.0",
9
+ "version": "2.20.0",
10
10
  "keywords": [
11
11
  "agent-config",
12
12
  "skills",
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.15.x — current
698
+ # Era: 2.16.x — current
699
699
 
700
- > Started at `2.15.0` (2026-05-15). Full entries live inline below.
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.16.x`, etc.) — see
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
- ## [2.15.0](https://github.com/event4u-app/agent-config/compare/2.14.0...2.15.0) (2026-05-15)
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
- * **persona:** README section + agent-settings legacy-fallback note ([4da7629](https://github.com/event4u-app/agent-config/commit/4da7629f1f0b5a35a64d0a861040ad8639a66ebe))
861
- * **roadmap:** mark step-3-agent-user-persona phases as in-progress ([f29d3bc](https://github.com/event4u-app/agent-config/commit/f29d3bce2380c0ea9c67e6094540b88d920ed9ff))
862
-
863
- ### Chores
864
-
865
- * **roadmap:** close out + archive step-3-agent-user-persona ([09c0229](https://github.com/event4u-app/agent-config/commit/09c0229efd67af9cad7b2ca8202f4caa351d028d))
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
- | 👩‍💻 Developers | 🚀 Founders & Operators | ✍️ Creators & Consultants |
8
- |---|---|---|
9
- | Implement tickets, fix CI, write tests, run PR reviews — `/implement-ticket`, `/work`, `/commit`, `/fix ci`, `/create-pr` — with stack-aware skills for Laravel · Symfony · Next.js · React · Node. | Pitch decks, runway math, OKR trees, GTM launches, pricing reviews — `runway-cognition`, `unit-economics-modeling`, `fundraising-narrative`, `gtm-launch`, `okr-tree-modeling`. | Editorial calendars, brand voice, ghostwriting, content funnels, discovery interviews — `voice-and-tone-design`, `editorial-calendar`, `ghostwriter`, `content-funnel-design`, `discovery-interview`. |
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
- You run the package from a consumer repo — bootstrap via `npx`, let the
20
- agent pick up your stack, and ship work end-to-end. New install? Start
21
- with the [Quickstart](#quickstart) to write `.agent-settings.yml`,
22
- `.augment/`, `.claude/`, …. Already installed? [Supported Tools](#supported-tools)
23
- shows which AIs the package wires up, and [Featured Commands](#featured-commands)
24
- lists the end-to-end workflows (`/implement-ticket`, `/work`, `/commit`,
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
- The package is audit-disciplined by construction — every memory consult,
31
- decision key, and hook concern lands in `agents/state/` so you can
32
- replay it. [Core Principles](#core-principles) names the four invariants.
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. [Documentation](#documentation) lists the
35
- contracts the package ships against, including
36
- [`memory-visibility-v1`](docs/contracts/memory-visibility-v1.md) (beta) and
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 rather than with it?
42
- [Development](#development) covers the `task ci` pipeline,
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. The source-of-truth tree is
46
- `.agent-src.uncompressed/`; never hand-edit the generated `.augment/`
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
- `cost_profile` is the master switch for **rule-tier loading**. The kernel
468
- (always-loaded Iron-Law floor, ≤ 26k chars across 9 rules) ships in every
469
- profile; tier-1 and tier-2 rules are gated by profile and resolved at
470
- session start from `router.json`.
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 | Rule tiers loaded | Token footprint | Best for |
473
- |---|---|---|---|
474
- | **`minimal`** | kernel only (no router, no auto-rules) | lowest | Cost-sensitive sessions; trivial Q&A; CI runs |
475
- | **`balanced`** (default) | kernel + tier-1 auto-rules | medium | Day-to-day work current behaviour superset |
476
- | **`full`** | kernel + tier-1 + tier-2 (everything) | highest | Agent-config development; full rule fidelity |
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
- Architecture: [`docs/contracts/rule-router.md`](docs/contracts/rule-router.md) (beta) ·
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
- 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).
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
- ## Featured Skills
534
+ ## Data governance & domain safety
515
535
 
516
- | Skill | What your agent learns |
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
- ## Featured Commands
540
+ ## Profile entry paths & featured commands
538
541
 
539
- | Command | What it does |
540
- |---|---|
541
- | [`/commit`](.agent-src/commands/commit.md) | Stage and commit with Conventional Commits |
542
- | [`/create-pr`](.agent-src/commands/create-pr.md) | Create PR with Jira-linked description |
543
- | [`/fix ci`](.agent-src/commands/fix.md) | Fetch and fix GitHub Actions failures |
544
- | [`/fix pr-comments`](.agent-src/commands/fix.md) | Fix and reply to review comments |
545
- | [`/optimize skills`](.agent-src/commands/optimize.md) | Audit skills, find duplicates, run linter |
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 | — | — | — |