diff --git a/docs/plans/igneum-2.0-test-registry.json b/docs/plans/igneum-2.0-test-registry.json index dbca0bdd3..39703072e 100644 --- a/docs/plans/igneum-2.0-test-registry.json +++ b/docs/plans/igneum-2.0-test-registry.json @@ -5216,21 +5216,21 @@ "manual_page": 38, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "PASS", - "evidence_path": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", - "run_id": "enforced-proving-20261008-02", - "updated": "2026-10-08T21:37:02.905Z", + "evidence_path": "docs/plans/proving-enforcement/cache-history-2.json", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "EVM-08", "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5239,7 +5239,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" }, "dependency": "the first pin into elf/prior/ (the node lane, key-succession-pin, tonight by 21:00) and the devnet-4 succession height (main, by 22:00 under the floor rule)", "approvals": { @@ -5254,13 +5254,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5269,7 +5269,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" } } } @@ -5320,21 +5320,21 @@ "manual_page": 39, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "NOT RUN", - "evidence_path": "build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-exec.log; docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json; build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-consensus.log", - "run_id": "202-a284380b-5f50afd1", - "updated": "2026-10-08T22:11:37.839Z", + "evidence_path": "build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-exec.log; docs/plans/proving-enforcement/cache-history-2.json; build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-consensus.log", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "ZKP-01", - "decision": "NOT RUN", + "decision": "PASS", "method": "native", - "cell": "suite:consensus", - "manifest_sha": "a284380b", - "run_id": "202-a284380b-5f50afd1", - "evidence": "build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-consensus.log", + "cell": "harness:proving-enforcement", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, - "coverage": "partial: a proof-less or wrong-statement block refused by consensus", + "coverage": "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", "release_identity": { - "commit": "a284380b", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5343,7 +5343,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T22:11:37.839Z" + "at": "2026-10-08T22:24:23.945Z" }, "in_progress_since": "2026-10-08T19:32:50.856Z", "approvals": { @@ -5380,13 +5380,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5395,7 +5395,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" }, "suite:consensus": { "requirement_id": "ZKP-01", @@ -5450,21 +5450,21 @@ "manual_page": 39, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "PASS", - "evidence_path": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", - "run_id": "enforced-proving-20261008-02", - "updated": "2026-10-08T21:37:02.905Z", + "evidence_path": "docs/plans/proving-enforcement/cache-history-2.json", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "ZKP-02", "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5473,7 +5473,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" }, "dependency": "the mixed-pair crossing needs the node lane's first pin into elf/prior/ (key-succession-pin, tonight by 21:00) and the next-pair proof (build-2:/home/build/enforced-fixtures/next-pair-block-56-shard-0-compressed.bin)", "approvals": { @@ -5488,13 +5488,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5503,7 +5503,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" } } }, @@ -5536,21 +5536,21 @@ "manual_page": 39, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "NOT RUN", - "evidence_path": "build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-exec.log; docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", - "run_id": "202-a284380b-5f50afd1", - "updated": "2026-10-08T22:11:37.839Z", + "evidence_path": "build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-exec.log; docs/plans/proving-enforcement/cache-history-2.json", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "ZKP-03", - "decision": "NOT RUN", + "decision": "PASS", "method": "native", - "cell": "suite:exec", - "manifest_sha": "a284380b", - "run_id": "202-a284380b-5f50afd1", - "evidence": "build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/node-a284380b/box4-exec.log", + "cell": "harness:proving-enforcement", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, - "coverage": "partial: a snapshot under another digest refused, the epoch streams bound to the digest", + "coverage": "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", "release_identity": { - "commit": "a284380b", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5559,7 +5559,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T22:11:37.839Z" + "at": "2026-10-08T22:24:23.945Z" }, "in_progress_since": "2026-10-08T19:32:50.856Z", "approvals": { @@ -5596,13 +5596,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5611,7 +5611,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" } } }, @@ -5644,21 +5644,21 @@ "manual_page": 40, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "PASS", - "evidence_path": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", - "run_id": "enforced-proving-20261008-02", - "updated": "2026-10-08T21:37:02.905Z", + "evidence_path": "docs/plans/proving-enforcement/cache-history-2.json", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "ZKP-04", "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5667,7 +5667,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" }, "dependency": "the proof side of the derivation (P22 stages 1 to 3) changes both guests' public values and so both program ids, so it ships only through a key succession (docs/design/key-succession.md, key-succession-node 291ee6ae); stage 1 (the inputs commitment carried by shard 0 and the aggregator, vetoed natively) is on branch p22-stage-1 under test since 18:46 UK; the clocks (stage 1 09:00, stage 2 14:00, stage 3's design 18:00 UK on 9 October 2026) stand because the succession's first height is asked of main by 22:00 under the floor rule; without a named height the stages are built and tested on their branch and wait for the succession that carries them", "approvals": { @@ -5682,13 +5682,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5697,7 +5697,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" } } }, @@ -5730,21 +5730,21 @@ "manual_page": 40, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "PASS", - "evidence_path": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", - "run_id": "enforced-proving-20261008-02", - "updated": "2026-10-08T21:37:02.905Z", + "evidence_path": "docs/plans/proving-enforcement/cache-history-2.json", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "ZKP-05", "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5753,7 +5753,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" }, "approvals": { "scope_approved": null, @@ -5767,13 +5767,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5782,7 +5782,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" } } }, @@ -5940,21 +5940,21 @@ "manual_page": 41, "owner_lane": "enforced-proving lane (a6e8f84588b809d62)", "run_status": "PASS", - "evidence_path": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", - "run_id": "enforced-proving-20261008-02", - "updated": "2026-10-08T21:37:02.905Z", + "evidence_path": "docs/plans/proving-enforcement/cache-history-2.json", + "run_id": "enforced-proving-20261008-03", + "updated": "2026-10-08T22:24:23.945Z", "evidence_record": { "requirement_id": "ZKP-08", "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5963,7 +5963,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" }, "dependency": "the proof side of the derivation (P22 stages 1 to 3) changes both guests' public values and so both program ids, so it ships only through a key succession (docs/design/key-succession.md, key-succession-node 291ee6ae); stage 1 (the inputs commitment carried by shard 0 and the aggregator, vetoed natively) is on branch p22-stage-1 under test since 18:46 UK; the clocks (stage 1 09:00, stage 2 14:00, stage 3's design 18:00 UK on 9 October 2026) stand because the succession's first height is asked of main by 22:00 under the floor rule; without a named height the stages are built and tested on their branch and wait for the succession that carries them", "approvals": { @@ -5978,13 +5978,13 @@ "decision": "PASS", "method": "native", "cell": "harness:proving-enforcement", - "manifest_sha": "3f672661", - "run_id": "enforced-proving-20261008-02", - "evidence": "docs/plans/proving-enforcement/succession-360-window-300-vcache-7.json", + "manifest_sha": "c591e63b", + "run_id": "enforced-proving-20261008-03", + "evidence": "docs/plans/proving-enforcement/cache-history-2.json", "in_progress": false, "coverage": "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", "release_identity": { - "commit": "3f672661", + "commit": "c591e63b", "lockfile": "", "binary": "", "network_object": "", @@ -5993,7 +5993,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:37:02.905Z" + "at": "2026-10-08T22:24:23.945Z" } } } @@ -6121,7 +6121,20 @@ "updated": "2026-10-08T22:22:49.946Z", "evidence_record": { "reason": "proving on the mining configuration is the fleet lane's", - "at": "2026-10-08T22:22:49.946Z" + "at": "2026-10-08T22:22:49.946Z", + "method": "static", + "requirement_id": "CAP-02", + "decision": "NOT RUN", + "reviewer": "", + "claim_impact": "", + "release_identity": { + "commit": "", + "lockfile": "", + "binary": "", + "network_object": "", + "activation": "", + "profile_hashes": "" + } }, "approvals": { "scope_approved": null, diff --git a/docs/plans/proving-enforcement/cache-history-2.json b/docs/plans/proving-enforcement/cache-history-2.json new file mode 100644 index 000000000..29cfbf49c --- /dev/null +++ b/docs/plans/proving-enforcement/cache-history-2.json @@ -0,0 +1,147 @@ +{ + "case": "cache-history", + "node": "/srv/builds/igneum-wt-cache/vendor/igneum-node/target/release/igneumd", + "proveBin": "/srv/builds/igneum-wt-cache/proving/igneum-prove/target/release", + "pair": { + "shard": "0x51cd8cba314a32b60fac393949a4571714da6d6656717d286011601b2a163fe7", + "aggregator": "0x05b395ec238f67406084f8a449d400f64c87dc62151daebf66695864727ded8a" + }, + "startedAt": "2026-10-08T21:53:32.526Z", + "phases": { + "context": { + "block": 165, + "submit": { + "accepted": true, + "block": "0x4259577a6be0f3cf3cb1f1512b8df758caa2790d5cafebc791a55076d9cd1839", + "keyHash": "0x6ce6a6cfb1e7d69f52e0764cd4ad005d244097ee9773f7918c2ab532ad73d2df", + "new": true, + "number": "0xa5", + "reason": "accepted", + "shard": 0 + }, + "observed": { + "paid": [], + "carried": [] + }, + "verifies": { + "cacheAnswers": 0, + "calls": 1, + "contextRefusals": 1, + "sp1": 0 + }, + "refusals": [ + "a carried proof record's proof does not verify: shard record block 165 shard 0 by 6ce6a6cfb1e7d69f52e0764cd4ad005d244097ee9773f7918c2ab532ad73d2df (proof f74f7f7daf2cdcb0): shard record block 165 shard 0 by 6ce6a6cfb1e7d69f52e0764cd4ad005d244097ee9773f7918c2ab532ad73d2df: the proof's public values hash to 0x58d620e493a23ebdacdec4f3c3f46e5936a18fbdcb3880341e2bb8b1555f7955, the record's statement is 0xd8191e436529a541554168fb68a9f6663485d6b743d1b49e15ec3bbf3a5c17f0, disconnecting from peer 127.0.0.1:49762." + ] + }, + "honest": { + "block": 94, + "submit": { + "accepted": true, + "block": "0x6e958a1b931c6eacce696422a6611151848bb65ca8d99c36510bd7fab2925c39", + "keyHash": "0x4a28017035561e93c93032f70dba67436b68506efd3ac761f608df142c8a7594", + "new": true, + "number": "0x5e", + "reason": "accepted", + "shard": 0 + }, + "observed": { + "paid": [ + { + "carrierNumber": "0x169", + "keyHash": "0x4a28017035561e93c93032f70dba67436b68506efd3ac761f608df142c8a7594", + "payout": "0xc3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3", + "shard": 0, + "wei": "0x8cc4d14f7888000" + } + ], + "carried": [ + { + "signer": "0x4a28017035561e93c93032f70dba67436b68506efd3ac761f608df142c8a7594", + "carrier": "0x169", + "rejected": "", + "paidWei": "0x8cc4d14f7888000" + }, + { + "signer": "0x4a28017035561e93c93032f70dba67436b68506efd3ac761f608df142c8a7594", + "carrier": "0x16a", + "rejected": "shard already paid", + "paidWei": "0x0" + } + ] + }, + "verifies": { + "cacheAnswers": 1, + "calls": 2, + "contextRefusals": 1, + "sp1": 1 + } + }, + "invalid": { + "blocks": [ + 465, + 591 + ], + "submits": [ + { + "accepted": true, + "block": "0xb80c043ced2e770092ab96769fbba1533df9a9a7eb61e054cbd7a98c678f6af9", + "keyHash": "0x89470283d097209eb0287ba87717938b8642c19b12bb37b5e30ed2a4328f2aaf", + "new": true, + "number": "0x1d1", + "reason": "accepted", + "shard": 0 + }, + { + "accepted": true, + "block": "0xd64c1a9c8d6c901ae1ed2cb2c1afccfa35113dcf1d38704477dfbf6a810d79e3", + "keyHash": "0xaa474491707c6931a3d6d2fdb84e4d91fa3f3c57b7776b9c1fb1b01a1f96678a", + "new": true, + "number": "0x24f", + "reason": "accepted", + "shard": 0 + } + ], + "verifies": { + "after3a": { + "cacheAnswers": 1, + "calls": 3, + "contextRefusals": 1, + "sp1": 2 + }, + "after3b": { + "cacheAnswers": 2, + "calls": 3, + "contextRefusals": 1, + "sp1": 2 + } + }, + "refusals": { + "after3a": 2, + "after3b": 3 + }, + "reasons": [ + "a carried proof record's proof does not verify: shard record block 165 shard 0 by 6ce6a6cfb1e7d69f52e0764cd4ad005d244097ee9773f7918c2ab532ad73d2df (proof f74f7f7daf2cdcb0): shard record block 165 shard 0 by 6ce6a6cfb1e7d69f52e0764cd4ad005d244097ee9773f7918c2ab532ad73d2df: the proof's public values hash to 0x58d620e493a23ebdacdec4f3c3f46e5936a18fbdcb3880341e2bb8b1555f7955, the record's statement is 0xd8191e436529a541554168fb68a9f6663485d6b743d1b49e15ec3bbf3a5c17f0, disconnecting from peer 127.0.0.1:49762.", + "a carried proof record's proof does not verify: shard record block 465 shard 0 by 89470283d097209eb0287ba87717938b8642c19b12bb37b5e30ed2a4328f2aaf (proof 79e76573983222b5): shard record block 465 shard 0 by 89470283d097209eb0287ba87717938b8642c19b12bb37b5e30ed2a4328f2aaf: the proof bytes are not a bincode SP1 proof: invalid value: integer `4284109422`, expected variant index 0 <= i < 4, disconnecting from peer 127.0.0.1:47690.", + "a carried proof record's proof does not verify: shard record block 591 shard 0 by aa474491707c6931a3d6d2fdb84e4d91fa3f3c57b7776b9c1fb1b01a1f96678a (proof 79e76573983222b5): shard record block 465 shard 0 by 89470283d097209eb0287ba87717938b8642c19b12bb37b5e30ed2a4328f2aaf: the proof bytes are not a bincode SP1 proof: invalid value: integer `4284109422`, expected variant index 0 <= i < 4, disconnecting from peer 127.0.0.1:51924." + ] + } + }, + "proof": { + "block": 94, + "statement": "0x58d620e493a23ebdacdec4f3c3f46e5936a18fbdcb3880341e2bb8b1555f7955", + "native": "0x58d620e493a23ebdacdec4f3c3f46e5936a18fbdcb3880341e2bb8b1555f7955", + "bytes": 1272961, + "sha256": "0xf74f7f7daf2cdcb031add25f28a0787d278de1079aa81aa51ac3f2e744750df7", + "hostLine": "RESULT compressed shard 0: prove 61.0 s, proof 1272961 bytes, verify 0.080 s, VERIFIED; statement 0x58d620e493a23ebdacdec4f3c3f46e5936a18fbdcb3880341e2bb8b1555f7955 proof sha256 0xf74f7f7daf2cdcb031add25f28a0787d278de1079aa81aa51ac3f2e744750df7 prover 0xc3c3c3c3c3c3c3c3c3C3C3c3C3C3C3c3C3C3c3c3 at 2026-10-08T21:56:24Z" + }, + "verdict": { + "paidOnce": true, + "sp1Verifies": 2, + "cacheAnswers": 2, + "contextRefused": true, + "contextCheap": true, + "invalidRefusedTwiceNoVerify": true, + "pass": true + }, + "endedAt": "2026-10-08T22:05:36.331Z" +} \ No newline at end of file diff --git a/infra/fast-time/proving-cache-history.mjs b/infra/fast-time/proving-cache-history.mjs new file mode 100644 index 000000000..609c0968b --- /dev/null +++ b/infra/fast-time/proving-cache-history.mjs @@ -0,0 +1,254 @@ +#!/usr/bin/env node +// The two-node cache-history case (review B F01, Phase 1 item (c), 8 October 2026): on a node with the verdict cache +// of verdict-cache-fix-node 3f672661, a proof's bytes refused once for CONTEXT (another statement) must still pay +// when the same bytes arrive later as their own honest record, answered from the cached facts with no second SP1 +// verify; bytes refused once for being INVALID must be refused again at a later carrier, from the cache, with no +// second verify. Three local nodes at fast time as in proving-enforcement.mjs: H1 and H2 honest (the verifier in +// consensus), A the carrier (skip rule, trust verify) whose templates carry what its pool holds. +// +// The real proof is one of this chain's own blocks: after the chain has run, block n is exported from H1 +// (igneum_exportSegments), cut by igneum-prove-export and proven compressed by igneum-prove-host on the box's CPU +// (about 70 to 110 s), so its statement is H1's native statement for (n, shard 0, PAYOUT). The node binaries and the +// proving binaries must carry the SAME pair (the node's elf/ overlay and the host's embedded pin: pin C tonight), and +// the node's object names that pair (proving_shard_program_id / proving_aggregator_id from the manifest). +// +// node infra/fast-time/proving-cache-history.mjs --prove-bin