Conversation
Updates the pinned leanSpec commit hash to pick up the latest spec changes.
🤖 Kimi Code ReviewMakefile ReviewLine 28: The commit hash update appears to be a simple version bump for the leanSpec dependency. This change itself is not problematic, but consider:
The change itself is minimal and follows the existing pattern. No blocking issues found. Automated review by Kimi (Moonshot AI) · custom prompt |
🤖 Codex Code ReviewI reviewed the diff in Findings
Notes
Overall, the PR looks good. Automated review by OpenAI Codex · custom prompt |
Greptile SummaryBumps the pinned
Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| Makefile | Single-line update to LEAN_SPEC_COMMIT_HASH from b39472e... to 8b7636b... to pin a newer leanSpec commit. No functional or structural changes. |
Flowchart
flowchart TD
A["Makefile: LEAN_SPEC_COMMIT_HASH\n(updated to 8b7636b)"] --> B["make leanSpec\n(local clone + checkout)"]
A --> C["CI: ci.yml\n(sed extracts hash)"]
C --> D["actions/checkout\n(ref = extracted hash)"]
D --> E["uv run fill\n(generate fixtures)"]
B --> F["cd leanSpec && git checkout\n(uses hash)"]
F --> G["make leanSpec/fixtures\n(generate test fixtures)"]
E --> H["cargo test\n(run spec tests)"]
G --> H
Last reviewed commit: ce8572e
🤖 Claude Code ReviewBased on my review of PR #134, here's my assessment: PR #134 Review: Bump leanSpec commit to 8b7636bSummaryThis PR updates the pinned Review✅ Code Quality & CorrectnessThe change is minimal and well-scoped:
|
leanSpec commit 0340cc1 changed XMSS Signature serialization from structured
JSON (path/rho/hashes sub-objects) to hex-encoded SSZ bytes ("0x..."). Replace
the old ProposerSignature struct and its SSZ reconstruction logic with a simple
hex deserializer (deser_xmss_hex), matching the existing deser_pubkey_hex pattern.
Motivation
The leanSpec project updated its XMSS
Signatureclass serialization in commit0340cc1(part of leanSpec#403). Themodel_serializernow emits signatures as hex-encoded SSZ bytes ("0x...") instead of the previous structured JSON format withpath,rho, andhashessub-objects.When bumping
LEAN_SPEC_COMMIT_HASHto8b7636band regenerating fixtures, all 8verify_signaturesspec tests broke with deserialization errors because our test types (ProposerSignature,SignaturePath,HashElement,RhoData,HashesData) expected the old structured format.Changes
Bump leanSpec commit (
ce8572e):LEAN_SPEC_COMMIT_HASHin Makefile to8b7636bFix signature fixture deserialization (
1f69319):deser_xmss_hexhelper (follows the existingdeser_pubkey_hexpattern): strips0xprefix, hex-decodes to 3112 bytes, constructsXmssSignatureTestSignatureBundle.proposer_signaturefromProposerSignaturetoXmssSignaturewith the new deserializerProposerSignaturestruct and its SSZ reconstruction logic,SignaturePath,HashElement,RhoData,HashesData,SszXmssSignature,SszHashTreeOpening,HashDigest,Rhotype aliases, and their now-unused imports (SszDecode,SszEncode,FixedVector,U28,U32)Note:
attestationSignaturesformat is unchanged.Test plan
make test— all workspace tests pass