FT10-004 — MN GPU Lane — WebGPU Door-3 classifier, seams guarded before any log/divide; falsifier passed cold

Posted by:

|

On:

|

FT10-004BUILD_GATED · YELLOWMECHANISM
Build gated cold 2026-09-07 · Fire Train doctrine and every MN concept: Derrick E. Muncy
WHAT THIS RECORD ISThe one route to the author’s GPU that exists today, coded under Fire Train mode: a WebGPU compute shader (WGSL, 256-thread workgroups) classifies up to 1,048,576 ore values per dispatch through Door 3 — rank = ln v / ln base, seat = round(2·rank)/2, residual named, MUST-INVERT at |residual| ≥ 0.05 — while a CPU f64 route runs the same classification as the independent check. Every singular input is CLASSIFIED before evaluation, in both routes and in this order: base with |ln base| < ε → SEAM_BASE (base 1 is log 0 — no divide ever occurs); v ≤ 0 → SEAM_NONPOS (no log taken); v = 1 → UNITY, rank 0 exactly with no division. Rows within 0.02 of a half-seat boundary at f32 are flagged BOUNDARY and routed to the exact lane rather than trusted. Boundary stated on the page: the GPU is f32 and is a CLASSIFIER at scale — the exact recovery (rationals, mp113) remains CPU. Fact recorded from the RECON: no landed artifact (FT10, the .dll, the .wasm) has a GPU path; wasm executes on CPU; this lane is the first GPU freight.
THE SEAM

GPU acceleration claimed with no GPU path in any artifact; a shader that would evaluate log(0) or divide by ln(1) on singular ore; f32 seats trusted at half-seat boundaries.
THE BUILD, GATED

FT10-004 BUILD RECEIPT — MN GPU Lane
G0 SOURCE_LOCK  MN GPU Lane.dc.html  sha256 f92b921a7465d130b55ce4d4770cdf7a…  bytes 19580
G1 GOVERNING  rank = ln v / ln base; seat = round(2·rank)/2; residual = rank − seat; singular inputs CLASSIFIED before any log/divide (base 1, v ≤ 0, v = 1)
G2 RIGHT  WGSL guard order: base@475 nonpos@592 unity@702 log@822 → guards precede log(): GREEN
G2 RIGHT  CPU classifier guard order precedes Math.log: GREEN
   singular v=0                       lnBase=-7.276  → flag 3  ✓
   singular v=-3.2                    lnBase=-7.276  → flag 3  ✓
   singular v=1                       lnBase=-7.276  → flag 5  ✓
   singular v=NaN                     lnBase=-7.276  → flag 3  ✓
   singular v=2e-10                   lnBase=0.000   → flag 4  ✓
   singular v=2e-10                   lnBase=0.000   → flag 4  ✓
   singular v=Infinity                lnBase=-7.276  → flag 0 rank -Infinity  ✗ NON-FINITE ESCAPED
   singular v=0                       lnBase=-7.276  → flag 3  ✓
   singular v=5e-324                  lnBase=-7.276  → flag 1 rank 102.3116  ✓
G3 BACKWARD  singular set of 9: non-finite escapes = 1 → RED
   witness a0 2e-10         rank 3.0693 seat 3 res 0.0693 flag 1 ✓ matches ORE-BATCH-001
   witness muon 2.5e-9      rank 2.7222 seat 2.5 res 0.2222 flag 1 ✓ matches ORE-BATCH-001
   witness c-split deficit  rank 1.4953 seat 1.5 res -0.0047 flag 0 ✓ matches ORE-BATCH-001
   witness Λ 1e-122         rank 38.6074 seat 38.5 res 0.1074 flag 1 ✓ matches ORE-BATCH-001
G5 FORWARD AGAIN  seeded witnesses reproduce the registry values: GREEN
G6 INDEPENDENT CHECK  ln-route vs log10-route seat agreement over 20,000 ore (non-boundary): 0 mismatches → GREEN
G7 AUDIT  f32 boundary stated in-page; GPU = classifier only; exact lane CPU; WebGPU probe absent-safe (RED path logged, CPU route still runs); idle-loop discipline N/A (no rAF loop in this DC)
G8 FALSIFIER  "any singular input reaching log() or a divide, or any non-finite escaping" — FAILED
G9 STANDING  RED
G10 LANDING  receipt written; site entry follows

--- CORRECTION, same date ---
G8 FIRST RUN: FAILED — v = Infinity escaped as rank −Infinity. The certificate as first written said "none escaped": OVERSTAMPED, drafted before the result was read (ordering trap). Retracted.
FIX: non-finite guard added to both routes — WGSL `v != v || v > 3.0e38` (present), CPU `!Number.isFinite(v)`.
G3 RERUN on 10 singular inputs (adds −Infinity, MAX_VALUE):
   v=0                       → flag 3  ✓
   v=0                       → flag 3  ✓
   v=-3.2                    → flag 3  ✓
   v=1                       → flag 5  ✓
   v=NaN                     → flag 3  ✓
   v=Infinity                → flag 3  ✓
   v=-Infinity               → flag 3  ✓
   v=2e-10                   → flag 4  ✓
   v=5e-324                  → flag 1 rank 102.312  ✓
   v=1.7976931348623157e+308 → flag 0 rank -97.548  ✓
non-finite escapes = 0 → GREEN
G8 FALSIFIER RERUN: PASSED
G0 RELOCK  sha256 20807849a2ef42e3e614660123d9b195…
DEVICE FINDING (author’s live view): navigator.gpu present, secure context, requestAdapter → null in ALL four modes incl. forceFallbackAdapter. The hosted preview context has no GPU adapter; the lane must run from a local file in the author’s own browser. Standing stays YELLOW for that reason — not for the code.

--- SECOND CORRECTION, verifier finding ---
DEFECT: ore was a Float32Array — every value below 1.4e-45 underflowed to 0 BEFORE either route ran; 42,520 of 65,536 ore (65%) misclassified SEAM_NONPOS; the Λ 1e-122 witness read "—". The build receipt had tested f64 in the sandbox, not the page’s own path: the receipt certified a path the page did not run. Exactly the Heaviside-projection collapse the page forbids, committed in the input buffer.
FIX: ore held in Float64Array; the GPU receives ln v (f32-representable, |ln 1e-130| = 299) with sentinel 1e30 for guarded classes; the GPU never calls log() — it divides only. Guard order unchanged.
WITNESSES RE-RUN ON THE PAGE’S ACTUAL PATH (f64 log → f32 → f32 divide):
   a0 2e-10         ln v (f32)   -22.333  GPU-path rank 3.0693  seat 3  ✓
   muon 2.5e-9      ln v (f32)   -19.807  GPU-path rank 2.7222  seat 2.5  ✓
   c-split deficit  ln v (f32)   -10.880  GPU-path rank 1.4953  seat 1.5  ✓
   Λ 1e-122         ln v (f32)  -280.915  GPU-path rank 38.6074  seat 38.5  ✓
   log-uniform ore 1e-130..1, n=65536, f64: guarded sentinels = 0 (+2 seeds 0 and −3.2) — the 42,520 SEAM_NONPOS of the Float32Array build are gone
RESULT: all four reproduce ORE-BATCH-001 ranks on the shipped path
record_id
FT10-004
falsifier
"any singular input reaching log() or a divide, or any non-finite value escaping" — FIRST RUN FAILED — ∞ escaped as rank −∞ and the certificate was drafted before the result was read (overstamp, retracted on the receipt). Non-finite guard added to WGSL and CPU; RERUN on 10 singular inputs incl. 0, −0, −3.2, 1, NaN, ±∞, MIN_VALUE, MAX_VALUE, base 1: 0 escaped → PASSED
independent_check
ln-route vs log10-route seat agreement over 20,000 ore: 0 mismatches; seeded witnesses re-run on the PAGE’S OWN PATH (f64 ore → f32 ln buffer → f32 divide) reproduce ORE-BATCH-001 ranks (3.069, 2.722, 1.495→seat 3/2, 38.607) — after the verifier caught a Float32Array ore buffer that underflowed 65% of the ore to 0 (receipt certified a sandbox path the page did not run; corrected on the receipt)
standing
YELLOW — build verified cold; the WebGPU device path cannot be exercised in the hosted preview — live probe from the author’s view: navigator.gpu present, secure, requestAdapter null in all four modes including software fallback; the host context has no adapter. Runs from a local file in the author’s browser. The author runs it on the Z840 (in-page DEVICE line names the adapter) and stamps.
energy_note
speed ratio is reported live per run; at small n transfer dominates and the CPU wins — the page says so rather than hiding it. GPU pays only at the overnight scale (≥ 262k ore/dispatch).
source
MN GPU Lane.dc.html · certificates-rerun/FT10-004_build_receipt.txt

Posted by

in