Fixed Fields, Fixed Sizes
Each record has a closed set of fields (fixed-width integers, not free-form rows).
Account (conceptually): id, ledger, code, flags, debits/credits, user_data_*, timestamp
Transfer (conceptually): id, debit account, credit account, amount, ledger, code, flags, user_data_*, timestamp
- No arbitrary strings in the hot path
- No “add a JSON column later”
- Immutability + fixed layout → simpler correctness and performance