feat(add): add deny-build flag#730
Conversation
Greptile SummaryAdds a repeatable
Confidence Score: 5/5Safe to merge — the change is localized to CLI flag handling and config writes with no mutation before the conflict guard fires. All three code paths (local, filtered, global) correctly thread the new flag and validate it before touching any files. The manifest helper refactor is backward-compatible and mechanically simple. Tests cover the new behavior end-to-end. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "fix(add): reject conflicting build revie..." | Re-trigger Greptile |
Summary
aube add --deny-build=<pkg>to write reviewed denied lifecycle-build entriesstrictDepBuilds=truecan skip selected global package builds without failingCloses discussion #726.
Tests
cargo check -p aube -p aube-manifestcargo fmt --checkcargo build -p aubecargo test -p aube test_cli_ordering./test/bats/bin/bats test/global_install.bats --filter 'aube add -g --deny-build=<pkg> marks a global dep'./test/bats/bin/bats test/lifecycle_scripts.bats --filter 'aube add --deny-build=<pkg> reviews and skips'./test/bats/bin/bats test/global_install.bats --filter 'aube add -g --allow-build=<pkg> pre-approves'./test/bats/bin/bats test/lifecycle_scripts.bats --filter 'aube add --allow-build=<pkg> selectively pre-approves'Note
Medium Risk
Touches install-script review policy and
aube add/global add flows; mistakes could unintentionally allow or block lifecycle scripts in strict build environments.Overview
Adds a new repeatable
aube add --deny-build=<pkg>flag that explicitly marks a dependency’s lifecycle scripts as reviewed and denied by writingallowBuilds.<pkg>=falsebefore install (including-gglobal installs), enablingstrictDepBuilds=trueworkflows that still skip selected builds.Refactors manifest writing to support setting
allowBuildsentries to eithertrueorfalse, and introduces a new error code (ERR_AUBE_CONFLICTING_BUILD_FLAGS) plus validation to reject package names specified in both--allow-buildand--deny-build.Updates CLI usage/spec docs (
aube.usage.kdl,docs/cli/add.md,commands.json,error-codes.data.json) and adds BATS coverage for local/global deny behavior and conflict handling.Reviewed by Cursor Bugbot for commit 11bb53f. Bugbot is set up for automated code reviews on this repo. Configure here.