diff --git a/docs/fud-ledger.md b/docs/fud-ledger.md index 43c590710..35ee129ac 100644 --- a/docs/fud-ledger.md +++ b/docs/fud-ledger.md @@ -2499,6 +2499,8 @@ F8's 64-seed gate on 017e7037 (the attack-pass lane, box 2, last seed 16:00:20 U The tail read (8 October 2026, 09:40 to 09:46 UK, the hash lane, the M5 Max under the measure lock, one seed at a time; attack-f8 census at 2^24 nonces, window-model control, by-site attribution; tree b38b4af6 with igneum-pow at the frozen 017e7037): the four gate ratios reproduce to four places (p4 1.2169x, p8 1.3774x, p10 1.5036x, p34 1.2501x), the hot-set verdict on the windowed control is clear on all four, and every tail is attributed to one load site reading a narrow window, the site's 256-item bucket concentration carrying the excess with no saturated and no lossy source. p4: site 1 (instr 8, source r2, window 2^22 items, offset 1, last base writer mad at 4) puts 1.448 percent of its reads into the top 0.1 percent of items against 0.107 flat, index entropy 13.74 of 14 bits, largest 256-item bucket 4.5x its window expectation; hottest item 0x4000e7 at 355 reads, predicted source none. p8: site 14 (instr 51, r7, window 2^22, offset 2, writer xor at 44) 1.423 percent, entropy 13.72 of 14, bucket 3.1x, and site 6 (instr 33, r3, window 2^23, offset 1, writer mad at 30) 0.834 percent, entropy 14.71 of 15, bucket 3.5x; hottest 0x837de4 at 420 reads, source none. p10: site 8 (instr 28, r0, window 2^22, offset 1, writer mad at 20) 2.040 percent, entropy 13.71 of 14, bucket 5.6x; hottest 0x4004da at 362 reads, source none. p34: site 1 (instr 13, r3, window 2^23, offset 1, writer sub at 5) 1.352 percent, entropy 14.96 of 15, bucket 3.5x; hottest 0x800010 at 541 reads, predicted source a one-bit value from the sub at 5, saturated source 0.0001 percent. Every other site in all four seeds reads at its flat share. Reading: the residue is a per-site bucket concentration of about a quarter bit (0.26 to 0.29 bits short of uniform on a 2^22 window; 0.04 on p34) at one narrow-window site whose last writer is a mad, an xor or a sub, and the ratio tracks the bucket excess (5.6x gives 1.50x; 3.1x to 4.5x give 1.22x to 1.38x). Sub-version 3's distinct-index ratio (c'') passes these sites at 0.9927 to 0.9963 because distinctness does not see a bucket. The check that would refuse all four is a per-site bound on the largest 256-item bucket, about 2x its window expectation, at the 2^20 units (c'') already draws; it is a generator change, so it is not for the frozen 017e7037, and its cost on clean seeds is unmeasured (a morning item). Chip consequence of the residue: none beyond the window model's (a quarter bit at one site of sixteen is under 1.002x on the item set a chip would hold). The row's tail is attributed; nothing in the stream, the id or the fingerprints changes. +The F8-256 attributions (8 October 2026, 14:0x UK; the attack-pass lane's 256-seed gate on the class v5 freeze 1c420786, section (e) of its record, and the hash lane's by-site reads): the two seeds the gate flagged with a predicted one-one-bit source were read by site. p212 (1.1917x over the window model, the attack-pass lane on the gate's own line, build-4): the excess sits at site 9 (instr 35, r6, window 2^22, offset 0) at 16.4x its flat share, index entropy 13.981 of 14 bits, the largest 256-item bucket 1.75x its window expectation, the hottest items read from that site in all eight iterations near the window's base; the predicted site (instr 7, r5, a load at 2) reads the ordinary narrow-window share. p225 (1.2452x, the hash lane on the 1c420786 crate, build-3): site 4 (instr 23, r7, window 2^23, offset 1, last base writer mad at 21) at 12.6x with full entropy and the bucket at expectation, the predicted site (instr 37, r5, a load at 36) second at 3.7x. Reading: p212 is this row's tail class (a quarter-bit bucket concentration at one narrow-window site) and p225 a value-level concentration on specific items from a mad-written index; in both the predicted-source line names a site that is not the excess, so that prediction is a hint and the by-site histogram is the attribution. Consequence for the next class's acceptance: a per-site bucket bound near 2x refuses this morning's four (3.1x to 5.6x) and neither of these (1.75x; none); the value-level test (adv-cache-2's) is what sees p225, and a bucket bound near 1.5x would take p212 at a clean-seed cost estimated at 3 to 6 percent. Nothing in the stream, the id or the fingerprints changes. + Two in-house pass findings against sub-version 3 (adv-accept-3, 7 October 2026, evening), neither a chain consequence. (1) Documentation: program.json's `program_id_derivation` and spec 01 section 1.4.6 stated the plain form while generator 4 appends `'sub/' || sub_version_le16`, so a client written from the text derives another id (the devnet v4 pack: 8aa9f185d63f269e from the text against a785001687d8688a; Devnet 3's epoch 0: 30956569d8f3d8d7 against fce15bf61030be57). Fixed at 15008aca and 0f45c8be: one byte recipe (`generator::IdRecipe`) builds the id and the text, the emitter prints that text, the spec states the suffix, the class v5 form (generator 5, no suffix) and the rung form, `tests/derivation.rs` re-derives every pinned pack's id from its own text with the pack's fields only (the plain text as the known-failed case), 38 packs' program.json corrected one line each with every other file and every id and fingerprint byte-identical on re-export; the twelve readwidth mix packs of 5 October keep their text (a class name the parser no longer accepts). (2) Correctness, unreachable: the last-resort program after 256 failed attempts (`last_resort_v4`, the xor rewrite) fails the acceptance rule in 223 of 2,500 seeds (209 by part (a)) and is handed to the chain unchecked; at r = 0.67 to 0.68 the path is reached with probability about 4.6e-44 per epoch, so no chain reaches it and sub-version 3 is not reopened for it. Sub-version 3's last resort is therefore UNREACHABLE AND UNVERIFIED against the rule; class v5's generator (the v5 lane) carries the verified construction with the known-failed test on one of the 223 seeds, and its entry states it. From the same pass: the three lowest-ratio steering seeds of 4,975 at a 256-unit sample read 1.0002x worst live, so the 256-unit ratio is noise as a selector and the selector works only at the 2^20-unit read, which is what rule (c'') uses. Owed (recorded, not run, by the founder's word): G2 (the CPU verifier on 1,024 hashes per card) on the amended stream; G3 (the Metal fuzz, edge, stats and determinism runs) on the amended stream; the hash-rate ladder re-measure on the M5 Max and the RTX 5090 (the amendment changes the base program's source draws, not the op mix or the load count, so the latency-bound rows of `docs/analysis/latency-shadow-2026-10-06.md` are expected to hold within their spread; unmeasured); AMD (the RX 9070 XT, PC 1); the 2019-class verifier core (O-1.14); F8's phase E (the 64-seed dynamic census) on the amended stream, which is the attack-pass lane's and the test of the per-op table. The row reads FIXED-AND-PASSED only after phase E passes against the amended class.