Record B1/B2/B4 rulings (FABRIC-3.5.md §XLV); clear Phase 3 blockers in FABRIC-3.6.md
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
feace42397
commit
303b0c7edf
@@ -4665,3 +4665,58 @@ not edited from here. `.claude/CLAUDE.md` now carries the full 64×16 rule.
|
||||
`MANIFEST.md`'s ride the strip per §XXII.5.
|
||||
- ⬜ **Item 45, NEW** — carry §XLIV.1's 64-char line limit into the `experiments/bare_metal/README.md`
|
||||
capsule guidance if it repeats the byte framing. **Not checked; flagged.**
|
||||
|
||||
---
|
||||
|
||||
## XLV. B1, B2, B4 SETTLED by Captain Bob (2026-09-21) — channels negotiate, the switch table is dynamic, payloads are one block
|
||||
|
||||
Three of Phase 3's blockers (`FABRIC-3.6.md` B1/B2/B4) ruled in one session. **These are rulings,
|
||||
recorded as given; the reasoning below is the design consequence, not new design.**
|
||||
|
||||
### XLV.1 — B1 (item 27): negotiated channels, pub/sub, ACK/NACK
|
||||
|
||||
> **Messaging is publish/subscribe. There is one common channel every VM listens to. A private
|
||||
> channel is created by request → grant/deny over the common channel, and the granted channel
|
||||
> is a new topic with its own membership. ACK/NACK negotiation runs throughout.**
|
||||
|
||||
This **overrules §XXXIII.5's recommendation** (one flat broadcast membership) in favour of the
|
||||
negotiation that `messaging.4th`'s CH-REQUEST/ACCEPT/CONFIRM/CLOSE already sketched. Consequences:
|
||||
|
||||
- **`SkHermesMembership` (task 2.1) is per-channel.** The flat list is right *per topic*; there
|
||||
is now one per channel, held in a **dynamic** table with no fixed channel maximum (same
|
||||
reasoning as XLV.2).
|
||||
- **The common channel is a permanent topic**; every VM is subscribed from birth.
|
||||
- **A deny is a NACK.** ACK/NACK are ordinary message types on the existing heat-coupled
|
||||
allocator (tasks 2.2–2.7), so they draw and decay heat like any message.
|
||||
- **Advised, not ruled — open for Captain Bob:** ACK the private-channel open and delivery, not
|
||||
every common-channel message, since ACK-everything roughly doubles message heat draw against
|
||||
the consumption economy (§XL.4).
|
||||
- **Advised, not ruled — open:** who may open a channel with whom is policy and belongs in
|
||||
`ACL.4th` (CLAUDE.md: policy in FORTH, never gated on `zuse_session`); kernel-Hermes should
|
||||
ask, not decide. Where that hook lives must be settled before the grant task is written.
|
||||
|
||||
### XLV.2 — B2 (item 32): the switch table is dynamic, not a constant
|
||||
|
||||
> **`SK_SWITCH_MAX_SLOTS` (16) is not to be fixed and static; it becomes a dynamic component.**
|
||||
|
||||
Precedent already in the tree: Stadium sizes its VM quota table from RAM at boot
|
||||
(`stadium_max_vm_count_val`, kmalloc'd, 2026-08-15). The switch table follows the same pattern.
|
||||
**The concrete sizing rule is not yet specified** and is a task-writing prerequisite.
|
||||
|
||||
### XLV.3 — B4 (item 44): payload bound is one block; larger payloads chunk
|
||||
|
||||
> **Follow the block convention the `*.4th` files use.**
|
||||
|
||||
Read as (confirmed by Captain Bob 2026-09-21): a message payload is bounded to **one block =
|
||||
1024 bytes** (64×16, §XLIV.1), which matches §XLIII.6.1's `INPUT_BUFFER_SIZE − 1` drain limit;
|
||||
anything larger is **chunked across messages**. Chunk framing (sequence/last-chunk marking) is
|
||||
a Phase 3 task-writing prerequisite. Note the 64-char line rule (§XLIV.1) governs *capsule
|
||||
source blocks*; whether it also constrains message payload content is **not** ruled here.
|
||||
|
||||
### 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.
|
||||
|
||||
Reference in New Issue
Block a user