The indexer finishes files and releases by posting time instead of the range path: the frontier is the median Date of the last 1,024 plausible dates (within 7 days of it; a run of 1,024 agreeing dates moves it), and a release is finished, judged and written once the frontier is 24 h past its last part, flagged edge when posted within a day of the block's start. At the block's end the rest is written provisionally as edges for the block merger. Files short of parts stay in their release (partial: the store writes complete = false). Gone: fragments and the cut-off, uploads_of (online now), check.ts and the fixture comparison; CI replays the fixtures through edge-bench instead. The wire carries finished, edge and partial. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
12 lines
614 B
Bash
Executable File
12 lines
614 B
Bash
Executable File
#!/bin/sh
|
|
# The Rust indexer over the committed captures (edge/fixtures: 25k overview lines each of a.b.ath, a.b.boneless,
|
|
# a.b.fta and a.b.models, in 5 chunks): a smoke test of the window on real headers, exiting non-zero when the bench
|
|
# fails on one. CI runs it after cargo test; run it from the repository root after a change to the indexer.
|
|
set -eu
|
|
cd "$(dirname "$0")/.."
|
|
cargo build --release --quiet --manifest-path edge/Cargo.toml --bin edge-bench
|
|
for capture in edge/fixtures/*/; do
|
|
echo "== $(basename "$capture")"
|
|
edge/target/release/edge-bench "$capture" --batch-chunks 2 --idle 2 | tail -1
|
|
done
|