[AI-76] llm: Fix Bash allowlist and Resolve routing in evaluating-sdk-internal-updates - #7260
Conversation
…l-updates PR #7254's SDLC / SDK Update Evaluation run hit 13 permission denials because Bash(git -C *:*) and Bash(./gradlew*:*) mix Claude Code's legacy trailing :* prefix-match syntax with an inline * wildcard, a combination the CLI itself flags as invalid. Every real git -C and ./gradlew invocation was denied, forcing the run to skip the local compile check and commit-range scan the skill's own steps require. Step 9 also routed fixes through /plan-android-work -> /work-on-android, both multi-phase commands gated on human confirmation at every step. The CI workflow's own prompt already bypassed this by committing directly, since this skill runs unattended as well as interactively; step 9 now says so instead of pointing at a path every real invocation has to route around. Also qualifies sdk-internal commit/PR references as bitwarden/sdk-internal#<NNN> in the report — a bare #<NNN> copied from a commit subject auto-links within whatever repo the report is posted to, tagging unrelated bitwarden/android issues.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7260 +/- ##
==========================================
+ Coverage 86.31% 86.46% +0.15%
==========================================
Files 921 919 -2
Lines 66443 66223 -220
Branches 9794 9794
==========================================
- Hits 57347 57263 -84
+ Misses 5592 5457 -135
+ Partials 3504 3503 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Claude Config Validation — PR #7260Scope: 1 changed Claude file —
Verdict: request changes. No security issues, and the frontmatter rewrite is a genuine bug fix. But the new Resolve section commits before it verifies inside a workflow that auto-pushes, and the allow-list doesn't cover what the commit skill it now delegates to actually needs. Security scan — clean
Errors (must fix)1. MAJOR — the commit happens before verification, and CI pushes it regardless
Step 9 commits; step 10 verifies afterward. Fix: verify, then commit. 2. MAJOR — step 9 skips the pre-commit gate that both
|
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE Re-reviewed the head state of No blocking findings. The two earlier threads were addressed by the author and are not re-raised here. |
🎟️ Tracking
AI-76
📔 Objective
The
SDLC / SDK Update Evaluationaction hit 13 permission denials on PR #7254 (comment) because two--allowedToolsBash patterns mix Claude Code's legacy trailing:*prefix-match syntax with an inline*wildcard — a combination the CLI itself treats as invalid. Every realgit -Cand./gradlewinvocation was denied, forcing the run to skip the local compile check and commit-range scan the skill's own steps depend on.This also rewrites the skill's Resolve step to commit fixes directly instead of routing through
/plan-android-work→/work-on-android, both of which are multi-phase commands gated on human confirmation at every step and incompatible with this skill's unattended CI invocation.And it qualifies sdk-internal commit/PR references as
bitwarden/sdk-internal#<NNN>in the generated report, since a bare#<NNN>copied from a commit subject auto-links withinbitwarden/android, tagging unrelated issues there.