diff --git a/FABRIC.md b/FABRIC.md index 3fab816..3e54546 100644 --- a/FABRIC.md +++ b/FABRIC.md @@ -2053,6 +2053,17 @@ document and committing that amendment as its own item.* blocks, and what happens if a patron is selected for reaping while held. *Refs:* §8. **This is the largest unresolved design question.** + > **Hard prerequisite of item 3.1, and its outcome may amend §3.** This item is filed in + > Phase 1 alongside questions that have no structural effect, and it is not in that class. + > A per-patron exclusivity primitive plausibly needs a held flag or a holder index — a + > **ninth wire** in §3's table, in the header item 3.1 builds. Resolve 1.1 after 3.1 and + > the cell header gets rebuilt. + > + > §25.4 already blocks Phase 3 on items 1.1–1.7, so the ordering is right. What was + > missing is *why 1.1 specifically* — which is the kind of omission that gets an item + > quietly reordered later by someone who does not know what it was holding up. §23.3 + > reserves 4 header bytes partly against this outcome. + - [ ] **1.2 — The resting floor.** Whether a VM's quota has a floor, and whether it is the mass of its pinned patrons (derived) or a constant (tuned). *Refs:* §22.5 #1. @@ -2135,8 +2146,13 @@ document and committing that amendment as its own item.* *Blocked on Phase 0 complete, and on items 1.1–1.7.* -- [ ] **3.1 — Cell and header.** Define the entry with all eight wires (§3). Validate the - 64-byte cell by counting real bytes; adjust and record if it does not fit. *Refs:* §23.3. +- [ ] **3.1 — Cell and header.** Define the entry with all eight wires (§3) — **nine if + item 1.1 resolves to a holder index.** Define both members of §3's closed two-valued + union: patron header and continuation cell. Validate the 64-byte cell by counting real + bytes; adjust and record if it does not fit. + **Blocked on:** item 1.1 (may add a wire) and §23.4 #4 (the continuation-cell encoding — + contiguous or linked — which sets the mass of every large patron and cannot be guessed). + *Refs:* §3, §23.3, §23.4 #4. - [ ] **3.2 — Boot-time allocation.** One global cell array, sized from the memory budget, before any VM exists. *Refs:* §6, §17.6, §22.3. - [ ] **3.3 — Behaviour enumeration and dispatch.** Closed tag set fixed at build time.