Config area of the server: venue profiles, known gaps, model kinds (#175)
Server: the container image and its compose deployment (#177) No reverse proxy is shipped; TLS is the operator's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Architecture, CLI, C4 model, Quality, Glossary: the server's results area (#172)
Architecture, Library, CLI, Quality, Glossary, C4 model: the server and its connections (#171)
Studies: named collections of runs that differ only in their parameters (#157)
Config folder: --config/SBT2_CONFIG, venue profiles out of the package (#151)
Data root: required --data or SBT2_DATA, known gaps in known_gaps.toml (#152) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Run, CLI: launch runs uncapped by default, with the systemd scope opt-in (#153)
docs: describe the uv workspace and the sbt2 namespace packages (#145) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CLI, Results, Spec: sbt2 report, the run summary table, stored_run and from_document Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Results, CLI: sbt2 runs list, show and delete (#59)
Run, CLI, Results, Quality: run.batch and sbt2 run's memory options (#58)
Drop provenance, code identity, result identity and the data fingerprint
Spec: expansion of lists and parts; CLI: sbt2 run runs in sequence until batch
Splits: train / validation / test, with only test locked The optimiser tunes on train and ranks on validation; validation runs as often as you like; the lock becomes the test lock. Walk-forward is deferred until M10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
Library: target design for sbt2 as a published package, open questions 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>
CLI options, reversed-position funding in Run, golden-run tests in Quality
Drop lockbox and access log, keep strategies in this repo, remove host OS from deployment 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>
Apply review decisions: runner/results/data modules, resolved-spec hashing, lockbox, splits, intents
Make data sources pluggable; move Bybit specifics to their own page
Add sbt2 architecture and design pages Home, Architecture, one page per module, Quality, Decisions, Deferred, Lessons from v1, and the sidebar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>