From 8f4808b9a489d49c4b0175cf34fc4cec7194501a Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 20:14:11 +0000 Subject: [PATCH] class v5 design page: the Arc job staged but held on the dl host, the kit's registry cell Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 013e720a8..a1a324fea 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,7 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | -| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f. A fault of mine on the PC scripts (18:01 UK, the hash lane's read): pc1-v6-bench.ps1 and arc-v6-bench.ps1 at a9ea072d kept the class v5 script's one-pack leaves check (packs\v5-dn3-epoch0\leaves.bin), which stopped the 7600 job before its device list, and the AMD match was the 9070 XT's gfx1201 instead of the 7600's gfx1102; fixed at class-v6-kits c98a42c2e (18:10 UK, both mirrors, gate GREEN): a loop over each kit pack's own leaves.bin and the gfx1102 match; the hash lane runs its own fixed copy for the 7600 (run-ca3-pc1-v6all-7600-20261008-c), and the shipper has the ask to repoint PC 2's Arc job at c98a42c2e before its slot (default on a miss: the a9ea072d job fails in seconds on the leaves check and the fixed script queues next; past 19:00 UK the Arc read is the morning's and the 23:00 UK line reads five of six). RX 7600 read (PC 1, the hash lane's job run-ca3-pc1-v6all-7600-20261008-c on the c98a42c2e script text, 18:17 to 18:18 UK, the kit's igneum-worker-opencl.exe, device [1] gfx1102, 16 CUs, 8,176 MiB, card quiet): the partner 5a6ad122a71a888f PASS at 15.79 MH/s in 8 s, the all pack 59e6708e46f1e87c PASS at 7.92 MH/s in 14 s, both equal to the references. The all pack now reads equal on SIX platforms (CPU emulation, CUDA 4090, RTX 5090, Metal, Apple OpenCL, RX 7600 OpenCL) and the partner on five; the window halves the 7600's rate as it halves the 5090's (twice the work per hash). Per tier: an AMD OpenCL miner on the window class hashes at half the partner's rate with the same answer as every other platform, so the class v6 pack is a fair floor across vendors; only the Arc read (PC 2) is open: the build-server lane repointed it at the c98a42c2e script as PC 2 job run-20261008-174916 (posted 18:49 UK, the same zip 098e64c3; runs at PC 2's slot after the Windows 2.0.0 canary, lock-free and non-elevated; the RESULT lines come back on the intake and are relayed verbatim); if the a9ea072d job was already in the feed it runs first and stops in seconds on the leaves check, then this one runs. That job ran at 18:56 UK and failed in 1 s, exit 2, "kit missing": the kit's fetch job fetch-class-v6-kit-20261008 in the live jobs file targeted PC 1 (ae432dc7, where the 7600 read from it), not PC 2 (1ccfe586), so PC 2 never had the zip; my answer at 18:58 UK: re-post the fetch at PC 2 under the same id (the zip 098e64c3, the dir name the script expects), then the bench after it; default if the pair has not run by 19:30 UK: the Arc read is the morning's. No relay by 19:30 UK; the generator 5 reads close at six of six on the all pack (CPU, CUDA 4090, RTX 5090, Metal, Apple OpenCL, RX 7600) and five on the partner, the Arc unread. POST-REVIEW PACKS (the hash lane, 20:3x UK): the packs are generator 6 now (class v6: hl-v6-all id 4de7b836cc40a4ea, tgz 6df3d430; hl-v6-foldrw d7eba30115d26dd4, f0dc3428; also hl-v6-all-nowin be1d6f48928cef4a and hl-v5-nowin dace2893e7653830, not in the kit), and the kit workers' pack reader refused generator 6 until class-v6 db63e1e36 (packfile.h: generator 6 runs as class v5, the shadow block and the state leaves required, program_class v6). My kit tree took that tip (merge a00d8b0b1, 489 commits, clean) and the Metal worker got the same lift (main.swift: packClassOf 6 = v6, isStateClass on v5 and v6, the generator gate 2 to 6; badc253ab, both mirrors, GREEN). THIRD KIT ZIP (built on box 1, 20:40 to 20:41 UK): /srv/artefacts/packs/packs-class-v6-20261008T194045Z.zip, sha256 735e141163454842da38f0c274032dca9e122ca4c0147d37f1ba01b720bc45fb, 894,029 bytes, 44 files (identity.json in each pack now); workers linux cuda 804a6f7f..., linux opencl 371dbb27..., windows cuda.exe 788f5959..., windows opencl.exe be169903...; the emulation check on the generator 6 all pack PASS (class v6, 93 state leaves, cache FNV 448274a57f508cbc, 96 of 96 vector lanes). A fault of the first attempt (20:38 UK): the kit's packfile-test takes the all pack as its class v5 known-good; a generator 6 pack fails that check by construction, so the script names the checked-in Devnet 3 epoch 0 pack there (badc253ab). READINGS of the generator 6 packs on the Mac (20:41 to 20:43 UK, the M5 Max): Metal (packbench) all pack e8f4f3289c6ee1fc at 13.19 MH/s, partner 6ce3dc344a613500 at 24.78 MH/s, vectors 3 of 3 and cache and dataset PASS on both; Apple OpenCL (the rebuilt kit host) all pack e8f4f3289c6ee1fc at 12.62 MH/s, partner 6ce3dc344a613500 at 27.77 MH/s, self-test PASS on both: TWO platforms equal on each generator 6 pack, the two ids distinct (the known-failed shape holds). Per tier: the post-review object hashes at the same halving as the pre-review one (the window's reg64 chain is twice the work per hash), so the generator 5 cost rows stand for the generator 6 packs. The PC job scripts expect these values now (d7f2e4f14); the CUDA, RTX 5090, RX 7600 and Arc reads of the generator 6 packs are the open rows (PC 1 by the hash lane's jobs, PC 2 by the build-server lane's fetch at the new zip), and the packs re-export once more after the hash lane's suite (program.json loads_per_hash to the executed count, ids unchanged), a kernel-text check before the readings are named final. CUDA (the fleet lane, 20:52 UK, the standing RunPod RTX 4090 pod si1xc4yhpakk1v, driver 580.159.04, sm_89, no extra rental; the zip read back at 735e1411 and its linux CUDA worker 804a6f7f, base nonce 0, 2^24): the all pack check PASS (class v6, 93 leaves), fingerprint e8f4f3289c6ee1fc at 31.3 MH/s, 93 registers and 20 blocks per SM; the partner check PASS, 6ce3dc344a613500 at 62.5 MH/s, 32 registers and 24 blocks per SM: CUDA pairs with Metal and Apple OpenCL on both packs, THREE platforms equal on each generator 6 pack, and with the CPU verifier's emulation check on the all pack (PASS on build-1 in both kit builds: class v6, 93 leaves, 96 of 96 vector lanes on the window's CUDA text, the same count the generator 5 record took as its CPU reading) the all pack stands at FOUR of six (CPU, CUDA 4090, Metal, Apple OpenCL) and the partner at three (the same halving as the generator 5 packs: 31.3 against 62.5 on the 4090, 31.4 against 62.6 before the review). The hash lane's answer on the V6-02 re-export (20:5x UK): it changes program.h (IGNEUM_LOADS_PER_HASH 256 and IGNEUM_BYTES_PER_HASH 1024 on the window packs), program.json and identity.json only; the kernel texts (kernel.cu, kernel.cl, program.metal, the bound forms) and the vectors are byte-identical, so the fingerprints read tonight stand as final on the platforms read; rule for the fourth zip: built once the re-exported tarballs are read back on build-1 (the hash lane names their shas) so the kit's program.h matches the tarballs, with the kernel texts checked byte-identical against zip 3 before it is named, no re-read owed; default if the tarballs have not landed by 22:30 UK: zip 3 is the kit the pin names. PC 1's 5090 and 7600 reads of the generator 6 packs are the morning's (the withdrawn grid job holds the runner until its cap, about 04:40 UK, or the founder's desk) unless PC 1 frees earlier; the Arc stays with PC 2's fetch (22:00 UK default). The coordinator's word for the freeze (20:5x UK): the D1 record names the all pack paired on four of six platforms (e8f4f3289c6ee1fc) and the partner on three, the readings final on the metadata-only re-export, the 5090, 7600 and Arc as the morning's rows with the generator 5 six-of-six record on the same object beside them, and zip 3 (735e1411) as the pin's kit unless the fourth zip reads back by 22:30 UK. Master 2caa033a2 (the counter-asic-4 code revert 98976b31 landed) merged into class-v5 (170052d6d) and class-v6-kits (134f127f6), both clean; tools/class-v5/gate-remote.sh runs the full gate on a box; both full gates GREEN in ci mode on box 2 (87 checks each: the kit tree at 43ed8d9e9 at 21:04 UK, class-v5 at 025978de3 at 21:07 UK; the first runs in local mode read environment reds only, box-locks with no host file on the box and, on box 1, no overlap browser, so gate-remote.sh runs ci mode on box 2), both trees pushed to both mirrors | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f. A fault of mine on the PC scripts (18:01 UK, the hash lane's read): pc1-v6-bench.ps1 and arc-v6-bench.ps1 at a9ea072d kept the class v5 script's one-pack leaves check (packs\v5-dn3-epoch0\leaves.bin), which stopped the 7600 job before its device list, and the AMD match was the 9070 XT's gfx1201 instead of the 7600's gfx1102; fixed at class-v6-kits c98a42c2e (18:10 UK, both mirrors, gate GREEN): a loop over each kit pack's own leaves.bin and the gfx1102 match; the hash lane runs its own fixed copy for the 7600 (run-ca3-pc1-v6all-7600-20261008-c), and the shipper has the ask to repoint PC 2's Arc job at c98a42c2e before its slot (default on a miss: the a9ea072d job fails in seconds on the leaves check and the fixed script queues next; past 19:00 UK the Arc read is the morning's and the 23:00 UK line reads five of six). RX 7600 read (PC 1, the hash lane's job run-ca3-pc1-v6all-7600-20261008-c on the c98a42c2e script text, 18:17 to 18:18 UK, the kit's igneum-worker-opencl.exe, device [1] gfx1102, 16 CUs, 8,176 MiB, card quiet): the partner 5a6ad122a71a888f PASS at 15.79 MH/s in 8 s, the all pack 59e6708e46f1e87c PASS at 7.92 MH/s in 14 s, both equal to the references. The all pack now reads equal on SIX platforms (CPU emulation, CUDA 4090, RTX 5090, Metal, Apple OpenCL, RX 7600 OpenCL) and the partner on five; the window halves the 7600's rate as it halves the 5090's (twice the work per hash). Per tier: an AMD OpenCL miner on the window class hashes at half the partner's rate with the same answer as every other platform, so the class v6 pack is a fair floor across vendors; only the Arc read (PC 2) is open: the build-server lane repointed it at the c98a42c2e script as PC 2 job run-20261008-174916 (posted 18:49 UK, the same zip 098e64c3; runs at PC 2's slot after the Windows 2.0.0 canary, lock-free and non-elevated; the RESULT lines come back on the intake and are relayed verbatim); if the a9ea072d job was already in the feed it runs first and stops in seconds on the leaves check, then this one runs. That job ran at 18:56 UK and failed in 1 s, exit 2, "kit missing": the kit's fetch job fetch-class-v6-kit-20261008 in the live jobs file targeted PC 1 (ae432dc7, where the 7600 read from it), not PC 2 (1ccfe586), so PC 2 never had the zip; my answer at 18:58 UK: re-post the fetch at PC 2 under the same id (the zip 098e64c3, the dir name the script expects), then the bench after it; default if the pair has not run by 19:30 UK: the Arc read is the morning's. No relay by 19:30 UK; the generator 5 reads close at six of six on the all pack (CPU, CUDA 4090, RTX 5090, Metal, Apple OpenCL, RX 7600) and five on the partner, the Arc unread. POST-REVIEW PACKS (the hash lane, 20:3x UK): the packs are generator 6 now (class v6: hl-v6-all id 4de7b836cc40a4ea, tgz 6df3d430; hl-v6-foldrw d7eba30115d26dd4, f0dc3428; also hl-v6-all-nowin be1d6f48928cef4a and hl-v5-nowin dace2893e7653830, not in the kit), and the kit workers' pack reader refused generator 6 until class-v6 db63e1e36 (packfile.h: generator 6 runs as class v5, the shadow block and the state leaves required, program_class v6). My kit tree took that tip (merge a00d8b0b1, 489 commits, clean) and the Metal worker got the same lift (main.swift: packClassOf 6 = v6, isStateClass on v5 and v6, the generator gate 2 to 6; badc253ab, both mirrors, GREEN). THIRD KIT ZIP (built on box 1, 20:40 to 20:41 UK): /srv/artefacts/packs/packs-class-v6-20261008T194045Z.zip, sha256 735e141163454842da38f0c274032dca9e122ca4c0147d37f1ba01b720bc45fb, 894,029 bytes, 44 files (identity.json in each pack now); workers linux cuda 804a6f7f..., linux opencl 371dbb27..., windows cuda.exe 788f5959..., windows opencl.exe be169903...; the emulation check on the generator 6 all pack PASS (class v6, 93 state leaves, cache FNV 448274a57f508cbc, 96 of 96 vector lanes). A fault of the first attempt (20:38 UK): the kit's packfile-test takes the all pack as its class v5 known-good; a generator 6 pack fails that check by construction, so the script names the checked-in Devnet 3 epoch 0 pack there (badc253ab). READINGS of the generator 6 packs on the Mac (20:41 to 20:43 UK, the M5 Max): Metal (packbench) all pack e8f4f3289c6ee1fc at 13.19 MH/s, partner 6ce3dc344a613500 at 24.78 MH/s, vectors 3 of 3 and cache and dataset PASS on both; Apple OpenCL (the rebuilt kit host) all pack e8f4f3289c6ee1fc at 12.62 MH/s, partner 6ce3dc344a613500 at 27.77 MH/s, self-test PASS on both: TWO platforms equal on each generator 6 pack, the two ids distinct (the known-failed shape holds). Per tier: the post-review object hashes at the same halving as the pre-review one (the window's reg64 chain is twice the work per hash), so the generator 5 cost rows stand for the generator 6 packs. The PC job scripts expect these values now (d7f2e4f14); the CUDA, RTX 5090, RX 7600 and Arc reads of the generator 6 packs are the open rows (PC 1 by the hash lane's jobs, PC 2 by the build-server lane's fetch at the new zip), and the packs re-export once more after the hash lane's suite (program.json loads_per_hash to the executed count, ids unchanged), a kernel-text check before the readings are named final. CUDA (the fleet lane, 20:52 UK, the standing RunPod RTX 4090 pod si1xc4yhpakk1v, driver 580.159.04, sm_89, no extra rental; the zip read back at 735e1411 and its linux CUDA worker 804a6f7f, base nonce 0, 2^24): the all pack check PASS (class v6, 93 leaves), fingerprint e8f4f3289c6ee1fc at 31.3 MH/s, 93 registers and 20 blocks per SM; the partner check PASS, 6ce3dc344a613500 at 62.5 MH/s, 32 registers and 24 blocks per SM: CUDA pairs with Metal and Apple OpenCL on both packs, THREE platforms equal on each generator 6 pack, and with the CPU verifier's emulation check on the all pack (PASS on build-1 in both kit builds: class v6, 93 leaves, 96 of 96 vector lanes on the window's CUDA text, the same count the generator 5 record took as its CPU reading) the all pack stands at FOUR of six (CPU, CUDA 4090, Metal, Apple OpenCL) and the partner at three (the same halving as the generator 5 packs: 31.3 against 62.5 on the 4090, 31.4 against 62.6 before the review). The hash lane's answer on the V6-02 re-export (20:5x UK): it changes program.h (IGNEUM_LOADS_PER_HASH 256 and IGNEUM_BYTES_PER_HASH 1024 on the window packs), program.json and identity.json only; the kernel texts (kernel.cu, kernel.cl, program.metal, the bound forms) and the vectors are byte-identical, so the fingerprints read tonight stand as final on the platforms read; rule for the fourth zip: built once the re-exported tarballs are read back on build-1 (the hash lane names their shas) so the kit's program.h matches the tarballs, with the kernel texts checked byte-identical against zip 3 before it is named, no re-read owed; default if the tarballs have not landed by 22:30 UK: zip 3 is the kit the pin names. PC 1's 5090 and 7600 reads of the generator 6 packs are the morning's (the withdrawn grid job holds the runner until its cap, about 04:40 UK, or the founder's desk) unless PC 1 frees earlier; the Arc stays with PC 2's fetch (22:00 UK default). The coordinator's word for the freeze (20:5x UK): the D1 record names the all pack paired on four of six platforms (e8f4f3289c6ee1fc) and the partner on three, the readings final on the metadata-only re-export, the 5090, 7600 and Arc as the morning's rows with the generator 5 six-of-six record on the same object beside them, and zip 3 (735e1411) as the pin's kit unless the fourth zip reads back by 22:30 UK. Master 2caa033a2 (the counter-asic-4 code revert 98976b31 landed) merged into class-v5 (170052d6d) and class-v6-kits (134f127f6), both clean; tools/class-v5/gate-remote.sh runs the full gate on a box; both full gates GREEN in ci mode on box 2 (87 checks each: the kit tree at 43ed8d9e9 at 21:04 UK, class-v5 at 025978de3 at 21:07 UK; the first runs in local mode read environment reds only, box-locks with no host file on the box and, on box 1, no overlap browser, so gate-remote.sh runs ci mode on box 2), both trees pushed to both mirrors. The Arc (21:1x UK, the build-server lane): the generator 6 kit is staged in the dl token folder, the fetch job re-posted at PC 2 (1ccfe586) with sha 735e1411 and the bench signed after it (arc-v6-bench.ps1 at d7f2e4f14), but neither reaches PC 2 tonight: the jobs feed and the kit serve through the dl host on Vercel, the founder's 20:21 UK order moves dl publishing off the Mac to build-1 (not built yet) and three Vercel deploys already run from the Mac, so no fourth; the pair publishes on the first clean dl deploy from build-1; before 22:00 UK the Arc runs tonight, else the morning's. Registry: the kit's cross-platform cell kit:class-v6-fingerprints answers REV-F03-2's worker half (tools/ci/test-map.json), batch kit-class-v6-20261008-01 recorded RUNNING (PASS only with the PC rows and the node and pool halves), on class-v6-kits 8da8ed574 | ## 1. The claim, in one paragraph