What problem does it solve? Silent byte drift in the canonical JSON serializer or in code that reconstructs hashed structures (like reading events back from D1) invalidates the entire hash chain, causing every event to fail verification. This Skill prevents well-meaning edits — such as assigning a SQL NULL column directly or 'optimizing' the serializer — from breaking the SHUDDL ledger's cryptographic integrity. ## Core Features & Use Cases - Frozen serializer rules: Documents the five load-bearing rules of the JCS-based canonicalizer (integer-only numbers, sorted keys, omitted undefined vs emitted null, literal Unicode, no sparse arrays) pinned by a snapshot test. - SQL NULL read-back guard: Enforces mapping SQL NULL columns to omitted keys (never literal null) in rowToEvent so recomputed hashes match stored hashes. - Dual-view and lockstep contracts: Defines hashView vs clientView field sets, the CODE:{json} RPC error envelope convention, and the byte-identical requirement between canonicalPositionBytes and the positions ingest route. - Use Case: Before editing canonical.ts, lens.ts, chain.ts, sign.ts, or anchor.ts, consult this Skill to verify your change against the byte law, then run the ledger test suite to prove the chain still verifies. ## Quick Start Before editing any event hashing, signing, or D1 read-back code in the ledger package, read this Skill and then run the canonical, roundtrip, chain, lens, sign, and anchor tests to confirm the byte law held.