BOHICA-LABS / BOHICA-LABS/vsdd-factory
Local pre-merge gates must run BOTH default and all-features configs to match CI job matrix
- Dominant language
- Rust
- Stars
- 2
- Forks
- 1
- Avg merge
- 6h 43m
- Merged PRs (30d)
- 29
Description
## Process-gap
For Rust projects where CI runs some jobs with default features (e.g. build/test) and others with `--all-features` (e.g. clippy, a second build), a local verification pass that runs only one feature configuration can pass locally while CI fails. Concrete failure mode: an item (import/struct) gated behind a non-default feature compiles cleanly under `--all-features` (used → no warning) but is unused under default features (unused-import → hard error under `RUSTFLAGS=-D warnings`). The implementer's local gates ran only `--all-features` and missed it; the default-features CI build broke post-merge.
## Proposed mitigation
The implementer/test-writer agent instructions (and any local "verify before push" gate) should enumerate the exact CI job matrix and require running every distinct feature configuration CI uses — at minimum both `cargo build/test` (default) AND `cargo build/clippy --all-features` — before declaring local gates green. Deriving the local gate set from the CI workflow rather than a fixed default prevents feature-config asymmetry escapes.
## Severity
Medium — silently ships a broken default build; caught only by post-merge CI, forcing a follow-up fix cycle.
Contributor guide
Assessment
This issue has not been assessed yet.