Call-graph store diet, slice 1: parity harness and inventories (test-only)
First slice of the call-graph store diet: the parity harness and the inventories that later slices compare against. The diet re-encodes the call-graph store (integer ids, interned strings, enum integers) and must keep every answer byte-identical, including result order. This slice changes no runtime behaviour. Its three src/ changes are test-only hooks.
What it adds (crates/aft/tests/store_diet/)
- Baseline: recorded from main at
a2f2cddb, covering legacy and views stores. It holds replies to a seeded query manifest, table row counts, serialized facts and recording hashes.record.py --baseline MAIN_SHAre-records it in one command, and it'll be re-recorded once the call-graph resolver fixes land. - Static SQL census: 1,689 SQL texts in 2,180 executable variants, plus 474 result-order entries (ordered and unordered SQL, Rust sort, set and dedup sites). It also records 368 places that open a database, in 79 files, and each table's per-column encoding. It covers id-text readers, sweep columns with their index obligations, traversal classifications and an audit confirming production uses no
ATTACH. - Query plans: actual bundled-SQLite plans for the ready legacy and views schemas.
compare-plansaccepts stronger plans and rejects new scans, lost equality constraints and new non-primary-key joins. - Corpus: a small per-language corpus, so every stored value shape appears at least once.
- Storage: captures over 64 KB are stored as deterministic gzip (zero mtime, no stored filename), so the folder is 1.8 MB, and comparisons read the uncompressed content. The crate package already excludes
tests/.
Gate: the harness's Rust tests (11), its Python inventory tests and inventory.py check (recaptured on current main), formatting and the Windows check. No search-ranking files are touched.
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds the first, test-only slice of the call-graph store diet: a parity harness and frozen inventories that later slices compare against. The diet re-encodes the call-graph store (integer ids, interned strings, enum integers) and must keep every answer byte-identical, including result order. This slice changes no runtime behavior and edits no existing test assertion. The only src/ changes are cfg(test) hooks.
What it adds (crates/aft/tests/store_diet/)
- Baseline replies for the legacy and views stores, recorded from current main and re-recordable with
record.py --baseline MAIN_SHA. The harness locates the fixture tree from the crate folder at run time, so relocated test binaries still find it. - A static SQL census, recaptured on merged main: 1,689 SQL texts in 2,180 executable variants, 474 result-order entries, 368 database-open sites, and per-column table encodings.
- Actual bundled-SQLite query plans;
compare-plansaccepts stronger plans but rejects new scans, lost equality constraints, and new non-primary-key joins. - A per-language corpus that exercises every stored value shape; captures over 64 KB are stored as deterministic gzip (fixed zero mtime, no stored filename).
- A
non_rankingslice descriptor marking this as a harness slice with no targeted ranking mechanism.
Gate: the 11 Rust harness tests, the Python inventory tests, inventory.py check, formatting, the Windows check, the path-deps check, and the slice descriptor.