Foundation chunk of v5.6 "steering-model II" (internal plumbing for B/C;
no command-output change, so --json/--raw/SC-5/6/7 stay byte-stable, count
stays 13).
active-config-reader.mjs:
- deriveLoadPattern(kind,{scoped}) — pure helper mapping each source kind to
loadPattern {always,on-demand,external} + survivesCompaction {yes,no,n/a}
+ derivationConfidence {confirmed,inferred}, traced to the published
loading model (V-rows in docs/v5.5-steering-model-plan.md).
- enumerateRules / enumerateAgents / enumerateOutputStyles — the three
source kinds previously unenumerated (mirror enumerateSkills). Output-style
discovery is direct (not a new file-discovery type) to keep the discovery
surface stable.
- readActiveConfig now exposes rules/agents/outputStyles arrays + totals
counts/subtotals (folded into grandTotal).
yaml-parser.mjs:
- parseSimpleYaml now reads YAML block sequences (paths:\n - a), not just
inline paths:. An empty-valued key with no `- ` items stays null
(backcompat). Resolves a pre-existing RUL false-positive (a block-seq-scoped
rule was misread as unscoped) — fix flows through unchanged RUL code.
Tests +35 (961 -> 996): block-seq parser cases, RUL block-seq regression
(no-misflag + durability-fires), deriveLoadPattern table, three enumerators
(positive+negative). Amended two existing ACR asserts (top-level key shape +
grandTotal sum). self-audit A/A, readmeCheck passed, mismatches []. tests
badge 961+->996+; README testing prose de-staled (635/36 -> 996/56);
CLAUDE.md Foundation note.
B (manifest/tokens render + snapshot regen) and C (CA-OST, count->14)
deferred to their own sessions/GO.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
4 KiB
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.6 Foundation LANDET på main — B neste)
v5.5.0 released (tag v5.5.0, catalog v5.5.0). Siden da: v5.6 Foundation implementert + committet på main (TDD). Suite 996 (961→996), self-audit A/A (config 93, plugin 100), count 13 (Foundation legger ingen scanner), SC-5/6/7 byte-stabil UTEN regen. v5.6 er IKKE release-cuttet (krever B + C + eget release-GO).
Gjort denne økten (2026-06-20, lør — alt pushet)
- Parser-fiks (
yaml-parser.mjs):parseSimpleYamlleser nå YAML block-sequences (paths:\n - a), ikke bare inlinepaths: "a, b". Empty-valued key uten--items → fortsattnull(backcompat). Løser pre-eksisterende RUL false-positive (block-seq-scoped rule sett som unscoped) — fiks flyter gjennom uendret RUL-kode. - Foundation (
active-config-reader.mjs): nyderiveLoadPattern(kind,{scoped})(loadPattern/survivesCompaction/derivationConfidence, V-row-forankret) +enumerateRules/enumerateAgents/enumerateOutputStyles(mirrorenumerateSkills).readActiveConfigeksponererrules/agents/outputStyles+ totals/subtotals (i grandTotal). Output-style-discovery gjøres direkte (IKKE nyfile-discovery-type) → discovery-surface stabil. - Tester: +35 (yaml-parser block-seq, RUL block-seq regresjon, deriveLoadPattern table, 3 enumeratorer pos+neg). Amendet 2 eksisterende ACR-asserts (top-level key shape + grandTotal sum).
- Docs (docs-gate krever non-trivial README+CLAUDE for feat): README testing-prosa 635/36→996/56 (var v5.0.0-stale), tests-badge 961+→996+, CLAUDE.md test-count 936→996 + ny Foundation-seksjon.
Åpne tråder / neste steg (prioritert, alle KREVER GO)
- v5.6 B (load-pattern accounting): render
loadPattern-kolonne + «always-loaded subtotal» imanifest+tokens. FORMAT-endring → regen SC-5 + SC-6/7 token-hotspots-snapshots; beslutt--jsonback-compat (add-field-in-place vs schema-versjon). Konsumerer Foundation (deriveLoadPattern + enumerasjoner ligger klare). - v5.6 C (output-style scanner): ny
CA-OST(count 13→14):keep-coding-instructions/force-for-plugin/deadoutputStyle. Badge + lore-oppdatering, humanizer/scoring/discovery-wiring. - v5.6 release-cut: etter B+C lander på main (eget GO, som v5.5.0).
- v5.7: D (mechanism-fit, heuristisk, precision-gated).
- llm-security KRITISK (annet repo, F-1 RCE, disclosure-hold) + 3 aktive plugins + STATE-sveip — uendret.
Gotchas (UFRAVIKELIG)
- Parser-begrensning RESOLVED denne økten — block-sequences leses nå. (Hvis du ser gammel STATE/plan som sier «fiks i v5.6 Foundation»: gjort.)
- fix-engine + humanizer-data kobler på finding-TITTEL. Endrer/legger du til tittel: oppdater begge (+ evt. SC-5 snapshot). Hver finding: positiv OG negativ fixture (TDD).
- Versjon KUN i plugin.json + README version-badge. tests-badge synces til EKSAKT suite-tall ved hver chunk-landing (961→996 nå); driver IKKE exit-kode — verifiser
readmeCheck.passed/mismatches:[]via--json. Catalog = SEPARAT repo; bump ref ETTER tag (egen GO). - docs-gate (non-marketplace gren) krever non-trivial README OG CLAUDE.md (≥3 ikke-ws-linjer hver) for
feat:-commits. Foundation oppfylte ærlig (stale-fiks + arch-note). Alt.:[skip-docs](logges). - Scanner-count 13. C gir 14 (v5.6).
- Path-guard blokkerer Write på
.claude-plugin/+ settings/hooks → hermetiskmkdtempi tester. Push-vindu: hverdag 20–23, helg fritt.
Scope-gjerde
v5.6 Foundation godkjent (GO) og landet. B + C + v5.6 release-cut + v5.7 + andre repos = egne GO. Ikke start B uten GO. Byte-stabilitet var by-construction (Foundation rendrer ingenting nytt) — B BRYTER den bevisst (snapshot-regen).
Kontinuitet
Tre lag: STATE.md (tracked) + auto-memory + CLAUDE.md. Oppdater DENNE som siste handling.