goldberry

All docs ↓

Architecture decision records

# Decision
0001 One container; Go + HTMX, no SPA
0002 SQLite by default, Postgres optional, behind one Store and a shared contract suite
0003 Money is an append-only ledger in integer minor units
0004 Withdrawal requests hold funds on creation
0005 In-process scheduler with idempotency keys, no cron sidecar
0006 Migrations run at startup
0007 Email via an outbox; in-app is the source of truth
0008 Per-account throttling; kids hard-lock, admins never do
0009 Jar locks: admin locks are hard, kid self-locks are soft with an override gauntlet
0010 AGPL-3.0 licence, matching Copperkeep
0011 The lock-breaking gauntlet is enforced by the server
0012 Release images are built with the Dockerfile and buildx, not ko
0013 Charts are SVG drawn on the server
0014 Investing is a simulated brokerage at real prices, with parent-paid profit
0015 JSON API at /api/v1 with household bearer tokens (read / write / money scopes)
0016 MCP server (opt-in, streamable HTTP) layered on the service layer

View this page on GitHub