Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
b2a5415
add system,gkr air
hero78119 Mar 6, 2026
95c6898
ceno_recursion_v2: stub inner agg prover
hero78119 Mar 7, 2026
bb3b9fd
ceno_recursion_v2: wire dependencies and run check
hero78119 Mar 7, 2026
3adbe99
ceno_recursion_v2: flesh out inner test
hero78119 Mar 7, 2026
09942ff
ceno_recursion_v2: move skills folder local
hero78119 Mar 9, 2026
69f31f9
fork proof-shape module and expose required shims
hero78119 Mar 9, 2026
db92602
docs: add proof shape and system specs
hero78119 Mar 9, 2026
93f16f4
wrap BatchConstraintModule around upstream
hero78119 Mar 10, 2026
6ae7bc2
format code
hero78119 Mar 10, 2026
6fc4241
docs: capture planned GKR refactor
hero78119 Mar 10, 2026
b30a493
Add placeholder GKR idx and claims
hero78119 Mar 10, 2026
3815879
Align GKR layer AIR with new loop counters
hero78119 Mar 10, 2026
a525323
feat(gkr): scaffold prod/logup claim splits
hero78119 Mar 11, 2026
e8ee89d
chore(gkr): remove bus extension traits
hero78119 Mar 11, 2026
1cbced2
fix(gkr): correct per-layer loops and logup folding
hero78119 Mar 11, 2026
913c5d4
refactor(gkr): add lambda-prime accumulators
hero78119 Mar 12, 2026
f4b69af
more comment
hero78119 Mar 12, 2026
1f33490
fix(gkr): thread idx through sumcheck
hero78119 Mar 12, 2026
ccf37ef
feat(gkr): echo lambda/mu via layer output
hero78119 Mar 12, 2026
9109a9a
chore(gkr): drop xi sampler wiring
hero78119 Mar 12, 2026
1b3e494
wip more trait type in RecursionProof
hero78119 Mar 12, 2026
349196a
bump p3 to 0.4.1
hero78119 Mar 13, 2026
1625324
stub recursion tracegen path
hero78119 Mar 13, 2026
5848f97
rng stub
hero78119 Mar 13, 2026
41e4037
Populate GKR traces from ZKVM proofs
hero78119 Mar 13, 2026
8ece50a
commit docs change
hero78119 Mar 13, 2026
27b3135
add cuda module
hero78119 Mar 13, 2026
1dde903
Align recursion CPU/CUDA tracegen with upstream
hero78119 Mar 16, 2026
ec7b757
Simplify GKR buses and inventory
hero78119 Mar 16, 2026
7b05252
separate raed/write count constraint
hero78119 Mar 17, 2026
f59d198
Add main module trace wiring
hero78119 Mar 17, 2026
15b5cb0
add main sumcheck final eval airs
hero78119 Mar 17, 2026
77a3162
Refactor expression tracegen for recursion vk
hero78119 Mar 17, 2026
f6f2f23
use upstream SystemParam
hero78119 Mar 18, 2026
2568f0b
simplify and cleanup proof-shape
hero78119 Mar 18, 2026
e643b77
misc: update specs
hero78119 Mar 18, 2026
786a195
wip: investigate unittest output
hero78119 Mar 18, 2026
f631c17
Add diagnostics for subcircuit proving context failures
hero78119 Mar 18, 2026
91cc6ec
wip: unittest debug constraint panic
hero78119 Mar 18, 2026
882580d
Checkpoint local inner-circuit fork scaffold
hero78119 Mar 18, 2026
4cc427e
Re-enable inner pre/post context wiring for proving ctx
hero78119 Mar 18, 2026
6b1a269
Align inner-circuit RecursionProof fork and refresh migration skill
hero78119 Mar 19, 2026
d2bfbed
Fork transcript tracegen for RecursionProof and wire system module
hero78119 Mar 19, 2026
a9ebe3e
Patch stark-backend deps to hero78119 develop-v2 fork
hero78119 Mar 19, 2026
a45fcfe
Make placeholder traces width-correct and use real pow/exp tracegen
hero78119 Mar 19, 2026
e902c5f
misc: fmt
hero78119 Mar 19, 2026
c017ecf
rename gkr -> tower
hero78119 Mar 19, 2026
7bc2858
refactor(system): use local BusInventory in aggregation interfaces
hero78119 Mar 19, 2026
2d9c232
Refactor preflight transcript replay across proof-shape/main/tower
hero78119 Mar 19, 2026
f393565
Scaffold BatchConstraintModule and park system wiring behind TODOs
hero78119 Mar 19, 2026
93593e9
masked cache commit
hero78119 Mar 24, 2026
1c4ffc5
proof-shape: drop pow-bus wiring and align log-height semantics
hero78119 Mar 24, 2026
feb12a8
proof-shape: add CommitAir with commitments-tidx handoff
hero78119 Mar 24, 2026
63e8c37
misc: format
hero78119 Mar 24, 2026
d5e4d09
continuation: observe transcript label via shared utils helper
hero78119 Mar 24, 2026
0f03639
inner-vm-pvs: fork public-values layout and defer bus mapping
hero78119 Mar 24, 2026
e04638c
trace generation for proof shape
darth-cy Mar 25, 2026
059d02f
trace generation for tower
darth-cy Mar 26, 2026
84c67b2
Merge pull request #1279 from scroll-tech/trace/v2_tower
hero78119 Mar 26, 2026
1335f5f
remove debug constraint gating
darth-cy Mar 26, 2026
ebb0ecf
clippy + fmt
darth-cy Mar 26, 2026
e2767ac
build
darth-cy Mar 26, 2026
d547019
clippy
darth-cy Mar 26, 2026
0a22d3c
Merge pull request #1278 from scroll-tech/trace/v2_proof_shape
hero78119 Mar 26, 2026
8ff2b73
add transcript forking sidechain
darth-cy Mar 29, 2026
ec45947
debug preflight
darth-cy Mar 30, 2026
50c08c4
Merge branch 'master' into feat/forked_transcript
darth-cy Mar 30, 2026
9f8801e
debug preflight
darth-cy Mar 30, 2026
57d1a82
merge with master
hero78119 Mar 30, 2026
397e34f
debug transcript values
darth-cy Mar 30, 2026
9865883
Merge branch 'feat/recursion-v2' into feat/forked_transcript
darth-cy Mar 30, 2026
98ffcbc
adjust fork transcript
darth-cy Mar 31, 2026
ac9595f
balance fork transcript and proof shape
darth-cy Mar 31, 2026
b43936b
constrain initial fork state and bound check
darth-cy Mar 31, 2026
0b1a994
label observation correction
darth-cy Mar 31, 2026
3dc77b8
fix transcript discrepancy
darth-cy Mar 31, 2026
cf0b353
remove global_tidx_offset
darth-cy Apr 1, 2026
dd102a0
move commit air into verifier inner
darth-cy Apr 1, 2026
5898474
restore TODO stash
darth-cy Apr 1, 2026
56035cd
restore TODO stash
darth-cy Apr 1, 2026
1c0ecb2
Merge branch 'master' into feat/recursion-v2
hero78119 Apr 1, 2026
e39c574
merge with master
hero78119 Apr 1, 2026
1cb8e2d
Merge branch 'feat/recursion-v2' into feat/forked_transcript
hero78119 Apr 1, 2026
5025cf4
misc: cargo fmt
hero78119 Apr 1, 2026
1209a30
misc: observe order
hero78119 Apr 1, 2026
a18782f
merge with feat/misc
hero78119 Apr 1, 2026
4bcd150
Merge branch 'feat/recursion-v2' into feat/forked_transcript
hero78119 Apr 1, 2026
4ef0f62
codebase organization
darth-cy Apr 2, 2026
e4e9b22
remove dead code
darth-cy Apr 2, 2026
52d7a1f
lint
darth-cy Apr 2, 2026
2049be5
adjust verifier flow
hero78119 Apr 2, 2026
953ce2e
Merge branch 'feat/forked_transcript' of github.com:scroll-tech/ceno …
hero78119 Apr 2, 2026
26c8b88
Merge pull request #1284 from scroll-tech/feat/forked_transcript
hero78119 Apr 2, 2026
e1b946e
refactor preflight stage of verifier
hero78119 Apr 2, 2026
0746bcd
cleanup unused module
hero78119 Apr 2, 2026
dab32b0
misc: align verifier run-preflight logic
hero78119 Apr 2, 2026
4a7c972
debug alpha/beta
hero78119 Apr 2, 2026
3821bf1
edit skill
hero78119 Apr 2, 2026
d9d9453
refactor(recursion): move preflight ownership and implement real VmPv…
hero78119 Apr 2, 2026
e1b376d
misc comment out num_pvs_bus logic
hero78119 Apr 2, 2026
01d010e
feat(vm_pvs): enforce zkvm shard continuity invariants
hero78119 Apr 2, 2026
69eb941
feat(recursion): wire vm pvs transcript reads and first-pvs tidx
hero78119 Apr 2, 2026
9fdf555
refactor(proof-shape): simplify pvs trace row/tidx derivation
hero78119 Apr 2, 2026
4b6a1af
Merge pull request #1291 from scroll-tech/feat/forked_transcript
hero78119 Apr 2, 2026
55f1ca1
wip
hero78119 Apr 2, 2026
042c7a4
observed num_instance within per-chip fork
hero78119 Apr 3, 2026
fb3a2fb
merge feature branch
hero78119 Apr 3, 2026
2cefb30
follow upstream change
hero78119 Apr 3, 2026
e675877
adjust slightly
hero78119 Apr 3, 2026
9157724
misc: cosmetics
hero78119 Apr 3, 2026
a4a39ad
misc adjustment
hero78119 Apr 3, 2026
924ca8f
refactor(proof-shape): remove legacy cached/cidx paths and VK-back me…
hero78119 Apr 3, 2026
6dd8dee
migrate challenge fields to D_EF across proof-shape and fork transcript
hero78119 Apr 3, 2026
206549b
wire lookup-challenge bus through inner VM-PVS and fork transcript pl…
hero78119 Apr 3, 2026
c65542f
align proof-shape transcript offsets with vm-pvs prefix and fork meta…
hero78119 Apr 4, 2026
e050ae1
remove fork and replace with observing challenge from parent transcript
hero78119 Apr 4, 2026
65c0074
merge with feature branch
hero78119 Apr 5, 2026
58ba53c
refactor(system): align preflight fork flow with upstream semantics
hero78119 Apr 5, 2026
28793ca
refactor(fork-id): normalize fork ids to 0-based indexing
hero78119 Apr 5, 2026
a6a89fb
proof_shape: derive forked challenge tidx from per-air tower span
hero78119 Apr 6, 2026
042a40c
proof_shape: enforce two-instance heights in air and trace
hero78119 Apr 6, 2026
8cdfb76
Merge pull request #1293 from scroll-tech/feat/forked_transcript
hero78119 Apr 6, 2026
163809e
resolve merge conflicts: use gkr-backend feat/bump-p3 branch
kunxian-xia Jun 18, 2026
83e94a1
fix merge conflict
kunxian-xia Jun 18, 2026
241923a
fix clippy and fmt errors
kunxian-xia Jun 19, 2026
bf688c3
feat(recursion-v2): add leaf verifier prover wiring (#1367)
kunxian-xia Jun 21, 2026
2a4d7dd
Merge remote-tracking branch 'upstream/master' into feat/recursion-v2
hero78119 Jun 26, 2026
7828c00
Merge remote-tracking branch 'upstream/master' into feat/recursion-v2
hero78119 Jun 30, 2026
26bac23
Mirror grouped tower proof shape in recursion v2
hero78119 Jun 30, 2026
3ee9357
recursion docs
hero78119 Jul 1, 2026
0ba6502
checkpoint recursion v2 tower migration
hero78119 Jul 2, 2026
498a3d5
fix recursion v2 tower shape buses
hero78119 Jul 2, 2026
bc72132
gate tower layer padding bus messages
hero78119 Jul 2, 2026
b40f393
fix recursion v2 tower sumcheck buses
hero78119 Jul 2, 2026
e89cbe7
Allow recursion v2 WIP aggregation test fallback
hero78119 Jul 2, 2026
e4a2ae1
Revert "Allow recursion v2 WIP aggregation test fallback"
hero78119 Jul 2, 2026
8fb0da1
Limit recursion v2 to tower prefix
hero78119 Jul 2, 2026
5efeff4
Fix recursion v2 prefix buses
hero78119 Jul 2, 2026
a797892
Remove tower transcript AIR
hero78119 Jul 2, 2026
29720be
Name recursion transcript label fields
hero78119 Jul 2, 2026
4780a65
Constrain recursion tower shape endpoints
hero78119 Jul 2, 2026
3d3094e
Complete recursion v2 main prefix migration
hero78119 Jul 3, 2026
942fa53
Bind main global sumcheck to final claim
hero78119 Jul 3, 2026
50badb2
checkpoint recursion main frontload baseline
hero78119 Jul 3, 2026
f83c458
Harden recursion v2 batch main constraints
hero78119 Jul 4, 2026
eb54d88
fix and consistent tower challenge
hero78119 Jul 4, 2026
dc01b26
Add multi-row main selector AIR
hero78119 Jul 6, 2026
4a492d1
Implement recursion v2 selector formula evaluation
hero78119 Jul 6, 2026
45a3d32
Constrain main selector quark evaluation
hero78119 Jul 6, 2026
4d95848
Constrain main selector eq_lte evaluation
hero78119 Jul 6, 2026
89c4492
recursion-v2: bind selector point producers
hero78119 Jul 6, 2026
ae325ed
recursion-v2: bind ecc bridge selector points
hero78119 Jul 6, 2026
2819b43
recursion-v2: bind ecc rt replay in air
hero78119 Jul 6, 2026
fa9f023
Split ECC RT verifier AIR
hero78119 Jul 6, 2026
46c2cd0
Clean up batch placeholders and enforce tower eval
hero78119 Jul 6, 2026
f79fd33
Fix tower replay weighted fold semantics
hero78119 Jul 6, 2026
0cb7869
recursion-v2: wire pcs verifier airs
hero78119 Jul 7, 2026
99ef296
recursion-v2: bind pcs sumcheck claims
hero78119 Jul 7, 2026
6575f28
recursion-v2: bind jagged assist input
hero78119 Jul 7, 2026
e61a90d
Add jagged PCS claim AIR
hero78119 Jul 7, 2026
b78e71c
recursion-v2: bind PCS helper AIRs
hero78119 Jul 7, 2026
729724c
recursion-v2: bind jagged assist q operand
hero78119 Jul 7, 2026
e3b7e9a
recursion-v2: bind basefold final expected claim
hero78119 Jul 7, 2026
c665bab
recursion-v2: bind basefold final codeword rows
hero78119 Jul 7, 2026
f1a63ca
pcs in recursion
hero78119 Jul 7, 2026
25abcc0
test: cover pcs preflight soundness bindings
hero78119 Jul 7, 2026
8c2c5de
remove local patch
hero78119 Jul 7, 2026
b05a9de
Fix recursion v2 two-shard aggregation
hero78119 Jul 7, 2026
a21b506
Add recursion v2 rotation replay debug logs
hero78119 Jul 7, 2026
5f70e8b
chores: ci happy
hero78119 Jul 8, 2026
10da1d9
chore: remove debugging utility CENO_REC_V2_REAL_VK_DIGEST
hero78119 Jul 8, 2026
70a9ede
Merge pull request #1378 from scroll-tech/feat/recursion_pcs
hero78119 Jul 8, 2026
16b97e5
cleanup
hero78119 Jul 8, 2026
00f52f0
chore: cleanup
hero78119 Jul 8, 2026
a391173
Merge pull request #1377 from scroll-tech/feat/recursion_batch_main_c…
hero78119 Jul 8, 2026
4773afc
Merge pull request #1374 from scroll-tech/feat/recursion-v2-merge-master
hero78119 Jul 8, 2026
d8649b0
remove ceno_recursion v1
hero78119 Jul 8, 2026
f8bac88
Switch ceno cli to recursion v2
hero78119 Jul 8, 2026
028b0e7
Add recursion v2 aggregate e2e command
hero78119 Jul 8, 2026
273fa13
chore: clippy fix
hero78119 Jul 8, 2026
107577b
Merge pull request #1380 from scroll-tech/feat/recursion_batch_main_c…
hero78119 Jul 8, 2026
0c86bbf
Add CUDA tracegen (#1379)
kunxian-xia Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

## Change Highlights

<!-- Briefly list the key changes by crate/module (for example: ceno_zkvm, ceno_emul, ceno_recursion, docs). -->
<!-- Briefly list the key changes by crate/module (for example: ceno_zkvm, ceno_emul, ceno_recursion_v2, docs). -->

## Benchmark / Performance Impact

Expand Down
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ These instructions apply only to pull request or diff review tasks in this repos

## Repository context

- Workspace: multi-crate Rust workspace (for example `ceno_zkvm`, `ceno_emul`, `ceno_recursion`, `ceno_cli`, `examples`).
- Workspace: multi-crate Rust workspace (for example `ceno_zkvm`, `ceno_emul`, `ceno_recursion_v2`, `ceno_cli`, `examples`).
- Toolchain: `nightly-2025-11-20` (see `rust-toolchain.toml`).
- CI expectations (see `.github/workflows/`):
- `cargo fmt --all --check`
Expand Down
2 changes: 1 addition & 1 deletion .github/pr-review-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ just fails to produce a valid proof — a liveness failure. Scrutinize
verifier-side edits more than prover-side edits, and treat any edit to
verifier code as the highest-scrutiny change in the repo.

"Verifier code" includes the **recursive verifier** in `ceno_recursion/`.
"Verifier code" includes the **recursive verifier** in `ceno_recursion_v2/`.
Recursion compresses many shard proofs into a single smaller proof by
running a verifier inside another proof, so a bug there can silently
pass invalid inner proofs through the compressed proof. Same scrutiny
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,11 @@ jobs:
RUSTFLAGS: "-C opt-level=3"
run: cargo run --release --package ceno_zkvm --bin e2e -- --platform=ceno examples/target/riscv32im-ceno-zkvm-elf/release/examples/sha_extend_syscall

# - name: Run aggregation e2e
# env:
# RUSTFLAGS: "-C opt-level=3"
# run: |
# cargo run --release --package ceno_recursion --bin e2e_aggregate -- --platform=ceno --max-cycle-per-shard=1600 examples/target/riscv32im-ceno-zkvm-elf/release/examples/keccak_syscall
- name: Run recursion v2 aggregation e2e
env:
RUSTFLAGS: "-C opt-level=3"
RUST_MIN_STACK: "33554432"
run: cargo run --release --package ceno_recursion_v2 --bin e2e_aggregate -- --platform=ceno --max-cycle-per-shard=1600 examples/target/riscv32im-ceno-zkvm-elf/release/examples/keccak_syscall

- name: Install cargo make
run: |
Expand Down
12 changes: 3 additions & 9 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,17 +54,11 @@ jobs:
run: |
cargo make --version || cargo install cargo-make

# - name: Run aggregation tests
# - name: Run recursion v2 aggregation tests
# env:
# RUSTFLAGS: "" # cleanup RUSTFLAGS and avoid target-cpu=native
# run: |
# cargo run --release --package ceno_zkvm --bin e2e -- \
# --platform=ceno --max-cycle-per-shard=1600 \
# examples/target/riscv32im-ceno-zkvm-elf/release/examples/keccak_syscall
# mkdir -p ceno_recursion/src/imported
# mv proof.bin ceno_recursion/src/imported/
# mv vk.bin ceno_recursion/src/imported/
# cargo test --release --package ceno_recursion --tests -- --ignored
# RUST_MIN_STACK: "33554432"
# run: bash ceno_recursion_v2/scripts/run_e2e_test.sh

- name: run test
env:
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Main crates in this repo:
- `gkr_iop/` — local GKR circuit framework: `Chip`, `Layer`, zerocheck /
sumcheck / linear layer provers, CPU and GPU backends.
- `ceno_emul/` — RISC-V emulator (produces traces for the prover).
- `ceno_recursion/` — recursive proof aggregation stack. Compresses
- `ceno_recursion_v2/` — recursive proof aggregation stack. Compresses
shard proofs by running a verifier inside another proof; treat as
verifier code for soundness purposes. **Must stay in lockstep with
the native Rust verifier** — any protocol-level change on one side
Expand Down Expand Up @@ -91,7 +91,7 @@ surface. See `docs/src/technical-overview.md` for the long form.

## What to prioritize when editing

Verifier code — including the recursive verifier in `ceno_recursion/`
Verifier code — including the recursive verifier in `ceno_recursion_v2/`
— is the highest-scrutiny surface in the repo. Spend more thinking
time per line there than anywhere else; prefer a slow, explicit edit
over a clever one.
Expand Down
Loading
Loading