writeonce/docs/plan
shoney.arickathil 5fc32b4926 feat: iteration 34 — digest builtins sha1/sha256/hmac_sha256 (ids 85-87)
- runtime/src/crypto.c: hand-rolled cores, whole-value over Bytes,
  allocation-free tails; VM half returns fresh Bytes, WO_T_BOUNDS on
  wrong class id (Bytes builtins' message shape)
- test_crypto: RFC 3174 + FIPS 180-4 + RFC 4231 (incl. long-key case 6)
  + 63/64/65 block-boundary sweep + the RFC 6455 handshake input, 18/0
- compiler surface flat per house convention (sha1, not crypto.sha1 —
  matches base64_encode): types.ml signatures + result types, emit.ml
  ids/dispatch/arity/known-list/drop-table (fresh-Bytes entries so
  results get their drops)
- corpus run/crypto-digests pins the .wo path through base64_encode
- no .wob bump (ticks-84 precedent); WO_B_MAX 87; surface doc rows
- slice marker + board row: iteration 24 (absorbing 31+34) executing
- battery 12/12 fresh-built

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 00:42:43 +02:00
..
compiler docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
exploration feat: O(1) read path — index probe wired end to end 2026-08-22 16:44:56 +02:00
oop-vm feat: iteration 34 — digest builtins sha1/sha256/hmac_sha256 (ids 85-87) 2026-08-23 00:42:43 +02:00
discarded.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
learnings.md docs: status board moved to docs/stories/00-status.md 2026-08-21 10:07:20 +02:00
perf-targets.md docs: perf-targets register — measured optimization candidates 2026-08-22 17:19:46 +02:00