27 KiB
The in-house adversarial pass on the lottery hash
Internal adversarial pass, not an independent review. 7 October 2026, 19:1x BST (nine lanes from 19:2x BST on the project lead's word through main: "push the cryptanalysis tonight, we have the capacity"), the crypto-engage lane on the project lead's correction through main: nothing goes outside. No firms, no paid lots, no briefs to anyone. The three targets of Counter ASIC 3.0 item 3 (the mixer
M_r, the chained cache, the acceptance rule) are attacked by three lanes that have never worked on the hash code, under the outsider rule below. The only outside check that remains is the disclosure prize, staged (section 10).
0. One page
| Item | State |
|---|---|
| What was planned until 18:5x BST | Three external lots (docs/plans/cryptanalysis.md on branch cryptanalysis, docs/plans/funding.md row "Independent cryptanalysis") with firm shortlists and price rows |
| the project lead's correction (through main, 7 October, evening) | Nothing goes outside. No firms, no paid lots, no briefs to anyone. The lane becomes the in-house adversarial pass on the same three targets |
| The pass | Nine adversarial lanes, three per target on three question classes each, each given only what an outsider would have, each writing an attack plan first and then a report in the attack-pass shape |
| The defender | The Counter ASIC lane; main rules disputes |
| The clock | Plans within two hours of start (the first three) or one hour (the six of 19:2x BST); first results from every lane by 00:00 BST tonight |
| The label | "internal adversarial pass, not an independent review" on every public sentence |
| The outside check | The disclosure prize, USD 50,000, approved 7 October 09:5x UK, STAGED until escrow, the entity address and the project lead's publish word; nothing public names it until then |
1. The target, exactly
| Piece | Value |
|---|---|
| The frozen object | igneum-pow at commit 017e70376489251e18564c0abce7e466e606c8b3 on branch ca3-v4-amend (tag audit-freeze-2026-10-07); byte-identical on master since cf7d6ccb |
| The class | Class v4 sub-version 3: PROGRAM_SUBVERSION_V4 = 3, object byte 7 |
| The rules in the object | (a') dataflow freshness to a fixpoint; the shared-operand rule in the draw; (c'') the per-site distinct-index ratio at 0.98 over 2^20 evaluations; the 256-attempt cap and the deterministic last-resort draw |
| Program ids | The shared devnet's epoch-0 id a785001687d8688a (the kaspa-pow pairing pin); Devnet 3's epoch-0 id fce15bf61030be57 (attempt 0, sub-version 3) |
| The kit | packs-ca3-v4-sub3 zip, sha256 4f2445c50c58d76a5544023492d8b858d0b07c5e372d31f9c90c4ce51f829154, eight packs: the contents of proto-cuda/packs-ca3-v4/ at the frozen commit (mx8-devnet-epoch0 the class v3 control, v4-devnet-epoch0, v4-era-0 to v4-era-5) |
| The Devnet 3 pack | v4-devnet3-epoch0 (zip sha256 e025750f71175ed14d6e2a24e387ebbf1979b1cd0faee9139c41a7671165b334, 12 files, program.json 0xfce15bf61030be57 at attempt 0), on build-1 at /srv/artefacts/packs/v4-devnet3-epoch0/ and .zip; Metal and Apple OpenCL fingerprint e510ad92b4d24846 at 2^24 from base 0; exported under igneum-pow 874e945d (byte-identical to 017e7037) over Devnet 3's genesis with day bytes le64(20733); public-kit class, verified by this lane on build-1 at 19:1x BST |
| The dataset under attack | Spec docs/spec/01-lottery-hash.md 1.8: ChaCha12 cache fill in 2^16 segments of 64 chained lines; the ARX-multiply mixer with per-day ROT, MUL, RC from a 64-bit SplitMix64 seed; m = 8, 72 applications per item, 8 dependent cache reads |
| The acceptance rule under attack | Spec 1.4.6 as the code igneum-pow/src/accept.rs implements it at the frozen commit (the code is the truth where the spec lags it) |
2. The nine lanes
Three per target, one question class each, from funding.md's ranked list for that target. The first three were spawned at 19:1x BST and re-scoped at 19:2x BST; the six others were spawned at 19:2x BST.
| Lane | Target | Question class | Branch | Worktree | Plan | Report | Plan due (BST) |
|---|---|---|---|---|---|---|---|
| adv-mixer | mixer M_r |
the algebraic structure: the fold of the multiply layer, the composition of 8 applications | adv-mixer |
igneum-wt-adv-mixer |
plan-mixer.md |
report-mixer.md |
21:10 |
| adv-mixer-2 | mixer M_r |
the day-key weakness class: weak ROT, MUL, RC draws, the 2^24 census, the calendar |
adv-mixer-2 |
igneum-wt-adv-mixer-2 |
plan-mixer-2.md |
report-mixer-2.md |
20:25 |
| adv-mixer-3 | mixer M_r |
the statistical distinguisher and the round margin: differential, linear, rotational-XOR, SAT or MILP on reduced applications | adv-mixer-3 |
igneum-wt-adv-mixer-3 |
plan-mixer-3.md |
report-mixer-3.md |
20:25 |
| adv-cache | chained cache | the recompute shortcut: the honest curve from f = 1/64 to 1, a cheaper fill, the chip's recompute cost |
adv-cache |
igneum-wt-adv-cache |
plan-chained-cache.md |
report-chained-cache.md |
21:10 |
| adv-cache-2 | chained cache | the partial-state or hot-set attack: line-index uniformity over 2^28, hot lines and items, steering | adv-cache-2 |
igneum-wt-adv-cache-2 |
plan-chained-cache-2.md |
report-chained-cache-2.md |
20:25 |
| adv-cache-3 | chained cache | the chain-break or skip: a line under j + 1 blocks, relations through the chaining and the feed-forward, pebbling |
adv-cache-3 |
igneum-wt-adv-cache-3 |
plan-chained-cache-3.md |
report-chained-cache-3.md |
NOT YET SPAWNED at 19:26 BST (the session's 20-subagent cap); spawned when a slot frees, plan due one hour after |
| adv-accept | acceptance rule | the bypass: passes (a) to (c'') on the stand-in with locality on the live dataset; the stand-in gap; distinguishers that pass | adv-accept |
igneum-wt-adv-accept |
plan-acceptance-rule.md |
report-acceptance-rule.md |
21:10 |
| adv-accept-2 | acceptance rule | header grinding for locality: header bytes and nonce against DRAM rows, lines and items; cost against gain | adv-accept-2 |
igneum-wt-adv-accept-2 |
plan-acceptance-rule-2.md |
report-acceptance-rule-2.md |
20:25 |
| adv-accept-3 | acceptance rule | exhaustion or steering of the draw: the 256-attempt cap, the last-resort draw, seed steering, the program id | adv-accept-3 |
igneum-wt-adv-accept-3 |
plan-acceptance-rule-3.md |
report-acceptance-rule-3.md |
NOT YET SPAWNED at 19:26 BST (the session's 20-subagent cap); spawned when a slot frees, plan due one hour after |
Plans live in docs/plans/cryptanalysis/, reports in docs/analysis/cryptanalysis/. Each lane's branch was cut from the build mirror's master and is pushed to the build mirror only; GitHub is dark tonight. BASE CORRECTION (main, 19:4x BST, from the hash lane): build-2's mirror master was stale (a4bca198, pre-fix) until 18:25:42Z, and the first branches were cut from 3f0afcd5, whose igneum-pow differs from the frozen object by 6 files (verified by this lane: 30 insertions, 635 deletions). Every lane merges build-1's master (7a7caa34 or later; 001e32ec is the earliest good tip) before any run or report and proves git diff --quiet 017e7037 HEAD -- igneum-pow identical, stating the commit in its plan; anything built or measured on a stale tree is void. crypto-engage itself merged 7a7caa34 at 19:27 BST (355ac2ae, identical).
3. The rule set
3.1 What a lane receives (the outsider's inputs, and nothing else)
| Input | Where the lane reads it |
|---|---|
The crate igneum-pow/ (src, tests, Cargo files) at the frozen commit |
master's copy, verified byte-identical with git diff --stat 017e7037 HEAD -- igneum-pow printing nothing; the result stated in the plan |
The spec docs/spec/01-lottery-hash.md at the frozen commit |
git show 017e7037:docs/spec/01-lottery-hash.md |
The chip model docs/analysis/chip-model-v3.md sections 1, 2, 5 and 6 |
the worktree's HEAD |
| The public kit: the eight packs | proto-cuda/packs-ca3-v4/ at the frozen commit; the zip sha256 above |
| The two program ids and the Devnet 3 pack | stated in the lane's prompt; the pack read from build-1 (/srv/artefacts/packs/v4-devnet3-epoch0/, sha256 above), handed to the lanes at 19:1x BST after their start |
The attack harnesses tools/attack/f8-uniform and the F4 census tools/attack/f4-weakday |
f4-weakday from build/attack-pass; f8-uniform from the Mac worktree igneum-wt-attack-regate (that branch is not on the mirror); copied, never edited in place |
| The operating files needed to run anything | tools/build-remote.sh, infra/build-server/lib.sh, infra/build-server/remote-run.sh |
| Sibling lanes' plans and reports | git fetch build adv-<target>-<n>, the files under docs/plans/cryptanalysis/ and docs/analysis/cryptanalysis/ only; siblings are outsiders too |
3.2 What a lane does not receive
| Withheld | Why |
|---|---|
docs/plans/counter-asic-3-status.md (section 7c and all) |
the defender's reasoning on AP-F8-1, the localisation, the cost lines |
docs/fud-ledger.md, docs/fud-fixes.md |
the ledger entries on AP-F8 and every earlier finding |
docs/analysis/attack-pass/* and docs/analysis/attack-pass-2026-10.md |
the hash lane's and the attack-pass lane's notes and results |
docs/analysis/ca3-v4-uniform.md, docs/plans/mixer-x4.md, docs/analysis/weak-program-census-2026-10-03.md, proto-metal/MEMHARD.md |
defender's analyses |
docs/plans/funding.md, docs/plans/cryptanalysis.md, this file |
the ranked questions as the defender ranked them, the known gaps as the defender knows them |
git log, commit messages, other branches and worktrees, site/ |
commit messages carry the defender's reasoning; the site carries the defender's numbers |
Known leaks, stated: CLAUDE.md loads on its own in every lane (operating rules; the lane follows no pointer from it into other docs); the harness sources carry doc comments written by the attack-pass lane. Each plan lists every file the lane opened, so the defender can read what the lane knew.
3.3 How a lane states a result
A result is a BREAK (a method with a measured or counted gain, reproducible from the command and the seed) or a BOUND (what was searched, with what tools, how far it reached, the margin left). "Nothing found" counts only with its effort stated in box-hours and tools. Every number carries its command, its seed and its log path on the box.
4. The budget and the no-gaps rule
Standing rule from the project lead through main (7 October 2026, 19:1x BST), binding: no gaps between tasks.
| Rule | What it means for a lane |
|---|---|
| Every idle core on both boxes | A lane runs on build-1 and build-2 together, on every idle core, at nice 10, no core band; release builds and the class v5 suites keep priority. the project lead's read at 19:4x BST: build-1 at 11 percent, build-2 at 56; his word is both near max, so CPU-bound sweeps go to build-1 explicitly (--box 1) and both boxes stay above 80 percent until the queue is empty; the build-server lane raises the lease pool to about 88 cores per box |
| Yield to builds | RETIRED at 19:3x BST (adv-accept's exception: a build slot is held nearly continuously on both boxes, so the SIGSTOP yield of the capacity layer kept every sweep in state T and "both boxes above 80 percent" was unreachable). In its place the build-server lane's rule (19:4x BST): every bounded run at nice 10 on cores 8 to 95 only (taskset -c 8-95; cores 0 to 7 reserved for release builds, the seed and the observer), -j 88 through tools/build-remote.sh, the router spilling to the other box at no free slot or a 1-minute load above 80, a pinned measurement leasing its exact cores with /srv/builds/_bin/lease cores <set> --label "..." --owner adv-<lane> -- <cmd> (no measure flock), every adversarial worktree merged to the mirror's master at 04c4d9bc or later; each lane notes the change and its time in its report |
| Back to back | Question n + 1's sweep starts the minute question n's ends; no waiting for a human to read; each result row lands in the report and is pushed as it lands |
| One sweep per box | ADDED 19:5x BST (build-1 at load 496, build-2 at 527 on 96 cores: oversubscription, not the near max asked for; the bounded class is 88 cores per box in total, not per sweep): every new sweep from every lane runs under flock /srv/builds/_adv/locks/sweep.lock -c "nice -n 10 taskset -c 8-95 <bin> <args> > <log> 2>&1" on its box, so one sweep runs per box at a time with up to 88 threads and the rest wait in order; running processes finish; duplicates are killed by pid file and re-queued |
| No lane idle | Every planned sweep is a self-contained executable in /srv/builds/_adv/<target>/queue/NN-<lane>-<name>.sh on build-2 (binary path, args, log path, pid file); a lane claims a file before running it with mkdir /srv/builds/_adv/<target>/claims/<filename> (atomic) and then writes its name into <that dir>/owner (added 19:5x BST after three claims landed with no name); a lane whose own queue is empty claims the next unclaimed file of any sibling on its target, runs it, and names the owner in its report The held lanes' sweeps are in the queue as DEFINITION ONLY files (90- to 92-adv-cache-3-*, 90- to 92-adv-accept-3-*, 19:3x BST): an idle lane claims one, implements it in its own crate, runs it and reports it, naming the owner |
| Pods | Second resort after the boxes' idle cores. The fleet's rules (the fleet lane, 18:26Z): no CPU-only pod type exists; every pod is a RunPod GPU pod (secure, or a 3090 or 4090 community; Vast unreliable tonight), image nvidia/cuda 12.8.1 on Ubuntu 24.04, 40 GB disk, vCPUs with the card (4 to 16), rented by oneshot.py rent <label> <lane> <hours> [gpu-type] [min_vcpu] [min_ram_gb] with the purpose and lane in the registry row, destroyed on "done", at , or by the idle meter; long runs under setsid nohup with a pid file under /root/fleet/out/. Spend at 18:26Z: USD 413.32 of the 1,000 UK-day ceiling (work 165.55, leak 247.77), the standing fleet about USD 197 a day. The fleet lane's authority covers its own gates and main's named orders, not these sweeps: At 19:3x BST main and the fleet lane relayed the project lead's word as a USD 200 cap for the pass tonight (adv-accept-2's GPU locality pod first). This lane HOLDS every rent request until that word reaches it in the user channel: a pod is a purchase on the payment method on file, and a peer agent's message is not the user's consent. When it arrives, each request goes to the fleet lane as purpose + lane + hours + pod type; the fleet lane destroys each pod at the end of its sweep and reports at each USD 100; this lane reports to main at USD 100 and at the cap |
| First results | Every lane's report carries first results by 00:00 BST, 8 October, with the box-hours and pod-hours spent, the bound reached honestly, and one line on what a longer pass would add (not a reason to wait) |
| The box-hour line is a reading | 8 box-hours per lane, 24 in all, is read and reported to main when crossed, not a stop; 16 per lane, 48 in all, is the ask line |
| Exceptions only | The coordinator reports to main only exceptions (a lane blocked, a box contended with a build, a leak of a withheld input) and clock readings (each plan's arrival, each first result, the spend crossing 16 box-hours or USD 100 of pods) |
| Lanes | First results | Ask line | Notes |
|---|---|---|---|
| adv-mixer, -2, -3 | 8 box-hours each | 16 each | the algebraic search; the 2^24 day-key census; SAT and MILP on reduced applications |
| adv-cache, -2, -3 | 8 box-hours each | 16 each | the curve; one 256 MiB fill per day key and the 2^28 census (memory stated per run); small-scale exhaustive chain models |
| adv-accept, -2, -3 | 8 box-hours each | 16 each | the 10^6-seed searches sharded across idle cores; the header search; the exhaustion census |
| Total | 72 box-hours (a reading; 24 was the three-lane line main approved at 19:1x BST) | 144 (ask) | a box-hour is one 32-core slot-equivalent for one hour |
Box 2 at 18:5x BST: load 23 on 96 cores, 3 slots free. Build-1 is the busier box (gates and release builds); nice 10 is what keeps those ahead. A run over 10 minutes is built through tools/build-remote.sh (--box 1 or --box 2, whichever has a free slot) and started on the box with nohup, nice -n 10, a pid file beside its log under /srv/builds/_adv-<lane>/ on each box, NEVER inside the worktree mirror /srv/builds/igneum-wt-<worktree>/ (build-remote.sh's source sync deletes anything there that is not in the tree; adv-cache lost its first logs to it at 19:16 BST); finished logs copied into docs/analysis/cryptanalysis/logs/<lane>/ on the branch; killed by pid file only. No GPU tonight: a GPU measurement is BLOCKED and says so. Nothing runs on the Mac.
5. Deliverables
| Deliverable | Content | When |
|---|---|---|
| The attack plan | The target restated from the spec and code in the lane's own words; the questions in the lane's order; the method and tool per question; the known-failed shape per method (a planted weakness the tool must fire on); the box-hour estimate per step; every file opened | within two hours of start |
| The report, attack-pass shape | A header with the target commit, the binary's sha256 and the box; a status board with one row per question (method, known-failed shape, gate, result with numbers, status PASS / RUNNING / BLOCKED / FINDING); one section per row with the exact command, the seed, the log path and the numbers | first results by tomorrow evening UK; pushed as it grows |
| Attack code | Under tools/attack/adv-<lane>/, its own crate depending on igneum-pow by path; the originals of f8-uniform and f4-weakday untouched |
with the report |
6. Review
| Role | Who | What |
|---|---|---|
| Defender | The Counter ASIC lane | Reproduces every BREAK from the command and the seed before any ruling; checks every BOUND's effort statement against the box logs; reads each plan's opened-files list against section 3.2 and voids a lane's result that used a withheld input |
| Ruling | Main | Disputes between a lane and the defender; what a confirmed finding moves (section 9); extensions of the box-hour ceiling |
| Coordinator | This lane | Spawns and clocks the lanes, keeps this file, collects the reports, writes the ledger rows when main says so |
A finding is not a failure of the pass. It is the reason the pass exists.
7. The clock
| Step | UK time |
|---|---|
| Lanes spawned | 7 October 2026, 19:1x BST |
| Plans pushed to the mirror | the first three by 21:10 BST, the six of 19:2x BST by 20:25 BST, 7 October |
| First results in each report | by 00:00 BST, 8 October (every lane) |
| Defender's read of each report | within 24 hours of its first results |
| Disputes to main | as they arise; ruling before any public sentence moves |
8. The label
Every sentence about this pass that could be quoted in public carries "internal adversarial pass, not an independent review". The site, the litepaper and docs/evidence.md row 17 said "the cryptanalysis plan buys three external lots" and "the three cryptanalysis lots are the next test"; main lands the replacement. No public text names a firm, a price or an engagement.
9. What a finding moves
| Case | What moves | Cost |
|---|---|---|
| A BREAK confirmed before the public testnet's vectors freeze | A parameter or a shape on the v4 seam, or a class v5 rule; the packs and the 96-vector sets re-cut through the seam, the verifier re-measured against the 10 ms gate, the soundness suite re-run, the cross-vendor fingerprints re-taken | hours of agent work; one PC job per vendor; no chain event |
| A BREAK confirmed after the testnet's first miner | A class change behind its activation height with the six gates and the two-publish rollout | an announced reset on the testnet; on mainnet the governance event the plan exists to avoid |
| A BOUND only | The chip model's "ops per hash" input carries an internal effort bound in place of "no cryptanalysis"; it is labelled internal, never "reviewed" | the box-hours only |
10. What this pass is not
It is not an independent review and is never called one. Nothing is sent outside, nothing is paid, nobody is contacted. The disclosure prize (USD 50,000 for a reproduced break of the published hash class, approved by the project lead 7 October 2026, 09:5x UK) is the only outside check and stays STAGED: announced only when escrowed, only when the entity's registered address exists on its documents, and only on the project lead's publish word. The entity is not yet named in the repository beyond the launch pack's "Igneum Labs LTD". Until the word, grep -ci "50,000" site/*.html is 0 and disclosure prize stays in site/forbidden-strings.txt.
11. The coordinator's own inputs (defender side, not given to the lanes)
docs/plans/funding.md (the row and the brief), docs/plans/cryptanalysis.md on branch cryptanalysis (sections 1, 3.3, 3.4, 4.2), docs/plans/counter-asic-3-status.md section 7c, docs/plans/release-0.3.22.md, docs/analysis/attack-pass-2026-10.md (the report shape), docs/plans/build-server.md sections 7 and 7.0, infra/build-server/lib.sh, tools/build-remote.sh, the spec at the frozen commit, docs/plans/launch-pack.md and docs/plans/testnet-go.md LG-13.
12. The board (clock readings and the defender's lines; UK time; box file times read in CEST, one hour ahead)
| Lane | Plan on the mirror | First results | Defender's line | Box-hours |
|---|---|---|---|---|
| adv-mixer | 1d720654, 19:09 BST | e35556af, 19:40 BST: Q1 algebraic structure BOUND (fold probe 1e6 of 1e6 affinity violations, 0 of 256 dead word pairs, 0 of 1e6 key-order agreements; integral degree at least 16 after one application, saturated after two; 9,360 ops per item stand); courtesy readings on Q2 (full diffusion at 2 applications, margin 6 of 8) and Q3 (2^24 days, best day 1.17x FPGA multiply datapath, 1 in 2^24, no DSP or wall-time gain) | pending | 0.4 |
| adv-mixer-2 | 5704a7b3, 19:32 BST | pending | pending | |
| adv-mixer-3 | 37a08b6c, 19:4x BST | pending; sweeps on both boxes from 19:42 and 19:47 BST (index census, SAC, differential, linear, rotational-XOR on days 20729 and 20733; the SAT model under CaDiCaL 3.0.1) | pending | |
| adv-cache | 476e4516, 19:04 BST | 2c7bb6b4, 19:33 BST; FINAL 49ef7747, 19:50 BST: every row BOUND, every plant fired (the recompute curve monotone toward the full store, f = 1/2 at 1.26x the ops and 0.875x of the full-store chip's rate under equal silicon; no cheaper fill; chain avalanche full at every j; line index uniform over 160 day keys and about 1.6 x 10^10 reads; batching loses to the stride store from 32 MiB) | 19:5x BST, NO DISPUTE: Q1b, Q1c and Q4 stand as BOUND from the defender (the curve equals logs/queue-a/curve.log row for row; target 017e7037; ledger honest; energy columns from chip-model-v3 5.2); Q2 and Q3 were measured before the re-scope and stand as readings for adv-cache-2 to confirm or contradict, not as its verdict | 0.55 |
| adv-cache-2 | 3d9bcece, 19:31 BST | pending; warps censuses queued (20, 21) | pending | |
| adv-cache-3 | 9fdd4031, 19:49 BST | pending; its three definitions (90 to 92) claimed 19:49:54 BST, by itself on the timing (owner files were not yet the rule); adv-cache offers its chain-skip, pebble and ffrel implementations on branch adv-cache as a harness, and does not run them | pending | |
| adv-accept | d2bc4dc8, 19:1x BST | a22d5ba0, 19:51 BST, FINDING-class row: one accepted class v4 program (F8 label-space seed 100767, id 9d68e6286fc817d4, attempt 2) passes every part of the frozen rule and flags the f8 hot-set gate on the live dataset at 2^24 nonces (X at 0.1 percent +0.155, X/f 1.55, top 0.1 percent at 2.05x the window model, 6-sigma +295); the four lowest stand-in-ratio seeds of 4,600 accepted programs all beyond 1.2x live (1.29x to 2.05x), 23 random accepted programs at most 1.043x; attribution one load site (instruction 23, source r6, quarter window) sending 3.35 percent of its reads to items at multiples of 2^19, (c') saturation 0.013 percent there; the lane's price: a 1 MB hot copy serves 0.31 percent of loads instead of 0.15, a 1.002x gain, no chip-model row moves; "a real distinguisher and a cheap seed selector, not an exploitable bypass". Q2 stand-in gap BOUND so far (agreement to 2e-4 at 2^20 on 4 programs plus a firing plant; 50-program widening running). Row 90 (adv-accept-3's attempts census) claimed and running | 19:5x BST, FINDING CONFIRMED, bounded, no dispute on the numbers (read against live-confirm-16m.log): (c'') passes at ratio 0.9988, inside the clean spread, the shape of the four-seed tail AP-F8-1 left unattributed; the source is zero in 0.0126 percent of evaluations (under (c')'s 1 percent) and the hot items are the images of small source values under the era stride; the class is a value-level constant from a lineage-fresh writer (a mad at instruction 4), which neither the lineage rule nor the per-site ratio at 2^20 reaches. NEW and the finding's substance: the stand-in ratio is a cheap seed selector without the live dataset, and one member of the unattributed tail is now attributed by value. Routing: FINDING (bounded) on class v4 sub-version 3, no change to the frozen object, chip gain nil; the fix question (a value-level source test at the live-dataset scale, or a per-site hot-item test in acceptance) goes to class v5 / 0.3.23 beside AP-F4-1 and AP-F1-1; taken to main as an exception. Asked of the lane's final: the selector's false-positive rate over at least 20 low-ratio seeds; whether the seed reads hot under class v5's state-derived dataset | about 1.6 |
| adv-accept-2 | 9b86d4e2, 19:4x BST | pending; reading from the code: the header reaches the hash only through the init words (bind.rs) and never the program or the dataset, so a found header fixes one 32-lane group and a grind cannot amortise; GPU per-card confirmation BLOCKED, bound analytic | pending | |
| adv-accept-3 | spawned 19:5x BST after three attempts at the subagent cap; plan due one hour after | owns 91 and 92; reads 90 from adv-accept | pending |
Beside the nine lanes (the attack-pass lane, the defender's side, for the record): F4 on class v5 PASS at igneum-pow class-v5 e4f1f275 over 2^24 chain days (M2 0 of 2^24 over 1.1x; M1 the same bounded tail as class v4; the census byte-identical because the day-key draw depends on the mixer shape alone); F8 on v5 read about 20:55 BST; F1 and F9 at 10^5 seeds after (10^6 is fifty hours through (c'')).
Box readings: 19:5x BST both boxes at load 280 to 350; 19:55 BST build-1 496 / 391 / 252 and build-2 527 / 469 / 290 on 96 cores (adv-accept two 89-thread shards and three adv-live confirmations, adv-mixer-3 six processes on build-1 and two plus two CaDiCaL on build-2, adv-cache-2 81 and 19 threads): oversubscription; the per-box sweep lock added and every lane told. adv-cache FINAL 555c3e42 (19:55 BST): idle, done; its implementations of adv-cache-3's three sweeps offered in its section 8a, not run.