From f4ae951f74afa4f182b8c62042ad603c49642e6d Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 20:31:57 +0000 Subject: [PATCH] Counter ASIC 3.0 status: the freeze tree 21edd23c9 and the review verdicts, the hash lane's acceptance fault and its fix, the first fixed-miner block and the roll's stages, the house ban and the 3847 stall, the pool pair's corrected cause, lock 270's fractions, V6-08 and P22 landed, the F03 and evidence-class landings, the night rule Co-Authored-By: Claude Fable 5.1 --- docs/plans/counter-asic-3-status.md | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/plans/counter-asic-3-status.md b/docs/plans/counter-asic-3-status.md index de8e083c6..3627be2ae 100644 --- a/docs/plans/counter-asic-3-status.md +++ b/docs/plans/counter-asic-3-status.md @@ -520,6 +520,51 @@ THE 21:00 COPY's THIRD REFUSAL (20:5x BST): the registry's evidence rule 2 (a fi THE SIXTY-THIRD LANDING AND THE 20:5x LINES (BST). The sixty-third landing on master at 3f2050ab. The kit on the generator-6 packs (20:49 to 20:53): CUDA pairs on the fleet's standing RTX 4090 (pod si1xc4yhpakk1v, driver 580.159, at 20:52; the zip's sha 735e1411 read back on the Mac, the worker 804a6f7f): hl-v6-all check PASS e8f4f3289c6ee1fc (31.31 MH/s, 93 registers), hl-v6-foldrw check PASS 6ce3dc344a613500 (62.45 MH/s, 32 registers), both at 2^24 nonces from base 0, equal to the Mac's Metal and Apple OpenCL reads; the all pack at four of six platforms (CPU emulation, CUDA 4090, Metal, Apple OpenCL), the partner at three; the hash lane's last re-export metadata only (kernel texts and vectors byte-identical), the readings final; the 5090 and 7600 (PC 1's held runner, about 04:40 or the founder's desk) and the Arc (PC 2 by 22:00) the morning's rows, the generator 5 record (six of six on the same object before the review) beside them; zip 3 the kit the pin names unless a fourth zip reads back by 22:30; the page row class-v5 a08647f5a. F05 with both sides (the hash lane 20:5x, the adversary lane section 17 bb8cf8c30 at 20:54): the closed prefix form an exact algebraic equivalent (the native test proving it on every source register); on a GPU it buys nothing (the card memory-bound at the dataset on both texts; the prefix's running total costing 61 registers on sm_89 and 148 on sm_120, halving the 5090's occupancy: the 5090 6.20 nJ on the fold against 7.13 on the prefix at the same rate, +14 percent; the 4090 7.60 against 7.41, a wash); on the chip the bound moves with the shape: on the connected-state class's own form (32 loads per 64-instruction iteration, 256 loads and 512 register writes per hash) the literal fold 113 nJ per hash and the prefix form 7.7 nJ (one running-total update and six Fenwick read-modify-writes per write, six prefix reads and three xors per load), the chip paying about 8 nJ, 1.2 percent of its shadow energy, the complete-machine bracket 1.5x to 1.49x same node (not 1.42x, the literal fold's cost the adversary avoids by 14x); on the shipped shape (one load per 800 instructions) the literal fold the chip's cheapest at 56 nJ (0.08x); the register's F05 line: the chip's cost of the whole-window coupling 8 nJ to 56 nJ, 0.02x to 0.08x of the same-node bracket, measured placed on the chip side and on two cards on the honest side; the verifier keeping the fold as the definition; the connected-state KILL standing on the GPU-cost budget, not this term; cases POW-02 and ADV-04. V6-10's repinned ids ahead of 23:30 (the enforced lane): shard 0x51cd8cba314a32b60fac393949a4571714da6d6656717d286011601b2a163fe7, aggregator 0x05b395ec238f67406084f8a449d400f64c87dc62151daebf66695864727ded8a, sha 7d38077df on p22-stage-2 (elf sha256 0ce9e351 and 3ef25e3f; vks 0dbb6605 and 074eb906), deterministic across three builds on build-1 (identical bytes); the manifest with source_commit c45db4420, guest_input_format 3 (the first field, both guests refusing another format before anything else) and the live pair as prior, the 17:58 pair skipped (never activated); the host suite green on build-2 (the format refusal, the fee rounding with the odd wei to the burn, duplicate and paid-before and invalid carried records paying nothing); the host's --mode id read-back, the old-mode and new-mode compressed proofs (the new from a block exported by the D4 node 930b6322 with proving_payment_activation_daa 0) by 23:30; for the 2.0.2 tree. Floor lane 3's batch line to the landing hand inside 21:10 (eco05-20261008-01b at manifest 24883757: model:eco05 FAIL, model:coexist-fixtures RUNNING). The reference-apps lane's F04 pages on master at 2caa033a2 (20:46), the light service restarted by pid at 20:47, the deploy read-back owed before any "done". THE RESEARCH LANE'S 21:00 COPY LANDED (20:55 BST, read back by the landing hand): box master 10aa76d71265629120c78cc00e1e153fca68de15 (Merge counter-asic-4-docs-3 ae5a6868; full gate 87, the evidence rules green): the documents byte-equal to the tip (the 4 GiB decision FROZEN, the three-row chip line, the F05 correction, F09's corrected (c) cells, the B580 at 11.0 MH/s), sim/economy/coexist, the map cell harness:economics-model, the research batch eco-d4-20261008-01 (nine cases RUNNING) and lane 3's batch eco05-20261008-01b (ECO-05 FAIL, ECO-01 and ECO-08 RUNNING at manifest 24883757) replayed on master's registry; thirty landings by the hand through 10aa76d7. The census lane closed (20:55): the registry cell census:class-v6 PASS on master at 2f44f642 (run census-v6-20261008-2034, manifest 9415e9c8, evidence census-packs.md); its record on master (census-w16-mix.md 018a0877; census-packs.md sections 0 to 7 with the logs: 77f0c4b4, cdbdda05, eba774af; the row 2f44f642); the harness commits for the freeze's digest: class-v6-census-fold 5b3486f0, class-v6-census-reg64 b29e690d2, class-v6-census-all 25098c1a2 and b10fe1351 (the A03 command 9893b4c9d), class-v6-census-all3 6debbac1a (the post-review crate); no lease on any box; a re-read of a new all pack fifteen minutes from its line. +THE FREEZE TREE GREEN AND THE REVIEW VERDICTS (20:5x BST, the hash lane, delivered ahead of 22:30; every verdict with its native test on the sha). The freeze tree: class-v6 9c4e4247308acf42c998c1aafddad14afd9703fa on the mirror (ls-remote agreeing), its suite on build-7 147 passed, 0 failed, 8 ignored across 13 binaries, rc 0; the one sha for the node lane's last re-cut of (c). A02 lane connectivity (row 106; POW-02, POW-03): fixed by construction, every class with a v6 flag reserving five non-load slots as shuffles over the five lane dimensions in a drawn order (tests/v6fold.rs v6_draw_connects_all_lanes_and_keeps_mad_bijective_by_construction, 64 seeds x 4 classes); the overnight census POW-03's. A03 per-site concentration (row 107; POW-03, ADV-02): the census hand's, not applicable on v5 and v6 (uniform inside every window; the v2 cause closed by (c') and (a'); cdbdda05). A04 the acceptance's execution model (row 108; POW-02, POW-04): fixed by construction since class v4 sub-version 3 (the acceptance executing the shadow block as the hash does; a zeroing shadow failing acceptance, tests/packs.rs a04_a_zeroing_shadow_fails_acceptance); tonight's two predicate faults found by lane D (a +nowin or +reg64c program, and a multi-width era, judged by the class v2 parts on the chain's path) fixed at 04442d9ca and b24dfc162 under test (every_v6_flag_keeps_the_class_v4_acceptance_shape). A05 (row 109): the attack seat's 5a, fixed by construction. A06 program identity (row 110; POW-01): fixed by construction: the id recipe carrying the era draw ("era/" bytes), the generator byte and every class flag; the pack carrying program, dataset and era identities and identity.json authenticating every kernel text by BLAKE2b-256 (a06_program_json_hashes_every_kernel_text). A07 dispatch alignment (row 111; POW-02): fixed by construction: the verifier's bound hash the lane of the aligned 32-nonce group across tails and the low-32 rollover (a07_bound_hash_is_group_aligned_across_tails_and_rollover); the launchers refusing a job whose nonce_start is not 32-aligned or whose count is not a multiple of 32. A08 bijectivity (row 112; POW-02, POW-06): fixed by construction: a v6 mad never naming its destination as its second source; the fuzz corpus POW-06's. A09 exhaustion (row 113; POW-04): not applicable: no rejection pass for lane connectivity exists; the attempts census r 0.154 at width 4, 0 exhausted in 3,000 eras (lane D's 6.11). Review B on the object: F03 ProgramClass::V6 at generator 6 (program_class_v6_is_generator_6); F05 the closed prefix form proven equal on every source register (reg64_closed_form_equals_the_reference_fold_on_every_source) and measured on the 5090 and 4090 (neutral to worse on a GPU; the chip pricing the adversary lane's), no object change; F06 the liveness rule wired behind the reg64 flag, every v6 flag keeping the full rule and the attempt cap (reg64_liveness_rule_refuses_the_subset_fold_and_passes_the_full_chain through accept::check); V6-02 the executed-load counters with the agreement assert; found and fixed by the corpus: bind::unhex's panic on a multi-byte character (POW-06); GOV-05 the line itself. + +THE SIXTY-FOURTH LANDING AND THE 21:0x LINES (BST). The sixty-fourth landing on master at 1d499ab3. A FAULT OF THE HASH LANE'S, REPORTED ONCE (21:0x): the V6-02 commit (0266c9ec0, in 9c4e42473) made Program::loads_per_hash report the executed count (256 under the window) and accept.rs sizes its per-site arrays from that function, so for every reg64 class the acceptance's verdicts moved: the re-export of hl-v6-all at 43f1b1581 drew program id 0x1626c5853aa84261, not the object's 0x4de7b836cc40a4ea; found in the lane's own read-back of the re-export at 20:57 after naming 9c4e42473 green at 20:55; the node lane held the cut at 20:58 and went back to (c) 1a21d1ec (ac86d7910, whose acceptance is the object's; six suites green, the pair and canaries placed); the fix (the acceptance and the draw reading the drawn count as before; the executed counters separate functions the emitters alone read, program.h and program.json, with the agreement assert) committed and pushing; the re-export on build-5 reading back the id before anything is named; the corrected sha with its green and the id 0x4de7b836cc40a4ea by 21:25, then the one last cut. Nothing in the verdict line changes (the tests the same, the object's pack and id standing); the four P01 references and the fleet's F05 rows were read on packs of the object's draw (6df3d430) and stand. THE CLASS: a reporting change inside a function the acceptance consumes is an object change; a green suite does not catch it when the suite compares against pinned packs of the same tree; the read-back of the exported id against the object's is the gate. V6-10's rows all read back ahead of 23:30 (docs/analysis/v6-10-guest-repin-2026-10-08.md, b5b82c958 on p22-stage-2): the deterministic rebuild (three builds, identical ELF and vk bytes; pin 7d38077df); the rebuilt host reading the pinned ids back on build-2 and build-3 (--mode id; SP1's key setup deriving the manifest's id before each prove); genuine compressed proofs under the new pair: the old fee mode (fixtures/fees-v1-shards2.json on build-3: VERIFIED, prove 111.1 s, 1,272,961 bytes, verify 0.035 s), the new fee mode (a block exported from the D4 node 930b6322 with proving_payment_activation_daa 0, fixtures/d4-block-149-payment-on.json on build-2: VERIFIED, prove 68.5 s, verify 0.079 s); the exporter replaying the D4 node's 149 segments with every state root equal; the tests green on build-2; the stated limit: block 149 carries no transactions, so the new-mode proof exercises the mode, not a moved wei (the transactions row owed with the D4 merge onto 2.0.2); one class found: the exec RPC reading provingPaymentToPool as "some transaction paid" (false on an empty block with the mode on), fixed on node branch proving-payment-flag. V6-08: the Mac a push host from here; both self-tests re-run on build-2 (box-prover: chain_health 11 cases, task_mode 5, shard_candidates, preflight_verdict 8; prover-outcomes: 8 log jobs, 4 state rows, conservation), rc 0; the node side 7d6cbd21 on v608-proving-tasks-node (igneum-exec 94 passed, its 8 among them, one failure the tip's own reannounce_slice test, the node lane's); the final sha at 02:00. Stage A of the 2.0.1 roll closed at 20:56:53: all 24 kept mining boxes on the kit ("igneumd 2.0.1", 013986fe / f922b216 read back on each, the reference stream served, the pack gate PASS), no Illegal instruction, no refusal, no error; hub-1's last 300 EVM blocks after it on 9 distinct keys (lp-4090-12's solo key stopped at 20:48 fading at 127; the fixed miners' keys 0x8db0505b 56, 0xe12b8e7e 44, 0x53fe9802 40, 0xab46e78b 16 and four small): the chain's fresh blocks the fleet's again; stage B (the 40 non-mining nodes) rolling in tens since 20:56:54, then the 23 peerless on empty datadirs, dn2-2 last, hub-1's miner on the shipper's word; no lock yet, the signing climbing; the F05 and F10 pods destroyed on their done lines (evidence read back on build-1 first). The adversary lane's 21:30 delta to the landing hand at 21:05 ("complete bb8cf8c30": the placed 32-lane comparator and band, the ticket reconciliation, the formal memory model, F05 on both shapes, the layer-8-off hybrid row, the transition matrix, the batch adversary-20261008-placed-8lane with eight cases); the placed 32-lane full core at 22:45 its own delta. +FLOOR LANE 2's SLIP, ONCE (21:0x BST): the pod's 60 GB disk filled (24 GB of gate-level VCDs from ten parallel runs); the window core's route written, its row re-run from the routed netlist (parasitics from global routing, the SPEF unwritten, plus or minus 15 percent) landing 21:40; the tile and crossbar rows relaunched and the core8r64 and core32 placements resumed from their last written stage, 22:30; core32r16 and core32all after; read back (22 GB free, the netlist present, the relaunched runs alive); the Makefile deletes VCDs after each power report. +V6-08 AT ITS 02:00 CLOCK, DELIVERED 21:0x: the igneum branch v608-proving-tasks at 7bf33fd1b (the design, box-prover.py, prover-outcomes.py, the gate line in pre-push.sh and checks.txt), the node branch v608-proving-tasks-node at 201d40d2 (off successor-2.0.1's tip ff35cf26, to the node lane's gate); read back on build-2: igneum-exec 95 passed, 0 failed (eight V6-08's, known-failed first); cargo check -p kaspad with the igneum-pow feature rc 0 (the freeze guard off for the check only, master's igneum-pow a65e4c5a not the freeze's cbc5bd0a); the two python self-tests PASS; two 2.0.2 tip faults found and fixed by the node lane (igneum-exec not compiling on a let chain in an edition-2021 crate; the re-announce ring test disagreeing with its function; db096a6e, ff35cf26); the word to land given at 21:1x. +ECO-05 BATCH 02 LANDED AHEAD OF 22:00 (21:07 UK, floor lane 3, read back on build-4 and from the mirror): the driver reading the override back on its first line (the RX 7600 at 5.4 microjoules and 15.79 MH/s, modelled; the B580 at 10.0 microjoules and 11.0 MH/s, watts estimated), 2,592 cells per cube at both proving efficiencies on P12's approved grid; 6 of 48 world-demand cells sustainable (10R at 0.03 and 0.10) against batch 01's 3, the added world on a 1.6 percent margin of the 7600's modelled entry cost; 0 of 108 cells per specialist passing all three envelope lines; RUN, FAIL, unchanged; run eco05-20261008-02 at manifest 3f2050ab written to ECO-05, ECO-01, ECO-08; box master 4c679226, all eight mirrors; master's rows at 21:07: ECO-05 FAIL, ECO-01 RUNNING, ECO-08 RUNNING; one slip once (a 20:57 attempt ran master's driver without the override hook and reproduced batch 01, discarded); batch 03 on the metered 7600 knee the morning's after the AMD-and-Intel lane's row (about 05:30). +F04 ON THE REFERENCE APPS (master 2caa033a2, 20:46 UK): the light service mapping lockKind to lock_state beside every certificate (/light/checkpoint, /balance, /receipt); /light and /receipt printing "recovery lock, not final"; the receipt file carrying lock_state, the one-file verifier printing it and refusing a receipt claiming final under a reported recovery lock; the terms block on all three pages; /oracle and its README saying recovery locks are not accepted by the Sepolia verifiers (two-thirds only, fail closed; no contract change); run ra-20261008T1915-ver recorded (VER-03/04/06/08 RUNNING with the F04 cases in coverage; VER-01/02 FAIL by design; VER-05 in its own cell FAIL on this run: the public read node reporting startedFrom snapshot where it reported genesis at 17:46, the build-server lane asked which restart, default the row FAIL with the reason). Read back: the light service on build-1 restarted by its unit's pid at 20:47, answering checkpoint 270 with no lock_state field yet (the node has none until the 2.0.2 field); the pages not yet served (the edge last-modified 19:47:18 GMT: the rolling deploy retired under the founder's word, master's pages riding the site lane's next deploy). +THE F04 PAGES LIVE (read back by the reference-apps lane at 21:1x UK): at the edge since 21:08:23 (last-modified 20:08:23 GMT on /lc/core.js, fetched past the cache): /light and /receipt carrying the Recovery lock definition and the lock-state code (lockStateOf in the served core.js), /oracle the "recovery locks are not accepted by this verifier" line; the site lane's deploy took master 2caa033a2 on its own landing; the served text unchanged until the node's 2.0.2 field pairs. +BATCH 02's MEANING (the research lane, 21:1x UK): the added world (10R at 10 cents: USD 316 M a year, 14 to 16 classes across 2 vendors) rests on a 1.6 percent margin (the 7600's modelled entry cost 1,206 against the 1,225 equilibrium), kept by a metered knee at or below 5.4 microjoules and taken away above about 5.6, so the morning's batch 03 decides one sustainable world and no verdict; the served ECO-05 sentence made exact now on the coordinator's word ("one world on the measured cards; a second on the RX 7600's modelled knee, which the metered row keeps at or below 5.4 and takes away above about 5.6; FAIL either way"), in the design's 10.0x for the amendment landing. +THE KIT LANE's TREES (21:09 UK): master 2caa033a2 (the counter-asic-4 code revert 98976b31 in) merged clean into class-v5 (025978de3, page tip 534078bb9) and class-v6-kits (43ed8d9e9), one full gate each GREEN in ci mode on box 2 (87 checks; tools/class-v5/gate-remote.sh running the gate in ci mode on box 2 after local-mode runs read environment reds only), both on both mirrors; class-v5 (the (c''') floor, the AP-F4-1 agreed form, the verified last resort, spec 1.4.7 and 1.8.6, the harness and the kits) told to land itself through the merge tool (its Mac gate the push host's text checks, no cargo; rule 24's crate gate on the box). + +THE MASTER-LANDING LOCK AND THE REGISTRY ON 12b5cf42 (21:11 UK, the steward). The lock live on build-1 (/srv/builds/_locks/master-landing, holder "pid host branch utc"; self-tested: taken and released, a stale holder reaped, a fresh holder queued to the cap, master merged into the branch under the lock stamped as the union of two gated parents; two classes found and fixed with self-tests: the reap threshold was the wait cap, now IGNEUM_LOCK_STALE 1200 s separate from IGNEUM_LOCK_CAP 1200 s; the lock's globals shadowed by locals inside lock_acquire, the first live run queuing behind an empty holder for 7 minutes, stopped by its pid file); the INT landing under it: box mirror master 12b5cf42 (merge of ci-int-suite 79f7f78c, 88 checks, pushed on try 1 at 21:11, every mirror); the F03 landing queued behind it (refused only for its own text conflicts in three append-only check lists, resolved; its gate on c0516d3a, landing about 21:20). THE REGISTRY on 12b5cf42 (written only through test-record.mjs): 18 suites, 190 cases: NOT RUN 182, FAIL 6, PASS 2, 73 in progress; GOV 8 NOT RUN; GPU 8 NOT RUN; POW 8 (FAIL 2: the two kills, NOT RUN 6); ADV 8 NOT RUN; ROT 8 NOT RUN; ECO 8 (FAIL 1: ECO-05); EVM, ZKP, CAP, INC 8 NOT RUN each; FIN 8 (PASS 2: FIN-02, FIN-07); VER 8 (FAIL 3: VER-01, VER-02 by design, VER-05 on the snapshot restart); OPS, UX, COM, LEAD 8 NOT RUN each; REV 44 NOT RUN; INT 18 NOT RUN. The served /acceptance embed the site lane's copy from before the landing (17 suites, 172 cases, no INT), the regeneration from 12b5cf42 asked of the site lane for its next landing. On master since 21:1x: the shipper's per-case batch form (UX-06), the energy lane's GPU-03 batch (NOT RUN in progress), the census lane's census:class-v6 PASS. +V6-08 LANDED (21:12 UK, read back from the mirror): box master f8b7883ee (Merge v608-proving-tasks 7bf33fd1 into master; the branch's full gate 85 checks in 377 s, the merge's light gate 7 in 52 s; rule 26 touching no moved path; no registry rows); the node side 201d40d2 on v608-proving-tasks-node with the node lane for its gate onto successor-2.0.1; nothing open on V6-08. +THE WORKERS PAGE's MINI ROW AND THE DL HOST (21:1x UK, the build-server lane): merge-workers.mjs on build-1 emitting a "mini" row ("igneum-mini, the Mac build box, M6") from /srv/workers/sources/mini.json, down after 120 s, appearing when the mini's own launchd collector pushes mini.json to build-1 (the relay lane's step; the founder's LAN unreachable from the boxes); the page 9 of 9 up at build.igneum.network. A blocker, not a slip: the Arc kit for PC 2 (the gen6 zip 735e1411) and its jobs cannot reach PC 2 tonight because the OTA feed and the kit publish through the dl host (igneum-dlsite on Vercel) and three concurrent Vercel deploys are running (the 17 GB class the founder flagged); the kit staged and the jobs signed locally, publishing on the first clean dl deploy (the dl-publish-from-build-1 migration at 21:30); the Arc row the morning's. +THE DL BLOCKER WITHDRAWN (21:14 BST, the build-server lane, read by pid): one deploy of igneum-dlsite, a single process tree (pids 68043 to 68784, cwd igneum-dlsite, about 1.5 minutes elapsed) from publish-jobs.sh add --kind update-now --title "2.0.1 is published urgent" (the OTA notice following the shipper's Windows 2.0.1 entry live at 20:56), an owner and an in-tree pid; the "three concurrent" was that tree's descendants miscounted; the 17 GB class not recurring (one deploy about 6 GB); the Arc kit's dl deploy serialized behind it, the Arc able to run tonight; the dl-publish-from-build-1 migration the durable path, its first clean deploy's time the line carried. The shipper's Windows 2.0.1 entry live at 20:56 (read in the build-server lane's line). +THE SUCCESSION CASE ON THE F01/F02 FIX NODE (3f672661; the two-record shape, floor 360, window 300; build-8, 20:56 to 21:14 UK): five of six refusals read, each on the right ground (below H the next pair refused on its pair and the prior pair on its statement; in the window both on their statements, none on a pair; after H+W the prior pair on its pair), nothing paid, no stale refusal replayed (the F01 shape gone); the sixth (the next-pair proof after the window) unread for a harness reason (the attacker's one mining thread keeping its dead chain ahead of the honest pair for over 150 s, its last carrier never read); the harness pausing the attacker's miner for the rejoin (58c4bda99), the rerun from 21:15; one slip once: the harness RESULT and the registry batch 21:30 to 21:40. The p22-stage-2 landing in flight on the box master (the stages' code and documents, elf/ unchanged at the served pair; pin C held on p22-stage-2-pin since the 2.0.1 kits embed master's elf/). +THE POOL PAIR's FINDING (21:1x UK, the pool seat, the cause CORRECTED at 21:2x): UX-05 PASS in the crate (suite 51 of 51 on build-2 at pool-2.0 e063fdcd: the vote-key known-pass and known-fail, the open pool's sidechain key check, the same-nonce-other-template wrong_hash, the TLS binding; batch pool-2.0-20261008-02); the live pair (build-2's devnet-4 node, the pool daemon, two CPU members) reaching authorise, class v5 seeds, jobs and shares, then every share read wrong_hash. The first reading (a class v5 igneum-pow version skew between pool-2.0's release-2.0.0 base and the node) was WRONG and is struck: the pool lane read back and the pool seat confirmed from the three binaries that pool-2.0 e063fdcd's igneum-pow is byte-identical to the freeze 1c420786 (tree 93c36844, fingerprint cbc5bd0aa10585c8 on the node, the pool and the member alike), with the identical epoch seed 1a87e870, day 20734, class v5, era 7c36b833. THE REAL CAUSE from the retained logs: build-2's node never reached synced on devnet-4 (looping on "class v5 execution catch-up" against peers that keep closing the connection), so the class v5 state leaves the pool and members fetched by igneum_getPowStateLeaves for the epoch's seed block were the still-settling catch-up state, not the node's state at template time; a class v5 lane hash over unsettled leaves does not match the node's. THE CLASS TO KEEP: a class v5 pool needs its node fully synced before it verifies shares, because the dataset is keyed on settled execution state. The pair brought down by pid; the live UX-05 and UX-04 rows re-run on a synced devnet-4 node with the 2.0.2 kit (pool-review-b-202 off release-2.0.2); the registry batch 03 carrying the corrected cause; two real pool fixes landed on pool-2.0 and in the 2.0.2 take (the class v5 day-state provider, the base unit from the node's network), gaps any 2.0 pool would hit. +The build-2 pool pair down by pid file (m1 lease 1483266, m2 1484824, the pool daemon 1398825, the node 993506; 0 attack-pass leases, 0 pool2 processes), read back 21:1x; nothing of the pool seat's on any box. +CLASS-V5 LANDED (21:17 UK, read back from build-1's mirror): class-v5 14febf3b5 on master at dcc59359a through the merge tool (its gate GREEN on 14febf3b5, 87 checks; rule 26 and the evidence check passed; the five mirrors the same sha): the (c''') floor and its census, the AP-F4-1 agreed form, the verified last resort, spec 1.4.7 and 1.8.6, the harness with the attempt-3 check, the class v5 kits and the page; one slip once (a page row committed on the branch while the first merge run gated it, so the stamp missed the tip and the tool stopped; the class: no commit on a branch while the merge tool gates it); class-v6-kits 8da8ed574 landing the same way from 21:18. +THE HOUSE BAN AGAIN (21:17:45 UK, the shipper, from the mini's 2.0.1 node log): the mini's node refused a relay block (f09df69b, the carried-proofs path above the fork in its kept datadir), dropped build-1's seed as "misbehaving: re-advertised the refused block", and the two public seeds answer "peer is banned": the house IP banned again as at 19:30, so neither the mini nor PC 2 (same house, no peers since 21:05) can peer (the inbound cap not the cause: build-1's seed accepted the mini at 21:17:45 before the mini dropped it); the fix: the fleet lane unbans the house IP on the seeds with the ban list read back; the mini and PC 2 restart their nodes on EMPTY datadirs (their kept branches above the fork trigger the refusal; the fleet's rule for the peerless boxes), the mini by the shipper's hand after a line to main, PC 2 by the relay agent; the rejoin class (an IBD marking a proof-wait block refused, then the N6 ban) the node lane's e9ab052f on 2.0.2; the seed topology (the fleet's nodes stop dialling the public seeds; build-7 and build-8 at 128 inbound; the RunPod seeds at 32; seeds.igneum.network from 2.0.2) the second fix; lp-4090-07 (213.192.2.71:40045, a packaged dial target) reading closed at 21:18, its restore asked. +THE ACCEPTANCE FIX HOLDS (21:2x BST, the hash lane): the re-export of hl-v6-all at class-v6 bc2deb208 reading back program id 0x4de7b836cc40a4ea (generator 6, attempt 0, loads_per_hash 256) on build-5, the acceptance the object's again; one slip once: bc2deb208's suite one red (the pinned-pack byte-identity test, a comment on program.h's define lines), fixed in the next commit; the final sha with its green by 21:40 (was 21:25), then the node lane's one cut and the reg64 packs' re-export at that sha with their tarball shas by 21:55; registry batch 2 (bench:fleet-pods with the F05 rows on the post-review object, suite:pow on the review-fix tree) on master at d8a2fa323 through the recorder's replay. +THE F03 LANDING, ONE SLIP (21:20 to 21:28 UK, the steward): refused behind the INT landing on three append-only check lists, then three evidence-rule refusals of its own batch (prose in an evidence field reading as a path; the F0 page GOV-01's evidence, so GOV-01 moving with it through the recorder) until the check read clean at 21:20; the gate on 75bc6f5e, landing under the lock on green: release-manifest-check with the provenance rule (the proving manifest's source_commit an ancestor of HEAD), build-from-manifest, the same-work spec page, p01-vectors --job-context/--phase (self-tested on a fake worker across the boundary), the map cells harness:release-manifest and harness:same-work (R2-F03-R01 to R03 off the not-run list), the batch f03-manifest-20261008-01: R2-F03-R01 PASS on release-2.0.1's final tip c30ab32c (every component building from the manifest on build-4 at 21:14, the pool included now that the release tree carries pool-review-b; the log on build-1 under /srv/artefacts/tas/f03-manifest-20261008-01); the F0 page's cut-tip row naming c30ab32c beside the shipped tip aa0e0f45. +THE AMD/INTEL REGISTRY LANDED (21:20 BST, the landing hand): box master c170cf4e0604ae98c497ec8aa57de1542fd2551e (Merge amd-intel-energy-registry-docs 92dc857d; 88 checks, the evidence rules green): the cell bench:amd-intel-energy, the batch amd-intel-energy-20261008-01 replayed (GPU-03 NOT RUN in progress), the harness page regenerated; thirty-one landings. The adversary lane's delta (bb8cf8c30): gate GREEN, master merged, then refused by the evidence rules: multi-family-adversary.md changes and master's rows ADV-01 to ADV-05, POW-03 and POW-07 name it as evidence; the lane's batch covering ADV-01, 02, 03, 04, 07, 08, POW-03, 04, so ADV-05 (the adversary lane's) and POW-07 (the steward's kill cell) must move in the same landing by their owners' batches; the sha 21:45 if the owners answer by 21:35. +The adversary delta's two rows: run_id team-2026-10-08 is the coordinator's (the approved registry's tonight-evidence records at 50ff1611f, before the recorder); the landing hand records the one-cell repeat batch for ADV-05 and POW-07 at the delta's manifest, named as the coordinator's register landing, master's current statuses kept, and lands the delta. +THE SEED TOPOLOGY READ (21:16 BST, the build-server lane): all three box seeds already at the 128 inbound cap (build-7 and build-8 igneum-dn4-seed --maxinpeers=128 on 0.0.0.0:26631, active; build-1's seed and hand the same on 26631 and 26671), the 32 cap the RunPod containers' only; the fleet's own nodes dropping the public seeds from their dial list the fleet lane's env change; the public seeds' 128 slots for home miners. LANE D's 6.12 ON THE FROZEN OBJECT'S TREE: PASS (21:2x BST; class-v6 ac86d7910, the full class string mx8+sh256x27+state+reg64c+nowin+fold+rw, the packs' draw read back equal on both ids): under the harness's predicate, width 4, 3,000 eras: r = 0.144, mean attempt 0.17, max 4, 0 exhausted, (c''') 0.46 percent of reaching candidates; under the crate's OWN predicate, width 4, 1,500 eras: r = 0.137, (a') 8.4 percent against the harness's 8.8, (c''') 0.40 percent: THE TWO PREDICATES AGREE on b24dfc162's fix (on 04442d9ca the same column read r 0.05 and (a') 0), the row the freeze asked for; width 1, 1,500 eras, r = 0.134, 0 refused by either floor; the bit-R read at 6.11's level (over 300 sigma in 3.9 percent of eras, the fold's half); attack-f8 on the mirror-valid subset, 64 of 64 seeds at 2^20: 0 hot sets, 0 over 1.2x, 1 of 64 on the bucket class; the verdict PASS on the acceptance's side of the frozen object under the full rule and under the rule the chain runs, now the same; the landing held by the evidence rule (the steward's kills-20261008 batch citing lane D's then-unlanded log post-w4-family_gate_era_census-0-3000.tsv as POW-03's and POW-07's evidence), the fix a repeat batch for the two rows named as the steward's inside lane D's landing (not a rename, which would leave a stale citation); the class for the recorder: a cell citing an unlanded file should be refused at record time; the hash lane's V6-02 slip named in 6.12 as theirs, lane D's rows binding ac86d7910 only. +THE THREE EVIDENCE CLASSES CLOSED IN ONE STEWARD LANDING (ci-evidence-added off master c170cf4e under the lock, by 21:40 UK): the kills-20261008 batch re-recorded with POW-03's and POW-07's evidence narrowed from the class-v6 directory to their own files (FAIL kept; the directory citation the steward's, firing on every class-v6 landing); rule 2 binding modified and deleted evidence files only, so a file first appearing in the tree lands free (lane D's 6.12 needing no repeat batch); the recorder refusing at --record a relative evidence path that is a directory or not in the tree, with self-tests. THE WINDOWS 2.0.1 ENTRY live at 20:56:34 BST (Setup ce6bb00c, both token folders and the public alias, read back from the dl host; the manifest urgent since 21:11:28, which the mini applied on at 21:11:42); the combined exes the build-server lane's about 21:30. THE HOME RESTARTS HELD on one fact (the shipper, by 21:35): PC 2's 2.0.1 IBD from the seed ended at block 3847 on "the proofs of 10 carried records are not held yet", and no empty-datadir node on 2.0.1 has synced past 3847 since the outage (the fleet's peerless boxes starting their fresh syncs; four that tried across the fork reading the same class); the first one past 3847 and mining the word for the mini and PC 2; a stall at 3847 means the home machines wait for the 2.0.2 node entry (the record store following the block store with the IBD skip, the top of 2.0.2) rather than churn. +A coordinator order withdrawn once (21:2x): the "PC 2 restarts on an empty datadir by 21:45 regardless" conflicted with the shipper's hold on the 3847 fact; the relay lane refused to pick by guess and asked; the hold stands (the first fleet box past 3847 on 2.0.1 or the 2.0.2 node entry is the word). +THE ADVERSARY DELTA's ROWS (21:3x, the landing hand): the repeat batch first proposed (ADV-05's owner_lane on master reading the k lane with no map cell) dropped once both owners answered: the adversary lane recording method "model" on adversary:mf-placed and adversary:d2b with ADV-05 added to adversary:mf-placed as RUNNING; the steward's kills-20261008 batch re-recorded with POW-03's and POW-07's evidence narrowed to their files (docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md among them) in its evidence-classes landing by 21:40; the delta holding for that sha (polled to 21:45), rebasing on it and landing with no repeat of anyone's rows (past 21:45 without it, the POW-07 repeat alone); the sha about 21:55. +THE 3847 PROBE (21:3x, the shipper's word to the relay lane): PC 2 restarts fresh now as the probe for the one unproven fact (whether a fresh 2.0.1 node syncs past block 3847 or stalls on the carried records), its after-line (peers, synced, the tip, the first accepted block or the stall) within four minutes; the mini restarts fresh by the shipper's hand the minute PC 2 reads past 3847 and mining; a stall means the home machines wait for the 2.0.2 node entry, the clock said once. P22 STAGES 1 AND 2 LANDED (21:22 UK): box master 24896a8f5 (merge of p22-stage-2 fca720ec, gate green, all seven mirrors): the guest code (the inputs and derivation commitments, the carried fixtures, the versioned guest input format 3, the pin tool's provenance fields merged with the node lane's succession block), docs/design/consensus-proof-stages.md with stage 2 as shipped, docs/analysis/v6-10-guest-repin-2026-10-08.md with every row, proving/igneum-prove/elf/ unchanged at the served pair (pin C held on p22-stage-2-pin b5b82c958 until main names H). +THE HOUSE UNBAN AND THE TOPOLOGY (21:18 to 21:24 BST, the fleet): the house IP unbanned on dn4-seed (39 addresses cleared, one stuck entry re-cleared at 21:19), lp-4090-01 (34) and lp-4090-02 (4) at 21:18:55, lp-4090-07 holding none; the seed guard re-running the unban on those four every five minutes until the 2.0.2 rejoin fix (no allow-list on the node's ban path); build-1's seed and hand the build-server lane's (the same ask, 21:40 default). lp-4090-07's node died at 21:03:21 in stage B's restart on "While lock file .../meta/LOCK: Resource temporarily unavailable" (the new node started while the old one still held the datadir lock; the only such death among 65 rolled boxes), restored by pid files on its kept datadir at 21:20:01; the roll script now waiting for the lock's release before each start; the panic a 2.0.2 item. The seed topology: SEED on every non-hub fleet box rewritten to the seven hubs (lp-4090-02 to -08, every port open from the Mac), the 64 rolled boxes restarting in tens on kept datadirs since 21:24, stage C and dn2-2 taking it at their roll restart; the fleet-slot counts on dn4-seed and lp-4090-01 read at 21:35, 21:50 and 22:05. hub-1's lock line held: at 21:04:59 and 21:06:01 it logged checkpoints 263 then 262 LOCKED with "signed 0 = 0.0 percent" (pre-outage checkpoints at blue score 7,784 and 7,754, taken from relayed certificates, no local tally) while its own signing read 25.86 percent; whether rule v4 counts those as locks is the node lane's; the lock the register wants (two thirds of the weight signing on the fleet's chain) not yet come. The pid-only fleet tree (every stop through a pid file, 17 devnet-2-era scripts retired) in the merge gate. +THE ARC READ (21:3x UK, the kit lane): PC 2's job ran zip 2's kit, not zip 3's (every file sha in its RESULT lines zip 2's: kernel_bound.cl b2729b52 and fd550b21, worker 90aaa1f8, against zip 3's c97e630a, d83e6f14, be169903; the fetch not replacing the dir's old extraction), against the generator 6 expected value, so the "mismatch" was the kit and script pairing, not the device; the reading standing as the generator 5 Arc read: the B580 computing 59e6708e46f1e87c on the generator 5 all pack, equal to the other six, so the generator 5 record on the window object is SEVEN of seven (CPU, CUDA 4090, RTX 5090, Metal, Apple OpenCL, RX 7600, Arc B580); the generator 6 record at four of six (the Arc re-run with zip 3 in a fresh dir asked of the build-server lane, 22:30 default the morning's; the 5090 and 7600 the morning's); the identical leaves.bin across the two packs by construction (one era state, 93 leaves); the freeze wording gaining the Arc on the generator 5 side. +PC 2 at 21:23:14 BST: the restart run found the 2.0.1 node already with 1 peer (the unban reaching it between 21:19 and 21:23; "behind", not synced) and left it alone by the shipper's guard, the datadir in place; whether that peer carries it past 3847 with the kept datadir or hits the carried-records wall read within two minutes; the shipper deciding on the empty-datadir probe. +PC 2's read at 21:23:33 to 21:23:35: peers back to 0 ("waiting for a peer on our chain"); the node on its kept datadir refusing the network's block 4c51b17a by rule, banning two peers of its own for re-advertising it, its IBD ending "parent 306271ad is invalid": the kept datadir on the old branch rejecting the fork's chain, the stall case the shipper pre-authorised; the empty-datadir restart running on PC 2 from 21:24 through the relay agent (api/quit, the devnet-4 datadir moved aside and kept, the app started, 20-second reads for 150 s, the probe's verdict verbatim about 21:29); PC 2 the fleet's probe for the 3847 question. +THE NODE LANE's 21:40 LINE. (1) The fresh-sync read: one empty-datadir 7cfa422a node on build-1 dialling the seed, the hand and both hubs, 21:20:36 to 21:23:07: IBD taking the first 3,600 blocks with one-block reorgs, then the executor stopping at tip 1,943 (DAA 3,600, the epoch-1 boundary) for 90 s with "IBD: a class v5 header chunk waits for this node's execution state (class v5 needs the execution state after the epoch's seed block 92137840)", the seed at 6,162 by then; the 90 s window inside the class v5 catch-up's own wait at an epoch boundary, so not yet the fact (it stopped before the 3,685 to 3,847 band where PC 2 and four fleet boxes stall on "not held yet"); the rerun with a five-minute window from 21:34, the result about 21:50 (past 3,847 means the fleet's boxes stalled on their syncer's record gap, not the chain; a stop at 3,847 names the record). (2) The fix's clock: the record store following the block store (the proof bytes of every carried record persisted under the block store, surviving restart and reorg, pruned with the block); IBD taking a block whose carried records nobody can supply only when it lies under a locked checkpoint (the certificate's two thirds standing for the records; the node's exec state following the network's; logged once per block), never an endless wait and never a ban; above the last lock the rule standing; on successor-2.0.1 by 22:45 with its known-failed test (a joiner against a peer whose record store lacks a served block's records syncing past it under the lock), the 2.0.2 pair with read-backs by 23:15, the shipper cutting the 2.0.2 node entry from that sha. (3) hub-1's 262 and 263 at 21:05: locks under the rule (the certificate arm, a received certificate re-tested against both tables, as 270 was), not recovery locks and not an artefact; the LOCKED line printing the node's OWN vote tally (0 on a node partitioned at those indices); backfill of pre-outage indices, so not "the first lock after the roll" (that line: the first lock at an index determined after the roll with two thirds signing on the fleet's chain, still owed). (4) lp-4090-07's LOCK panic a 2.0.2 item: the datadir lock refusal naming the holder, waiting up to 60 s, then exiting clean. +THE FLEET's PID-ONLY TREE (21:33 BST, the fleet): box-prover.py's stops through pids (the SP1 server by the pid owning its unix socket, read with ss -xlp and written to /root/fleet/pids/sp1-server.pid; the worker through its parent miner's pid); 27 files in tools/fleet carrying pkill or killall: the live ones converted to the shared helper tools/fleet/lib/pidkill.sh (kill_pidfile, kill_children by parent pid, kill_sock_owner) and fleet-stop.sh (lib/box.py's three stops, box-kill.sh, kill-node.sh, box-ember.sh, box-rig.sh, box-matrix.sh, box-floor-v5.sh, lib/standing.py, publish-2-move.py), 17 devnet-2-era scripts moved to tools/fleet/retired/ with a README (git grep over the live tree zero); sha 34d4d45e on fleet-pidkill-20261008 in the merge gate since 21:33; read back on tas-p01-3090 under the shim (pkill -0 sleep exits 97; kill_pidfile and kill_children on demo processes rc 0) and on lp-4090-02 (the eight live files zero non-comment pkill lines); the push to all 102 fleet boxes with /root/fleet. +PC 2's PROBE, ONE SLIP (21:24:18 BST): the guard-off run sent api/quit and 90 s later the window host, the engine, igneumd and a miner were still up, so the run stopped by its own rule (no kill by name, no datadir moved under a live node); the cause read on PC 2 (the engine's quitting flag, the app log's quit and node-stop lines, the processes with start times); the restart again the minute the cause names the step (the quit through the engine's own path or by pid); the verdict by 21:40. +F03's second slip (21:28 to 21:36 UK): the gate red on one check (the REV suite's generated form moving under the R2-F03 record, the generator and the recorder writing different key orders; the merge regenerating REV, the gate reading the tree), regenerated and amended as 1fd509d5; the evidence-classes landing (d7689a43) unaffected, 21:33 to 21:35. +The node lane at 21:3x: candidate (c) re-cut as e8773ff5 on the hash lane's final sha (core 184 and consensus 143 green so far on build-1, the rest, the pair and the canaries following), the freeze's last node-side condition; ff35cf26's placement and canary as the 2.0.2 node entry's sha for the shipper, then the 45e7b910 gate (V6-08 plus the finality-backed take) as the next cut; the 2.0.2 items: the proof-bytes persistence half (the archive at inclusion whether or not the pool held the bytes, served to joiners), igneum_getProofRecord, the relay and body-rule size caps against consensus-core's MAX_PROOF_BYTES, the LOCKED line's fractions, the datadir LOCK refusal, F01's two-node test, INT-15's v2 session binding, D4's merge (67912c80) after the freeze with the repinned next ids. + +THE FREEZE TREE FINAL (21:3x BST, the hash lane's closing line): class-v6 1a938abe408eacabf293e675cc30d8fafa03bc8f on the mirror, the suite on build-7 147 passed, 0 failed, 8 ignored; the five packs re-exported at it and read back on build-1 /srv/artefacts/packs/ at 21:26: hl-v6-all 0x4de7b836cc40a4ea (tgz 91314310...9858b1), hl-v6-all-nowin 0xbe1d6f48928cef4a (38ace2a8...9641b1), hl-v6-all-prefix 0x4de7b836cc40a4ea (d4b07747...cd87ce), hl-v6-foldrw 0xd7eba30115d26dd4 (02eff590...46cf8f), hl-v5-nowin 0xdace2893e7653830 (a321c79b...5e721b), all generator 6, each with identity.json; the node lane's one cut on it; the v5 lane's shas for zip 4; the word on nowin given (layer 8 stays on in the frozen object; the knee rows on PC 1 when the runner frees, the cap about 04:40); the hash lane's line closed. + +THE NIGHT RULE (main's words, the founder to bed, 21:3x UK): (1) From this line until 08:00 UK no lane takes a turn that is not a real change: a landed sha read back, a verdict, a measured row, a fault with its fix and clock. The "privately listed, what I need next" close-outs stop entirely; a lane with nothing to report ends its turn with no message. (2) Released, their clocks spent: the worker lane, the census lane, the finality lane, the Ember lane, the DEX lane, the reference-apps lane, the AMD and Intel energy lane, the V6-08 lane, the app lane once its 23:00 quit fix is pushed, the pool lane once the 23:30 binding switch is in, the comparative lane after its 02:30 first landing (its 09:00 chip model is tomorrow's). Staying: shipper, node, hash, fleet, steward, build-server, the research landing hand, adversary and floor lane 2 until their placed cores land, V6-07 until 01:00, relay until PC 1 and PC 2 read MINING-ON. (3) The coordinator sends main at most one consolidated line an hour, only if something changed; otherwise nothing until the 08:00 read-back (the freeze: which candidate, the sha, the object id, D1's status; 2.0.2: the cut sha, the entries, the fleet roll, the home machines; the chain: locks overnight, the key count, any stall; the census; the board: PASS, FAIL, BLOCKED counts; spend; faults with fixes; the morning items for the founder). (4) The freeze at 23:30 is decided under main's rule by the shipper, not held for main: candidate (c) if every suite, the pair and the canaries are green with the object id 0x4de7b836cc40a4ea read back; otherwise candidate (a) fixed; one slide to 00:30 at most; never the unfixed (a); if neither is green by 00:30 the register reads "frozen pending" with the cause and the freeze is the morning's first item. (5) 2.0.2 cuts tonight on ship-on-green by the shipper with the same authority; the home machines take it on the urgent manifest; nothing is done by hand on the chain overnight, the guards do their work, and a stall is recorded for the morning, not rescued. (6) No lane spawns a new lane overnight; a new fault is recorded with its evidence and a morning clock unless it blocks the freeze or 2.0.2. +A FAULT FOUND AT 21:28 (the build-server lane by pid; the coordinator's read at 21:29): a dl-host deploy running from the Mac with no recorded pid, `node /Users/joshm/Projects/igneum/tools/workers/push.mjs` (pid 47013, parent launchd, started 21:28:00; npm exec vercel 50070, cwd igneum-dlsite), re-hashing the 5.9 GB dl/ tree each fire: the launchd agent com.igneum.workers-push (~/Library/LaunchAgents/com.igneum.workers-push.plist), the old Mac workers publish still scheduled after the hand-over to build-1; the class the founder named; the fix: the agent unloaded by its label and its plist retired by whoever installed it (the site lane), never a kill by name; the build-server lane's one Arc deploy serialized behind it with its pid recorded. +THE LAUNCHD AGENT UNLOADED (21:30 UK, the site lane, read back): com.igneum.workers-push unloaded by its label (launchctl bootout gui/501/com.igneum.workers-push), its plist renamed .retired-20261008, launchctl list no longer showing it; its running upload (pid 47013) had ended on its own, nothing killed; nothing publishes from the Mac now but tools/site-deploy-from-mirror.sh with its pid file. Candidate (c) e8773ff5 all six suites green on the final tree (184/143/74/30/38/19), the pair building, then the canaries and the id read-back. The night rule broadcast to every lane at 21:3x with its stay or release. + A SHARED-DEVNET FACT FROM THE FLEET (not this lane's, with the shipper and the infra lane): the Hetzner live seed 188.245.5.161:26611 is still on the old override object (digest eada4bda) 1 h 40 min after the 0.3.20 sweep (the fleet never touches Hetzner nodes, so it was outside the sweep); the 0.3.21 wipe canary c22-1 took five digest-mismatch rejects from it; an app with the packaged peers is refused at the seed and syncs through node1 and the hub only, a fresh joiner with only the seed cannot join, the 14 voters and the hub are unaffected; the owner puts the floor file ov16-floor-900000.json (sha 294f1f80) and the c4459193 pin on it. 0.3.21's STAGING (the node lane): the order dry-merges onto 55768f88 with nothing moving to 0.3.22; the late-join fix is 52e96c94 (70e4601e rebased onto 55768f88, exec suite 33 green with both new tests); f067f7c1, b0444f51 and 437f0438 merge clean in order; 2e32d5f6's one conflict (DST_ADDRESS beside pool-finish's DST_BINDING in consensus/core/src/finality.rs) kept both; the live-file digest eada4bda after each (every switch at never); the staging waits on the shipper's sweep-end word; the re-pin held. PC 2 DOWN AGAIN (main, 16:5x UK): the founder takes PC 2 down for cable work (PC 1 back but his desk); both PCs out of the sweep's waves, each updates on its poller on return; no PC job to PC 1; the Windows G1 completed before the outage, nothing reruns. 0.3.21's SECOND GATE LINE on 55768f88 (sha256 279b1b690e854fc9): the ten-minute mixed-version gate beside the 5899f603 pair, 13:37:40Z to 13:47:52Z, SUMMARY PASS (one digest b0afb2ee on five nodes; 223 new and 381 old blocks accepted by the old hub, 0 rejected; counts equal at 319, 486 and 604 through both clean joins and the restart step at 13:45:22Z; no panic); the node lane's two lines on 0.3.21's first candidate complete, in plan 6.9 on ca3-v4-node; the fleet's set on it (the bare-child 12 GB line, the wipe, the kept read, the cases) is the fleet's. 0.3.21's FIRST GATE LINE on 55768f88 (sha256 279b1b690e854fc9, the string read back; pairing igneum-pow 8c728ca3 at byte 5): the digest gate 13:35:41Z to 13:37:19Z SUMMARY PASS (a89be8a7 on both binaries with the peers; db9a85f9 refused, no peer; the live file's eada4bda unmoved); the ten-minute mixed-version gate from 13:37:40Z, line about 13:50Z. The 0.3.21 order as the shipper sent it: 55768f88; f067f7c1 and 70e4601e; b0444f51; 6eb21fc9; db28d331; then the re-pin from 8bdcbdd8 on the coordinator's word; suites between, the digest read after every one; the mirror's release-0.3.20-node back at the pin c4459193, release-0.3.21-node open at 55768f88. THE LATE-JOIN COMMIT (N9's second half, the node lane): 70e4601e on the box mirror as branch proof-hold-fix, from c4459193, two files (igneum/exec/src/proving.rs, protocol/flows/src/v10/proving.rs); the gap was the fetch side on the joiner (the served record ran the native check against the joiner's trailing exec state before anything was stored, the check refused it, the proof was never held, the body rule read "not held" for 20 s and failed the IBD); the fix holds the proof by hash before the checks (the pool entry still needs them) and the serve side says when it holds fewer than asked; the exec suite 32 passed at 13:26Z with the known-failed shape first, the flows check green 13:28Z, igneumd on build-1 at the 0321 worktree path built 13:32Z, sha256 17649eeb2f7d1290, string read back; with the testnet lane (the resume form, B alone); it joins the 0.3.21 staging as its own commit. THE WIPE CANARY ON c19-1, c4459193 (sha 45be9b02d1b002f5, string read back): FORM END rc 0 at 13:50:53Z. Wipe synced 13:35:50Z (57 minutes, inside the 98-minute class); mining 13:36:00Z to 13:47:07Z, 66 mined, 66 accepted, 0 rejected, isSynced true at the tip throughout; the hub holds 41 of its blocks in its last 700 with 0 rejects (13:47:09Z); the restart on its kept datadir at 13:47:15Z: the old process stopped at once (the new process's first lock line seven seconds after the marker; the watchdog held nothing, the b7cc37e7 fault closed), synced again at 13:48:39Z after 84 s, 109 templates read with max 3,432 ms and 0 timeouts; the kept read on pool-1's 0.3.17 copy on the same pod passed at 13:38Z (the rewrite line once, a clean second start). The pin's set on c4459193: the digest gate PASS, the mixed-version gate PASS, the wipe canary PASS, the kept read PASS, the restart PASS, the 12 GB line proves and verifies (paid is a race, not a gate); CASES END from c20-1 (about 14:50Z) is the last pin line. THE INTEROP FACT stands from the void run: the 5899f603 hub accepted 235 object-byte-5 blocks from the 8097d600 node with 0 rejected, one digest on all five nodes on the live sixteen-field file. The gates: the digest test and the kaspa-pow vector test (the amended devnet epoch-0 id 1a4230699a6b9c60 must equal, c120d7963abdcd96 must differ, the v3 control unchanged) on the box; the mixed-version Devnet 2 gate (the amended 0.3.20 node beside a 5899f603 node for ten minutes on the live file without the v4 fields) after the Mac build; the fresh-join canary the 0.3.20 cut's | | Main's rulings (7 October, morning) | no generator change to v4 on the live devnet; the record's null is the window model with numbers, sent by the hash lane to the attack-pass lane so AP-F8-1 re-gates against it; a fault beyond the model (a low-entropy source at site 15) stops at the coordinator with the two options priced (a 0.3.19 class amendment before the flip, or the flip held at the floor), nothing shipping without the founder's word; the tighter tail, an acceptance bound on the hot-set share, is a CLASS V5 item (sent to the v5 lane a6410f3b8abefb762 with the 64-seed census as its gate; the bound's number follows from the model) |