From 32f87d9e596333d10a7d367b753bd057446605d7 Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Mon, 3 Aug 2026 11:10:43 -0400 Subject: [PATCH] =?UTF-8?q?FABRIC.md=20=C2=A725:=20record=20why=20item=201?= =?UTF-8?q?.1=20blocks=20item=203.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review item REVIEW-D4. Item 1.1 (exclusive access, the "sitting in a car" primitive from §8) sits in Phase 1 alongside questions with no structural effect, and it is not in that class. A per-patron exclusivity primitive plausibly needs a held flag or holder index -- a ninth wire in §3's table, in the header item 3.1 builds. Resolving 1.1 after 3.1 means rebuilding the cell header. §25.4 already blocks Phase 3 on items 1.1-1.7, so the ordering was right; what was missing was why 1.1 specifically, which is what gets an item quietly reordered later by someone who does not know what it was holding up. Item 3.1 now names both of its blockers explicitly: item 1.1, and §23.4 #4, the continuation-cell encoding surfaced by REVIEW-C3. It also now requires defining both members of §3's closed two-valued union rather than just the header. Co-Authored-By: Claude Opus 5 --- FABRIC.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) 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.