Repository navigation
test: declare test scopes for the selection audit gaps - #9062
Conversation
Each suite below read a file that scripts/affected-tests.sh would not select it for. Add the files to its `# test-scope:` header (R8), the narrowest glob that covers them. selection-audit.sh no longer reports a read of a file recorded in scripts/affected-tests-no-suite.txt, which a non-shell lane covers. Refs: #8839 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed No security findings on head 8851b2d. I read the full diff, which covers 29 files:
|
|
claude-review reviewed No findings. I read the full diff and PR context and checked the changes statically. I did not run
|
Refs: #8839
Summary
Closes the test-selection audit gaps found by the scheduled audit: 85 gaps in 8 suites (run 39587509730) and 25 gaps in 10 suites (run 39766052329), 18 suites in all. A suite read a file that
scripts/affected-tests.shdoes not select it for. More shards are still to come, so #8839 stays open.Fix
# test-scope:declarations (R8) in 17 suites' headers, each the narrowest glob that covers the read files (one glob per directory only where the suite reads every file in it). No selector rule changes, per the fix(ci): select suites for the files they read (#8410) #8411 decision.scripts/selection-audit.shno longer reports a read of a file recorded inscripts/affected-tests-no-suite.txt(a non-shell lane covers it). This drops thepackage-lock.jsonrow ofvisual-compare.test.shinstead of declaring it;scripts/selection-audit.test.shgains a recorded no-suite read that must not be a gap.bump: nonechangelog fragment for each of the 11 plugins touched.Verification
All 109 (suite, file) pairs from both gaps.tsv files were gaps before the change and select their suite now (
scripts/affected-tests.sh --explain -- <file>, as the audit runs it). One pair per suite:.claude/settings.json-> .claude/hooks/check-affected-pre-push.test.sh (test-scope .claude/settings.json) [1 pair(s)]plugins/animation/.claude-plugin/plugin.json-> plugins/animation/scripts/animation.test.sh (test-scope plugins/animation/.claude-plugin/plugin.json) [1 pair(s)]plugins/biome-format/lib/git-hooks/install.mjs-> plugins/biome-format/hooks/biome-format.test.sh (test-scope plugins/biome-format/lib/git-hooks/install.mjs) [2 pair(s)]plugins/code-metrics/scripts/yaml_subset.py-> plugins/code-metrics/skills/audit-coverage/scripts/audit-coverage.test.sh (test-scope plugins/code-metrics/scripts/yaml_subset.py) [1 pair(s)]plugins/code-metrics/scripts/yaml_subset.py-> plugins/code-metrics/skills/audit-type-debt/scripts/audit-type-debt.test.sh (test-scope plugins/code-metrics/scripts/yaml_subset.py) [1 pair(s)]plugins/guardrails/.claude-plugin/plugin.json-> plugins/guardrails/git-hooks/reference-verify.test.sh (test-scope plugins/guardrails/.claude-plugin/plugin.json) [3 pair(s)]plugins/guardrails/hooks/abort-boundary.test.sh-> plugins/guardrails/hooks/block-convention-violation.test.sh (test-scope plugins/guardrails/hooks/*.test.sh) [25 pair(s)]plugins/guardrails/.claude-plugin/plugin.json-> plugins/guardrails/hooks/block-fix-request-post.test.sh (test-scope plugins/guardrails/.claude-plugin/plugin.json) [1 pair(s)]plugins/planning/.claude-plugin/plugin.json-> plugins/planning/shared/tests/align.test.sh (test-scope plugins/planning/.claude-plugin/plugin.json) [31 pair(s)]plugins/planning/shared/schema/question-shape.schema.json-> plugins/planning/shared/tests/test_people_proposals.py (test-scope plugins/planning/shared/schema/question-shape.schema.json) [7 pair(s)]plugins/planning/.claude-plugin/plugin.json-> plugins/planning/shared/tests/tracer.test.sh (test-scope plugins/planning/.claude-plugin/plugin.json) [7 pair(s)]plugins/review/lib/parse-concern-value.sh-> plugins/review/skills/setup/scripts/setup-apply.test.sh (test-scope plugins/review/lib/parse-concern-value.sh) [2 pair(s)]plugins/ruff-format/hooks/exec-bash.mjs-> plugins/ruff-format/hooks/ruff-format-end-of-turn.test.sh (test-scope plugins/ruff-format/hooks/exec-bash.mjs) [1 pair(s)]plugins/session-flow/.claude-plugin/plugin.json-> plugins/session-flow/skills/running-retro/scripts/test_observer.py (test-scope plugins/session-flow/.claude-plugin/plugin.json) [1 pair(s)]plugins/source-control/skills/babysit-prs/scripts/tests/repo_config_fake.py-> plugins/source-control/skills/babysit-prs/scripts/tests/test_babysit_merge_prefilter.py (test-scope plugins/source-control/skills/babysit-prs/scripts/tests/repo_config_fake.py) [1 pair(s)]plugins/user-interface/tests/fixtures/browserslistrc-project/src/Widget.svelte-> plugins/user-interface/tests/detect.test.sh (test-scope plugins/user-interface/tests/fixtures//src/.svelte) [3 pair(s)]plugins/work-items/tools/work-item-tracker/adapters/linear/add-sub-item.sh-> plugins/work-items/tools/work-item-tracker/adapters/linear/list-items.test.sh (test-scope plugins/work-items/tools/work-item-tracker/adapters/linear/*.sh) [21 pair(s)]bash scripts/selection-audit.test.sh: PASS=19 FAIL=0.bash scripts/check-changelog-fragments.sh --check: 11 fragments valid. Headers changed only; the setup-apply, ruff-format-end-of-turn and block-fix-request-post suites pass (385 checks, 9 passed, PASS=296). The browser and Python suites were not run.Related
🤖 Generated with Claude Code