Skip to content

feat: consume the single mavros artifact - #515

Merged
BornPsych merged 7 commits into
mainfrom
ys/single-artifact
Nov 12, 2026
Merged

BornPsych merged 7 commits into
mainfrom
ys/single-artifact

Conversation

@BornPsych

@BornPsych BornPsych commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Reads the single program.mavros that Mavros now writes (reilabs/mavros#429), instead of basic.json + r1cs.bin.

  1. prepare --compiler mavros <program.mavros>: one input, the --r1cs flag is gone. A package directory also works and resolves to its target/program.mavros, where mavros compile writes by default.
  2. mavros-artifacts checks the file on load (digests, manifest, bytecode header); the ABI and bytecode come out of the same file. A file that fails a check is refused with the fix: recompile with the pinned Mavros, or with --field bn254 for an artifact over another field.
  3. Proofs bind the Mavros circuit digest (R1CS + manifest) into the transcript, so a codegen-only recompile keeps existing verifiers valid. verifier_is_bound_to_the_mavros_digest covers it.
  4. prove returns an error instead of panicking in the VM when a key holds a program of another format version.
  5. The power fixture is regenerated with that CLI; README and scripts/mavros_parity.sh follow.

Mavros is pinned to the head of reilabs/mavros#429 (c445d5d); repin to its merge commit once that lands.

The Mavros witness layout gains logup_repetitions, which changes the Mavros prover and scheme records. That is recorded under key format 4.0 rather than a new version, since 4.0 has not shipped: Mavros keys prepared on main since #507 must be regenerated.

Regenerate fixtures with mavros compile <dir> --output <dir>/program.mavros.

@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs-provekit-org Ready Ready Preview Nov 11, 2026 8:09pm UTC

Request Review

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

CSP benchmarks

Metric Value
Workflow status [PASS] success
Commit 278f505b0aed
Run #43093856168
Circuits benchmarked 21
Iterations averaged per circuit 3

Prover time, peak RSS, peak heap, and verifier time are arithmetic means across the iterations. Peak heap comes from the largest peak memory entry in provekit-cli prove's tracing output; peak RSS is reported by /usr/bin/time -v (max-resident-set-size).

Each metric cell shows the current value followed by the percentage delta against the latest successful main run #43001011490. (new) marks circuits absent from the baseline.

Results
Circuit Constraints Witnesses Prover time Peak RSS Peak heap Verifier time Proof size PKP size
ecdsa_p256 143,321 (±0.0%) 258,215 (±0.0%) 1.40 s (-1.9%) 267 MB (+0.7%) 232 MB (±0.0%) 107 ms (-3.0%) 447 KB (-1.5%) 831 KB (±0.0%)
keccak_1024 788,814 (±0.0%) 1,490,812 (±0.0%) 3.96 s (-0.8%) 1.05 GB (+0.2%) 1.05 GB (±0.0%) 477 ms (-1.4%) 484 KB (-1.5%) 6.01 MB (±0.0%)
keccak_128 157,522 (±0.0%) 304,529 (±0.0%) 963 ms (-2.0%) 281 MB (+0.7%) 248 MB (±0.0%) 120 ms (±0.0%) 449 KB (-0.9%) 1.24 MB (±0.0%)
keccak_2048 1,507,374 (±0.0%) 2,840,532 (±0.0%) 7.72 s (-1.0%) 1.99 GB (+0.1%) 2.07 GB (±0.0%) 913 ms (-2.5%) 544 KB (-0.2%) 12.15 MB (±0.0%)
keccak_256 247,782 (±0.0%) 474,010 (±0.0%) 1.16 s (-2.2%) 334 MB (+0.6%) 304 MB (±0.0%) 170 ms (±0.0%) 451 KB (+1.2%) 1.89 MB (±0.0%)
keccak_512 428,126 (±0.0%) 812,944 (±0.0%) 2.08 s (-0.8%) 586 MB (+0.3%) 558 MB (±0.0%) 270 ms (-2.4%) 474 KB (+0.5%) 3.25 MB (±0.0%)
poseidon2_12 479 (±0.0%) 563 (±0.0%) 40 ms (-20.0%) 15.56 MB (+16.8%) 4.17 MB (±0.0%) 10 ms (±0.0%) 227 KB (-0.2%) 437 KB (±0.0%)
poseidon2_16 556 (±0.0%) 719 (±0.0%) 47 ms (±0.0%) 16.21 MB (+16.1%) 4.33 MB (+0.1%) 10 ms (±0.0%) 227 KB (+0.7%) 530 KB (±0.0%)
poseidon2_2 231 (±0.0%) 278 (±0.0%) 40 ms (±0.0%) 14.82 MB (+18.6%) 3.44 MB (±0.0%) 10 ms (±0.0%) 227 KB (+1.4%) 108 KB (±0.0%)
poseidon2_4 529 (±0.0%) 535 (±0.0%) 30 ms (-18.3%) 15.17 MB (+17.5%) 3.63 MB (±0.0%) 10 ms (±0.0%) 227 KB (+2.0%) 31.93 KB (±0.0%)
poseidon2_8 363 (±0.0%) 423 (±0.0%) 40 ms (±0.0%) 15.32 MB (+15.1%) 4.08 MB (±0.0%) 10 ms (±0.0%) 229 KB (+1.6%) 365 KB (±0.0%)
poseidon_12 504 (±0.0%) 524 (±0.0%) 40 ms (-7.6%) 16.02 MB (+17.6%) 4.27 MB (±0.0%) 10 ms (±0.0%) 224 KB (-0.3%) 569 KB (±0.0%)
poseidon_16 609 (±0.0%) 633 (±0.0%) 50 ms (±0.0%) 16.77 MB (+15.8%) 4.93 MB (+0.1%) 20 ms (±0.0%) 231 KB (+1.6%) 717 KB (±0.0%)
poseidon_2 240 (±0.0%) 249 (±0.0%) 30 ms (-18.3%) 14.75 MB (+19.2%) 3.40 MB (±0.0%) 10 ms (±0.0%) 225 KB (-0.5%) 59.38 KB (±0.0%)
poseidon_4 297 (±0.0%) 309 (±0.0%) 40 ms (±0.0%) 15.74 MB (+16.9%) 4.02 MB (±0.0%) 10 ms (±0.0%) 220 KB (-2.2%) 333 KB (±0.0%)
poseidon_8 402 (±0.0%) 418 (±0.0%) 40 ms (±0.0%) 15.73 MB (+15.8%) 4.15 MB (±0.0%) 10 ms (±0.0%) 221 KB (-2.5%) 448 KB (±0.0%)
sha256_1024 196,913 (±0.0%) 339,721 (±0.0%) 1.07 s (-1.2%) 321 MB (+0.6%) 286 MB (±0.0%) 180 ms (-1.8%) 453 KB (+0.1%) 1.87 MB (-0.4%)
sha256_128 46,371 (±0.0%) 80,931 (±0.0%) 270 ms (-2.4%) 86.55 MB (+1.5%) 67.81 MB (±0.0%) 50 ms (±0.0%) 386 KB (-1.4%) 498 KB (-0.2%)
sha256_2048 345,372 (±0.0%) 612,681 (±0.0%) 2.07 s (-1.3%) 569 MB (+0.3%) 535 MB (±0.0%) 323 ms (±0.0%) 463 KB (-2.6%) 3.07 MB (+0.8%)
sha256_256 67,877 (±0.0%) 117,901 (±0.0%) 443 ms (-2.9%) 142 MB (+1.5%) 120 MB (±0.0%) 70 ms (±0.0%) 406 KB (+0.1%) 698 KB (+0.4%)
sha256_512 110,889 (±0.0%) 191,841 (±0.0%) 570 ms (-1.7%) 177 MB (+2.3%) 153 MB (±0.0%) 100 ms (-9.1%) 403 KB (-0.9%) 1.09 MB (-0.3%)

@zkfriendly zkfriendly left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

One note is that logup_repetitions is newly added to the WitnessLayout without bumping the PROVER_VERSION. Since this is a stack PR it's fine if we merge the stack all together.

Base automatically changed from ys/ark06-mavros-main to main November 11, 2026 10:07
@BornPsych
BornPsych merged commit 893f6d5 into main Nov 12, 2026
13 of 14 checks passed
@BornPsych
BornPsych deleted the ys/single-artifact branch November 12, 2026 09:10

This branch was successfully deployed

1 active deployment
Preview — a6cb99e3 Deployed Nov 11, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants