From 66ea4a5e747b2b78269958b086b662a42875f132 Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Mon, 21 Sep 2026 23:29:12 -0400 Subject: [PATCH] =?UTF-8?q?Record=20task=203.0=20rulings=20(FABRIC-3.5.md?= =?UTF-8?q?=20=C2=A7XLVI);=20close=20FABRIC-3.6.md=20task=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Captain Bob ruled all five §XLV.4 sub-items plus task 3.3's heat-cost design point: ACK on channel-open+delivery only; the channel-open ACL hook is a new word in ACL.4th; switch-table sizing mirrors Stadium's stadium_max_vm_count_val; chunks carry (msg_id, seq, is_last); drain one message per outermost-interpret checkpoint; publish costs one message per subscriber. Tasks 3.1-3.7 may now be written precisely. Co-Authored-By: Claude Sonnet 5 --- FABRIC-3.5.md | 30 ++++++++++++++++++++++++++---- FABRIC-3.6.md | 5 ++++- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/FABRIC-3.5.md b/FABRIC-3.5.md index 1871f1dc..18cfd6f6 100644 --- a/FABRIC-3.5.md +++ b/FABRIC-3.5.md @@ -4716,7 +4716,29 @@ source blocks*; whether it also constrains message payload content is **not** ru ### XLV.4 — Punch list - ✅ **Items 27, 32, 44 — SETTLED** (§XLV.1–.3). -- ⬜ **NEW** — ACK cadence (XLV.1); ACL hook for channel-open policy (XLV.1); dynamic switch-table - sizing rule (XLV.2); chunk framing (XLV.3). Each blocks its own Phase 3 task, not the phase. -- ⬜ **Phase 3 task breakdown** — no tasks are written yet; `FABRIC-3.6.md` still holds the - one-line shape from §XXXIV.3, which predates negotiation. +- ✅ **NEW** — ACK cadence (XLV.1); ACL hook for channel-open policy (XLV.1); dynamic switch-table + sizing rule (XLV.2); chunk framing (XLV.3). **SETTLED §XLVI.** +- ✅ **Phase 3 task breakdown** — drafted `FABRIC-3.6.md` tasks 3.0–3.11, 2026-09-21. + +## XLVI. §XLV.4 sub-items SETTLED by Captain Bob (2026-09-21) — task 3.0 closed + +All five `FABRIC-3.6.md` task 3.0 sub-items, plus task 3.3's heat-cost design point, ruled in one +session (all recommended defaults accepted): + +- **3.0(a) ACK cadence:** channel-open + delivery only, not every common-channel message — + confirms §XLV.1's own advised default. +- **3.0(b) Channel-open ACL hook location:** a new word in `ACL.4th` itself (e.g. + `HERMES-CHANNEL-OPEN?`), extending its scope from per-word ACL to also cover channel-open + policy, rather than a separate policy file. Keeps "all policy in `ACL.4th`" as one rule with + no exceptions. +- **3.0(c) Dynamic switch-table sizing:** mirrors Stadium's `stadium_max_vm_count_val` pattern — + RAM-derived at boot, no separate sizing formula. +- **3.0(d) Chunk framing:** each chunk carries `(msg_id, seq, is_last)` ahead of up to 1024 + bytes of payload; receiver reassembles by `msg_id`+`seq` order. +- **3.0(e) Drain cadence:** one message per outermost-interpret checkpoint (§XLIII.6.3's own + recommendation) — a backlog drains across several checkpoint hits, not in one burst. +- **Task 3.3 heat cost per publish:** one message per subscriber (separate heat draw each), + matching the existing heat-coupled allocator 1:1 — no refcount machinery to add to the + allocator/ledger. + +`FABRIC-3.6.md` task 3.0 is closed by this ruling; tasks 3.1–3.7 may now be written precisely. diff --git a/FABRIC-3.6.md b/FABRIC-3.6.md index 40aef18c..a1d82627 100644 --- a/FABRIC-3.6.md +++ b/FABRIC-3.6.md @@ -761,11 +761,14 @@ depends on) is the next step, before any Phase 3 code. Each is one commit with three-ISA acceptance, per the standing rules. Tasks marked **[needs ruling]** cannot be written precisely until Captain Bob settles the named sub-item. -- [ ] **3.0** — **Decision gate, not code.** Rule on the §XLV.4 sub-items: **(a)** ACK cadence +- [x] **3.0** — **Decision gate, not code.** Rule on the §XLV.4 sub-items: **(a)** ACK cadence (advised: channel open + delivery, not every common-channel message); **(b)** where the channel-open ACL hook lives in `ACL.4th`; **(c)** the dynamic switch-table sizing rule; **(d)** chunk framing; **(e)** drain one message per checkpoint (§XLIII.6.3, recommended, never ruled). *Check:* each answer recorded in `FABRIC-3.5.md`. + 2026-09-21 · no commit (documentation ruling, see `FABRIC-3.5.md` §XLVI) · all five + sub-items plus task 3.3's heat-cost point ruled by Captain Bob, all recommended defaults + accepted. - [ ] **3.1** — **Dynamic switch table** (B2) **[needs ruling 3.0c]**. Read `SK_SWITCH_MAX_SLOTS`'s every use first; replace the constant with a boot-time, RAM-derived allocation (Stadium's `stadium_max_vm_count_val` pattern). *Check:* boot