Skip to content

[codex] Add Mersenne31 regression tests for PR 257 - #2

Draft
adrienlacombe wants to merge 10 commits into
pr257-mersenne31-basefrom
feat/pr257-mersenne31-tests
Draft

[codex] Add Mersenne31 regression tests for PR 257#2
adrienlacombe wants to merge 10 commits into
pr257-mersenne31-basefrom
feat/pr257-mersenne31-tests

Conversation

@adrienlacombe

Copy link
Copy Markdown
Owner

Summary

Adds a small regression-test layer on top of Verified-zkEVM#257's Mersenne31 implementation.

Changes

  • Adds CompPolyTests.Fields.Mersenne31.
  • Checks the canonical Mersenne31.Basic prime, field, and NonBinaryField instances.
  • Checks the Mersenne31.Fast field surface and representative/canonical conversion behavior for a few arithmetic paths.
  • Imports the test module from CompPolyTests.

Validation

  • lake build CompPolyTests.Fields.Mersenne31
  • lake build CompPolyTests
  • ./scripts/lint-style.py tests/CompPolyTests/Fields/Mersenne31.lean
  • ./scripts/lint-style.sh
  • ./scripts/check-imports.sh
  • lake test

Co-authored-by: Valerii Huhnin <olympichek1@gmail.com>
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

Build Timing Report

  • Commit: 6f148de
  • Message: Merge 51a0180 into 5742dfa
  • Ref: feat/pr257-mersenne31-tests
  • Comparison baseline: 6e4f165 from the previous successful PR update.
  • Measured on ubuntu-latest with /usr/bin/time -p.
  • Commands: clean build rm -rf .lake/build && lake build; warm rebuild lake build; test path lake test.
Measurement Baseline (s) Current (s) Delta (s) Status
Clean build 437.35 378.03 -59.32 exit 1
Warm rebuild 1.52 - - -
Test path 38.50 - - -

Incremental Rebuild Signal

  • Clean:warm comparison is unavailable because one of the build measurements is missing.

This compares a clean project build against an incremental rebuild in the same CI job; it is a lightweight variability signal, not a full cross-run benchmark.

Slowest Current Clean-Build Files

Showing 20 slowest current targets, with comparison against the selected baseline when available.

Current (s) Baseline (s) Delta (s) Path
54.00 67.00 -13.00 CompPoly/Fields/Binary/Tower/Abstract/Basis.lean
53.00 51.00 +2.00 CompPoly/Fields/Binary/BF128Ghash/XPowTwoPowModCertificate.lean
36.00 45.00 -9.00 CompPoly/Univariate/DivisionCorrectness.lean
34.00 40.00 -6.00 CompPoly/Fields/Binary/BF128Ghash/Impl.lean
29.00 29.00 +0.00 CompPoly/Bivariate/Deriv.lean
20.00 23.00 -3.00 CompPoly/Bivariate/GuruswamiSudan/Root/RothRuckenstein/Correctness.lean
19.00 20.00 -1.00 CompPoly/Fields/Binary/Tower/Support/Preliminaries.lean
19.00 26.00 -7.00 CompPoly/Bivariate/ToPoly.lean
19.00 18.00 +1.00 CompPoly/Univariate/NTTFast/Correctness/Radix4DIT.lean
18.00 27.00 -9.00 CompPoly/Univariate/Raw/Proofs.lean
16.00 17.00 -1.00 CompPoly/Fields/Binary/AdditiveNTT/Intermediate.lean
16.00 13.00 +3.00 CompPoly/Fields/Binary/AdditiveNTT/Correctness.lean
15.00 18.00 -3.00 CompPoly/Univariate/NTTFast/Correctness/Radix4DIF.lean
14.00 17.00 -3.00 CompPoly/Fields/KoalaBear/Fast.lean
14.00 15.00 -1.00 CompPoly/Univariate/ReedSolomon/GaoCorrectness.lean
14.00 18.00 -4.00 CompPoly/Bivariate/GuruswamiSudan/Interpolation/LeeOSullivan/Correctness/Divisibility.lean
13.00 13.00 +0.00 CompPoly/Fields/Binary/AdditiveNTT/NovelPolynomialBasis.lean
13.00 32.00 -19.00 CompPoly/Bivariate/Factor.lean
12.00 14.00 -2.00 CompPoly/Univariate/Basic.lean
12.00 18.00 -6.00 CompPoly/Univariate/NTT/Forward.lean

alexanderlhicks and others added 9 commits June 30, 2026 17:41
* ci: update PR summary workflow to OpenRouter interface

The lean-summary-workflow action is now a single OpenRouter-backed gateway.
Update summary.yml inputs: api_key takes the OpenRouter key
(secrets.OPENROUTER_KEY), drop the removed `provider` input, use an
OpenRouter model slug, rename style_guide_path -> additional_instructions_path,
and add contents:read for the action's checkout.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: standardize deployment (inherit default model, add upstream_path/reopened/timeout)

Omit `model` so the workflow inherits the action's default
(deepseek/deepseek-v4-flash) — the fleet model can then be changed in one
place. Also add the `reopened` trigger, a job timeout, and (where applicable)
upstream_path for upstream-bound directories.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ecoding (Verified-zkEVM#267)

Co-authored-by: Abraxas1010 <rgoodman@apoth3osis.io>
…M#268)

Combine `decode_eq_none` and `decode_none_farness` into a single
outcome characterization `decode_eq_none_iff`: the decoder returns
`none` iff the received word is beyond the guaranteed radius
⌊(n-k)/2⌋ of every codeword.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Add guards for positive subtraction, negation, square, power edge cases,
division, inverse products, int powers, and ringEquiv on multiplication.
Use a flat Mersenne31.Fast namespace consistent with KoalaBear.Fast tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@adrienlacombe
adrienlacombe force-pushed the feat/pr257-mersenne31-tests branch from 6e4f165 to 51a0180 Compare July 20, 2026 09:47
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.

5 participants