verifier, uraniborg: batch verification; faster, cancellable proof check - #38
Merged
billy-lau merged 1 commit intoSep 30, 2026
Conversation
Checking each APK split with its own verifier run fetched the checkpoint
and searched the log once per split, so the proof step took minutes.
- verifier: add --payloads_path batch mode. It searches each log once for
all payloads and shares hash tiles between proofs. Results stream as
JSON Lines and match single-payload runs, even if a tile download fails.
- inclusion_proof_check.py: use batch mode. Splits it gives no result for
(old or crashed verifier) are checked one at a time; an old verifier
also triggers a warning to rebuild it. A missing verifier is reported
once, not once per split.
- Report step_progress events, add package and split labels to log lines,
and kill the running verifier on Ctrl-C or SIGTERM.
314 splits on an Android 14 emulator: proof step ~9 s instead of minutes.
Results match per-split runs exactly.
Test: go test ./... (new batch, tile-error and cancellation tests);
pytest tests (185 pass); emulator run; old-verifier fallback run.
Change-Id: I1b1b9b69fdd6f3d51ac75ebc803725187343ff6c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checking each APK split with its own verifier run fetched the checkpoint and searched the log once per split, so the proof step took minutes.
314 splits on an Android 14 emulator: proof step ~9 s instead of minutes. Results match per-split runs exactly.
Test: go test ./... (new batch, tile-error and cancellation tests);
pytest tests (185 pass); emulator run; old-verifier fallback run.
Change-Id: I1b1b9b69fdd6f3d51ac75ebc803725187343ff6c