Verify · 001-portfolio-analytics
Real-time portfolio analytics
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 001-portfolio-analytics; 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
mvn verify: 20 tests pass. ReconcileToReplayTest folds a 3,000-event stream and shows incremental analytics equal a from-zero replay and that restore(snapshot@N)+tail equals the continued fold; AnalyticsPlatformTest and the @QuarkusTest drive one trade stream through positions, weights, and tax lots at once (realized 650.00, net 50, weight 1.0), and a fourth trivial fold is added over the ledger with no ledger change.2 · Verification trace
Every success criterion, traced to its acceptance scenario and the test task that closes it.
| Success criterion | Acceptance | Proof (tests) |
|---|---|---|
| SC-001 | US1 | T-100 |
| SC-002 | US3 | T-300 |
3 · Observables trace
Every reliability NFR, traced to its SLO — objective, SLI, and golden signal. Micrometer times the folds these SLOs measure.
| NFR | Objective | SLI | Signal |
|---|---|---|---|
| NFR-001 | p99 < 1 ms | trade-or-tick to all affected analytics updated, in-process (good ÷ valid) | latency |
| NFR-002 | 99.999% of daily reconciliations bit-match replay | incremental-vs-replay reconciliations matching to the cent | errors |
| NFR-003 | hot-set RSS < 4 GB at 1e9 lifetime trades | resident hot-set bytes ÷ the 4 GB ceiling, at peak | saturation |