Skip to content

build: delete the offline backtest harness - #562

Merged
mfw78 merged 1 commit into
dev/m1from
chore/retire-backtest-harness
Jul 23, 2026
Merged

build: delete the offline backtest harness#562
mfw78 merged 1 commit into
dev/m1from
chore/retire-backtest-harness

Conversation

@mfw78

@mfw78 mfw78 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

What

Deletes crates/shepherd-backtest (the offline replay binary) and tools/backtest-collect (the 578-line collector and its 831K committed fixtures dump). Drops the crate from the workspace members and regenerates Cargo.lock; the lock delta is exactly the one removed package entry.

Drops rlib from ethflow-watcher's crate-type, which existed solely so the harness could drive strategy::on_chain_logs natively, leaving the wasm cdylib the engine actually loads. The cfg(not(target_arch = "wasm32")) gate in its lib.rs stays, because the crate is still compiled for the host as a workspace member; only the comment that justified it by naming the harness changed.

Clears the trailing references: the clap comment listing the harness as a consumer, the now-dead fixtures glob in .dockerignore, the Dockerfile and orderbook-mock comments, the nexum-sdk::address rationale, and the docs/00-overview.md crate tree.

Keeps the workspace hex dependency, which videre-test also uses, and keeps docs/operations/backtest-reports/backtest-7d-2026-06-22.md as the historical signed-off record.

Why

The watcher indexes from the contract's genesis at startup, so the live path already replays history. A frozen offline corpus re-asserting the same thing adds nothing, and no further backtest runs are planned.

The harness was also not earning its keep as code: it was in neither CI nor the justfile, had zero tests of its own, and produced exactly one report (window collected 2026-06-22) scoring 240/240 on a fixed corpus. It was nonetheless a workspace member that had to be repaired on every SDK rename, most recently in #470, where its imports still referenced the pre-rename nexum_sdk::status_body.

Two load-testnet-runbook.md bullets cited "the backtest" as covering appData and order-shape correctness. Rather than leave a dangling pointer, one now points at the genesis replay and the other states plainly that only a live-orderbook run exercises real 4xx variety.

Testing

Full local battery green: cargo fmt --all -- --check, cargo clippy --workspace --all-targets --all-features --locked -D warnings, all 18 guest wasms (17 modules plus the cow adapter), cargo nextest run --workspace --all-features --locked, cargo test --doc, RUSTDOCFLAGS=-D warnings cargo doc --workspace --no-deps --locked, scripts/check-venue-agnostic.sh, scripts/check-cow-orderbook-only.sh.

The wasm build is what confirms dropping rlib is safe: ethflow_watcher.wasm still builds and the count stays at 18.

AI Assistance

Implemented with Claude Code.

@mfw78
mfw78 merged commit 12106d1 into dev/m1 Jul 23, 2026
7 checks passed
@mfw78
mfw78 deleted the chore/retire-backtest-harness branch July 23, 2026 10:12
mfw78 added a commit that referenced this pull request Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant