diff --git a/STATE.md b/STATE.md index 09ab14b..0daaf81 100644 --- a/STATE.md +++ b/STATE.md @@ -2,30 +2,30 @@ _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 (START v5.5.0 «steering-model I» — GO gitt 2026-06-20) -v5.4.1 er ute (tag `v5.4.1`, catalog ref OK, version-gate OK). **Neste oppgave: implementer v5.5.0 = Foundation + A + E.** GO er gitt for HELE denne chunken — start rett inn, TDD, ingen ytterligere GO nødvendig for Foundation/A/E. Detaljert brief: **`docs/v5.5-steering-model-plan.md` (les den FØRST).** Baseline: suite 954, self-audit A/A, count 13. +## Aktiv kontekst (v5.5.0 A+E LANDET på main — release-cut pending GO) +v5.4.1 ute. Siden da: v5.5.0-features **A + E implementert og committet på main** (TDD). Foundation **utsatt til v5.6** (se under). Suite **961**, self-audit A/A, count 13, SC-5 byte-stabil. v5.5.0 er IKKE release-cuttet ennå (eget GO-steg, som v5.4.1). -## v5.5.0-oppgave (GO gitt — rekkefølge styrt av avhengighet, Foundation først) -1. **Foundation** — utvid `active-config-reader.mjs` til å enumerere det som mangler i dag: rules (`.claude/rules/` + `~/.claude/rules/`), agents (`.claude/agents/`, `~/.claude/agents/`, plugin-agents), output-styles (`.claude/output-styles/` + `~/.claude/output-styles/`). Tag hver kilde med `loadPattern` ∈ {always, on-demand, external} + `survivesCompaction` ∈ {yes, no, n/a} fra plan-tabellen (V1–V3, V6, V7, V18). Test: fixture med root+subdir CLAUDE.md, scoped+unscoped rule, agent, output-style → korrekt tag. -2. **A (durability)** — ADDITIVE findings: RUL (stor path-scoped rule overlever ikke compaction, low) + CML (nested CLAUDE.md ikke re-injisert etter compaction, low). Kun STRUKTURELT (størrelse + plassering), aldri semantisk «er denne kritisk?». -3. **E (plugin-agent dead-config)** — ADDITIVE PLH: plugin-agent med `hooks`/`mcpServers`/`permissionMode` = dead config (low; **medium** for `permissionMode` = false security, V15). Agent-desc-kostnad → mater B (senere). `skills:`-preload = info (V16). +## Gjort denne økten (2026-06-20, lør — pushet) +- **E (`f75ed56`):** PLH flagger plugin-agent som setter `hooks`/`mcpServers`/`permissionMode` (ignoreres for plugin-subagenter, V15) — dead config; `permissionMode` = MEDIUM (false security), resten LOW. Additiv til PLH agent-loop, én humanizer-pattern, hermetisk temp-fixture-test. +- **A (`f3aadb5`):** RUL — stor (>50 l) path-scoped rule overlever ikke compaction (low); CML — nested (subdir) CLAUDE.md ikke re-injisert (low). Begge additive (RUL+CML), strukturelle (størrelse+plassering), humanizer-entry hver, temp-fixture-tester. +- **Scope-presisering:** Foundation (active-config-reader-enumerering) konsumeres IKKE av A/E (de er additive til RUL/CML/PLH som alt leser filene). Den betjener **B** → flyttet til v5.6. A/E krever ingen omskriving når Foundation lander. -Akseptkriterier i planen. **Count forblir 13** (alt additivt, ingen ny scanner). Byte-stabilt → SC-5-snapshot skal forbli uendret (verifiser; A/E skal ikke fyre på snapshot-fixturen). +## Åpne tråder / neste steg (prioritert) +1. **v5.5.0 release-cut (KREVER GO)** — bundler A+E. Gjenstår: plugin.json 5.4.1→5.5.0 + CHANGELOG + README version-history + version-badge + catalog ref + git-tag. (Som v5.4.1: eget GO-steg.) +2. **v5.6 «steering-model II» (KREVER GO):** Foundation (enumerering rules/agents/output-styles + `loadPattern`/`survivesCompaction` i `active-config-reader`) + B (load-pattern i manifest/tokens — FORMAT-endring, snapshot-regen) + C (ny `CA-OST`, count→14). **Fiks parser-begrensningen** (se gotcha) som del av Foundation. +3. **v5.7 (GO):** D (mechanism-fit, heuristisk, precision-gated). +4. **llm-security KRITISK** (annet repo, F-1 RCE, disclosure-hold) + 3 aktive plugins + STATE-sveip — uendret. -## Etterpå (EGNE GO — ikke del av v5.5.0) -- **v5.6:** C (ny scanner `CA-OST`, count 13→14) + B (load-pattern i manifest/tokens — FORMAT-endring → snapshot-regen + `--json` back-compat-beslutning). -- **v5.7:** D (mechanism-fit, heuristisk, precision-gated — kun hvis negativ-korpus viser lav false-positive). -- llm-security KRITISK (F-1 RCE, disclosure-hold, annet repo) + 3 aktive plugins + STATE-sveip (`catalog/docs/state-version-rollout.md`) — uendret. +## Gotchas (UFRAVIKELIG) +- **Parser-begrensning (NY):** `scanners/lib/yaml-parser.mjs` leser KUN inline `paths: "a, b"` (komma-normalisert), IKKE YAML block-sequence (`paths:\n - a`). Block-scoped rules ses derfor som unscoped → RUL scoped-deteksjon (inkl. A) bommer på dem. Pre-eksisterende, bredere enn A. Fiks i v5.6 Foundation. +- **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-badges. self-audit `--check-readme`: badge == suite (EKSAKT før «+»); driver IKKE exit-kode — verifiser via `--json`. Catalog = SEPARAT repo (`../catalog`); bump ref ETTER tag. +- Scanner-count 13 (A/E additive). C ville gi 14 (v5.6). +- `post-session` IKKE settings.json-event (runner-hook). hooks.md = 30 events PascalCase. +- Path-guard blokkerer Write på `.claude-plugin/` + settings/hooks → bruk hermetisk `mkdtemp` i tester (mønster i HKV/PLH/RUL/CML-testene). Push-vindu: hverdag 20–23, helg fritt. -## Gjort forrige økt (2026-06-20, lør) -v5.4.1 RELEASED (release `2f9d391` + tag `v5.4.1` + catalog `0f3518f`; alt pushet): HKV +`Setup`/`UserPromptExpansion`/`PostToolBatch`, −`post-session`; RUL globs-wording; +2 prior PLH. U1/U2 verifisert mot live-docs: `post-session` REFUTED (self-hosted-runner-hook → fjernet); `outputStyles` CONFIRMED (PLH korrekt). v5.5-plan skrevet (`e71e60f`). - -## Gotchas (UFRAVIKELIG — kritiske for v5.5-impl) -- **fix-engine + humanizer-data kobler på finding-TITTEL.** Nytt/endret finding → oppdater begge (+ evt. SC-5 snapshot). Hver ny finding: positiv OG negativ fixture (TDD, Iron Law). -- Versjon KUN i plugin.json + README-badges (`version-X`, `tests-N+`). self-audit `--check-readme`: badge == suite (EKSAKT match før «+»); driver IKKE exit-kode (kun critical/high) — verifiser via `--json`. -- Scanner-count 13 — A/E er ADDITIVE (ingen ny scanner-fil). C ville gi 14 (v5.6). -- `post-session` er IKKE en settings.json-event (runner-hook); `MessageDisplay` ER gyldig. hooks.md = 30 events, alle PascalCase. (Historiske docs sier feilaktig «legg til post-session» — ikke følg dem.) -- Push-vindu: hverdag 20–23, helg fritt. Write blokkeres på `.claude-plugin/` (voyage-hook) → Edit/Bash. +## Scope-gjerde +v5.5.0 A+E godkjent (GO) og landet. v5.5.0 release-cut + v5.6/5.7 + andre repos = egne GO. Foundation-utsettelse var en finding-drevet presisering (mindre/lavere risiko), ikke scope-utvidelse. ## Kontinuitet Tre lag: STATE.md (tracked) + auto-memory + CLAUDE.md. Oppdater DENNE som siste handling. diff --git a/docs/v5.5-steering-model-plan.md b/docs/v5.5-steering-model-plan.md index d73e168..e267be0 100644 --- a/docs/v5.5-steering-model-plan.md +++ b/docs/v5.5-steering-model-plan.md @@ -202,10 +202,15 @@ D (mechanism-fit) heuristic independent, precision ris **Recommended phasing** (chunk-work rule — session-sized, checkpoint STATE between): -- **v5.5.0 "steering-model I"** — Foundation + A + E. Additive, doc-grounded, byte-stable, - count stays 13. Lowest risk, ships the compaction-survival insight. -- **v5.6.0 "steering-model II"** — C (new `CA-OST`, count → 14) + B (load-pattern accounting, - manifest format change + snapshot regen + `--json` back-compat decision). +- **v5.5.0 "steering-model I"** — A + E only. **DONE on main** (E `f75ed56`, A `f3aadb5`, + 2026-06-20). Additive to RUL/CML/PLH, doc-grounded, byte-stable, count stays 13. **Foundation + was dropped from v5.5.0**: on inspection A/E are additive to scanners that already read the + files and do NOT consume the `active-config-reader` enumeration — that serves B, so it moves to + v5.6. (Release-cut of v5.5.0 is a separate GO step.) +- **v5.6.0 "steering-model II"** — **Foundation** (active-config-reader enumeration + + `loadPattern`/`survivesCompaction`) + B (load-pattern accounting, manifest format change + + snapshot regen + `--json` back-compat decision) + C (new `CA-OST`, count → 14). Also fix the + frontmatter-parser block-sequence limitation (inline `paths:` only today) as part of Foundation. - **v5.7.0 (optional)** — D, only if the negative-corpus test shows acceptable precision; otherwise behind a flag or dropped.