ADR
Go over Spring
Go keeps the locking, idempotency, and SQL choices visible in the diff while matching the Family Finance backend and Cloud Run deployment path.
Source: ledger/docs/adr/2026-06-11-v01-adr-001-go-over-spring.mdADR
Pluggable outbox transport
Correctness lives in the transactional outbox, so Kafka can prove local broker semantics while Pub/Sub keeps the cloud deployment serverless and inexpensive.
Source: ledger/docs/adr/2026-06-11-v01-adr-002-outbox-pluggable-transport.mdADR
Ordered locks over SERIALIZABLE
READ COMMITTED plus deterministic account-balance row locks blocks overdraft races without a broad serializable retry loop.
Source: ledger/docs/adr/2026-06-11-v01-adr-003-locking-and-balance-strategy.md