Skip to content

Releases: div0rce/quant-systems-lab

v0.2.1

22 Jun 16:56
31210c2

Choose a tag to compare

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) → NewOrder and OrderCancelRequest (35=F) → CancelOrder. Decoding is total, deterministic, and noexcept; every malformed input is reported through a FixError taxonomy mirroring the binary codec. Includes a cross-codec equivalence test and a byte-pinned fixture; prices stay integer ticks.
  • make flamegraph (#32). Renders a Linux perf call-graph flamegraph (results/flamegraph.svg + provenance results/flamegraph.txt) via the dependency-free, unit-tested scripts/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 /resume anchors and perf-evidence wording to the released v0.2.0 state and narrowed an overstated Apple Blizzard (E-core) PMU claim (Codex follow-up to PRs #127/#128): PROGRESS.md, AGENTS.md/CLAUDE.md agreement, and docs/perf_analysis.md.

See CHANGELOG.md for full detail.

v0.2.0

21 Jun 05:52
ded6e80

Choose a tag to compare

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: perf stat/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 epoll gateway 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/*.txt artifacts are regenerated on a bare-metal Apple M2 (aarch64) Fedora Asahi host.
  • perf stat is now partial hardware PMU evidence: real Apple Avalanche/Blizzard cycles/instructions/branches/branch-misses, with cache-references/cache-misses unsupported 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)

  • No independent external review yet (issue #94).
  • Full cache-counter PMU evidence still absent (issue #90); the bare-metal Apple PMU is partial.
  • Loopback-only networking, single-NUMA-node host, synthetic microbenchmarks.

v0.1.0 — deterministic exchange systems lab

31 May 19:28
9857e1a

Choose a tag to compare

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.txt with 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.)