Skip to content

[recursion-v2] adjust base layer transcript observing order#1292

Draft
hero78119 wants to merge 3 commits into
masterfrom
feat/misc
Draft

[recursion-v2] adjust base layer transcript observing order#1292
hero78119 wants to merge 3 commits into
masterfrom
feat/misc

Conversation

@hero78119

Copy link
Copy Markdown
Collaborator

No description provided.

@hero78119 hero78119 changed the title misc: adjust transcript observing order [recursion-v2] adjust base layer transcript observing order Apr 22, 2026
@hero78119 hero78119 marked this pull request as draft April 22, 2026 08:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adjusts how the base-layer ZKVM transcript is constructed for per-chip proving/verifying, aligning native prover/verifier behavior with the recursion verifier by moving chip metadata observations into per-chip “fork” transcripts (instead of the main transcript) and making the fork transcript initialization explicit.

Changes:

  • Remove (circuit_idx, num_instances) observation from the main transcript and instead bind challenges + fork id + metadata into each per-chip transcript.
  • Update chip scheduling so transcript “forking” is a plain clone, with task-specific transcript appends done inside the task closure.
  • Update recursion verifier to build per-chip challengers independently (labeled fork) and observe the same challenges/metadata order.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
ceno_zkvm/src/scheme/verifier.rs Switch per-chip transcript initialization to BasicTranscript("fork") and move challenge/metadata observations into chip transcripts.
ceno_zkvm/src/scheme/scheduler.rs Remove implicit task_id appends during transcript cloning; closures now bind task-specific transcript state.
ceno_zkvm/src/scheme/prover.rs Stop writing chip metadata into the main transcript; bind challenges/metadata in per-task transcripts and use a dedicated fork transcript template.
ceno_recursion/src/zkvm_verifier/verifier.rs Rework per-chip challenger “forking” to independently initialize and observe alpha/beta + fork id + metadata in verifier order.
ceno_recursion/src/transcript/mod.rs Remove no-longer-used challenger cloning helpers.

Comment on lines +177 to +179
// Extract chip metadata before consuming witnesses.
// We reuse this for both transcript appends and task construction.
let name_and_instances = witnesses.get_witnesses_name_instance();
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