Repository navigation
chore(quest): audit what m4 has left to prove, one quest per gap - #448
Merged
Merged
Conversation
Quest-Claim: a159dbab1846b9a1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, and measure libjade and Vale first Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated
marked this pull request as ready for review
November 7, 2026 06:01
|
Your OpenCode Go account is out of credit. Top it up, then re-trigger Pullfrog. OpenCode Go's response
|
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 31 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
…an a recurring re-audit HOL Light proofs live in proofs/hol-light, SHA-2 quests pin unmerged upstream specs, every upstream post asks the maintainer, and a re-audit recurs at the end of each milestone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Recorded the maintainer's 2026-11-07 answers in 44e7274:
(Written by Claude Opus 5.5 with high) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Finishes quest/m4/verified/audit.md: every operation, backend, and CPU tier still without a ✓ once the m3 verified epic's open quests land, the code each runs, what is already proven, and the cheapest route to a proof of that same code. It plans one leaf quest per gap under the m4 epic, most-used first, and summarizes the result in the epic's Plan.
Impact
Quest files only. No public API or wire change.
Approach
benchmarks/verified.toml, ALGORITHMS.md's tables and Sources,proofs/README.md, and moq-dev/rind#318. Re-checked dispatch inrind/src/{low,mid,high}where ALGORITHMS.md was not specific enough (AES header protection, x86_64 P-256's k·G and d·Q, RSA's product choice by width,cipher::ChaCha20's kernels).b4f17ee7, aws-lc-verification79730247, and HACL*f5572590.Report
What has the ✓ after m3
Every other cell is a gap. Parsing and randomness stay outside the ✓, as
verified.tomldefines it.Upstream since m3
nonoverlappinginput and output.sha512h,sha512h2,sha512su0, andsha512su1, and the SHA-3, AES, and PMULL instructions. The x86_64 model decodes broad AVX2 and VEX.256 VPCLMULQDQ, but no VAES, EVEX, IFMA, or SHA-NI.Fn*vtables. Aeneas still rejects&dynmethod calls (aeneas#1500).Gaps, routes, and quests
Ranked by how often the operation and tier run, as the epic's Required list is. "HOL" means a HOL Light proof in s2n-bignum's model, and "Aeneas" means Aeneas to Lean in
proofs/. Sizes follow the quest guide's agent-effort scale.proofs/hol-light/in rind, checked byadmin/proveover a pinned or vendored s2n-bignumcipher::Aes, x86_64 AES-NI and aarch64 cryptoaeseintrinsics, rind's key schedulesAesKey.lean,AesNi.lean)aese/aesmcon aarch64Simd.lean's intrinsic modelsaes_gcm_*_vaes_avx2/_avx512andgcm_init_vpclmulqdq_*, the #2 kernels, Vale for short openscommon/gcm.ml; Aeneas for the glue and kernel choicein == outinplace.pysha256_block_data_order_hw(123 instructions)sha512_block_data_order_hwsha512_block_data_order_avx2(1.15-1.47x the proven AVX and scalar routines)sha256_block_data_order_avx2mid/sha3.rs, about 670 lines)ecp_nistz256_{,avx2_}select_w7,point_add_affine{,x}, rind's Booth-7 driver over a 152 KB table;p256_montjscalarmuland rind's to-affinep256_scalarmulfor d·Q; HOL for aws-lc's k·G routines; Aeneas for the driver and the x86_64 tablebn_mul_mont(1.15-2x s2n-bignum's)cipher::ChaCha20, x86_64 with SSE4.1P256Order, Ed25519 group membershipgeneratersaz_amm52x*_x2_ifma256,extract_multiplier_*sha512_block_data_order_sha512extvsha512*to the modelbignum_copy_row_from_tablefor the selectbn_mul{,x}4x_mont,bn_sqr8x_mont,bn_mul_mont_nohw,bn_power{,x}5, RSAZ AVX2aes_hw_ctr32_encrypt_blocksandaes_hw_cbc_encrypton x86_64; rind's NEON CTR and CBC on aarch64;mid/aes_kw.rsavx/ssse3/nohw, SHA-512nohwvpaes-armv8,ghash-neon-armv8, SHAnohws, rind's compositionnohwtbland 8-bitpmullare modelled); Aeneasvpaes-x86_64andghash-ssse3; Rust ports ofaes_nohw.candgcm_nohw.cavx/ssse3/nohwumaalRust; libcrux AESadmin/prove(L), NIST curves (XL), an AArch32 model (XL), the assembly (XL), Curve25519 (XL)Every route proves the code rind runs today. Each switch named above (#13's
p256_scalarmul, #22's table select, #28's scalar SHA-512) happens only if the proven code measures as fast. Each quest records where the faster code it keeps was measured.Decisions
Answered by the maintainer on 2026-11-07. Three differ from what this PR first recommended; each is recorded in the quest files.
proofs/hol-light/in rind, run byadmin/provebeside the Lean proofs, over a pinned or vendored s2n-bignum. Nomoq-dev/s2n-bignumfork. The hol-light quest's plan is rewritten for this.benchmarks/verified.toml's ✓ notes the pin. This one matches the recommendation.quest/m5/verified/re-audit.md, and each run covers the post-quantum and protocol algorithms that have landed by then.Choices made without asking
P256Order, Ed25519's group membership) are planned as a gap, since the epic shrinks the trust base too.Validation
quest check: 124 documents ok.nix develop --command just check: passes at 44e7274 (bench tests, quest, shell, and nix checks; no Rust changed).Follow-ups
None beyond the planned quests.
Models
Size: M
Implementer: Claude Code, claude-opus-5-5, high effort
Review
Rewritten by
quest reviewafter each round.01a1b495-2deb-7bb1-ab4c-0ef2207e2feb, round 2The documentation-only change resolves the earlier finding with no remaining actionable defects; local links and diff checks pass, and builds and tests were not run.quest/m4/verified/README.md:14:Scope the absence-of-proofs claim to rind's actual kernels;README.md:14 scopes the claim to rind's kernels, chacha20-poly1305-x86.md:10 names the existing proofs and line 11 requires benchmarking them, and chacha20-poly1305-aarch64.md:10 distinguishes their architecture.Round 2's head was then merged with
origin/main(conflict-free). 44e7274 records the maintainer's four decisions and adds the recurring re-audit they asked for. The maintainer asked for no re-review unless the plan changed beyond those edits, and it does not.(Written by Claude Opus 5.5 with high)
🤖 Generated with Claude Code