BOHICA-LABS / BOHICA-LABS/vsdd-factory

Local pre-merge gates must run BOTH default and all-features configs to match CI job matrix

Open
#371 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.