FABRIC.md: resolve item 1.5 -- outer VM bound is 4, tunable, birth refused at cap
Punch list §25 item 1.5 complete. Bound defaults to 4 (Tripod's known topology), Kconfig-tunable, explicitly a placeholder pending a later DoE campaign for an idealized default. Fixed for the machine's lifetime once set at build. Corrects the document's own "coldest-VM-reaped is consistent with §19.3" claim, which doesn't survive §20.2's cold-start birth rule -- birth is refused at the bound instead, and reaping stays Hera's deliberate act. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
69f71035be
commit
729bfd8bda
@@ -1445,10 +1445,37 @@ decides where work goes; that remains capability-based routing.
|
|||||||
|
|
||||||
### 20.5 Open
|
### 20.5 Open
|
||||||
|
|
||||||
1. **Bounding the VM population.** What is the outer Stadium's capacity, and what happens
|
1. ~~**Bounding the VM population.**~~ **RESOLVED by item 1.5 (§25.2), 2026-08-04.** What is
|
||||||
at the bound — birth refused, or coldest VM reaped? The latter is consistent with §19.3
|
the outer Stadium's capacity, and what happens at the bound — birth refused, or coldest
|
||||||
but means a VM can die because a new one was born, which needs to be an explicit,
|
VM reaped?
|
||||||
stated behaviour rather than an emergent surprise.
|
|
||||||
|
**Correction first: "coldest reaped, consistent with §19.3" does not survive §20.2.**
|
||||||
|
§19.3's admission rule is *admit if denser than the least dense resident*. §20.2 already
|
||||||
|
decided every VM but Hera is born at heat zero. A newborn can never be denser than an
|
||||||
|
existing warm VM, so applying §19.3 literally at the outer level means births at the
|
||||||
|
bound would fail regardless — just silently, via a comparison that can never succeed,
|
||||||
|
instead of by an explicit refusal. Treating "coldest reaped" as automatic would also
|
||||||
|
require a bespoke, non-density rule that exists for VMs alone, which is exactly the
|
||||||
|
per-kind special case §11 warns against.
|
||||||
|
|
||||||
|
**Resolution: birth is refused at the bound.** Making room is Hera's own deliberate act —
|
||||||
|
she already reaps VMs (§20.1) — never an automatic side effect of someone else's birth
|
||||||
|
request. This is the explicit, stated behaviour the original text asked for.
|
||||||
|
|
||||||
|
**The bound itself: 4, Kconfig-tunable, explicitly a placeholder.** 4 matches Tripod's
|
||||||
|
own currently-known topology (Hera + two Hermes instances + Artemis) — the smallest
|
||||||
|
number that doesn't already contradict what this system is known to need, not a padded
|
||||||
|
estimate. It is expected to be too small for real workloads. The right way to find an
|
||||||
|
idealized default is empirical — a DoE campaign, the same discipline already used
|
||||||
|
elsewhere in this project (`experiments/bare_metal/`) — not a second guess made on paper.
|
||||||
|
Tracked as future work, not invented here. The constant is a Kconfig symbol (e.g.
|
||||||
|
`STADIUM_MAX_VM_COUNT`, named at implementation time in item 3.1 alongside the other new
|
||||||
|
symbols this phase introduces), not hardcoded.
|
||||||
|
|
||||||
|
**Fixed for the machine's lifetime once set at build** — resolves §22.5 #4 below in the
|
||||||
|
same stroke. The outer total does not itself flex at runtime; only per-VM quotas do
|
||||||
|
(§22). An outer bound that could grow or shrink live would mean §2's "inescapable wall"
|
||||||
|
is not actually inescapable.
|
||||||
2. **Is a VM's mass its allocated share, or one cell?** §20.4 proposes the share. The
|
2. **Is a VM's mass its allocated share, or one cell?** §20.4 proposes the share. The
|
||||||
alternative — every VM is one entry regardless of size — is simpler but throws away the
|
alternative — every VM is one entry regardless of size — is simpler but throws away the
|
||||||
distinction in the table above, which is the reason to do this at all.
|
distinction in the table above, which is the reason to do this at all.
|
||||||
@@ -1765,10 +1792,10 @@ inventing an unrelated number. 1000:1 against the virtual tick is comfortably pa
|
|||||||
pins down the amount. Reported rather than invented — it can become its own item if
|
pins down the amount. Reported rather than invented — it can become its own item if
|
||||||
warranted, but is out of this item's scope.
|
warranted, but is out of this item's scope.
|
||||||
3. ~~**The exact timescale ratio**~~ **RESOLVED by item 1.4 — 1000:1.** See §22.4.
|
3. ~~**The exact timescale ratio**~~ **RESOLVED by item 1.4 — 1000:1.** See §22.4.
|
||||||
4. **Does the outer Stadium's own capacity ever change?** §22 makes per-VM quotas elastic
|
4. ~~**Does the outer Stadium's own capacity ever change?**~~ **RESOLVED by item 1.5 —
|
||||||
within a fixed total. Whether that total is itself fixed for the machine's lifetime is
|
no.** §22 makes per-VM quotas elastic within a fixed total; the total itself is fixed for
|
||||||
§20.5 #1, still open — and it should stay fixed, or §2's inescapable wall is not
|
the machine's lifetime, set once at build via the Kconfig bound §20.5 #1 introduces. See
|
||||||
inescapable.
|
§20.5 #1 for the full argument.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -2344,9 +2371,17 @@ document and committing that amendment as its own item.*
|
|||||||
> number. Comfortably past §12 Q5's order-of-magnitude minimum. Kconfig-tunable at
|
> number. Comfortably past §12 Q5's order-of-magnitude minimum. Kconfig-tunable at
|
||||||
> implementation (item 3.1). Full argument in §22.4.
|
> implementation (item 3.1). Full argument in §22.4.
|
||||||
|
|
||||||
- [ ] **1.5 — The outer bound.** The outer Stadium's capacity, and the behaviour at the
|
- [x] **1.5 — The outer bound.** The outer Stadium's capacity, and the behaviour at the
|
||||||
bound: birth refused, or coldest VM reaped. *Refs:* §20.5 #1, §22.5 #4.
|
bound: birth refused, or coldest VM reaped. *Refs:* §20.5 #1, §22.5 #4.
|
||||||
|
|
||||||
|
> **RESOLVED 2026-08-04.** Bound = 4 (matches Tripod's known topology: Hera + 2 Hermes +
|
||||||
|
> Artemis), Kconfig-tunable, explicitly a placeholder pending a later DoE campaign to find
|
||||||
|
> an idealized default rather than a second guess made on paper. Fixed for the machine's
|
||||||
|
> lifetime once set at build. At the bound, **birth is refused** — not coldest-VM-reaped,
|
||||||
|
> which the original text called "consistent with §19.3" but which does not survive
|
||||||
|
> §20.2's cold-start birth rule (a newborn can never out-density an existing warm VM).
|
||||||
|
> Making room stays Hera's own deliberate act. Full argument in §20.5 #1.
|
||||||
|
|
||||||
- [ ] **1.6 — A VM's mass: allocated share, or one cell.** *Refs:* §20.4, §20.5 #2.
|
- [ ] **1.6 — A VM's mass: allocated share, or one cell.** *Refs:* §20.4, §20.5 #2.
|
||||||
|
|
||||||
- [ ] **1.7 — Rule out recursion beyond two levels** — deliberately, not by omission.
|
- [ ] **1.7 — Rule out recursion beyond two levels** — deliberately, not by omission.
|
||||||
|
|||||||
Reference in New Issue
Block a user