scroll-tech / scroll-tech/ceno

recursion v2: minimize copied OpenVM system interfaces

Open
#1,366 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
153
Forks
43
Avg merge
3d 13h
Merged PRs (30d)
4

Description

Parent: #1266

Audit ceno_recursion_v2/src/system and minimize copied OpenVM recursion system interfaces.

Goal

Keep Ceno recursion v2 aligned with OpenVM develop-v2.1.0-rv64 by re-exporting upstream traits/structs whenever their signatures and semantics work unchanged, and keeping local definitions only where Ceno needs different associated types, local buses, or private upstream data.

Expected changes

  • Re-export upstream system traits/structs where possible instead of copying them locally.
  • Keep local adapters only for Ceno-specific ownership, such as RecursionVk, RecursionProof, local BusInventory, and adapted preflight records.
  • Clearly document any remaining local fork/adaptation so future OpenVM upgrades can distinguish intentional divergence from drift.
  • Avoid silent duplicate traits with the same name/meaning as upstream traits.

Acceptance criteria

  • ceno_recursion_v2/src/system has the smallest practical local adapter surface.
  • Traits whose signatures match upstream are imported/re-exported from recursion_circuit::system.
  • Local definitions that remain have explicit comments explaining why upstream cannot be used directly.
  • Existing recursion v2 tests still compile and pass after the cleanup.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by auditing ceno_recursion_v2/src/system alongside the matching interfaces in OpenVM develop-v2.1.0-rv64 and recursion_circuit::system. Identify traits and structs that can be re-exported, then review the remaining local adapters for Ceno-specific ownership or types. Done means the smallest practical adapter surface, explicit comments for intentional divergences, and passing existing recursion v2 tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers, cryptography
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.