FABRIC.md: resolve item 1.7 -- VM-Stadium nesting depth is Kconfig-tunable, default 2

Punch list §25 item 1.7 complete.
Bounded rather than permanently prohibited, consistent with item 1.1's
treatment of containment depth. Default 2 matches §21's already-decided
two-level structure; enforced by explicit refusal at VM-birth time if a
birth would exceed the configured depth.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-04 10:35:36 -04:00
co-authored by Claude Sonnet 5
parent 015333e8b8
commit 4fd9420ecf
+27 -9
View File
@@ -1508,14 +1508,26 @@ decides where work goes; that remains capability-based routing.
Her mass is still whatever §20.4 resolves for VMs generally. Pinning governs whether she Her mass is still whatever §20.4 resolves for VMs generally. Pinning governs whether she
can depart, not how much room she takes. can depart, not how much room she takes.
4. **Does the nesting recurse further?** A VM's Stadium holds patrons; if one of those 4. ~~**Does the nesting recurse further?**~~ **RESOLVED by item 1.7 (§25.2), 2026-08-04.**
patrons were itself a VM, the structure is a tree rather than two levels. Nothing A VM's Stadium holds patrons; if one of those patrons were itself a VM, the structure is
currently requires this, and §11 would call it speculative generality — but it should be a tree rather than two levels. Nothing currently requires this, and §11 would call it
ruled out deliberately, since the boot order in §6 does not forbid it. Still open as speculative generality — but it should be bounded deliberately, since the boot order in
item 1.7. **Not the same question as §8's `contains` chains (item 1.1, resolved)** — those §6 does not forbid it.
are same-Stadium patron-holds-patron relationships, bounded to depth 5, and do not create
a second Stadium. This item is specifically about a patron *being* a VM with its own **Not the same question as §8's `contains` chains (item 1.1)** — those are same-Stadium
nested Stadium underneath it. patron-holds-patron relationships, bounded to depth 5, and do not create a second
Stadium. This is specifically about a patron *being* a VM with its own nested Stadium
underneath it.
**Resolution: bounded by a Kconfig-tunable cap, default 2 — not a hard "never."**
Consistent with how item 1.1 treated its own depth question rather than declaring a
permanent architectural prohibition. 2 matches what §21 already decided and what already
exists: the outer Stadium (patrons: VMs) and each VM's own inner Stadium (patrons: words,
blocks, ACLs, messages). Nothing today drives a third level, so 2 is the honest default,
not a padded estimate. The cap is enforced explicitly at VM-birth time — birthing a VM
whose own Stadium would sit at a depth beyond the configured cap is refused, the same
"explicit refusal over silent/emergent behaviour" discipline item 1.5 used for the outer
bound — rather than left as an unstated assumption nothing checks.
--- ---
@@ -2401,9 +2413,15 @@ document and committing that amendment as its own item.*
> collapse to heat alone, discarding the starved-vs-small diagnostic that's the entire > collapse to heat alone, discarding the starved-vs-small diagnostic that's the entire
> point of §20.4. Full argument in §20.4. > point of §20.4. Full argument in §20.4.
- [ ] **1.7 — Rule out recursion beyond two levels** — deliberately, not by omission. - [x] **1.7 — Rule out recursion beyond two levels** — deliberately, not by omission.
*Refs:* §20.5 #4. *Refs:* §20.5 #4.
> **RESOLVED 2026-08-04 — Kconfig-tunable cap, default 2.** Not a hard prohibition:
> bounded, same treatment as item 1.1's containment depth. 2 matches §21's already-decided
> two-level structure (outer VM Stadium, per-VM inner Stadium). Enforced explicitly at
> VM-birth time — a birth that would exceed the configured depth is refused. Full argument
> in §20.5 #4.
- [ ] **1.8 — Block content change at migration.** A resident block whose content changed - [ ] **1.8 — Block content change at migration.** A resident block whose content changed
has a different hash on the way out. State the hand-off. *Refs:* §24.6 #1. has a different hash on the way out. State the hand-off. *Refs:* §24.6 #1.