scroll-tech / scroll-tech/ceno
recursion v2: minimize copied OpenVM system interfaces
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, localBusInventory, 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/systemhas 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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