Skip to the content.

A2 · kvmmu

kvmmu is the write-time bridge that turns ctxmmu’s LOGICAL quarantine verdict (“these bytes may not enter the context window”) into a MECHANICAL one — eviction of the offending result’s K/V span from every layer of the kernel-owned attention cache, so the model is physically incapable of attending to it. It is a pure consumer of two shipped primitives — the detector’s Admit decision and model.KVCache.Evict — joined by a small span LEDGER ([]*Segment, each holding {ID, From, Len, KV}) that records which contiguous cache positions each appended unit occupies. Its regime is A — algebraic / structural: “correct” does not mean a number is within an error bound, it means two structural invariants hold over the live cache. (1) Bijection over live spans: the map from live logical positions to physical KV slots stays one-to-one and onto under arbitrary append/evict sequences — no two logical positions alias one slot, no survivor slot is lost. (2) Exact span addressing: a named span (by logical id) maps to exactly its recorded [From, From+Len) bytes and exactly its derived metadata — addressing keyed to the named segment, never to raw position or token pattern. The witnesses assert these structurally (by-id evict counts, ledger renumber) and bit-exactly (post-evict next-token logits max|Δ|=0 vs an independent prefill of the survivors alone), with a non-vacuity control (poison-vs-never > 0).

All witnesses below ran natively on the macOS fleet node (Darwin/arm64, go1.26 — the Windows/WSL test machinery in CLAUDE.md does not apply here). go vet ./internal/kvmmu/ exits 0.


THEOREM 1 — KV mapping is a bijection over live spans

THEOREM. For any sequence of segment appends and span evictions, the mapping from live logical positions to physical KV-cache slots is a bijection: no two distinct live logical positions alias the same slot, and no live survivor slot is lost. Concretely, after evicting a contiguous span [from, from+n) the surviving K/V at each new index i is byte-identical to a cache that prefilled the survivors alone (each survivor re-RoPE’d from its pre-RoPE raw at new position i), and the kvmmu ledger’s Segment.From offsets stay consistent with that compaction.

REGIME. A — algebraic / structural (round-trip + bit-exact invariant).

PROOF. The slot bijection is enforced by model.KVCache.Evict (fak/internal/model/kv.go:60). It slices the evicted [from,end) columns out of every layer’s K/Kraw/V (kv.go:77), compacts c.pos (kv.go:84), then for every survivor whose original absolute position c.pos[i] != i re-derives K[i] from the pre-RoPE Kraw[i] with a SINGLE rotation at new position i (kv.go:85). RoPE is linear in position (angle = pos·inv_freq), so re-rotating from old p to new p' is exactly RoPE(p'-p); V is unrotated and needs no fix. The result is byte-identical to a cache that never saw the span — i.e. every survivor is present exactly once, at the contiguous new index, with the correct rotation; nothing is duplicated or dropped, which is the bijection. The kvmmu ledger mirror is Context.evict (fak/internal/kvmmu/kvmmu.go:198): it calls Cache.Evict(seg.From, seg.Len) (kvmmu.go:199), then shifts every later segment’s From down by seg.Len (kvmmu.go:202) and zeroes the evicted seg.Len, keeping each live Segment’s [From,From+Len) in exact correspondence with the compacted physical slots. The middle-then-tail evict in the witness (with len(C) != len(B)) makes any stale offset detectably misfire, and the max|Δ|=0 compare against an independent prefill(survivors) is the bit-exact bijection check.

WITNESS.

(go test ./internal/kvmmu/ -count=1 -timeout 120s \
  -run 'TestLedgerRenumberAfterMiddleEvict|TestWriteTimeEvictEqualsNeverSaw' -v)

TestLedgerRenumberAfterMiddleEvict evicts MIDDLE B (len 5) then tail C (len 2), then asserts the A+D distribution equals prefill(A+D) with max|Δ|=0. TestWriteTimeEvictEqualsNeverSaw evicts the poison span write-time and asserts the next-token logits are bit-identical to never-saw, with the non-vacuity control poison-vs-never = 3.257e-01 > 0.

VERDICT. PROVEN — 2026-06-20. Both tests PASS (native Darwin/arm64, go1.26; package run 0.256s, go vet exit 0). Logged: max|Δ| evict-vs-never = 0.000e+00 (want 0) ; poison-vs-never = 3.257e-01 (want >0).

DOS. bound at ship.


THEOREM 2 — span addressing is exact

THEOREM. A named span maps to exactly its bytes: evicting a segment by logical id removes exactly its recorded [From, From+Len) cache positions (no more, no fewer) and invalidates exactly the derived cache metadata whose ParentKV is that segment’s KV identity — and the addressing is keyed to the named segment’s recorded span/identity, not to span position or token content (an identical token span with different content/id is addressed independently).

REGIME. A — algebraic / structural (contract + invariant).

PROOF. A segment records its own span and identity at append: Context.Append (fak/internal/kvmmu/kvmmu.go:118) stamps From=Cache.Len(), Len=len(ids), and a content-derived KV=cachemeta.FromKVPrefix(...).ID (kvmmu.go:126). By-id eviction (Context.Quarantine, kvmmu.go:186) scans for the segment whose ID matches and is not already Held, then evicts EXACTLY its recorded [From,Len) via Cache.Evict (kvmmu.go:199); the witness asserts the returned count equals len(b) and that a prior middle evict already renumbered the target’s From (via kvmmu.go:202), so the address used is the correct shifted span, not a stale one. Exactness against POSITION/CONTENT confusion: AdmitResult (kvmmu.go:163) evicts only when the gate reading the result BYTES returns VerdictQuarantine, so an identical token span carrying benign bytes is addressed as a distinct, admitted segment. Exactness against DERIVED metadata: Context.invalidateReferences (kvmmu.go:212) and externalEntryReferencesKV (kvmmu.go:227) invalidate exactly the entries whose attention-index reference or external residency matches the evicted KV identity, and PlanExternalInvalidations (kvmmu.go:200) emits directives only for those.

WITNESS.

(go test ./internal/kvmmu/ -count=1 -timeout 120s \
  -run 'TestLedgerRenumberAfterMiddleEvict|TestEvictionIsContentDrivenNotPositional|TestQuarantineInvalidatesTrackedAttentionIndex|TestQuarantinePlansExternalEngineInvalidations' -v)

TestLedgerRenumberAfterMiddleEvict: Quarantine("B") returns exactly len(b) and renumbers C.From to len(a). TestEvictionIsContentDrivenNotPositional: identical token span with benign body is Allowed, not evicted. TestQuarantineInvalidatesTracked- AttentionIndex: only the poison segment’s attention_index is invalidated; the unrelated one stays live. TestQuarantinePlansExternalEngineInvalidations: exactly the 2 entries whose identity matches the evicted span become directives.

VERDICT. PROVEN — 2026-06-20. All four tests PASS (native Darwin/arm64, go1.26).

DOS. bound at ship.


Scoped-out / upgrade path

The runtime witnesses prove the bijection and exact-addressing invariants for sequential append/evict orderings. They do NOT prove data-race freedom or aliasing under CONCURRENT eviction (two goroutines evicting overlapping spans). Per 00-METHOD.md §6, kvmmu is one of the three named concurrency-critical leaves whose aliasing edge would be strictly dominated by a Gobra separation-logic proof (memory safety + data-race freedom). That is SCOPED-OUT here (needs a JVM+Viper+Z3 toolchain and per-function specs) and recorded as the upgrade path, not a passed gate.