FABRIC.md: resolve item 1.3 -- capacity-transfer trigger is comparison, not threshold

Punch list §25 item 1.3 complete.
Cadence (capacity-tick, a coarser multiple of the virtual tick) carries
the "sustained density" requirement; the decision itself is a pure
least-dense/densest comparison, no tuned threshold. Transfer amount per
event is reported as unresolved, not invented -- out of this item's scope.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-04 08:16:04 -04:00
co-authored by Claude Sonnet 5
parent 9f8bd2a13d
commit e83b404f66
+33 -5
View File
@@ -1724,10 +1724,29 @@ rule looks correct.
regain capacity. One message-sized cell is itself derived, from §23.3's cell sizing rule
("size the cell so a typical message is exactly one cell"), not a second tuned constant —
so the discipline this section wanted to preserve still holds with both terms in place.
2. **What arbitrates a transfer, concretely?** §7 says Hera. Under §22.3 a transfer is
arithmetic on two integers, so the mechanism is trivial — but *when* she does it, and on
what signal, is not yet stated. It should read off the density gradient (§22.1) rather
than a schedule.
2. ~~**What arbitrates a transfer, concretely?**~~ **RESOLVED by item 1.3 (§25.2),
2026-08-04.** §7 says Hera. Under §22.3 a transfer is arithmetic on two integers, so the
mechanism is trivial — but *when* she does it, and on what signal, is not yet stated.
**The cadence is the slow part, not a threshold.** Hera evaluates the density gradient
once per **capacity-tick** — a coarser, derived multiple of the virtual tick (§18.4). The
exact multiple is item 1.4's job, not fixed here. This is what gives "sustained density"
(§22.4) its actual meaning: anything shorter-lived than one capacity-tick interval cannot
trigger a transfer, without needing a magnitude threshold layered on top.
**Whether to act, once she looks, is a pure comparison — no tuned threshold.** At each
capacity-tick, Hera finds the single densest and single least-dense live VM. If they
differ at all, a transfer is eligible. This is the same shape as §19.3's admission rule
("denser than the least dense resident") — a comparison of two intrinsic numbers, not a
policy, so nothing needs inventing here.
Both halves satisfy the tick-expressibility constraint item 1.3 states: the cadence is a
tick multiple, and the decision itself reads only heat and mass, never wall time.
**What this does not resolve:** how much capacity moves per eligible transfer. §22.3 only
says the mechanism is "arithmetic on two integers"; neither this section nor item 1.3
pins down the amount. Reported rather than invented — it can become its own item if
warranted, but is out of this item's scope.
3. **The exact timescale ratio** in §22.4.
4. **Does the outer Stadium's own capacity ever change?** §22 makes per-VM quotas elastic
within a fixed total. Whether that total is itself fixed for the machine's lifetime is
@@ -2280,7 +2299,7 @@ document and committing that amendment as its own item.*
> leaves open for a VM with nothing pinned (zero quota means it can never receive the
> message that would let it regrow). Full argument in §22.5 #1.
- [ ] **1.3 — What triggers a capacity transfer.** Hera arbitrates; on what signal, and how
- [x] **1.3 — What triggers a capacity transfer.** Hera arbitrates; on what signal, and how
often. Should read the density gradient, not a schedule.
**Constraint, not optional:** arbitration mutates patron mass, so §18.5's invariant binds
it directly — *anything that influences patron state advances on tick count; wall-clock
@@ -2289,6 +2308,15 @@ document and committing that amendment as its own item.*
exists to remove, in a new place. Whatever 1.3 decides must be expressible in ticks.
*Refs:* §22.5 #2, **§18.5**, §22.4.
> **RESOLVED 2026-08-04.** Hera evaluates once per capacity-tick (a coarser, derived
> multiple of the virtual tick — the multiple itself is item 1.4). At each capacity-tick
> she finds the single densest and single least-dense live VM; if they differ at all, a
> transfer is eligible — a pure comparison, no tuned threshold, same shape as §19.3's
> admission rule. Cadence carries the "sustained density" requirement; the decision itself
> is a comparison. Both are tick-expressible, never wall-clock. **Not resolved:** how much
> capacity moves per transfer — reported, not invented, out of this item's scope. Full
> argument in §22.5 #2.
- [ ] **1.4 — The heat/capacity timescale ratio.** The ordering is fixed (capacity slower);
the ratio is not. *Refs:* §22.4, §22.5 #3.