Releases: div0rce/quant-systems-lab
v0.2.1
Two backlog items — reprioritized by the maintainer and delivered — plus a resume-anchor and perf-evidence consistency sweep. Same honesty bar as prior releases: a deterministic C++20 exchange simulator and cross-language differential-testing harness — not a production exchange, no real-market connectivity, no latency or profitability claims, and not formal verification.
Added
- FIX-like text protocol adapter (#29). A human-readable
tag=value(SOH-framed) codec over the same internal message structs as the binary codec, with genuine FIX framing — BeginString (8) / BodyLength (9) / MsgType (35) / … / mod-256 CheckSum (10) — for the client→gateway order path: NewOrderSingle (35=D) →NewOrderand OrderCancelRequest (35=F) →CancelOrder. Decoding is total, deterministic, andnoexcept; every malformed input is reported through aFixErrortaxonomy mirroring the binary codec. Includes a cross-codec equivalence test and a byte-pinned fixture; prices stay integer ticks. make flamegraph(#32). Renders a Linuxperfcall-graph flamegraph (results/flamegraph.svg+ provenanceresults/flamegraph.txt) via the dependency-free, unit-testedscripts/flamegraph.py— no vendored Perl toolkit, reproducible from the repo. The committed artifact is a software cpu-clock sampling hot-symbol profile, not a latency/throughput claim; full hardware cache-PMU evidence stays in #90. Now embedded as a visible image in the README.
Changed
- Synced the
/resumeanchors and perf-evidence wording to the releasedv0.2.0state and narrowed an overstated Apple Blizzard (E-core) PMU claim (Codex follow-up to PRs #127/#128):PROGRESS.md,AGENTS.md/CLAUDE.mdagreement, anddocs/perf_analysis.md.
See CHANGELOG.md for full detail.
v0.2.0
Quant Systems Lab v0.2.0 — the Phase III/IV systems arc plus a bare-metal Linux evidence refresh.
Same honesty bar as v0.1.0: a deterministic C++20 exchange simulator and cross-language differential-testing harness. Not a production exchange, no real-market connectivity, no latency or profitability claims, and not formal verification.
Highlights since v0.1.0
Systems arc (M24–M49)
- Bounded SPSC ring buffer and an optional three-thread gateway→engine→publisher/log pipeline, with ThreadSanitizer coverage.
- Allocator experiment and order-book storage modes: PMR-pooled, intrusive
OrderPool, and a bounded-domain contiguous direct-price-index layout — all producing identical deterministic event streams and snapshots. - Linux studies:
perfstat/record, syscall/socket-path profiling, multi-client connection-scaling load, UDP socket-buffer pressure, CPU-affinity / scheduler-migration / NUMA, and packed-vs-padded false-sharing. - An optional Linux
epollgateway prototype alongside the portable threaded TCP server. - Event-log durability modes (buffered / flush / fsync) with torn-tail classification, conservative repair, and a SIGKILL crash-validation harness; full-replay recovery benchmarking.
- DPDK and NIC-offload research with non-mutating, honestly-classified environment checks.
Bare-metal evidence refresh (this release)
- All
results/*.txtartifacts are regenerated on a bare-metal Apple M2 (aarch64) Fedora Asahi host. perf statis now partial hardware PMU evidence: real Apple Avalanche/Blizzardcycles/instructions/branches/branch-misses, withcache-references/cache-missesunsupported by the Apple Silicon PMU. The perf classifier distinguishes full / partial / no-PMU. Issue #90 is narrowed to the cache-counter set (needs a PMU microarchitecture that exposes it — bare metal alone is not enough).- A publish-time sanitizer redacts every non-broadcast MAC so generated evidence cannot leak host hardware identifiers, with a CTest-registered shell test.
- Documentation staleness sweep: release-readiness, architecture, perf/Linux, socket, storage, and recruiting docs brought current; the independent OCaml replay engine vs the log verifier is clarified.
Verification
make check 241/241 · make asan 241/241 · make tsan 20/20 · determinism, differential-sweep (seeds 1..64), and OCaml differential suites green. All artifacts carry source-digest provenance and report Dirty inputs: no.
Known limitations (open)
v0.1.0 — deterministic exchange systems lab
Quant Systems Lab v0.1.0 — a deterministic C++20 exchange simulator and cross-language
differential-testing harness, built as a systems-engineering portfolio project. It is not a
production exchange, is not connected to real markets, and makes no latency or profitability
claims; the cross-language differential layer is property-based testing, not formal
verification. Benchmarks are synthetic microbenchmarks recorded in results/ and are
hardware/compiler/build-dependent.
Post-M22 backlog hardening (GitHub issues #34–#51)
Differential/property-testing follow-ups, each merged as an individual Codex-reviewed PR:
- Oracle self-test that injects a divergence and shrinks it to a minimal reproducer (#34).
- Dynamic CI seed sweep beyond the committed fixtures (#35).
- Dedicated negative fixtures for
best_bid/best_ask/trade-count/bid-side levels (#36). - Synthetic divergence demonstration: the shrinker reducing a real C++/OCaml mismatch (#37).
- Differential fixture coverage matrix (#38) and an oracle-independence audit (#39).
- CI failure artifact bundle uploaded on divergence (#40).
- Shared gateway-dispatch helper (#41); price (#42) and symbol/order-id (#43) shrink passes.
- Generator reject-reason coverage test (#44); cross-compiler determinism check (#45).
- Shrinker effectiveness metrics (#46) and a seed-reproducibility manifest (#47).
- Oracle mutation testing across every snapshot field (#48).
- Larger committed property corpus,
prop_seed1..50(#49). - Differential regression archive (#50).
- Differential-harness performance benchmarks,
results/differential.txt(#51).
Phase II — cross-language differential testing (M15–M20)
- Normalized command-stream + final-snapshot fixture export (M15).
- Independent OCaml replay engine that recomputes the final snapshot from the command stream
alone (M16). - Differential tests asserting C++ and OCaml snapshots are equal, with a deliberate-mismatch
fixture and a golden fixture-regeneration guard in CI (M17). - Seeded property-based command generator spanning valid/invalid/duplicate/reused/unknown/IOC/
market/cancel/modify/multi-symbol cases (M18). - Deterministic shrinker that reduces a failing stream to a minimal counterexample, with a
minimal-fixture exporter (M19). - Differential-testing and property-testing architecture documentation (M20).
Core simulator and tooling (M3–M14)
- OCaml replay verifier checking exported event logs against replay invariants (M14).
- Final architecture/demo/recruiting documentation and
make demo(M13). - Hardening: ASan/UBSan, randomized invariant tests, and structure-aware protocol fuzzing in CI
(M12). - Reproducible benchmark harness writing
results/latest.txtwith full metadata (M11). - Append-only event log and deterministic replay/recovery (M7–M8).
- Price-time-priority matching engine, deterministic risk checks, and a market-data publisher
(M3–M6).
(Networking: a loopback TCP order gateway (M9) and UDP market-data feed (M10) — local,
unauthenticated; see SECURITY.md.)