← Docs

Project status — 2026-10-10

Where the Astral Project stands, in numbers, diagrams, and gates. Every figure below is derived from the repository itself (commit messages, file birth dates, the test suite); sources are stated per figure so nothing here relies on memory.

Headline numbers

Metric Value Source
Tests passing 200, 0 failing cargo test --workspace, 2026-10-09
Clippy / fmt zero warnings / clean same run, -D warnings
Crates 8 (record, book, types, normalize, replay, exec, harness, python) workspace members + birth dates below
Spec/runbook docs 9, all built to the site docs/ + website/build.py
Research notes published 1 (negative result) research/001-*
Commits on main 100+ across 10 active days git log
Live venues verified Binance + Bybit captures, Coinbase trades/tickers README verification record
Open audit findings 5 of 13 fully open (+2 post-audit bugs, both fixed) docs/audit-2026-10-06.md follow-ups

Growth

tests passing at documented milestones

Test counts come from commit messages that state them (83 on 09-29, 114 on 10-02, 139 on 10-05, 200 on 10-09) — milestones, not continuous sampling. The slope is real work, not test inflation: each jump arrived with the feature it covers (adversarial fixtures, replay events, exec/harness).

commits per day

Crate births (first commit touching each manifest — the project's actual assembly order): record + types 09-25, book 09-26, normalize 09-30, replay 10-02, exec 10-06, harness 10-08, python 10-09.

System map

flowchart LR
    A[Exchange WebSocket] --> B[raw immutable frames]
    B --> C[compressed chunks<br/>2000/chunk · SHA-256 index]
    C --> D[normalised Parquet<br/>exact decimals · Hive partitions]
    C --> E[deterministic replay<br/>book-top · trade-tally]
    E --> G[exec-v1 fills<br/>print-through only]
    G --> H[benchmark harness<br/>one replay · N probes]
    H --> I[hashed report<br/>registry · verify]
    D --> J[research notes<br/>negatives first-class]
    classDef done fill:#0d3b34,stroke:#5eead4,color:#e6edf3
    classDef partial fill:#3a2f10,stroke:#fbbf24,color:#e6edf3
    classDef missing fill:#1a1f2b,stroke:#4b5563,color:#8b949e
    class A,B partial
    class C,D,E,G,H,I,J done

Gate funnel

flowchart TD
    G1[Gate 1 — capture & reconstruct<br/>code complete · evidence pending]
    G2[Gate 2 — does it work<br/>exec built · calibration open]
    G3[Gate 3 — useful research<br/>1 note · substantive note open]
    G4[Gate 4 — others use it<br/>machinery ready · humans missing]
    G1 -->|72h soak + 2nd machine| G2
    G2 -->|shadow error small| G3
    G3 -->|one substantive note| G4
    G4 -->|5 users · 2 reproductions| G5[Beyond — defined by Gate 4]
    classDef open fill:#3a2f10,stroke:#fbbf24,color:#e6edf3
    class G1,G2,G3,G4 open

Each gate has a kill criterion in ROADMAP.md (10 bps model error, 3 fruitless months, 6 userless months). The funnel is honest about what blocks each step: wall-clock evidence and other humans, both unhurriable by commits.

Audit closure funnel

13 findings entered; closed: overflow guards, soak backoff, manifest trust, schema gate, book errors, all CLI formats, trade sides, reconstruct gaps, sequence breaks, used-dir refusal, gap numbers, fuzz coverage — plus 2 post-audit bugs (decimal range, corrupt fills). Open: soak-scale streaming, behavioral unification leftovers, Bybit snapshots (needs a citable source), null-row divergence (needs normalized-replay), normalize idempotency is documented, tail holes are documented. Full table in the audit doc.

What ends the OSS

Gates 1–3 closed: the soak and second-machine evidence (both need hardware outside this machine), calibration/shadow measurement (weeks of observation), the benchmark/registry/SDK loop (built except maturin packaging), and a substantive research note (needs a data window, e.g. funding carry once perp streams are reachable). Estimated 2–3 calendar months, ~4–6 weeks of it active building. The code is the short pole; evidence is the long one.