Figure: the KV block object, drawn as four sections inside one container. PAYLOAD is write-once: the K and V tensors for a sequence, layer and position range, 5.00 mebibytes. IDENTITY is immutable: sequence id, position range, layer, head group, prefix hash, and provenance or parent block. POLICY is mutable in place without migrating the payload: tenant, QoS class, priority, reuse score, recency, and scheduler-supplied residency intent. MECHANISM is local to wherever the block sits: residency location, compression format, transfer state, validity, and in-flight or pinned flags. A migration table states that identity is fixed at creation, migrates with the payload because it is the block's name, and is not mutable; that policy changes on scheduler events, is logically bound but physically separable, and is mutable without migration; and that mechanism changes on every transfer, does not migrate because it is regenerated per location, and is mutable. Write-once has four consequences: a tier copy never goes stale, so there is no coherence problem on the payload; eviction of a block that already has a tier copy is a clean discard with no writeback; each block demotes at most once in its lifetime regardless of how many times it is promoted, which is the delta-b at most 1 bound; and only control metadata mutates, at 64 bytes against a 5.00 mebibyte block, or 0.0012 per cent. The exception is in-place re-quantisation or re-compression, which writes new payload bytes and breaks write-once for that block.
Figure 7.1 · Illustrative — object model specification
The KV block object: payload, identity, policy, mechanism
The unit of placement, migration and accounting — and the reason “migrate the metadata with the block” is the wrong instruction.
The object
The unit of placement, migration and accounting. The design claim is not “one physically fused object”: it is a logically migratable KV object with independently updatable control metadata.
What migrates, and what does not
| Class | Lifetime | Migrates with payload? | Mutable without migration? |
|---|---|---|---|
| Identity | fixed at creation | Yes — it is the block’s name | No |
| Policy | changes on scheduler events | Logically bound, physically separable | Yes |
| Mechanism | changes on every transfer | No — regenerated per location | Yes |
This is the correction to “migrate metadata with the block.” Migrating all metadata as one physically inseparable unit is wrong, because policy metadata changes while the block does not move — QoS is reassigned, priority shifts, scheduler intent updates every step.
Identity travels with the payload. Policy is associated with identity and may be updated in place, on either side, without moving a byte. Mechanism is local to wherever the block currently sits.
Write-once, and its four consequences
For a given (sequence, layer, position range), K and V are computed once — during prefill, or at the decode step that produces that token — and are never subsequently modified. Nothing in autoregressive decoding mutates existing KV. Everything below follows from that one property, and it is what distinguishes this from a general-purpose cache.
Once written, it stays valid. There is no coherence problem on the payload.
No writeback. The bytes are already where they need to be.
In its whole lifetime, regardless of how many times it is promoted — the δb ≤ 1 bound the amplification metric rests on.
Orders of magnitude smaller than the payload, and handled separately: 64 B against a 5.00 MiB block is 0.0012%.
Illustrative (object-model specification) — data/formal_core.md §0 and §1; CANONICAL-NUMBERS.md §6 for the 0.0012% overhead