Verify · 005-tax-lots
FIFO/LIFO tax lot tracking
How to run, demo, and verify this feature — aggregated from the spec and tasks, with a Run/Demo block grounded in the run that actually happened.
A derived view — regenerate with spectastic verify 005-tax-lots; do not hand-edit. The trace links are aggregated from the bundle; only the Run/Demo block is authored, from the real run.
1 · Run / Demo
TaxLotBookTest shows FIFO realizes 650 leaving 50@12 and LIFO realizes 550 leaving 50@10 — exact to the cent — the partial-lot split, and audit records summing to cumulative realized gain.2 · Verification trace
Every success criterion, traced to its acceptance scenario and the test task that closes it. (Opening lots on buys, T-100, runs in the same suite — see the Run block — as the foundation the relief criteria build on.)
| Success criterion | Acceptance | Proof (tests) |
|---|---|---|
| SC-001 | US2 | T-200 |
| SC-002 | US3 | T-300, T-301 |
3 · Observables trace
Every reliability NFR, traced to its SLO — objective, SLI, and golden signal.
| NFR | Objective | SLI | Signal |
|---|---|---|---|
| NFR-001 | p99 < 40 µs at ≤ 1000 open lots | match, split, and record lot relief for one sell | latency |
| NFR-002 | 99.999% of daily reconciliations bit-match replay | incremental-vs-replay P&L reconciliations matching to the cent | errors |
| NFR-003 | open lots ≤ open buys; 0 lots when flat | open-lot count ÷ open (unrelieved) buys per position, at peak | saturation |