config-audit/STATE.md
Kjell Tore Guttormsen bb647ce35f feat(mft): v5.6 B1 — load-pattern accounting in manifest
Consume the v5.6 Foundation enumeration in buildManifest:

- Component-level sources: drop the coarse `kind:'plugin'` roll-up (it
  double-counted skills/rules/agents already enumerated once). Kinds are now
  claude-md/skill/rule/agent/output-style/mcp-server/hook.
- Every source carries loadPattern/survivesCompaction/derivationConfidence.
  Rules/agents/output-styles propagate the foundation-derived values; CLAUDE.md
  maps scope→kind (all cascade files always-loaded); skills are tagged on-demand
  (skill-body) so the body cost does not inflate the always-loaded subtotal.
- New `summary` (always/onDemand/external/unknown {tokens,count}); the
  always-loaded subtotal — "tokens that enter context every turn" — is the headline.

manifest is an environment-aware CLI → SC-6/SC-7 verify it by mode-equivalence,
not byte-equal, and it is not in SC-5. Adding fields in place keeps all snapshots
green with no regen (verified). `total` changes (de-duped) — intended correctness fix.
TOK's load-pattern column (byte-equal SC-6) is deferred to the next chunk (B2).

Tests 996→1008 (deterministic buildManifest unit test + CLI presence checks).
Self-audit A/A, scanner count unchanged at 13.

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

4.3 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.6 B1 = manifest load-pattern accounting LANDET på main — B2/TOK + C neste)

v5.5.0 released. v5.6 Foundation landet (62d910e). Nå: v5.6 B delt i toB1 (manifest) implementert + committet på main (TDD). TOK-kolonnen ble bevisst utsatt (B2) fordi TOK er en byte-equal SC-6-CLI (krever snapshot-håndtering); manifest er env-aware → mode-equivalence → byte-stabil UTEN regen. Suite 1008 (996→1008), self-audit A/A (config A, plugin A), count 13 (ingen ny scanner). v5.6 IKKE release-cuttet (krever B2 + C + eget GO).

Gjort denne økten (2026-06-20, lør — pushet hvis i vindu)

  • buildManifest (scanners/manifest.mjs): komponent-nivå — plugin roll-up FJERNET (dobbelttalte komponenter; plugin-bidrag enumereres allerede én gang som skills/rules/agents/output-styles/hooks/mcp). Source-kinds nå claude-md/skill/rule/agent/output-style/mcp-server/hook. Hver record får loadPattern/survivesCompaction/derivationConfidence. Rules/agents/output-styles propagerer Foundation-verdiene; CLAUDE.md scope→kind via CLAUDE_MD_SCOPE_KIND (alle cascade-filer walker opp → always); skills tagget on-demand (skill-body — målt token = body, ikke always-listing). Ny summary (always/onDemand/external/unknown {tokens,count}) i CLI-output. Ny summarizeByLoadPattern (eksportert).
  • Headline: always-loaded subtotal. På plugin-rota: 24,3k always / 107 kilder (101 agenter dominerer), vs 125k on-demand (skill-bodies), 855 external (hooks). total endret (de-dup) — tilsiktet korrekthetsfiks.
  • Tester: +12 (deterministisk enhetstest på buildManifest med syntetisk activeConfig: loadPattern per kind, summary-reconcil, plugin/disabled-mcp ekskludert fra total; + CLI loadPattern/summary-presence). Endret brutt kind==='plugin'-test → komponent-nivå.
  • Docs (docs-gate): README (badge 996→1008, prosa + 3 manifest-beskrivelser), CLAUDE.md (test 1008 + ny «manifest — load-pattern accounting (v5.6 B)»-seksjon + tabellrad), scanner-internals manifest-rad.

Åpne tråder / neste steg (prioritert, alle KREVER GO)

  1. v5.6 B2 (TOK load-pattern-kolonne): legg loadPattern på token-hotspots source-records. TOK ER byte-equal SC-6 → bevar v5.0.0-baseline via normalizer-strip (additive felt ignoreres, frozen-kontrakt intakt) + regen SC-5 default-output/token-hotspots.json (UPDATE_SNAPSHOT=1). Foundation + manifest-mønsteret ligger klart.
  2. v5.6 C (output-style scanner): ny CA-OST (count 13→14): keep-coding-instructions/force-for-plugin/dead outputStyle. Badge + lore + humanizer/scoring/discovery-wiring.
  3. v5.6 release-cut: etter B2+C (eget GO, som v5.5.0).
  4. v5.7: D (mechanism-fit, heuristisk, precision-gated).
  5. llm-security KRITISK (annet repo) + 3 aktive plugins + STATE-sveip — uendret.

Gotchas (UFRAVIKELIG)

  • manifest er env-aware → SC-6/SC-7 = mode-equivalence (--json==--raw), IKKE byte-equal. Derfor byte-stabil ved add-field-in-place (verifisert). TOK er motsatt (byte-equal) — B2 må håndtere snapshot. manifest IKKE i SC-5.
  • manifest har INGEN findings → ingen humanizer/fix-engine-tittelkobling (gjelder kun finding-scannere).
  • Skill on-demand, IKKE always: målt token = body (invoke). Always-listing (navn+desc) er liten, spores av skill-listing-budget/posture. Ikke tagg skill-body always — det blåser opp headline.
  • Versjon KUN i plugin.json + README version-badge. tests-badge = EKSAKT tests N fra node --test (self-audit countTestCases); verifiser readmeCheck.passed:true/mismatches:[] via --json. 1008 nå.
  • docs-gate (non-marketplace gren) krever ≥3 ikke-ws-linjer i README OG CLAUDE.md for feat:. Oppfylt ærlig denne økten. Alt.: [skip-docs].
  • Scanner-count 13. C gir 14. Path-guard blokkerer Write på .claude-plugin/+settings/hooks → hermetisk mkdtemp i tester. Push-vindu: hverdag 2023, helg fritt.

Scope-gjerde

v5.6 B1 (manifest) godkjent (GO) og landet. B2 (TOK) + C + release-cut + v5.7 + andre repos = egne GO. Ikke start B2 uten GO.

Kontinuitet

Tre lag: STATE.md (tracked) + auto-memory + CLAUDE.md. Oppdater DENNE som siste handling.