508 lines
29 KiB
JSON
508 lines
29 KiB
JSON
{
|
|
"title": "Igneum 2.0 test harness map",
|
|
"registry": "docs/plans/igneum-2.0-test-registry.json",
|
|
"rule": "a case maps to a cell only where the cell's tests visibly answer it; coverage names what the cell proves and what remains; a mapped cell's green writes RUNNING, PASS only when coverage is full and the evidence file exists; an automated case with no cell reads NOT RUN with its reason, never PASS by inference",
|
|
"cells": {
|
|
"suite:pow": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release (from igneum-pow/)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"POW-02",
|
|
"POW-07",
|
|
"POW-08"
|
|
],
|
|
"coverage": {
|
|
"POW-02": "partial: program derivation, ds55 geometry, the v6 fold, the packs and the spec read-back tests; the independent re-implementation and the index-fold census are the hash lane's harnesses",
|
|
"POW-08": "partial: the freeze list and the generator version pin; the public-claim scrub is the site gate's",
|
|
"POW-07": "the mixed FP32 branch is excluded and unreachable: no class flag reaches an FP op in igneum-pow on master (the mixedfp lane's branch is not on master); evidence the grep of the emitters on master, recorded by the hash lane"
|
|
}
|
|
},
|
|
"suite:app": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release (from app/igneum-app/)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"UX-02",
|
|
"UX-03",
|
|
"UX-07",
|
|
"VER-08"
|
|
],
|
|
"coverage": {
|
|
"UX-02": "partial: the engine state machine's pause, stop and knob tests; the operator study is UX-01's",
|
|
"UX-03": "partial: the card and earnings rendering tests; the net-earnings model against real bills is COM/ECO evidence",
|
|
"UX-07": "partial: the refused-update and manifest tests; the update-return lane's install classes are its own rows",
|
|
"VER-08": "partial: the app's own state-word tests; the wallet and light client rows are VER-01 to VER-03"
|
|
}
|
|
},
|
|
"suite:core": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release -p kaspa-consensus-core (from the node fork)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"FIN-01",
|
|
"INC-01",
|
|
"ROT-06"
|
|
],
|
|
"coverage": {
|
|
"FIN-01": "partial: the finality field and checkpoint tests on the object; ordering under load is the consensus suite and the sim",
|
|
"INC-01": "partial: emission, fee and payout arithmetic tests; the reconciliation over a live chain is the economics lane's",
|
|
"ROT-06": "partial: the dataset activation and digest tests; a live activation is the fast-time harness"
|
|
}
|
|
},
|
|
"suite:consensus": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release -p kaspa-consensus (from the node fork)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"FIN-01",
|
|
"FIN-03",
|
|
"FIN-04",
|
|
"FIN-05",
|
|
"FIN-07",
|
|
"ROT-05",
|
|
"ZKP-01"
|
|
],
|
|
"coverage": {
|
|
"FIN-01": "partial: the finality processes' agreement tests",
|
|
"FIN-03": "partial: rule v4's anchored table and authority expiry tests (bee41b5e)",
|
|
"FIN-04": "partial: the frozen table without its time expiry (rule v4)",
|
|
"FIN-05": "partial: key succession and another scheme's vote refused",
|
|
"FIN-07": "partial: majority-continuity recovery (rule v4)",
|
|
"ROT-05": "partial: the finality-stopped pause tests",
|
|
"ZKP-01": "partial: a proof-less or wrong-statement block refused by consensus"
|
|
}
|
|
},
|
|
"suite:exec": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release -p igneum-exec (from the node fork)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"ZKP-01",
|
|
"ZKP-03",
|
|
"OPS-04",
|
|
"EVM-02"
|
|
],
|
|
"coverage": {
|
|
"ZKP-01": "partial: a real proof verifies, a wrong statement and garbage are refused (nativeverify)",
|
|
"ZKP-03": "partial: a snapshot under another digest refused, the epoch streams bound to the digest",
|
|
"OPS-04": "partial: snapshot install, replay and genesis recapture after a crash",
|
|
"EVM-02": "partial: the replay tests on the day stream; the signature and chain-id binding vectors are an EVM harness still to map"
|
|
}
|
|
},
|
|
"suite:miner": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release -p igneum-miner (from the node fork)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"UX-06",
|
|
"UX-04",
|
|
"POW-01"
|
|
],
|
|
"coverage": {
|
|
"UX-06": "partial: the miner's own template selection tests",
|
|
"UX-04": "partial: payout label and share accounting tests; custody is the pool lane's row",
|
|
"POW-01": "partial: the pack re-check seam against the pack's 96 vectors (recheck_pack); the million-vector campaign is harness:p01-vectors"
|
|
}
|
|
},
|
|
"suite:p2p-flows": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release -p kaspa-p2p-flows (from the node fork)",
|
|
"box_class": "suite (gate priority)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"OPS-06",
|
|
"ZKP-06"
|
|
],
|
|
"coverage": {
|
|
"OPS-06": "partial: malformed relay messages refused; traffic containment under load is an OPS harness",
|
|
"ZKP-06": "partial: proof relay coverage tests; aggregation completeness is the proving lane's test set"
|
|
}
|
|
},
|
|
"gate:pre-push": {
|
|
"command": "tools/ci/pre-push.sh (every landing; the heavy checks ship to a box)",
|
|
"box_class": "gate",
|
|
"fixtures": [
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"GOV-05",
|
|
"GOV-06",
|
|
"UX-08"
|
|
],
|
|
"coverage": {
|
|
"GOV-05": "partial: every gate check carries a self-test that fires on a known failure and passes a known success (77 checks); the suites' own oracles are their mutation rows",
|
|
"GOV-06": "partial: the launch-gates, forbidden-strings and scope checks on the served site",
|
|
"UX-08": "partial: the site gate on every served page, plus docs/build/tuning.md (the published tuning and build-settings half, the hash lane's); the open builds and the fee conditions are the shipper's and the site lane's"
|
|
}
|
|
},
|
|
"check:freeze": {
|
|
"command": "consensus/pow/build.rs rule 19 at every kaspa-pow build; packaging/pow-freeze.txt and packaging/d1-freeze.txt",
|
|
"box_class": "build",
|
|
"fixtures": [
|
|
"F0"
|
|
],
|
|
"cases": [
|
|
"GOV-01"
|
|
],
|
|
"coverage": {
|
|
"GOV-01": "partial: the linked igneum-pow tree's fingerprint must match a listed freeze or the build fails, the binary prints which; the manifest (igneum_getManifest) names the object digest; the signed F0 manifest is the node lane's row tonight"
|
|
}
|
|
},
|
|
"harness:fast-time-60x": {
|
|
"command": "the v5 fast-time harness on the devnet object at 60x (infra/fast-time/override-60x.json; the node lane's run shape)",
|
|
"box_class": "harness (lease pool, never build-1)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F3"
|
|
],
|
|
"cases": [
|
|
"ROT-01",
|
|
"ROT-02"
|
|
],
|
|
"coverage": {
|
|
"ROT-01": "partial: hourly boundaries crossed at 60x with every node agreeing",
|
|
"ROT-02": "partial: the weekly and family boundary crossings at 60x"
|
|
}
|
|
},
|
|
"harness:finality-sim": {
|
|
"command": "igneum/harness-sim, the finality lane's scenarios (sim/results_v2.md, the Rule v4 section: N1, N1b, N2, N2b, N3, N4, N6 and the real-node known-failed line)",
|
|
"box_class": "harness",
|
|
"fixtures": [
|
|
"F0",
|
|
"F4"
|
|
],
|
|
"cases": [
|
|
"FIN-08"
|
|
],
|
|
"coverage": {
|
|
"FIN-08": "partial: the combined boundary and fault scenarios in the simulator with adversarial schedules; model checking is the formal review"
|
|
}
|
|
},
|
|
"harness:p01-vectors": {
|
|
"command": "tools/ci/p01-vectors.py --worker <the kit's worker> --pack <pack dir> --reference /srv/artefacts/packs/p01-vectors/<pack>.txt --count 1000000 --out <evidence.json>: the worker driven with pool.rs's job lines at an all-pass target, every found hash diffed against the CPU reference list (igneum-pow hash-bound --count 1000000, prehash 00..01, the genesis seeds), exit 1 on any disagreement or unanswered nonce",
|
|
"box_class": "pods (one backend each)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F2"
|
|
],
|
|
"cases": [
|
|
"POW-01"
|
|
],
|
|
"coverage": {
|
|
"POW-01": "the million-vector campaign per backend per pack, bit-for-bit; PASS only when every supported backend reads a million vectors with zero disagreement; the malformed-input half is harness:parser-malformed"
|
|
}
|
|
},
|
|
"harness:parser-malformed": {
|
|
"command": "cargo test --release -p igneum-exec --lib -- malformed --nocapture; cargo test --release -p igneum-miner --bins -- malformed --nocapture (node fork branch parser-malformed f0204947, taken into release-2.0.0-node at the node lane's next cut): ten thousand seeded mutations per parser through DayStream::from_bytes plus check, rpc::dispatch over nineteen igneum_ methods, and pool::job_seeds; the summary line per parser is the evidence",
|
|
"box_class": "suite",
|
|
"fixtures": [
|
|
"F5"
|
|
],
|
|
"cases": [
|
|
"POW-06"
|
|
],
|
|
"coverage": {
|
|
"POW-06": "partial: three parsers of external bytes (the state stream, the igneum_ RPC params, the pool job line), ten thousand seeded malformed cases each, zero panics, every case under 500 ms (the slowest 152 microseconds); 'accepted' counts mutations that left a valid input, not a parser fault; the verifier work bound (the other half of the accept text) is the proving lane's measurement"
|
|
}
|
|
},
|
|
"bench:pc1-packs": {
|
|
"command": "tools/ca3-v4-amend/pc1-ca4-packs.ps1 on PC 1 (RTX 5090, the signed-jobs channel, --cards-off, the Power Helper lock at 1,300 MHz, nvidia-smi at 1 Hz, 250 x 2^24 per row, the kit's CUDA worker --bench)",
|
|
"box_class": "PC 1 bench",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"GPU-02",
|
|
"GPU-03",
|
|
"GPU-05",
|
|
"POW-08"
|
|
],
|
|
"coverage": {
|
|
"GPU-02": "partial: the paired stock and locked rows on the same board, host and workload (the rate held, 2.37 against 3.26 microjoules per hash on the class v5 pack); the historical 34 to 41 percent claim's full configuration set is owed",
|
|
"GPU-03": "partial: hl-v6-all against hl-v6-foldrw on the 5090, the window's cost per unit of work, registers and blocks per SM, no spill; the mandatory-SKU set is owed",
|
|
"GPU-05": "partial: v3-1g, v3-ds29, v3-ds30, ds55, ds4g-ms complete with their fingerprints, energy per step at stock and at the knee on the 5090 and the 7600; the 8.5 and 11.5 GiB candidates are owed",
|
|
"POW-08": "partial: rw-w4, rw-w32, rw-w64 and the 1p5x long-program packs as regression controls for the excluded levers"
|
|
}
|
|
},
|
|
"bench:pc1-amd": {
|
|
"command": "tools/ca3-v4-amend/pc1-amd-cardin-bench.ps1 on PC 1 (RX 7600, OpenCL, gfx1102, 30 dispatches of 2^24 per size, rate only)",
|
|
"box_class": "PC 1 bench",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"GPU-01",
|
|
"GPU-05"
|
|
],
|
|
"coverage": {
|
|
"GPU-01": "partial: the 8 GB AMD cell, fingerprints and rates at 1, 2, 4 and 5.5 GiB; one cell of P02's twelve",
|
|
"GPU-05": "partial: the 8 GB tier's fit rows"
|
|
}
|
|
},
|
|
"bench:fleet-pods": {
|
|
"command": "the fleet lane's one-shot RunPod cards (5090, 4090, H100, 3090) with the same worker --bench and nvidia-smi sampling, the lock through nvidia-smi -lgc",
|
|
"box_class": "rented pods",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"GPU-01",
|
|
"GPU-03",
|
|
"POW-08"
|
|
],
|
|
"coverage": {
|
|
"GPU-01": "partial: the NVIDIA cells of P02 that RunPod carries",
|
|
"GPU-03": "partial: the 4090 cell",
|
|
"POW-08": "partial: W = 16 on four cards"
|
|
}
|
|
},
|
|
"census:class-v6": {
|
|
"command": "the census lane's harness on class-v6-census-fold: the acceptance rule with (c''') on every candidate, the attempts census, the per-site index-bit read, attack-f8 at 2^22 on the live state",
|
|
"box_class": "harness (the lease pool)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F3"
|
|
],
|
|
"cases": [
|
|
"POW-02"
|
|
],
|
|
"coverage": {
|
|
"POW-02": "partial: the fold's index statistics and the grammar bounds on 256 seeds plus the F8 set; the malformed programs are owed to harness:parser-malformed"
|
|
}
|
|
},
|
|
"crosscheck:review-harness": {
|
|
"command": "python3 run_all.py in docs/analysis/review-2026-10-08/harness.zip (the reviewer's C/Python transcription of the V2 to V4 paths; numpy and cc; about 1 GB) on a box, its all_results.json the evidence; the tree's side is igneum-pow's own pins of the same constants (src/verify.rs, src/bind.rs, proto-cuda/packs/igneum-genesis/vectors.json) under suite:pow",
|
|
"box_class": "suite (nice 10)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F3"
|
|
],
|
|
"cases": [
|
|
"POW-01"
|
|
],
|
|
"coverage": {
|
|
"POW-01": "partial: independent execution agrees with the tree on the V2/V3 genesis program id and op mix, the two closed-form hashes, the three census ids and the eight header-bound memory-hard vectors; the v5 object's and the v6 freeze's vectors are outside the transcription's model (its README) and read NOT RUN for this cell; every backend is harness:p01-vectors"
|
|
}
|
|
},
|
|
"model:eco05": {
|
|
"command": "python3 sim/economy/coexist/eco05.py 0.5 31.65e6 and python3 sim/economy/coexist/eco05.py 0.055 31.65e6 on a build box (python3, no packages; the frozen register docs/analysis/class-v6/eco-05-scenarios.md; the cube to sim/economy/coexist/out/)",
|
|
"box_class": "build box (CPU, python3)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F7"
|
|
],
|
|
"cases": [
|
|
"ECO-05"
|
|
],
|
|
"coverage": {
|
|
"ECO-05": "full on the frozen register's grid and the eight adversarial rows at the team's reconciled specialist rows; the independent reviewer's own adversarial rows (ECO-08) remain"
|
|
}
|
|
},
|
|
"model:coexist-fixtures": {
|
|
"command": "python3 sim/economy/coexist/fixtures.py on a build box (exit 0 = the second implementation of the per-class cost formula agrees with the hand-worked values and the model's own function within 0.5 percent)",
|
|
"box_class": "build box (CPU, python3)",
|
|
"fixtures": [
|
|
"F7"
|
|
],
|
|
"cases": [
|
|
"ECO-01",
|
|
"ECO-08"
|
|
],
|
|
"coverage": {
|
|
"ECO-01": "partial: the hand-worked fixtures and the second implementation; the independent reconciliation of inputs and units remains",
|
|
"ECO-08": "partial: the package runs from the served files (README, inputs with sources and labels, fixtures); the independent report, the rerun and the perturbations remain"
|
|
}
|
|
},
|
|
"harness:finality-sim-fin02": {
|
|
"command": "igneum/harness-sim, the split honest populations and boundary splits (the 40/40/20 fixture, the pause valid, zero conflicting final certificates within the bound)",
|
|
"box_class": "harness",
|
|
"fixtures": [
|
|
"F0",
|
|
"F4"
|
|
],
|
|
"cases": [
|
|
"FIN-02"
|
|
],
|
|
"coverage": {
|
|
"FIN-02": "the simulator half of the accept text; the real-node run on the fault network F4 with independent operators is node:finality-realnode"
|
|
}
|
|
},
|
|
"node:finality-realnode": {
|
|
"command": "the node lane's v3.mjs lines on release-2.0.0-node (real nodes, the rule v4 harness; rows in sim/results_v2.md)",
|
|
"box_class": "harness (the lease pool)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F4"
|
|
],
|
|
"cases": [
|
|
"FIN-02",
|
|
"FIN-07"
|
|
],
|
|
"coverage": {
|
|
"FIN-02": "partial: the real-node half; independent operators and the review remain",
|
|
"FIN-07": "partial: deterministic recovery after reconnection and crash on real nodes (the HEAL reruns)"
|
|
}
|
|
},
|
|
"harness:proving-enforcement": {
|
|
"command": "tools/build-remote.sh --priority gate -- test --release -p kaspa-consensus -p igneum-exec --lib enforced_ (from the node fork; the succession_* and p22_stage_* tests with it); tools/fast-time-remote.sh --node-bin <the fork's target/release> -- node infra/fast-time/proving-enforcement.mjs --floor 240 ... (the crossing) and --succession <H> --window <W> --prior-ids ... --next-ids ... --real-proof ... --next-proof ... (the key-succession crossing)",
|
|
"box_class": "suite (gate priority) and a fast-time run (normal class, 3 local nodes)",
|
|
"fixtures": [
|
|
"F0",
|
|
"F1"
|
|
],
|
|
"cases": [
|
|
"ZKP-01",
|
|
"ZKP-02",
|
|
"ZKP-03",
|
|
"ZKP-04",
|
|
"ZKP-05",
|
|
"ZKP-08",
|
|
"EVM-08"
|
|
],
|
|
"coverage": {
|
|
"ZKP-01": "partial: the seven refusals as named tests (no proof never inserted; a wrong proof and another program id invalidate the block; the honest record paid once) and the fast-time crossing with a modified producer; the genuine-proof positive control through ordinary network paths is the testnet's live read, not run here",
|
|
"ZKP-02": "partial: the pinned-id refusal on a real proof, the daemon's start refusal, key succession (the epochs, the accepted ids, a verdict counting only where its pair is accepted, the seven refusals on both sides of the height, the start refusal under a succession, the real-proof refusal of a pair the epoch does not accept) and the fast-time crossing of a scheduled succession with a real proof under each pair; the downgrade through an old node path is not run",
|
|
"ZKP-03": "partial: the chain binding (a record signed for another network), the replay, a wrong block, a wrong shard, a stale record outside the window; the fork and replayed-sync steps are not run",
|
|
"ZKP-04": "partial: an altered payout address (after signing and re-signed), a statement over altered rewards or payouts vetoed natively, the inputs commitment of P22 stage 1 (shard 0 and the aggregator carry the commitment the node recomputes) and the derivation commitment of stage 2 (the payouts derived in the guest from the carried records); the rewards' proved derivation is P22 stage 3, PENDING",
|
|
"ZKP-05": "partial: a duplicate of a paid record pays nothing and the honest record pays once; the race, reorder and crash-recover steps are not run",
|
|
"ZKP-08": "partial: the body rule and the payment rule read one floor, a producer with its body rule off still pays nothing on honest nodes (the fast-time crossing); the replacement-prover and authority steps are not run; the proof side of the derivation is P22 stage 3, PENDING",
|
|
"EVM-08": "partial: the controlled verifier upgrade as a key succession (both pairs embedded, the window, the start refusal) and its fast-time crossing; the mixed-client crossing on the live network and the failed-distribution step are not run"
|
|
}
|
|
},
|
|
"harness:reference-apps-compat": {
|
|
"command": "node tools/reference-apps/compat/run.mjs (from the main repo against the devnet read RPC with the funded tester key; rows land in tools/reference-apps/compat/results.json and render to /compatibility)",
|
|
"box_class": "harness (network run on the 2.0 devnet, read RPC + one funded test account)",
|
|
"fixtures": [],
|
|
"cases": [
|
|
"EVM-02",
|
|
"EVM-03",
|
|
"EVM-04",
|
|
"EVM-05",
|
|
"EVM-06"
|
|
],
|
|
"coverage": {
|
|
"EVM-02": "partial: a transaction signed for the previous devnet's chain id is refused and a signed transaction sent twice is refused on the live devnet; the F0 replacement rule and the mempool-independent evidence are the exec suite's",
|
|
"EVM-03": "partial: fee quotes, eth_estimateGas against gasUsed for a transfer and a call, the documented 21,000 local-limit difference and the pgas receipt fields on the live devnet; determinism across nodes and proofs and the P09 bounds are the proving-limit harness (not run)",
|
|
"EVM-04": "partial: block.number, timestamp, chainid, basefee, blockhash(number-1), CREATE2 address, block.coinbase and block.prevrandao read against the chain and the documented differences; conformance vectors for F0 are EVM-01's",
|
|
"EVM-05": "partial: ERC-20 deploy, transfer, approve/transferFrom, a probe contract, a persisting counter, a revert with reason and an out-of-gas call on the live devnet; application-level invariants of the DEX integration set are the DEX lane's",
|
|
"EVM-06": "partial: receipt fields and logsBloom recompute, the block's receipts trie root rebuilds, eth_getLogs by address/topic/range, eth_getBlockByNumber with full transactions and eth_getBlockReceipts; wallet UI states (included, executed, proven, finalised) and the indexer's canonical-record check are the wallet and explorer lanes' rows"
|
|
}
|
|
},
|
|
"harness:reference-apps-ver": {
|
|
"command": "node tools/reference-apps/ver/run.mjs (from the main repo; the reference apps' verification rows against the devnet read RPC and the light service; evidence per case in tools/reference-apps/ver/evidence/<case>.json; the browser negative set is /lc/test and the Node negative set is tools/reference-apps/light-service/verify.test.mjs)",
|
|
"box_class": "harness (network run on the 2.0 devnet plus Sepolia reads)",
|
|
"fixtures": [],
|
|
"cases": [
|
|
"VER-03",
|
|
"VER-04",
|
|
"VER-05",
|
|
"VER-06",
|
|
"VER-08"
|
|
],
|
|
"coverage": {
|
|
"VER-03": "partial: a payment receipt is labelled payment only when the receipt is proven against the segment statement's receipts commitment under the finality certificate, inclusion-only receipts read inclusion, a tampered receipt and a flipped status fail; run on the Devnet 3 fixtures, the 2.0 devnet re-run waits for its first paid segment whose last block carries a transaction",
|
|
"VER-04": "partial: the oracle's trust() names the deployer-installed table and the unchecked aggregator signature, a second hash at a stored certificate index is refused, a root claim at an unknown index is refused, another chain id is refused (tools/reference-apps/oracle/test.mjs on Sepolia); Review B F04: the Sepolia verifiers apply the two-thirds rule only, carry no lock-kind field, and an under-threshold (recovery-rule) certificate fails closed in submitCertificate, so no stored root is a recovery lock (the DEX lane's docs/bridge/light-client-bridge.md paragraph); the claimed-option review of the trust model is the reviewer's",
|
|
"VER-05": "partial: the public node and the reference reader on build-1 executed the 2.0 devnet from genesis with no snapshot (unit ExecStart without --igneum-exec-snapshot), and the pages fetch headers, certificates, coinbase bodies and account proofs from the public read RPC only; the archive and availability model beyond the 2,048-block state ring is the OPS no-founder exercise",
|
|
"VER-06": "partial: the read service never serves a certificate from another network, a withheld header in the path and a corrupted proof node are detected, stale data prints its lock age beside every balance, and a client told no certificate never falls back to a trusted RPC balance; detection on the fault network F4 is not run",
|
|
"VER-08": "partial: every served state on /light, /receipt and /oracle uses one of included, executed, proven, finalised from the shared definition block, the lock line serves the live DAA before the first certificate, and the trust assumptions are listed on each page; the wallet and explorer surfaces are their lanes' rows"
|
|
}
|
|
},
|
|
"harness:reference-apps-ver-trust-anchor": {
|
|
"command": "node tools/reference-apps/ver/run.mjs (the same run; VER-01 and VER-02 read from tools/reference-apps/ver/evidence/VER-01.json and VER-02.json and are FAIL by design until the voter table is committed in a header or shipped as a trust anchor with authority-change tracking)",
|
|
"box_class": "harness (network run on the 2.0 devnet)",
|
|
"fixtures": [],
|
|
"cases": [
|
|
"VER-01",
|
|
"VER-02"
|
|
],
|
|
"coverage": {
|
|
"VER-01": "fails today, disclosed: the light client authenticates the certificate's signatures and the header path but the voter table is a node-supplied trust anchor named on /light; a forged table signature and a wrong-network certificate are refused",
|
|
"VER-02": "fails today, disclosed: the execution statement's proof is verified by the nodes and the browser verifies the aggregator signature and the post root under it; an in-browser verifier for the permitted proof and a table commitment close it"
|
|
}
|
|
}
|
|
},
|
|
"not_run": {
|
|
"GOV-02": "the approval is recorded in the registry's approval field; the automated half (thresholds frozen before any run_status) is the gate rule landing by 21:00",
|
|
"GOV-04": "the evidence vault F9 (raw and negative evidence preserved) is the gate rule landing by 21:00: a PASS must carry its evidence file",
|
|
"GOV-08": "the stale-evidence rule (evidence older than the manifest sha reads NOT RUN) is the gate rule landing by 21:00",
|
|
"GPU-04": "the memory-clock ladder has no harness tonight: PC 1 mines nothing under the Devnet 3 off order",
|
|
"GPU-06": "accepted work under ordinary connectivity needs the fault network F4",
|
|
"GPU-07": "the sustained thermal and power soak has no harness tonight: PC 1 mines nothing under the Devnet 3 off order",
|
|
"POW-05": "amortised cheap winning attempts are the attack lanes' grind and era harnesses (tools/attack/f7-era, f9-grind), not in the release matrix; their rows come from those lanes",
|
|
"ADV-04": "selective participation needs the economic model F7 and a live chain window",
|
|
"ADV-06": "process-advantage separation is the adversary lanes' chip study",
|
|
"ADV-07": "lifetime rows are the adversary lanes' models",
|
|
"ROT-03": "miner-voted bring-forward needs a vote harness on the fault network F4",
|
|
"ROT-04": "seed-selection resistance is the census harness (the class v6 invention lane), not yet in the matrix",
|
|
"ROT-07": "layer ablation is a research harness, not a release suite",
|
|
"ROT-08": "the no-new-rules counterfactual is a research harness",
|
|
"ECO-02": "F7",
|
|
"ECO-03": "F7",
|
|
"ECO-04": "F7",
|
|
"ECO-06": "F7",
|
|
"ECO-07": "F7",
|
|
"EVM-01": "no EVM conformance-vector harness is mapped tonight; the exec suite does not run the reference test vectors",
|
|
"EVM-07": "execution DoS workloads need the workload catalogue F3",
|
|
"CAP-01": "the consumer-shard reproduction is the fleet lane's pods",
|
|
"CAP-02": "proving on the mining configuration is the fleet lane's",
|
|
"CAP-03": "the request-to-payment path is the proving fleet's measurement",
|
|
"CAP-04": "sustained load is the proving fleet's",
|
|
"CAP-05": "overload and recovery is the proving fleet's",
|
|
"CAP-06": "assignment windows are the proving fleet's",
|
|
"CAP-07": "reassignment is the proving fleet's",
|
|
"CAP-08": "customer-verifiable output is the reference apps plus the fleet",
|
|
"INC-02": "revenue separation is the economics lane's model",
|
|
"INC-03": "the modified-client task choice needs an adversarial client harness",
|
|
"INC-04": "demand spikes are the economic model",
|
|
"INC-05": "reservation abuse needs the capacity harness",
|
|
"INC-06": "difficulty and timestamp manipulation needs the fault network F4",
|
|
"INC-07": "self-dealing fees need the economic model and a live window",
|
|
"INC-08": "failure concentration is a live-window measurement",
|
|
"FIN-06": "old-key compromise analysis is the finality lane's long-range scenario, not yet in the sim",
|
|
"VER-07": "wallet key protection is the wallet lane's security row",
|
|
"OPS-01": "the no-founder exercise is an operations run, not a suite",
|
|
"OPS-02": "bootstrap diversity needs the fault network F4",
|
|
"OPS-03": "update distribution separation is the update-return lane's row",
|
|
"OPS-05": "proving workload isolation is the fleet's pod row",
|
|
"OPS-07": "runbook detection is an operations run",
|
|
"OPS-08": "repeat independent operation is a cross-release observation",
|
|
"UX-05": "voting keys through pooling is the pool lane's row",
|
|
"COM-01": "commercial evidence, no automated harness",
|
|
"COM-02": "commercial evidence",
|
|
"COM-03": "commercial evidence",
|
|
"COM-04": "commercial evidence",
|
|
"COM-05": "commercial evidence",
|
|
"COM-06": "commercial evidence",
|
|
"COM-07": "commercial evidence",
|
|
"LEAD-02": "leadership comparison, an observation window",
|
|
"LEAD-03": "observation window",
|
|
"LEAD-04": "observation window",
|
|
"LEAD-05": "observation window",
|
|
"LEAD-06": "observation window",
|
|
"LEAD-08": "observation window"
|
|
}
|
|
}
|