CI: gate lance-graph-callcenter under --features query (close the blind gate) - #898
Conversation
…nd gate)
Nothing in CI ran this crate, and `default = []` means even a bare
`cargo test -p lance-graph-callcenter` would compile almost none of it and
report a green it had not earned. Two defects rode through that gap on
2026-08-05:
- clippy EXIT=0 over `vsa_udfs` and `transcode::ontology_table`, which were
never compiled (both behind `query` / `query-lite`);
- 2 genuinely failing tests -- the `graph_table` fixture minted rows with the
V1 `CLASSID_OSINT` while `OSINT_GOTHAM.classid` resolves to
`CLASSID_OSINT_V3` under the default `guid-v3-tail`, so the class filter
matched zero of two rows and every assertion ran against an empty snapshot
(fixed in #897).
Two steps, both mandatory, matching the deepnsm posture: gate it WHILE it is
clean so it cannot regress. Verified locally on this tree before adding them --
clippy 0 errors, tests 211/211 -- so neither step lands red.
Advisory was considered and rejected: the advisory tier exists for crates
carrying pre-existing debt to be paid down (lance-graph core, bgz-tensor).
This crate has none under this feature today.
A green run that never compiled the module is not coverage. Same shape the repo
has already closed for deepnsm, supervisor, ogar and bgz-tensor -- this one is
subtler only because the missing coverage was a FEATURE, not a crate.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe CI workflows now test and lint ChangesCallcenter CI validation
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_cca86ff3-edf7-41b9-9298-e14e6181dc2d) |
…ifiers) `cycle-driver` is a SEPARATE feature that `supervisor` does not imply, so the supervisor step -- despite being this crate's own step -- never compiled `cycle_driver`, the three `probe_ignition*` / `d_ign_b_lenses` test binaries, or any of #879's loop-closure contract. Measured on this tree, not inferred: --features supervisor 13 tests --features supervisor,cycle-driver 43 tests, 0 failed The 30 in the gap include `probe_ignition_64k_start_at_full_population` -- the 65,536-owner / 17-sealed headline canonized as E-64K-1TO1-OWNERS-IS-THE-MAIN-MODEL-1. It runs in 13.75 s and passes; it had simply never run anywhere but a developer machine. #891 recorded this gap and deliberately did not touch the workflow. #898 closed the identical shape for callcenter (`--features query`) but not this one -- same arc, same defect class, one closed and one left open. One added feature closes it, and the new invocation is a strict superset of the old, so it cannot lose coverage.
What this does
Adds two mandatory CI steps for
lance-graph-callcenterunder--features query— one clippy, one test.Why this crate, and why the feature
Nothing in CI ran this crate at all. But the gap is subtler than "a crate
nobody tested":
default = [], so even a barecargo test -p lance-graph-callcentercompiles almost none of it and reports agreen it has not earned.
Two defects rode through that gap on 2026-08-05:
EXIT=0over never-compiled code —vsa_udfsandtranscode::ontology_table, both behindquery/query-lite.graph_tablefixture minted rows withthe V1
CLASSID_OSINTwhileOSINT_GOTHAM.classidresolves toCLASSID_OSINT_V3under the defaultguid-v3-tail, soproject_snapshot'sclass filter matched zero of two rows and every assertion ran against an
empty snapshot. Fixed in callcenter: fix the graph_table fixture's classid + tail mint (2 red tests) #897; recorded as
E-A-FEATURE-CONDITIONAL-CLASSID-SILENTLY-EMPTIED-A-FIXTURE-1.This is the same blind-gate shape the repo has already closed for
deepnsm,lance-graph-supervisor,lance-graph-ogarandbgz-tensor. It is onlysubtler here because the missing coverage was a feature, not a crate.
Mandatory, not advisory — deliberately
The advisory tier exists for crates carrying pre-existing debt to be paid down
(
lance-graphcore's ~91,bgz-tensor's doc lints). This crate has noneunder this feature today, so it gets the
deepnsmposture: gate it while itis clean, so it cannot regress.
Both steps were run on this tree before being added, so neither lands red:
cargo clippy --manifest-path crates/lance-graph-callcenter/Cargo.toml --features query --lib --tests -- -D warnings→ 0 errorscargo test --manifest-path crates/lance-graph-callcenter/Cargo.toml --features query --lib→ 211 passed, 0 failedCost: ~2 min incremental for the DataFusion-54 tree.
Summary by CodeRabbit
Tests
Chores