From 449329dea0d7a8ca48baf64f5368ed381f6923a5 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Tue, 6 Oct 2026 00:28:40 +0000 Subject: [PATCH] Counter ASIC 2.0 status 00:36: the 0.3.12 list with the paid_wei fix first, the settings.json rule for PC 2 playbooks Co-Authored-By: Claude Fable 5.1 --- docs/plans/counter-asic-2-status.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/plans/counter-asic-2-status.md b/docs/plans/counter-asic-2-status.md index 0dd03ab07..ec9f1b5aa 100644 --- a/docs/plans/counter-asic-2-status.md +++ b/docs/plans/counter-asic-2-status.md @@ -713,3 +713,14 @@ The key-buffer growth fired as designed ("grow key buffer 36,700,160 -> 91,226,1 agg-cost-pc2-4 (00:18:26 to 00:22:05Z, exit 0): card_off and card_on both read "no nvidia card in the state" against 0.3.11's /api/state, so the app's CUDA worker kept running, the pause left 3 miner/worker processes after 120 s, and every phase (D, E20, E18, E16, E0, H) was voided by the job's own double-mining guard; the miner resumed and the prover switched on at 00:22:05Z (the 5090 at 95 percent). Fix assigned to its agent: the parser for 0.3.11's state shape and one refusal before the pause; job 5 takes the slot after sweep 4, M16 and the repro job (about 00:50Z). floor-sweep-4 (mine-and-prove: 2^26 on the v1 and empty shards, 2^25 and 2^27 on the v1 shard, the 5090 mining at full rate, 3 minutes) has its go at 00:23. The prover-floor write-ups are in (prover-floor 251154d: the bench-log entry with the nine rows and the idle-subtracted figures, docs/analysis/prover-floor.md with the model, the hang diagnosis, the patch's three steps and the tier table; the arithmetic for mine-and-prove on 12 GB, 8.2 + 1.8 = 10.0 GB of 12.3 before the display, so the "under 9.0 GB" row is not met alone and sweep 4 decides 2^25); proving-methods 0a00c08 (RISC Zero stays the Apple route only); proving-v1 docs 0a1ad9d (the tier table). A finding on the shipped fork from the ledger closer (00:21): kaspa-consensus test processes::pruning_proof::igneum_m20_tests::witnesses_are_checked_in_epoch_order_under_their_own_seeds fails on its Mac run of the ledger-fixes-0311 suites (fork fbb0082a on 89dfcb95; 99 passed, 1 failed, 4 ignored): the pruning-proof stand-in (igneum_pow.rs 114) fills era 0 with the genesis hash and the test expects EpochSeeds::v2's era ZERO_HASH (consensus/pow/src/igneum.rs 88). The code read: the node's RPC always reports Some(genesis) in era 0 (consensus/src/consensus/mod.rs 838 to 869) and the miner's legacy walk gives genesis (main.rs 504 to 536), so the proof code matches the node and the test's expectation is the odd one out; seeds_from_info's unwrap_or(ZERO_HASH) differs only against a pre-field node (a mixed case that ends at the three relaunches), and a v2 program reads neither field, so no hash changes. PC 2's combined suite job on the release tree reported kaspa-consensus exit 0, which disagrees with the Mac run; the single test is running on 89dfcb95 on the Mac under the build lock to settle it. Either way the next cut carries the test fix (the expectation, or v2() taking the genesis as its era) and the miner's unwrap_or aligned to genesis. + +## 00:36 the 0.3.12 list, in order; the /api/state defect (decided by main: next cut, no re-ship tonight) + +1. App proving-v1 6714a45: `/api/state` answers `{}` on every proving machine about 15 paid shards after an app start (paid_wei is a u128; serde_json refuses it above u64::MAX = 18.45 IGN; a paid shard averages 1.23 IGN; engine.rs 180 swallowed the error into an empty object). Consequence per tier: the dashboard on any proving 24 or 32 GB machine goes blank within about 12 minutes of its first payout and stays blank until a restart; mining, proving and payouts unaffected; every PC playbook that read /api/state failed the same way (agg-cost-pc2-4 tonight). Fix: paid_wei as a decimal string, the error logged once, a reply carrying `error` and `version`; a unit test; 114 app tests green; 2 files, 37 lines, no UI change. Workaround until 0.3.12: restart the app (12 more minutes of dashboard). Rule for every PC 2 playbook tonight (main, 00:35): card keys from the app's settings.json, never from /api/state (agg-cost-pc2-5 is built that way). +2. The miner resubscribes after a node restart, and the watchdog's "accepted or a template change in 120 s" rule (C43). +3. Per-day dataset reuse in the CUDA and OpenCL workers (the integrated tier's restart per epoch). +4. The M20 test expectation and the miner's era unwrap_or aligned to the genesis stand-in (pending the feature-gated run on 89dfcb95). +5. HiveOS: the override file in local mode (C41), rigs-mine-only README, IDENTITIES=auto, with the M28 worker-miner coupling. +6. The update-now job pre-empts a running job, or the STATUS line reports the queue wait; the relay clients named by machine id. +7. fud-close 647b08c (with ledger-fixes 3d4ec451 rebased onto the 0.3.11 fork), ota-k2, ember-tune, rig-install's two follow-ups, the explorer split (3e01212 safe, d7e797c waits), the step-1 "every new-side node has a miner" check in the publish runbook. +No further rollout tonight beyond the planned object sweep (done: every live node at 0139ab9d).