adv-cache-3: the exhaustive image census landed at all 64 depths (random function to six places, the permutation plant fires); sibling file 43 claimed

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 20:36:05 +00:00
parent 73a53783f0
commit c0b4fc3445
4 changed files with 112 additions and 13 deletions

View file

@ -0,0 +1,12 @@
lease: holding 32 pool cores (10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, waited 1 s, class adv): adv-cache-3 image-w2-plant-noff
[2026-10-07T20:27:02Z] adv-cache-3 image (internal adversarial pass, not an independent review)
[2026-10-07T20:27:02Z] self-test: restated B equals chacha_block on 4,096 inputs; core_inv inverts core at w = 2, 4, 8, 16, 32; the restated chain equals Cache::fill_segment on segments 0, 21859, 65535 of day 20730
[2026-10-07T20:27:02Z] image: w 2 double rounds 6 depth 6 plant no-feedforward threads 32; rotations [1, 1, 1, 1]; all 2^32 states enumerated per step
[2026-10-07T20:28:20Z] depth 1: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.632121; 2/k: 2.000000; a permutation: 1.000000); 78 s
[2026-10-07T20:29:37Z] depth 2: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.468536; 2/k: 1.000000; a permutation: 1.000000); 155 s
[2026-10-07T20:30:53Z] depth 3: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.374082; 2/k: 0.666667; a permutation: 1.000000); 231 s
[2026-10-07T20:32:05Z] depth 4: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.312080; 2/k: 0.500000; a permutation: 1.000000); 303 s
[2026-10-07T20:33:10Z] depth 5: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.268077; 2/k: 0.400000; a permutation: 1.000000); 368 s
[2026-10-07T20:34:32Z] depth 6: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.235151; 2/k: 0.333333; a permutation: 1.000000); 450 s
Terminated
lease: released 32 pool cores after 451 s, exit 0

View file

@ -0,0 +1,71 @@
lease: 0 of 16 pool cores free (88 leased); waiting
lease: holding 32 pool cores (10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, waited 173 s, class adv): adv-cache-3 image-w2-r6-d64-full
[2026-10-07T20:16:28Z] adv-cache-3 image (internal adversarial pass, not an independent review)
[2026-10-07T20:16:28Z] self-test: restated B equals chacha_block on 4,096 inputs; core_inv inverts core at w = 2, 4, 8, 16, 32; the restated chain equals Cache::fill_segment on segments 0, 21859, 65535 of day 20730
[2026-10-07T20:16:28Z] image: w 2 double rounds 6 depth 64 plant none threads 32; rotations [1, 1, 1, 1]; all 2^32 states enumerated per step
[2026-10-07T20:17:55Z] depth 1: image size 2715029335 = 0.632142 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.632121; 2/k: 2.000000; a permutation: 1.000000); 87 s
[2026-10-07T20:18:41Z] depth 2: image size 2012444452 = 0.468559 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.468536; 2/k: 1.000000; a permutation: 1.000000); 133 s
[2026-10-07T20:19:15Z] depth 3: image size 1606748932 = 0.374100 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.374082; 2/k: 0.666667; a permutation: 1.000000); 167 s
[2026-10-07T20:19:49Z] depth 4: image size 1340451469 = 0.312098 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.312080; 2/k: 0.500000; a permutation: 1.000000); 201 s
[2026-10-07T20:20:17Z] depth 5: image size 1151447703 = 0.268092 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.268077; 2/k: 0.400000; a permutation: 1.000000); 229 s
[2026-10-07T20:20:39Z] depth 6: image size 1010025987 = 0.235165 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.235151; 2/k: 0.333333; a permutation: 1.000000); 251 s
[2026-10-07T20:20:59Z] depth 7: image size 900056868 = 0.209561 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.209548; 2/k: 0.285714; a permutation: 1.000000); 271 s
[2026-10-07T20:21:16Z] depth 8: image size 812009253 = 0.189061 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.189050; 2/k: 0.250000; a permutation: 1.000000); 288 s
[2026-10-07T20:21:33Z] depth 9: image size 739877239 = 0.172266 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.172255; 2/k: 0.222222; a permutation: 1.000000); 304 s
[2026-10-07T20:21:49Z] depth 10: image size 679651606 = 0.158244 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.158235; 2/k: 0.200000; a permutation: 1.000000); 320 s
[2026-10-07T20:22:04Z] depth 11: image size 628605897 = 0.146359 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.146351; 2/k: 0.181818; a permutation: 1.000000); 336 s
[2026-10-07T20:22:17Z] depth 12: image size 584777272 = 0.136154 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.136146; 2/k: 0.166667; a permutation: 1.000000); 349 s
[2026-10-07T20:22:28Z] depth 13: image size 546724260 = 0.127294 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.127284; 2/k: 0.153846; a permutation: 1.000000); 360 s
[2026-10-07T20:22:41Z] depth 14: image size 513354089 = 0.119525 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.119517; 2/k: 0.142857; a permutation: 1.000000); 372 s
[2026-10-07T20:22:52Z] depth 15: image size 483867161 = 0.112659 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.112651; 2/k: 0.133333; a permutation: 1.000000); 383 s
[2026-10-07T20:23:03Z] depth 16: image size 457612723 = 0.106546 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.106537; 2/k: 0.125000; a permutation: 1.000000); 395 s
[2026-10-07T20:23:13Z] depth 17: image size 434084362 = 0.101068 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.101059; 2/k: 0.117647; a permutation: 1.000000); 405 s
[2026-10-07T20:23:22Z] depth 18: image size 412860819 = 0.096127 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.096120; 2/k: 0.111111; a permutation: 1.000000); 414 s
[2026-10-07T20:23:33Z] depth 19: image size 393640994 = 0.091652 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.091645; 2/k: 0.105263; a permutation: 1.000000); 425 s
[2026-10-07T20:23:42Z] depth 20: image size 376139020 = 0.087577 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.087571; 2/k: 0.100000; a permutation: 1.000000); 434 s
[2026-10-07T20:23:51Z] depth 21: image size 360145138 = 0.083853 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.083846; 2/k: 0.095238; a permutation: 1.000000); 443 s
[2026-10-07T20:23:59Z] depth 22: image size 345452853 = 0.080432 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.080427; 2/k: 0.090909; a permutation: 1.000000); 451 s
[2026-10-07T20:24:07Z] depth 23: image size 331928058 = 0.077283 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.077278; 2/k: 0.086957; a permutation: 1.000000); 459 s
[2026-10-07T20:24:14Z] depth 24: image size 319423465 = 0.074372 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.074368; 2/k: 0.083333; a permutation: 1.000000); 466 s
[2026-10-07T20:24:21Z] depth 25: image size 307837370 = 0.071674 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.071670; 2/k: 0.080000; a permutation: 1.000000); 473 s
[2026-10-07T20:24:28Z] depth 26: image size 297059541 = 0.069165 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.069162; 2/k: 0.076923; a permutation: 1.000000); 479 s
[2026-10-07T20:24:34Z] depth 27: image size 287021221 = 0.066827 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.066824; 2/k: 0.074074; a permutation: 1.000000); 486 s
[2026-10-07T20:24:40Z] depth 28: image size 277639719 = 0.064643 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.064640; 2/k: 0.071429; a permutation: 1.000000); 492 s
[2026-10-07T20:24:46Z] depth 29: image size 268856948 = 0.062598 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.062595; 2/k: 0.068966; a permutation: 1.000000); 498 s
[2026-10-07T20:24:52Z] depth 30: image size 260608732 = 0.060678 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.060677; 2/k: 0.066667; a permutation: 1.000000); 503 s
[2026-10-07T20:24:57Z] depth 31: image size 252860685 = 0.058874 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.058872; 2/k: 0.064516; a permutation: 1.000000); 509 s
[2026-10-07T20:25:01Z] depth 32: image size 245561711 = 0.057174 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.057173; 2/k: 0.062500; a permutation: 1.000000); 513 s
[2026-10-07T20:25:05Z] depth 33: image size 238674533 = 0.055571 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.055569; 2/k: 0.060606; a permutation: 1.000000); 517 s
[2026-10-07T20:25:09Z] depth 34: image size 232159656 = 0.054054 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.054053; 2/k: 0.058824; a permutation: 1.000000); 521 s
[2026-10-07T20:25:13Z] depth 35: image size 225998978 = 0.052619 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.052619; 2/k: 0.057143; a permutation: 1.000000); 525 s
[2026-10-07T20:25:17Z] depth 36: image size 220155903 = 0.051259 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.051258; 2/k: 0.055556; a permutation: 1.000000); 529 s
[2026-10-07T20:25:22Z] depth 37: image size 214608267 = 0.049967 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.049967; 2/k: 0.054054; a permutation: 1.000000); 534 s
[2026-10-07T20:25:27Z] depth 38: image size 209333660 = 0.048739 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.048739; 2/k: 0.052632; a permutation: 1.000000); 538 s
[2026-10-07T20:25:31Z] depth 39: image size 204315520 = 0.047571 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.047570; 2/k: 0.051282; a permutation: 1.000000); 543 s
[2026-10-07T20:25:36Z] depth 40: image size 199532563 = 0.046457 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.046456; 2/k: 0.050000; a permutation: 1.000000); 548 s
[2026-10-07T20:25:40Z] depth 41: image size 194967404 = 0.045394 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.045394; 2/k: 0.048780; a permutation: 1.000000); 552 s
[2026-10-07T20:25:44Z] depth 42: image size 190606921 = 0.044379 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.044379; 2/k: 0.047619; a permutation: 1.000000); 556 s
[2026-10-07T20:25:49Z] depth 43: image size 186440468 = 0.043409 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.043409; 2/k: 0.046512; a permutation: 1.000000); 560 s
[2026-10-07T20:25:52Z] depth 44: image size 182452390 = 0.042481 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.042480; 2/k: 0.045455; a permutation: 1.000000); 564 s
[2026-10-07T20:25:56Z] depth 45: image size 178630354 = 0.041591 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.041590; 2/k: 0.044444; a permutation: 1.000000); 568 s
[2026-10-07T20:25:59Z] depth 46: image size 174963974 = 0.040737 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.040737; 2/k: 0.043478; a permutation: 1.000000); 571 s
[2026-10-07T20:26:03Z] depth 47: image size 171449833 = 0.039919 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.039919; 2/k: 0.042553; a permutation: 1.000000); 575 s
[2026-10-07T20:26:07Z] depth 48: image size 168074588 = 0.039133 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.039132; 2/k: 0.041667; a permutation: 1.000000); 579 s
[2026-10-07T20:26:11Z] depth 49: image size 164826920 = 0.038377 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.038377; 2/k: 0.040816; a permutation: 1.000000); 582 s
[2026-10-07T20:26:14Z] depth 50: image size 161701909 = 0.037649 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.037650; 2/k: 0.040000; a permutation: 1.000000); 586 s
[2026-10-07T20:26:18Z] depth 51: image size 158696483 = 0.036949 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.036950; 2/k: 0.039216; a permutation: 1.000000); 589 s
[2026-10-07T20:26:21Z] depth 52: image size 155801922 = 0.036275 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.036275; 2/k: 0.038462; a permutation: 1.000000); 593 s
[2026-10-07T20:26:24Z] depth 53: image size 153009220 = 0.035625 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.035625; 2/k: 0.037736; a permutation: 1.000000); 596 s
[2026-10-07T20:26:28Z] depth 54: image size 150314071 = 0.034998 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.034998; 2/k: 0.037037; a permutation: 1.000000); 599 s
[2026-10-07T20:26:31Z] depth 55: image size 147714567 = 0.034392 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.034393; 2/k: 0.036364; a permutation: 1.000000); 603 s
[2026-10-07T20:26:35Z] depth 56: image size 145205271 = 0.033808 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.033808; 2/k: 0.035714; a permutation: 1.000000); 606 s
[2026-10-07T20:26:38Z] depth 57: image size 142777802 = 0.033243 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.033243; 2/k: 0.035088; a permutation: 1.000000); 610 s
[2026-10-07T20:26:42Z] depth 58: image size 140429121 = 0.032696 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.032697; 2/k: 0.034483; a permutation: 1.000000); 614 s
[2026-10-07T20:26:45Z] depth 59: image size 138158047 = 0.032167 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.032168; 2/k: 0.033898; a permutation: 1.000000); 616 s
[2026-10-07T20:26:48Z] depth 60: image size 135961613 = 0.031656 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.031656; 2/k: 0.033333; a permutation: 1.000000); 620 s
[2026-10-07T20:26:51Z] depth 61: image size 133832450 = 0.031160 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.031160; 2/k: 0.032787; a permutation: 1.000000); 623 s
[2026-10-07T20:26:55Z] depth 62: image size 131767169 = 0.030679 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.030680; 2/k: 0.032258; a permutation: 1.000000); 626 s
[2026-10-07T20:26:58Z] depth 63: image size 129765689 = 0.030213 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.030214; 2/k: 0.031746; a permutation: 1.000000); 630 s
[2026-10-07T20:27:01Z] depth 64: image size 127826507 = 0.029762 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.029762; 2/k: 0.031250; a permutation: 1.000000); 633 s
Terminated
lease: released 32 pool cores after 806 s, exit 0

View file

@ -1,2 +1,11 @@
2026-10-07T19:22:50Z start image-w2-r6-d64
2026-10-07T19:24:38Z RELEASED image-w2-r6-d64 lease by order (partial kept to depth 8), re-queue at 48 cores later
2026-10-07T19:35:51Z start image-w2-r6-d64-full
2026-10-07T19:41:22Z HOLD file 97: no adv-cache-3 lease on box 2 until main clears it (class v5 census first)
2026-10-07T19:41:55Z KILLED image-w2-r6-d64-full (file 97 had passed its yield at 19:35:51Z when the v5 waiter line was briefly absent; held 48 cores 19:41:15Z to 19:41:xxZ while class-v5 waited; partial kept)
2026-10-07T20:13:35Z RESTART file 97 at 32 threads: box 2 opened to adv-* by main at 20:12Z
2026-10-07T20:13:35Z start image-w2-r6-d64-full
2026-10-07T20:27:01Z end image-w2-r6-d64-full rc=0
2026-10-07T20:27:01Z start image-w2-plant-noff
2026-10-07T20:34:32Z end image-w2-plant-noff rc=0
2026-10-07T20:35:27Z start sibling-43 warps-devnet-2e26-v2 (owner adv-cache-2) at 32 threads

View file

@ -14,14 +14,14 @@ Internal adversarial pass, not an independent review. Lane `adv-cache-3`, the ch
| Boxes and scheduling | build box 1 for the skip, relations, pebble and cross runs, build box 2 for the exhaustive image census; every run through `/srv/builds/_bin/lease pool` (main's rule of 20:1x, no sweep by hand), nice 10 on cores 8 to 95; the boxes read load 400 to 600 on 96 threads all evening, so wall times are not timings |
| Logs | `/srv/builds/_adv-cache-3/logs/<tag>.log` on each box (outside the worktree mirror); copies under `docs/analysis/cryptanalysis/logs/adv-cache-3/` on this branch, `ledger.txt` the start and end of every run |
| THE QUEUE | files 90, 91, 92 (the coordinator's definitions) claimed at 19:49 with owner files; implemented and run as files 93 (skip batch, 14 runs), 94 (relations, 4 runs), 96 (the 1,024-line chain, 4 runs) on build box 1 and 95 (the image census) on build box 2; 97 (the image census again at 48 cores) queued behind the class v5 waiters |
| Box-hours | 0.04 slot-hours in all (section 9); no pod-hours (no GPU row in this lane) |
| Box-hours | 0.23 slot-hours in all (section 9); no pod-hours (no GPU row in this lane) |
## Status board
| # | Question | Method | Known-failed shape (fired?) | Gate | Result | Status |
|---|---|---|---|---|---|---|
| Q1 (brief a, file 90) | Line `(s, j)` in fewer than `j + 1` blocks without an earlier line of its segment | `skip`: 7 earlier-line-free templates at 1 or 2 blocks against every line; the GF(2) rank of the `(x_j, line_j, 1)` sample matrix; the 512 x 512 bit-dependence table and the 16 x 16 word table; the inversion attempt; the reduced-round ladder | `no-xor` fired (64,512 of 65,536 lines at 1 block; dependence table all zero); `no-feedforward` fired (64,512 lines recovered up the chain; 64,512 of 64,512 inversions); `--rounds 0` fired (rank 17 of 1,025) | 0 lines under `j + 1`; rank 1,025; no zero cell; 0 inversions | 64-line chain, 1,024 segments, days 20730 and 20733: 0 of 131,072 lines by any template (16.9 M compares); 1,024-line chain, 64 segments, both days: 0 of 131,072 (268.6 M compares); rank 1,025 of 1,025 at `j` = 1, 2, 32, 63 and 1,023; flip table worst z +4.47 / -4.88 of 262,144 cells, 0 zero cells; every output word changes with every input word; 0 of 130,000 inversions | BOUND, PASS |
| Q1 (4) | Exhaustive image census at w = 2: every one of 2^32 states per step | `image` | `no-feedforward` (the image must stay 2^32): queued | the chain loses entropy no faster than a random function | depths 1 to 8 (the run was released at depth 8 by main's order for the class v5 gate): image 0.632142, 0.468559, 0.374100, 0.312098, 0.268092, 0.235165, 0.209561, 0.189061 of 2^32 against the random-function recursion 0.632121, 0.468536, 0.374082, 0.312080, 0.268077, 0.235151, 0.209548, 0.189050 (within 2 x 10^-5 at every depth) | RUNNING (depths 9 to 64 and the plant queued as file 97) |
| Q1 (4) | Exhaustive image census at w = 2: every one of 2^32 states per step, depth 64 | `image` | `no-feedforward` fired (a permutation: the image stays 2^32 at every one of 6 depths) | the chain loses entropy no faster than a random function | all 64 depths: image 0.632142, 0.468559, 0.312098, 0.189061, 0.106546, 0.057174, 0.029762 of 2^32 at depths 1, 2, 4, 8, 16, 32, 64 against the random-function recursion 0.632121, 0.468536, 0.312080, 0.189050, 0.106537, 0.057173, 0.029762: within 2.3 x 10^-5 at every depth, exactly equal at depth 64 to six places | BOUND, PASS |
| Q2 (brief b, c, file 91) | Relations through `line_j = C(x_j) + x_j`; partial knowledge | `relations`: per-bit bias of 4 relations and the 512 x 512 linear-correlation table over 4 day keys x 2^20 lines; `skip`'s word table and inversion for the partial-knowledge half | `--rounds 1` and `--rounds 2` did NOT fire on the bias and correlation statistics (worst 4.47 and 4.65 sigma at 2^16 lines); the relation class's plants that do fire are in `skip`: `--rounds 1` leaves 21 exact affine relations (rank 1,004) and 6,985 zero cells in the flip table, `no-feedforward` inverts every line | every bias and cell within 6 sigma at 2^22 samples; 0 words from a proper subset; 0 inversions | 4,128,768 lines: worst bias 3.58 sigma of 2,048 bits; worst correlation cell 4.83 sigma of 262,144 (0 cells over 5, 0.15 expected); 0 of 16 output words from a proper subset of input words; 0 inversions | BOUND, PASS; the plant caveat in section 2 |
| Q3 (brief d, file 92) | The pebbling curve of the 64-line chain under storage `f`; the amortising adversary | `pebble`: exact DP optimum over placements (checked against exhaustive search at 10, 12, 14, 16 lines, 12 of 12 agree), the two stride placements, ops per item and SRAM; Monte Carlo of `m` requests per segment, fixed and Poisson | `--skip-edge 8` fired (optimum 5.19 blocks at `f = 1/64` against 16.0) | monotone; never under the honest hold-every-k-th curve; 9,360 at `f = 1` | Monotone, 9,360 at `f = 1`. The DP optimum sits UNDER the hold-every-k-th curve at small `f`: 16.0 against 31.5 blocks per read at `f = 1/64`, 10.5 against 15.5 at 2/64, 6.09 against 7.5 at 4/64, 3.17 against 3.5 at 8/64, 1.45 against 1.5 at 16/64, equal from 32/64. Not an attack: a correction of the honest baseline (section 3) | FINDING (bookkeeping, not a break): the honest curve of the gate is mis-specified at small `f`; the chip's partial-cache price at `f = 1/64` is 9.3x the item's ops, not 17.4x |
| Q4 (brief e) | Cross-segment and cross-day relations; the known-constant words | `cross`: 512 x 512 correlation tables at `j` = 0, 1, 63 across one-bit segment pairs and across days 20730 and 20731 | `--plant no-xor --rounds 1` fired (3,385 to 3,585 cells over 6 sigma per table, worst 64) | every cell within 6 sigma | 4,096 pairs per table: worst 4.50, 4.75, 5.00 (segments at `j` = 0, 1, 63), 4.56 (days); 0 cells over 6 sigma of 1,048,576 | BOUND, PASS |
@ -123,20 +123,26 @@ The plant (prev not XORed in, one double round) reads 3,385 to 3,585 cells over
## 5. Q1 (4): the exhaustive image census at w = 2
Command (box 2, file 95): `adv-cache-3 image --w 2 --rounds 6 --depth 64 --threads 87` (log `image-w2-r6-d64-partial-to-depth8.log`). The 16-word block at 2-bit words is a 32-bit state; every one of the 2^32 states is enumerated at each step, so the census is exact. `S_0` is every state; `S_k = { B(p XOR c_k) : p in S_{k-1} }` with the real constant layout truncated to 2 bits (`j` wraps mod 4). What it measures: how much of the state space the chain can still reach at depth `k`, against a random function (`tau_k = 1 - exp(-tau_{k-1})`) and a permutation (1 at every depth, the `no-feedforward` plant).
Command (box 2, file 95 to depth 8 at 87 cores, then file 97 in full at 32 cores): `adv-cache-3 image --w 2 --rounds 6 --depth 64 --threads {cores}` (logs `image-w2-r6-d64-partial-to-depth8.log`, `image-w2-r6-d64-full.log`); the plant `--plant no-feedforward --depth 6` (`image-w2-plant-noff.log`). The 16-word block at 2-bit words is a 32-bit state; every one of the 2^32 states is enumerated at each step, so the census is exact. `S_0` is every state; `S_k = { B(p XOR c_k) : p in S_{k-1} }` with the real constant layout truncated to 2 bits (`j` wraps mod 4). What it measures: how much of the state space the chain can still reach at depth `k`, against a random function (`tau_k = 1 - exp(-tau_{k-1})`) and a permutation (1 at every depth, the plant).
| Depth | Image of 2^32 | Random-function recursion | Difference |
|---|---|---|---|
| 1 | 0.632142 | 0.632121 | +2.1 x 10^-5 |
| 2 | 0.468559 | 0.468536 | +2.3 x 10^-5 |
| 4 | 0.312098 | 0.312080 | +1.8 x 10^-5 |
| 8 | 0.189061 | 0.189050 | +1.1 x 10^-5 |
| Depth | Image of 2^32 | Random-function recursion | Difference | Wall at 32 cores |
|---|---|---|---|---|
| 1 | 0.632142 | 0.632121 | +2.1 x 10^-5 | 87 s |
| 2 | 0.468559 | 0.468536 | +2.3 x 10^-5 | 133 s |
| 4 | 0.312098 | 0.312080 | +1.8 x 10^-5 | 201 s |
| 8 | 0.189061 | 0.189050 | +1.1 x 10^-5 | 288 s |
| 16 | 0.106546 | 0.106537 | +0.9 x 10^-5 | 395 s |
| 24 | 0.074372 | 0.074368 | +0.4 x 10^-5 | 466 s |
| 32 | 0.057174 | 0.057173 | +0.1 x 10^-5 | 513 s |
| 48 | 0.039133 | 0.039132 | +0.1 x 10^-5 | 579 s |
| 64 | 0.029762 | 0.029762 | 0 to six places | 633 s |
| plant `no-feedforward`, depths 1 to 6 | 1.000000 at every depth (4,294,967,296 states) | | | 451 s |
Reading so far: `B = C + x` behaves as a random function to five decimal places at every measured depth, so the chain loses `log2(k / 2)` bits of its 512 per `k` steps (about 5 bits at depth 64) and no faster. A skip would show as an image smaller than the recursion (a collapse) or larger (a permutation-like structure); neither. The run was released at depth 8 (20:24) for the class v5 gate and is queued again in full with the plant (file 97, 48 cores, behind every "v5 gate" or "v5 kit" waiter).
The full run was 2.3 x 10^11 reduced block evaluations (the images summed over 64 depths), 10.5 minutes on 32 cores. Reading: `B = C + x` behaves as a random function to five decimal places at every depth of the chain, so the chain loses `log2(k / 2)` bits of its state per `k` steps (about 5 bits of 512 at depth 64, 0.03 of the space at 2-bit words) and no faster. A skip would show as an image smaller than the recursion (a collapse of the state space, which a chip could enumerate) or larger (a permutation-like structure, which inverts); neither. The plant without the feed-forward is a permutation and reads 2^32 at every depth, so the test fires on the shape it is meant to catch. A caveat on the model, the same as section 1's: at 2-bit words the rotations are all 1 and `s`, `j` are truncated, so this measures the chain's shape under a ChaCha-like random-looking block, not 12-round ChaCha's own diffusion.
## 6. Consequences per tier
Every row is a bound or a bookkeeping correction, so nothing changes for any tier today: a home miner with one 8, 12, 16 or 24 GB card on any vendor and OS, a rig and a pool user fill the 256 MiB cache once a day (0.2 s on one core per the spec's table, under a second at the growth steps) and the hash never reads it. For the chip model: the partial-cache price at small `f` is about half of what the hold-every-k-th curve says (section 3), which makes a chip holding 1/64 of the cache pay 9.3x the item's operations instead of 17.4x; still far above the full store, and at `f = 1/2` nothing moves, so the SRAM column (128 mm^2, $46 at N5 for 256 MiB) stays the chip's cost. What is being done: the curve row is handed to the coordinator for `chip-model-v3.md` and sibling `adv-cache`'s table; the image census completes; section 8b names the one statistic that would sharpen the reduced-round margin.
Every row is a bound or a bookkeeping correction, so nothing changes for any tier today: a home miner with one 8, 12, 16 or 24 GB card on any vendor and OS, a rig and a pool user fill the 256 MiB cache once a day (0.2 s on one core per the spec's table, under a second at the growth steps) and the hash never reads it. For the chip model: the partial-cache price at small `f` is about half of what the hold-every-k-th curve says (section 3), which makes a chip holding 1/64 of the cache pay 9.3x the item's operations instead of 17.4x; still far above the full store, and at `f = 1/2` nothing moves, so the SRAM column (128 mm^2, $46 at N5 for 256 MiB) stays the chip's cost. What is being done: the curve row is handed to the coordinator for `chip-model-v3.md` and sibling `adv-cache`'s table; section 8b names the one statistic that would sharpen the reduced-round margin.
## 7. What is not covered
@ -159,6 +165,7 @@ One line: a differential-linear sweep on the reduced ladder (one chosen input di
| File 95, the image census, `lease pool 88` (87 cores taken) | 2 | 20:22:46 | 106 s to depth 8; released at 20:24:38 by main's order for the class v5 gate (partial kept) | 0.026 |
| File 97, the image census again plus the plant, `lease pool 48 --min 16` | 2 | queued 20:26; its yield loop passed at 20:35 when the class-v5 waiter line was absent for a moment, the lease took 48 cores at 20:41:15 and the binary ran about 30 s while class-v5 waited; killed by pid 20:41:5x (my error against main's order of 20:3x: no adv-* lease on box 2 until the class v5 census runs); not restarted until main clears box 2 | 0.4 min | 0.007 |
| File 98, the flip-table ladder at 2^18 lines (rounds 2, 3, 4, 6), resubmitted 20:43 at `lease pool 32 --min 16` under the ranked lease (class adv), binary `45911ba7...` (the harness with `--dep-samples`, commit d5d53701) | 1 | queued 20:33, cores taken 21:13 after 30 min waiting | 4 runs of 5 s each on 32 cores, done 21:14 | 0.005 |
| File 97, the image census again at `lease pool 32 --min 16`, class adv | 2 | restarted 21:13 when main opened box 2 | | |
| File 97, the image census again at `lease pool 32 --min 16`, class adv | 2 | restarted 21:13 when main opened box 2; cores taken 21:13 | depth 64 in 10.5 min, the plant 7.5 min; done 21:34 | 0.17 (32 of 88 cores for 18 min, counted as 0.36 of a slot) |
| Sibling file 43 (`adv-cache-2 warps-devnet-2e26-v2`, owner adv-cache-2: the 2^26-nonce warps census of the devnet program), claimed by this lane at 21:16 as the next unclaimed queue file, run with the same command at 32 threads, its log in the owner's directory `/srv/builds/_adv-adv-cache-2/warps-devnet-2e26-v2.log` | 2 | queued 21:35 behind the lease | | |
Running total: 0.06 slot-hours of the 8 budgeted (the ask line is 16); no pod-hours. Every sweep the plan called for ran in seconds because the chain is 2^22 blocks a day and the statistics here are 2^22 to 2^27 block evaluations; the width went into day keys, chain lengths and the reduced-round ladder rather than into time.
Running total: 0.23 slot-hours of the 8 budgeted (the ask line is 16); no pod-hours. Every sweep the plan called for ran in seconds because the chain is 2^22 blocks a day and the statistics here are 2^22 to 2^27 block evaluations; the width went into day keys, chain lengths and the reduced-round ladder rather than into time.