FABRIC.md/FABRIC-2.md: close vm_physics_retire() Hera-drop item

Punch list §C item complete. Corrects this morning's "structurally
excluded" framing -- the Hera-is-root case was reachable via
S" Hera" KILL, fixed in db66406. Broken-parent-chain half remains
genuinely unreachable and is no longer tracked as open.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-13 08:39:53 -04:00
co-authored by Claude Sonnet 5
parent db6640682b
commit 307f0e4ecc
2 changed files with 28 additions and 9 deletions
+5 -3
View File
@@ -1620,9 +1620,11 @@ There is no renormalisation anywhere. `vm_physics_conserved()` tests a genuine i
1. **A documented leak** (`:240-244`). If a dying VM is itself the root, or its parent chain
is broken, there is nowhere conservation-preserving to send the remainder and it is
dropped. Both cases are guarded and described as "shouldn't happen," but the path exists.
**Still open** — tracked as its own item in `FABRIC-2.md` §C as of the 2026-08-13
investigation below.
dropped. **The "guarded, shouldn't happen" description was only half right** — the
Hera-is-root case was reachable via `S" Hera" KILL` (`mama_word_kill()` called
`vm_physics_retire()` before `capsule_vm_kill()`'s own Hera guard ran), fixed 2026-08-13
(`FABRIC-2.md` §C). The broken-parent-chain case remains genuinely unreachable
(`parent_vm_id` is set once at birth, never rewritten) and is not tracked further.
2. ~~**Truncation** (`:304-305`). The proportional fan-out computes
`(moved_total * heat) / others_total` per VM in integer arithmetic. The shares sum to
*less than* `moved_total`. **Every multi-VM touch loses a little heat**, so the sum drifts