Lab Mode — Crisis Library

Explore any crisis in isolation. No debt accrual. No journal. Pure exploration.

11 of 11 crises

M0 · ledgerline

The shape of the ledger

The first contract obligates Ledgerline to deliver an architecture description within 30 days. The data model picked here is the architecture description. There is no deferring this — the next 35 months of crises all reference the shape of the transfer record.

Trade-off

The ledger as a data model: document vs. double-entry table vs. event log. Atomicity of paired writes vs. ease of evolution vs. queryability of history.

consistencyauditabilityevolvability
M2 · ledgerline

The bank timed out mid-transfer

A treasurer is on the phone. Resolution is required within the call. The transfer is $128,000. Doing nothing means either a duplicate transfer or a stuck transfer; both are escalatable. There is no third-party safe answer.

Trade-off

Idempotency keys; at-least-once vs. exactly-once; the gap between "request succeeded" and "money moved".

consistencyauditabilitylatency
M5 · ledgerline

The reconciliation report takes six hours

The customer has issued a written deadline. Helen does not write twice; the next message will be from her general counsel. Doing nothing means losing the anchor customer.

Trade-off

OLTP vs. OLAP separation. Read replicas, CDC, pre-aggregated rollups, and whether reporting reads are allowed to touch the primary.

latencyauditabilityconsistency
M8 · ledgerline

Priya signed a multi-currency customer

The contract is signed. Priya cannot un-sign it without a board conversation. The choice is not whether to ship multi-currency — it is what shape the multi-currency data model takes, and Priya needs an answer by end of week to write the SOW.

Trade-off

Domain modeling for money: base-currency-with-FX vs. native-currency-per-row, and the question of which FX rate timestamp the ledger commits to.

consistencyauditabilityevolvability
M12 · ledgerline

Black Friday at the payroll customer

Customer-facing SLA is breached. Halberd's CFO is on the phone. The partner bank's rate limit is a real ceiling; doubling our worker pool will make it worse, not better.

Trade-off

Queue theory and back-pressure: throughput vs. latency, the difference between scaling workers and respecting the downstream's rate.

latencyconsistencycoupling
M16 · ledgerline

The auditor wants every transaction touched by employee X

Regulatory deadline. The bank charter we operate under depends on responding. Doing nothing is not an option. This crisis is the M5 callback: if the user picked harder-primary at M5, audit-gap matured here, and the overlay surfaces the M5 journal entry verbatim before any option is shown.

Trade-off

Audit logging as a first-class data model: immutability, provenance, the difference between having logs and having queryable evidence.

auditabilityconsistencylatency
M20 · ledgerline

The $4,300 hole

Largest customer; 48-hour clock; the diff is between two systems' state, neither of which has its own history. If the user picked the mutable-ledger option at M0 and never paid it down, there is no native answer.

Trade-off

Event sourcing as a debugging tool: the difference between current state and the story of how the state was reached. Why "what does the row say now" is not enough.

auditabilityconsistency
M24 · ledgerline

The partner bank's 90 days

Ninety-day clock. The partner bank handles ~60% of transfer volume. Failing to migrate means failing the SLA on every contract by Month 27. This crisis is the M8 + M12 callback — the literal-replay overlay surfaces the M8 USD-display-convert journal entry and/or the M12 more-workers journal entry as the cause.

Trade-off

Vendor abstraction, the strangler pattern, dual-write. Why "we'll write a thin wrapper later" is debt waiting to happen.

couplingconsistencyevolvability
M28 · ledgerline

The junior engineer's migration

Customer-facing outage during business hours. CEO is on customer calls. Devon is twelve months into her first job. The technical fix is bounded; the people decision is not. This crisis is the M24 callback — the literal-replay overlay surfaces the M24 rewrite-integration journal entry, which is the reason no one had time to build migration tooling.

Trade-off

Change management and deploy safety. Procedural fixes vs. tooling fixes. Whose work it actually is to make the next migration safe.

evolvabilitycostcoupling
M32 · ledgerline

GDPR and PSD2 on the same day

Board has approved expansion; legal has confirmed both regulations apply; cancellation now means returning the Series B. The choice is architectural shape, not whether to expand.

Trade-off

Data residency vs. latency. Regional architecture as compliance, not as performance optimization. The regulatory map.

securityconsistencylatency
M36 · ledgerline

Acquisition due diligence

Finale. Communication-shaped, not architectural. The user's accumulated debt ledger and decision pattern determines which coda fires (see finale.json). The crisis itself is the writing exercise; the coda is what the user produces.

Trade-off

Communication. Narrative. Owning your history. This is not a technical exercise; it is the ability to defend three years of trade-offs in writing, in front of someone who will not be persuaded by enthusiasm.

auditabilityevolvabilitycost