Execution — db-23 capstone
Build & test
# everything
bash scripts/verify.sh
# cross-language identity check
bash scripts/cross_test.sh
verify.sh runs the 9-test suite in each of Rust, Go, and C++ and
ends with === OK ===. cross_test.sh builds three dbctl binaries,
runs both scenarios in each language, asserts equality across the
three languages, and asserts each matches the frozen golden hash, then
ends with === ALL OK ===.
Per-language one-liners
# Rust
( cd src/rust && cargo test --release --lib tests )
( cd src/rust && cargo run --release --bin dbctl -- \
hash workload --seed 42 --ops 200 --keys 16 --scenario normal; echo )
# Go
( cd src/go && go test ./... )
( cd src/go && go run ./cmd/dbctl \
hash workload --seed 42 --ops 200 --keys 16 --scenario normal; echo )
# C++
( cd src/cpp && cmake -S . -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j )
src/cpp/build/test_db23
src/cpp/build/dbctl hash workload --seed 42 --ops 200 --keys 16 --scenario normal; echo
CLI shape
dbctl hash workload --seed N --ops N --keys N --scenario <normal|fault>
- Prints the SHA-256 hex of the cluster snapshot to stdout.
- Writes no trailing newline (matches db-22 convention so shell comparisons stay simple).
- Exits 2 on bad arguments.
Frozen scenarios
| Scenario | Command |
|---|---|
| normal | dbctl hash workload --seed 42 --ops 200 --keys 16 --scenario normal |
| fault | dbctl hash workload --seed 7 --ops 2000 --keys 128 --scenario fault |
Expected outputs:
normal: 5976b45b9f40f440e8249da27fe4fe752e005f606efc3596bdb25ca4e4f99296
fault : d67c36725af65242e985a308db5152af2a3e2525fab33d11ed6e826a252ff792