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.
Generated fromspec.html · tasks.htmlDerived statusaccepted (from spec.html — this view carries no status of its own)Read time
A derived view — regenerate with spectastic verify 007-reconciliation; 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
./gradlew build./gradlew :run --args='reconcile src/test/resources/custodian/eod-2026-09-13.csv'./gradlew test --tests '*ReconciliationJobTest' --tests '*CorrectionsEndpointTest'ReconciliationJobTest books AAPL 90 / MSFT 250, runs the job over a custodian file saying AAPL 100 / MSFT 250 / VOD.L 0, and asserts exactly one PositionChanged (AAPL, 100, recon:<sha8>:AAPL) that Risk observed; a second run over the same file emits nothing. The reconcile subcommand on a fresh store reports 2 corrections, then 0. After change 2026-09-18-http-corrections, POST /corrections {instrument, quantity, tradeId} on the running process answers 200 and logs one PositionChanged; the same request again answers 200 and logs nothing (CorrectionsEndpointTest, FR-005)
2 · Verification trace
Every success criterion, traced to its acceptance scenario and the test task that closes it.
Every reliability NFR, traced to its SLO (objective, window, SLI, signal) and — for a quantified NFR with none — a loud gap. The instrumentation evidence below grounds it in the real run.