CI runs the proof, verify API and capture tests; the plan records the fixture dry run and what is owed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
1cd9c1dd91
commit
f21aa0819a
2 changed files with 20 additions and 4 deletions
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
|
|
@ -87,8 +87,8 @@ jobs:
|
|||
run: bash tools/ci/no-secrets-check.sh --self-test && bash tools/ci/no-secrets-check.sh
|
||||
- name: faucet unit tests (validation, the daily limits, the signed transaction; keccak, RLP and secp256k1 vectors)
|
||||
run: node --test site/api/faucet.test.mjs
|
||||
- name: explorer and public stats unit tests (search router, formatters, emission rule against the node's own test values, the documented API fields from a fixture)
|
||||
run: node --test site/lib/explorer.test.mjs site/lib/emission.test.mjs site/api/public-stats.test.mjs
|
||||
- name: explorer, proof and public stats unit tests (search router, formatters, emission rule against the node's own test values, the documented API fields from a fixture, the proof checks against a real proof tail, /api/verify, the observer's capture parsers)
|
||||
run: node --test site/lib/explorer.test.mjs site/lib/emission.test.mjs site/api/public-stats.test.mjs site/lib/proof.test.mjs site/api/verify.test.mjs tools/observer/proof-capture.test.mjs
|
||||
- name: public stats API answers with the documented fields (the live site; master only, the endpoints exist there after the merge)
|
||||
if: github.ref == 'refs/heads/master'
|
||||
run: node tools/ci/public-api-check.mjs https://igneum.network
|
||||
|
|
|
|||
|
|
@ -217,5 +217,21 @@ cut), `tools/observer/proof-capture.test.mjs` (the host-output parsers against r
|
|||
fake node; on a Mac with the app, the native verifier refusing block 59199's pre-pin proof: "IS NOT OURS"),
|
||||
`site/api/public-stats.test.mjs` (C46). CI runs the first, second and fourth with the explorer tests.
|
||||
|
||||
Dry run: see the status below this section once it ran (the devnet's execution was reset for 0.3.13 at about
|
||||
15:30 UTC and the pool was empty until the provers returned).
|
||||
Dry run, 6 October 2026, 16:08 to 16:16 UTC. The devnet's execution was reset for 0.3.13 at about 15:48 UTC
|
||||
and node 1's exec RPC (127.0.0.1:26790) came back at tip 135,933 by 16:12 with an EMPTY pool (the provers were
|
||||
still off), so the live capture could not run; the fixture route was used instead, with the real verifier and
|
||||
the real tables:
|
||||
|
||||
| Step | Result |
|
||||
|---|---|
|
||||
| Pinned host (the Mac app bundle's `igneum-prove-host`) proves shard 0 of `proving/fixtures/block-56-transfers.json` on the CPU | 81.3 s beside another agent's cargo build (not a number); proof 1,272,897 bytes, statement `0x5a4d59f4...`, `--mode verify` 0.041 s, program id the pinned one |
|
||||
| `captureProof()` on those bytes with a fake node handing them out, the native verifier on | SHA-256 ok, statement ok, fields ok; native VERIFIED in 29 ms, key setup 197 ms, process 240 ms; the whole capture 282 ms |
|
||||
| A test observer (`LIVE_TABLE_PREFIX=vtest_`) against the live node for 5 minutes | schema created, `pow_epoch` written (class 3, next 3, epoch 55, activation 154,800), proving feed on 26790; RPC load 230 to 248 wRPC calls a minute against the live observer's 222 to 224, EVM 2,466 against 2,481 |
|
||||
| `/proof/c47bacc8...` through `tools/site-serve.mjs` in the browser pane | VERDICT VERIFIED; 5.8 ms of checks and 139 ms of download in the browser, STARK 29 ms on the node; the three checks print got and want; the statement decodes to block 56, 3 transactions, gas 63,000, pgas 600 |
|
||||
| `/block/c47bacc8...`, `/block/136508`, `/explorer` | the state chip and the note; height 136508 first resolved to a block that had left the chain (two blocks shared the number after a tip reorg), fixed: the height lookup prefers the chain block |
|
||||
| The known-failed case | `tools/observer/proof-capture.test.mjs`: the pinned verifier refuses block 59199's pre-pin proof ("IS NOT OURS", 0x0559759b...), parsed and stored as native NOT VERIFIED with the note |
|
||||
|
||||
Owed: the same run against a devnet pool proof once the provers are back (the test observer captures one within
|
||||
`PROOF_CAPTURE_EVERY_MS` of seeing it; `grep "proof captured"` in its log), and the live observer's restart on
|
||||
this code (autosync picks it up from master; until then `/api/verify` answers with empty shards and the stats
|
||||
line says the class is unknown).
|
||||
|
|
|
|||
Loading…
Reference in a new issue