Data root: required --data or SBT2_DATA, known gaps in known_gaps.toml (#152) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data, Source Bybit: stored types, Catalog.frame and Bybit channels
Candles: 1-minute candles stored, bars built from trades or candles per run (#49)
Liquidation off without quotes, a spec key for it, and the faster run numbers
Library: settle the open questions and bring every page in line Two parts (in-sample / out-of-sample) replace train / validation / test; Holdout by fraction or date, no embargo; only the final out-of-sample part is locked, per lineage by date overlap; every run stored; code identity replaces the git SHA; one root replaces data/ and config/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data: ingest writes atomically without staging, pins the newest snapshot; mark price 1 ns before its close (#32) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Source Bybit: parsers, funding interval in the snapshot, mark price at kline close (#30)
docs(sources): adapter interface, Bybit raw files, fees on the venue Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add nautilus characterization tests: funding epoch alignment, node disposal, test-to-decision map
Move to nautilus v2: native funding, portfolio equity snapshots, run-time bars, public catalog writers, nautilus tearsheets Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move to nautilus: run config, venue profiles, mark-price valuation, brackets, RiskEngine, bar aggregators, instrument provider, reports Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refine architecture: core and metrics modules, output sink, split safety, strategy pipeline - core leaf module for shared types; pure metrics module shared by runner and analysis - full dependency graph including plug-ins; drop research module until the optimizer lands - engine writes through an output sink; runner commits staging on success - venue profile names venue + asset class; resolve maps symbols to InstrumentIds - splits frozen by access log; new test windows may not overlap seen data - notebook loaders lock every split's test window - strategy pipeline: strategy -> sizing -> risk guards -> pure reconciler -> thin adapter - fresh process per run; result identity; valuation price; per-source known gaps - benchmark moved out of the run spec; perp benchmark uses the perp price without funding Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Separate the general framework from the crypto-perps use case
Make data sources pluggable; move Bybit specifics to their own page