The Case
Not a scaffold. A system.
Nine coherent feature commits ship a working core with the guardrails a real bank would ship day one.
What it does
Customer app can view balance, send money, freeze a card, download a monthly statement. Ops staff can watch the ledger in real time, spot fraud, freeze accounts, run reconciliation. Every write to the ledger passes seven invariants before it commits.
Why it's real
Duende IdentityServer with real OIDC + PKCE via the system browser. JWT bearer with role gates in the API. Blazor Server ops dashboard with cookie session + OpenID Connect. Postgres materialized balances reconciled against ledger sums. Not a mock in sight.
How it's proven
121 property tests against a real Postgres testcontainer via WebApplicationFactory. HTTP-level integration tests exercise the whole OIDC handshake. Every INV-1 through INV-7 has a property covering it. The eight-commit history is auditable in one git log.