config-audit/STATE.md
Kjell Tore Guttormsen e7833b65fc feat(opt): optimization lens CA-OPT-001 (procedure→skill) — v5.7 Fase 1 Chunk 2a
First detector of the 'is the config OPTIMAL?' axis (vs the existing 'correct?' scanners). New orchestrated scanner family CA-OPT (count 14->15), the deterministic half of the hybrid optimization lens.

CA-OPT-001 (low, Missed opportunity): a multi-step procedure in CLAUDE.md (>=6 consecutive numbered steps) that belongs in a skill. Reads recommendation + provenance from the best-practices register (BP-MECH-003). Conservative by design; the negative corpus proves null false-positives. Prose-judgment cases (lifecycle->hook, 'never'->permission) are deferred to the Chunk 2b opus analyzer.

Wiring mirrors OST: orchestrator entry, humanizer (OPT->'Missed opportunity' + family), scoring (OPT->'CLAUDE.md', existing area -> no new posture row -> byte-stable), strip-helper (OST,OPT), SC-5 regenerated under hermetic HOME (additive OPT entry only). 10 new tests; suite 1045->1055, self-audit A/A, readmeCheck passed (all verified with a clean HOME).

Note: the pre-existing TOK test reads the real ~/.claude (non-hermetic) -> run the suite with a clean HOME for deterministic results. Tracked as a separate follow-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 23:10:03 +02:00

4.4 KiB
Raw Blame History

STATE — config-audit

Current state-of-play for DENNE pluginen. Auto-injisert ved sesjonsstart. Overskrives (ikke append) ved sesjonsslutt. Historikk → git (STATE.md er tracked). Stier relative til plugin-mappa.

Aktiv kontekst (v5.7 Fase 1 Chunk 2a DONE — neste: Chunk 2b = opus-analyzer)

v5.6.0 released. v5.7 Fase 1 Chunk 1 (register) + Chunk 2a (linse CA-OPT-001) ferdig & verifisert. Suite 1055 (hermetisk HOME), scanner 15 (CA-OPT), self-audit A/A (plugin 100 / config 94, hermetisk HOME), readmeCheck passed. Plan: docs/v5.7-optimization-lens-plan.md.

v5.7 Fase 1 — låste beslutninger (2026-06-20)

  • Rekkefølge: Fase 1 (linse + kunnskapsbase) FØRST, så Fase 2 (kampanje + backlog, eget GO).
  • Kunnskaps-format: strukturert JSON-register (zero-dep avgjorde); markdown som speil.
  • Linse-motor: ny familie CA-OPT + hybrid motor. Chunk 2 splittet i 2a (determ.) + 2b (agent) av chunk-sizing + arkitektur («scannere emitter byte-stabilt; agenter beriker»).
  • OPT-scoring → 'CLAUDE.md'-area (eksisterende → ingen ny posture-rad → byte-stabil; unngår GAP-utilization-konflikt som 'Feature Coverage' ville gitt). Humanizer-kategori 'Missed opportunity' (mulighet, ikke feil).

Chunking

  1. Chunk 1 — Register-fundament: DONE (55f83a3). best-practices.json + register-modul + 22 tester.
  2. Chunk 2a — Linsen, determ. del: DONE (denne økten). CA-OPT-001: ≥6-stegs nummerert prosedyre i CLAUDE.md → skill (BP-MECH-003), konservativ, negativt korpus = null FP. Full wiring (orchestrator/humanizer/scoring/strip/SC-5 regenerert). 10 nye tester.
  3. Chunk 2b — Linsen, opus-analyzer — NESTE, KREVER GO: ikke-deterministisk agent (søster av feature-gap-agent) for prose-judgment-tilfellene linsen bevisst hopper over: lifecycle→hook (BP-MECH-001), unscoped path-spesifikk→rule (BP-MECH-002), «never»→permission (BP-MECH-004). Leser registeret + CA-OPT-001-kandidatene. Ikke i byte-stabil suite (egen kommando). lensCheck-feltene i registeret navngir detektorene.
  4. Chunk 3 — knowledge-refresh: semi-auto poller (--dry-run, stale/candidate, human-godkjente skriv).

Åpne tråder / neste steg (prioritert)

  1. Chunk 2b (opus-analyzer) — KREVER GO. Les plan-doc + registeret (BP-MECH-001/002/004).
  2. TOK-test mangler HOME-isolasjon (pre-eksisterende, OUT-OF-SCOPE for 2a): tests/scanners/token-hotspots.test.mjs runScanner overstyrer ikke HOME → TOK leser ekte ~/.claude → «emits zero findings»-asserten er miljøavhengig (rød på ekte HOME, grønn på ren HOME). Kjør suiten med ren HOME for determinisme. Foreslått liten egen fix (eget GO): hermetisk HOME i runScanner.
  3. Fase 2 (kampanje + backlog) — utsatt, eget GO etter linse-validering.
  4. Åpne design-detaljer (i planen): refresh-kilder/kadens, /repo-init-synergi.
  5. llm-security KRITISK (annet repo) + 3 aktive plugins — uendret. Egne GO.

Gotchas (UFRAVIKELIG)

  • Verifiser suiten med ren HOME. Flere tester (TOK + dermed SC-5/orchestrator via TOK) leser ekte ~/.claude → ikke-hermetiske. HOME=$(mktemp -d) node --test 'tests/**/*.test.mjs'. Regenerer ALDRI SC-5 med ekte HOME (baker inn sesjons-drift) — bruk ren HOME.
  • CLAUDE.md-lengde drar config-grade. Hold architecture-tillegg i pluginens egen CLAUDE.md lean; full detalj → docs/. Mål self-audit mot baseline (ren HOME) FØR commit. Nå: 379 linjer / 25.8k chars (under 500/40k).
  • Scanner-/familie-tillegg = strip, IKKE re-seed. strip-added-scanner.mjs ADDED_SCANNERS = {OST, OPT}; re-seed KUN SC-5 (ren HOME). Hardkodet scanner-count i scan-orchestrator-humanizer.test.mjs (scanners.length).
  • Release-cut = 3 filer + annotert tag + catalog. tests-badge tests N, scanner-badge, readmeCheck.passed. Nå: 1055, scanner 15. Knowledge-badge teller kun .md.
  • Persistens (verifisert): sesjoner i ~/.claude/config-audit/sessions/ overlever reinstall/oppgradering.
  • Push-vindu: hverdag 2023, helg fritt. Auto-commit per chunk + push når naturlig (operatør-beslutning, se memory chunk-commit-push-flow).

Scope-gjerde

Chunk 1 + 2a komplett, verifisert (ren HOME), committet. Chunk 2b (opus-analyzer) + TOK-fix + Fase 2 = egne GO.

Kontinuitet

Tre lag: STATE.md + auto-memory (config-audit-vision, chunk-commit-push-flow) + CLAUDE.md. Plan → docs/v5.7-optimization-lens-plan.md. Oppdater DENNE som siste handling.