Skip to content

fix(crypto): M32 is u64 -- wasm32's usize cannot hold 2^32 (Refs #11840) - #11841

Merged
gHashTag merged 1 commit into
masterfrom
fix/sha256-m32-u64
Oct 23, 2026
Merged

gHashTag merged 1 commit into
masterfrom
fix/sha256-m32-u64

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

Found by the T27 OS lab's wasm step (the live closure scalar plane, wasm32 = 32-bit usize) refusing work_graph.zig with 'type usize cannot represent integer value 4294967296' — sha256.t27's M32, the 2^32 modulus of every sigma and round, was declared usize. u64 is the honest type: every operand it modulates is a u64 accumulator; the digest tests pin the same bits. 5/5 under t27c test-report and t27b. The lab caught a defect the host-64 builds never see — exactly what t27os#3 built it to do. Epic: #11840.

… (Refs #11840)

The T27 OS lab's wasm step (the live closure's scalar plane, built for
wasm32 where usize is 32 bits) refused work_graph.zig: 'type usize
cannot represent integer value 4294967296' -- sha256.t27's M32 (the
2^32 modulus of every sigma and round) was declared usize. u64 is the
honest type: every operand it modulates is a u64 accumulator, and the
digest tests pin the same bits. 5/5 under t27c test-report and under
t27b.

Found by the T27 OS lab dispatching on master b065be2 -- the lab
caught a defect the host-64 builds never see. That is the lab working
as t27os#3 intends.
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-23 15:38:08 UTC

Summary

Status Count
Total Open PRs 28
PRs with Failing Checks 24
PRs with All Checks Green 4
READY 3
FAILING 24
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 24 + 0 + 0 = 27, and there are 28 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=5aec047d42ec != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 4f0cd6f into master Oct 23, 2026
25 of 29 checks passed
@gHashTag
gHashTag deleted the fix/sha256-m32-u64 branch October 26, 2026 03:46
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