Non-Functional Delta: YU16 over YU15-eod-risk-extract
Every inherited non-functional requirement is retained.
Determinism and the coreβ
- NFR-CDM01: The deterministic core SHALL NOT change; no snapshot field, no new command type,
no risk-gate or matching change;
MatchingEngineClusteredService,BlpRiskStateand the codecs are byte-identical to the YU15 layers. Instrument semantics live in reference-data, pricing, post-trade and display layers. - NFR-CDM02:
SNAPSHOT_FORMATSHALL remain 4 andMIN_READABLE_SNAPSHOT_FORMATSHALL remain 3. - NFR-CDM08: Bond arithmetic SHALL be exact; integer ticks and
BigDecimal, never floating point; in the read model and the extract; the engine's integer arithmetic is unchanged. - NFR-CDM09:
TRADERX_FIXED_UTC_INSTANTSHALL be honored by reference-data'smaturedflag and price-publisher's Treasury clock, so maturity behavior is testable at a chosen instant.
Rollabilityβ
- NFR-CDM03: The state SHALL NOT require a fresh epoch or a PVC wipe. Because the replicated state machine is unchanged, there is no mixed-version divergence window and the state's image can roll onto the standing rig.
Non-regressionβ
- NFR-CDM04: Every inherited proof SHALL remain green; the full
scripts/yu15/run-proofs.shsuite, the order-matcher suite, the allocation and no-GC gates, and the YU04 control-feed pair (migrated to the general route).
Contracts and dependenciesβ
- NFR-CDM05: The adopted CDM subset SHALL be documented in
data-model.mdwith enum literals quoted from CDM source; the runtime record stays flat. - NFR-CDM06: No messaging subject SHALL be added, removed or renamed; the durable control feed
keeps
TRADERX_CONTROL_SECURITY/traderx.control.security.deltas. - NFR-CDM07: No external symbology dependency, no CUSIP/ISIN values, no live Treasury API, no credential; identifiers and auction prices are baked offline. Ported HTTP clients keep 2 s connect / 5 s read timeouts, configurable where the source pack made them so.