fed-prims: Phase C — dag-cbor encode/decode, pure OCaml, RFC 8949 vectors + determinism
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 3m8s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 3m8s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -82,7 +82,7 @@ check** → tests → commit → tick box → Progress-log line → push.
|
||||
- Tests: sha3-256("") = `a7ffc6f8…0f8434a`; sha3-256("abc") = `3a985da7…11431532`.
|
||||
- **Acceptance:** NIST SHA-3 vectors pass; WASM links.
|
||||
|
||||
### Phase C — dag-cbor encoder + decoder, pure OCaml
|
||||
### Phase C — dag-cbor encoder + decoder, pure OCaml ✅ DONE
|
||||
- RFC 8949 deterministic subset (RFC 8742 dag-cbor): unsigned/negative ints,
|
||||
byte strings, text strings, arrays, maps with **keys sorted by
|
||||
length-then-bytewise**, bool, null, tag 42 (CID link). No floats unless a
|
||||
@@ -205,6 +205,12 @@ printf '(epoch 1)\n(crypto-sha256 "abc")\n' | \
|
||||
|
||||
_Newest first._
|
||||
|
||||
- 2026-05-18 — Phase C: pure-OCaml `lib/sx_cbor.ml` (dag-cbor encode/
|
||||
decode), primitives `cbor-encode`/`cbor-decode`. RFC 8949 Appendix-A
|
||||
vectors, length-then-bytewise key sort + order-invariance determinism,
|
||||
decode∘encode round-trip (30 tests). Floats unsupported (raise, no
|
||||
fed-sx shape needs them); tag-42 decode = inner-item passthrough.
|
||||
WASM boot green with new lib module; Erlang 530/530; run_tests +30.
|
||||
- 2026-05-18 — Phase B: pure-OCaml `lib/sx_sha3.ml` (Keccak-f[1600] +
|
||||
SHA-3 pad, domain 0x06), primitive `crypto-sha3-256`. 4 NIST FIPS 202
|
||||
vectors pass (empty/abc/896-bit + 1600-bit 0xa3 multi-block). WASM boot
|
||||
|
||||
Reference in New Issue
Block a user