Skip to content
8 changes: 7 additions & 1 deletion .bca-baseline.toml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ value = 6.0
path = "big-code-analysis-cli/src/commands/check.rs"
qualified = "run_check"
metric = "halstead.effort"
value = 60852.18615151166
value = 62885.05529367418

[[entry]]
path = "big-code-analysis-cli/src/commands/check/effective_config.rs"
Expand Down Expand Up @@ -365,6 +365,12 @@ qualified = "assemble_globals"
metric = "nargs"
value = 6.0

[[entry]]
path = "big-code-analysis-cli/src/walk.rs"
qualified = "classify_dropped_child"
metric = "nargs"
value = 5.0

[[entry]]
path = "big-code-analysis-cli/src/walk.rs"
qualified = "expand_seed_paths"
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,33 @@ for historical reference.

### Added

- `bca check` now reports what it declined to look at (#1055). When the
gate skipped files — a generated-code marker (`@generated`,
`DO NOT EDIT`, `GENERATED CODE`) or a VCS ignore file committed in
the tree under test — a one-line stderr summary names the counts:
`bca: 2 files not checked (1 generated, 1 ignored) — pass
--report-skipped to list them`. Either input could previously remove
a file from a pull-request gate with nothing on stderr. The counts
are measured at the walk's prune points and cover only files a
parser owns (a generated `Cargo.lock` or an ignored log file was
never a gate bypass), never a file named explicitly on the command
line; a whole ignored directory is reported — under
`--report-skipped` only, since ignored build trees exist in
essentially every checkout — as its own
`N ignored directories not walked` clause and is never entered, so
the summary stays cheap and small on trees with large ignored build
output. Clean runs stay silent, exit codes are unchanged, and
`--report-skipped` also lists each ignore-dropped entry
(`note: skipped (ignored): …`,
`note: skipped (ignored directory): …`).
- `bca check --strict`, plus a matching `[check] strict` manifest key
(#1055): the untrusted-input gate profile. Flips both skip defaults
in one flag (equivalent to `--no-skip-generated --no-ignore`), so a
PR gate opts out of content sniffing and in-tree ignore files without
remembering two flags. The manifest key is presence-only (it can turn
the profile on, never off) so a project opts in once rather than per
workflow.

- A `cargo-fuzz` crate (`fuzz/`, workspace-excluded) with eleven libFuzzer
targets over the parse-and-walk layer, committed seed corpora, and an
out-of-band `fuzz` workflow (`make fuzz-check` / `fuzz-smoke` /
Expand Down
Loading