Skip to content

fix: adapt update_wrapper to the reworked airbender CLI - #31

Draft
antonbaliasnikov wants to merge 1 commit into
mainfrom
aba-fix-update-wrapper-new-airbender-cli
Draft

fix: adapt update_wrapper to the reworked airbender CLI#31
antonbaliasnikov wants to merge 1 commit into
mainfrom
aba-fix-update-wrapper-new-airbender-cli

Conversation

@antonbaliasnikov

Copy link
Copy Markdown
Contributor

What ❔

Fixes the proof-generation step of scripts/update_wrapper.py, which fails against any airbender checkout carrying the CLI rework (zksync-airbender PR #220) — including the di/fix/87680-fri-fix-dev branch the wrapper currently pins.

  • prove no longer accepts --until final-proof / --final-proof-name; the new interface uses --output-file, defaults to the recursion-unified target (the old "final proof"), and takes an explicit --security-level.
  • The new CLI writes a ProofArtifact JSON (metadata wrapping the proof), while the wrapper tests read a bincode-encoded bare UnrolledProgramProof — the script now extracts the inner proof and converts it in place via the wrapper's checked-in convert_risc_proof_from_json helper test.
  • Fixtures are per-security-level now; the script refreshes risc_proof_100sb, matching what CI's wrapper tests consume (security_100 is the wrapper's default feature). risc_proof_80sb is deliberately untouched — CI never runs the security_80 full test and regenerating it is blocked separately (see zkos-wrapper commit e4bc0c0).

Why ❔

The automated wrapper-update flow breaks at "Generating fibonacci SNARK proof" with a clap argument-parsing error, since the pinned airbender's CLI no longer knows those flags.

Notes

  • Not executed end-to-end: generating the recursion-unified proof needs a very large-memory box (the last manual fixture regeneration used a 251 GB runner). Verified against the airbender CLI sources and wrapper test/fixture code; Python syntax-checked.
  • The expected=350 timing hint for the section is likely optimistic now.

🤖 Generated with Claude Code

The airbender CLI was reworked (zksync-airbender PR #220): `prove` no
longer accepts `--until final-proof` or `--final-proof-name`, so the
proof-generation step failed with an argument-parsing error against any
airbender checkout carrying the rework (including the FRI-fix branch the
wrapper now pins).

Adapt the step to the new interface and fixture layout:

- prove with `--security-level 100` and `--output-file`; the new CLI
  defaults to the recursion-unified target, which is the old final proof
- extract the bare UnrolledProgramProof from the ProofArtifact JSON the
  CLI now writes (the wrapper tests consume the bare proof, not the
  metadata-wrapped artifact)
- write it to risc_proof_100sb — fixtures are now per-security-level,
  and CI runs the wrapper tests at security_100 (the default feature)
- convert JSON to bincode in place via the wrapper's checked-in
  convert_risc_proof_from_json helper test, matching the bincode format
  the tests read since the json -> bin fixture migration

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@antonbaliasnikov
antonbaliasnikov marked this pull request as draft August 27, 2026 09:44
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.

1 participant