OverviewFilesCommitsIssuesDocsReleasesPeers

keet-daemon commits / e5a4e39

CPP-PORT-DESIGN: M5g-4b done — proof surface, createManifest, statics; drill 20/20
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e5a4e39e1b3a642d7f80e24cd22cb76fbce12067
by plankatron <fleeky@gmail.com> · 2026-10-03T23:24:01.000Z

Changed files (1) +14 -0

docs/CPP-PORT-DESIGN.md +14 -0
……@@ -2506,6 +2506,20 @@ SessionState's truncate / reorg / named-session machinery.
25062506 now takes the header.
25072507 - **Drill `m5g4a`: 24/25 red.** "byteLength unsigned" is equivalent (same two's-complement
25082508 value). ctest 30/30.
2509- **M5g-4b DONE 2026-10-03** (keetd a3bd63e + the gate / drill commit).
2510 - **Session:** `treeHash` (fetches a missing last block first), `signable`, `missingNodes`,
2511 an async `proof`, `applyProof`, `verifyFullyRemote`; `treeHashFromStorage`.
2512 - **`createManifest` over a `ManifestInput`**, in JS's order: version, quorum,
2513 parseSigner / validateSigner, blake2b, prologue, userData, linked; plus decodeManifest.
2514 - **Statics:** `key` (a public key, encoded bytes, or a manifest; compat / version /
2515 namespace), `parseManifest`, `discoveryKey`, `blockEncryptionKey`.
2516 - **Moved to 4e** (replicator level): `Hypercore.enable(SMALL_WANTS)`, which needs the
2517 non-COMPAT wants (keetd's wants port is COMPAT), plus `createProtocolStream`,
2518 `getProtocolMuxer` and `replicate`.
2519 - **Core gate `proofs`:** 13 manifest refusals; key() defaults (v2 from userData, a
2520 majority of 3); a parked treeHash on a wait session; applyProof with the reader's
2521 missingNodes; verifyFullyRemote, valid and tampered.
2522 - **Drill `m5g4b`: 20/20 red.** The first run killed 16; its 4 gaps became cases. ctest 30/30.
25092523- **M5g-4 — the rest of the surface:**
25102524 - value encodings and `encodeBatch` (DECODING_ERROR); `postappend`, `onseq`, `onwait`;
25112525 - `setEncryption` / `setEncryptionKey` / `setKeyPair` / `setGroup`;