config-audit/docs
Kjell Tore Guttormsen 9ae4be26d2 feat(scanners): model/effort routing becomes a lever, not a 25th dimension (C4)
New GAP finding CA-GAP-028: authored subagents exist and not one of them names
`model:` or `effort:`, so every delegated task runs on the main conversation's
model (`model` defaults to `inherit`). Cites BP-MODEL-001/002, landed in C1.
`whats-active` and `manifest` now carry `model`/`effort` per agent.

Shipped as a conditional LEVER rather than a 25th dimension, and the choice was
made by measurement: as a t3 dimension the agent-less marketplace-medium fixture
would count it vacuously-present, moving the denominators 41->42 and utilization
44->45 — which flips `segment` "Developing"->"Competent" in the frozen v5.0.0
posture baseline, a field strip-retired-gap.mjs does not mask. A lever never
enters those denominators. The general rule is now an invariant in CLAUDE.md.

One check across both axes, not one per axis: it fires only when neither is used
anywhere, so a deliberate everything-on-one-model policy stays silent. Cost is
recall, chosen for precision.

Found by dogfooding, fixed red-first: `model: inherit` is the documented default
spelled out, so it must not count as routing — otherwise a config opts out of the
opportunity without changing anything real.

Two pre-existing defects surfaced and closed on the way:
- The humanizer guard asserted TRANSLATIONS.GAP.static EQUALS the dimension
  titles, which forbade humanizing any lever — all three existing levers fell
  through to the generic "feature opportunity" default, wrong for a budget lever.
  Guard now requires coverage of every emittable title, seen red against those
  three before the entries were written.
- Two hand-written copies of the lever list (finding-codes guard, humanizer
  guard) merged into one exported LEVERS registry carrying code AND title.
- suppression-validation pinned CA-GAP-028 as an unoccupied number; C4 claimed
  it. Fixed structurally with a derived first-free id, not by picking a new
  literal — same class as #60's "bump this again".

Suite 1596/0. Frozen v5.0.0 snapshots untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pq3nye21RVYk4pZLeT8pGz
2026-08-10 05:07:23 +02:00
..
cc-2.1.x-changelog-delta.md docs(knowledge): refresh corpus to Opus 4.8 era (CC 2.1.114->181 Batch 3) 2026-06-18 13:35:00 +02:00
cc-2.1.x-fase4-items-2-3-plan.md feat(skill-listing): add CA-SKL-002 aggregate listing-budget check 2026-06-18 18:06:17 +02:00
cc-2.1.x-gap-matrix.md docs(plan): v5.4.0 Session A — reconciliation + ship-list GO (Option A) [skip-docs] 2026-06-19 21:24:58 +02:00
cc-2.1.x-gap-review-plan.md docs(config-audit): CC 2.1.114-181 coverage gap analysis (Fase 0-2) 2026-06-18 11:31:48 +02:00
delete-and-rebuild-brief.md feat(optimize): add --subtract, the subtraction axis, behind a deterministic floor 2026-07-31 16:24:51 +02:00
devils-advocate-gap-verification-plan.md docs(plan): devil's advocate brief — adversarial gap-review verification 2026-06-18 18:28:02 +02:00
humanizer.md feat(ost): v5.6 C — output-style scanner (CA-OST, count 13→14) 2026-06-20 21:02:44 +02:00
scanner-internals.md feat(scanners): model/effort routing becomes a lever, not a 25th dimension (C4) 2026-08-10 05:07:23 +02:00
v5-brief.md docs(config-audit): v5.0.0 brief + implementation plan 2026-05-01 06:10:44 +02:00
v5-implementation-log.md docs(config-audit): v5 implementation log — Session 5 release result 2026-05-01 09:48:40 +02:00
v5-plan.md docs(config-audit): v5.0.0 brief + implementation plan 2026-05-01 06:10:44 +02:00
v5.1.0-test-audit.md chore(humanizer): pre-flight snapshots + test audit for v5.1.0 2026-05-01 16:47:13 +02:00
v5.2.0-release-plan.md release: v5.2.0 — CC 2.1.114→181 compat + skill-listing budget (SKL) 2026-06-18 20:37:45 +02:00
v5.3.0-release-plan.md docs(plan): v5.3.0 Session A — scope decision (ship-list empty) + gap-matrix reconciliation [skip-docs] 2026-06-19 20:30:04 +02:00
v5.4.0-release-plan.md docs(plan): mark v5.4.0 Feature 3 DONE — Session B complete [skip-docs] 2026-06-19 22:15:26 +02:00
v5.5-steering-model-plan.md chore(state): v5.5.0 A+E landed on main; Foundation deferred to v5.6 2026-06-20 11:21:30 +02:00
v5.7-optimization-lens-plan.md docs(state): v5.7 Fase 1 designet — visjons-diskusjon 2026-06-20 22:02:01 +02:00
v5.13-model-routing-effort-deadref-plan.md docs: /doctor-overlap decision merged into v5.14 plan + positioning 2026-08-03 11:41:07 +02:00
v5.14-doctor-overlap-brief.md docs: add v5.14 /doctor-overlap brief (written by session #52) 2026-08-03 11:36:57 +02:00