Migrated from Method backlog
GitHub Issues are now the live work tracker. Repository docs remain Method evidence.
| Field |
Value |
| Source backlog |
docs/method/backlog/bad-code/SUB_cbor-checkpoint-crdt-serialization.md |
| Archived source |
docs/archive/backlog/github-issue-migration-2026-06-01/docs/method/backlog/bad-code/SUB_cbor-checkpoint-crdt-serialization.md |
| Original lane |
bad-code |
| Original id |
SUB_cbor-checkpoint-crdt-serialization |
| Original legend |
SUB |
| Original feature |
trie-state-storage |
| Original release home |
v17.0.0 |
Original backlog card
CborCheckpointStoreAdapter owns general CRDT serialization
Effort: M
CborCheckpointStoreAdapter.js (~366 LOC) carries full CRDT
serialization logic for LWW registers, ORSet entries, edge birth
events, and property maps. This serialization is general-purpose
CRDT encoding, not checkpoint-specific.
What's wrong
- S concern: The adapter should orchestrate read/write against
the blob port, not own the full serialize/deserialize for every
CRDT type.
- If another adapter needs CRDT serialization (e.g., a future
snapshot export), the logic would be duplicated.
Suggested fix
Extract CRDT serialization to a CrdtCodec or StateCodec module
in src/infrastructure/codecs/. The checkpoint adapter calls it
for encode/decode, then writes blobs.
Migrated from Method backlog
GitHub Issues are now the live work tracker. Repository docs remain Method evidence.
docs/method/backlog/bad-code/SUB_cbor-checkpoint-crdt-serialization.mddocs/archive/backlog/github-issue-migration-2026-06-01/docs/method/backlog/bad-code/SUB_cbor-checkpoint-crdt-serialization.mdbad-codeSUB_cbor-checkpoint-crdt-serializationSUBtrie-state-storagev17.0.0Original backlog card
CborCheckpointStoreAdapter owns general CRDT serialization
Effort: M
CborCheckpointStoreAdapter.js(~366 LOC) carries full CRDTserialization logic for LWW registers, ORSet entries, edge birth
events, and property maps. This serialization is general-purpose
CRDT encoding, not checkpoint-specific.
What's wrong
the blob port, not own the full serialize/deserialize for every
CRDT type.
snapshot export), the logic would be duplicated.
Suggested fix
Extract CRDT serialization to a
CrdtCodecorStateCodecmodulein
src/infrastructure/codecs/. The checkpoint adapter calls itfor encode/decode, then writes blobs.