From b929a59f3dacf6692771fe0171b26f4b7024db35 Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Thu, 13 Aug 2026 08:26:45 -0400 Subject: [PATCH] =?UTF-8?q?FABRIC.md=20=C2=A720.2:=20correct=20the=20trunc?= =?UTF-8?q?ation-leak=20claim=20in=20place?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The touch()-fan-out truncation was wrongly blamed for monotonic conservation drift. Corrected in place per this document's own rule for bookkeeping errors (§25 discipline, same treatment as the four fixes made during the 2026-08-12 closure audit) rather than left standing. Full investigation and worked example live in FABRIC-2.md §B/§C. Co-Authored-By: Claude Sonnet 5 --- FABRIC.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/FABRIC.md b/FABRIC.md index 6255426..08ca512 100644 --- a/FABRIC.md +++ b/FABRIC.md @@ -1621,11 +1621,18 @@ 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. -2. **Truncation** (`:304-305`). The proportional fan-out computes + **Still open** — tracked as its own item in `FABRIC-2.md` §C as of the 2026-08-13 + investigation below. +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 downward monotonically. `VM_PHYSICS_EPSILON_Q48` is 3277 — 5% of `Q48_ONE` — so given - enough touches this would eventually trip. + enough touches this would eventually trip.~~ **WRONG, corrected 2026-08-13** (`FABRIC-2.md` + §B "Fleet heat leak," investigated when item 4.2 made this measurable) — the truncated + `share` is what actually moves on *both* sides of `vm_physics_transfer()`, so the fleet + sum cannot drift from this path; only path 1 above can. Left standing here per this + document's own rule (§25 commit discipline: findings are corrected in place, not + rewritten away) rather than deleted. #### What this means for the bound, and for the campaign @@ -1634,13 +1641,19 @@ two are unrelated, and §2 has been corrected accordingly. The bound is still ne finite state (§13) and because density requires a capacity to be dense within (§19.2). It also changes the reading of the Artemis campaign's K-invariance arm. That arm was not -measuring an identity. It was measuring a quantity that genuinely could drift, and which did -not drift far enough to trip a 5% epsilon over the run. That is a real result about the -system, not an artefact of the check. +measuring an identity in the trivial "cannot fail" sense the pre-correction text of this +section claimed. It was measuring a quantity that *could* genuinely drift via path 1 above +(the dying-VM-is-root/broken-chain case), and which did not drift, consistent with that path +being guarded off during the campaign. **Not**, as this section originally went on to claim, +because truncation (path 2) was silently eating into the margin — path 2 is now shown +(2026-08-13 correction above) to be incapable of moving the sum at all. -**Reported, not scheduled:** the truncation leak at `:304-305` is a live defect in a +~~**Reported, not scheduled:** the truncation leak at `:304-305` is a live defect in a conservation law the project makes claims about. It is small per touch and may be entirely -tolerable, but it is monotonic, and nobody has measured how far it drifts over a long run. +tolerable, but it is monotonic, and nobody has measured how far it drifts over a long run.~~ +**WRONG, corrected 2026-08-13** — see the strikethrough correction on path 2 above. Path 1 +(the dying-VM-is-root/broken-chain drop) is the only live defect; it is tracked in +`FABRIC-2.md` §C, not here, per this document's closure. ### 20.3 Nesting — §12 Q6 is less open than it looks