Skip to content

refactor(jolt-claims): extract the claim-expression core into jolt-claim-expr - #2400

Draft
quangvdao wants to merge 5 commits into
quang/zdeps-verifier-safe-defaultsfrom
quang/zclaims-claim-expr
Draft

quangvdao wants to merge 5 commits into
quang/zdeps-verifier-safe-defaultsfrom
quang/zclaims-claim-expr

Conversation

@quangvdao

Copy link
Copy Markdown
Collaborator

Moves the protocol-free claim-expression core out of jolt-claims into a new crate, jolt-claim-expr, so it can be used without the protocol crates. jolt-claims re-exports the original API, so downstream imports keep working. No formula, evaluation, serialization derive, enum order, proof or transcript operation changes. This is item Z-claims of the Whiteout move (LayerZero-Labs/akita#120).

Draft, stacked on #2395 (Z-deps).

Changes

  • crates/jolt-claim-expr/src/{claims,ops,formula_error,symbolic,sumcheck}.rs: the five files moved from jolt-claims, now using jolt-algebra for Ring and the test fields. Three doc links to protocol-owned empty claim types became plain text.
  • crates/jolt-claim-expr/{Cargo.toml,src/lib.rs}: the crate, with the same unsafe/panic lints; depends on jolt-algebra (no defaults), serde and thiserror.
  • crates/jolt-claims: re-exports the moved API and keeps the internal formula_error path; the three symbolic tests that need NoChallenges/NoInputs/NoOutputs stay here unchanged.
  • Root Cargo.toml registers the crate; nested fuzz lockfiles add it.

Validation

  • clippy and tests for jolt-claim-expr and jolt-claims, isolated --lib builds, downstream workspace check, fmt
  • reviewed by gpt-6-astra (approved)

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

📏 PR diff

Note

Actual code changed: 62 lines

🟢 +50 added    🔴 −12 removed

Tests, docs, fixtures, and helper scripts excluded.

Category 🟢 Added 🔴 Removed
⌨️ Actual code +50 −12
🧪 Tests +125 −126
📚 Docs +4 −3
📦 Fixtures +40 0
🔧 Helper scripts 0 0
Total diff +219 −141

Every changed line is classified once.

This branch has not been deployed

No deployments
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.

1 participant