Record task 3.0 rulings (FABRIC-3.5.md §XLVI); close FABRIC-3.6.md task 3.0

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 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-21 23:29:12 -04:00
co-authored by Claude Sonnet 5
parent f2f7111dff
commit 66ea4a5e74
2 changed files with 30 additions and 5 deletions
+26 -4
View File
@@ -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.
+4 -1
View File
@@ -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