Repository navigation
fix(ci): select suites for the files they read (#8410) - #8411
Conversation
The selection audit (shard 4/7, run 39240292374) traced six suites reading 28 files whose one-file diff did not select them. Each suite reaches those files through a path built from parts, a directory glob, or the launcher hooks.json names, which the selector cannot see from text, so each now declares them in its `# test-scope:` header (R8), the selector's existing mechanism for that case. scripts/affected-tests-live.sh gains a live case per (suite, file) pair; it failed 28 of 28 before the declarations and passes after. Selection only widens: for each of the 28 files the selection at the base commit is a subset of the new one, which adds exactly the declared suite. Bump-none changelog fragments for the six fragment-mode plugins whose suites changed; nothing a plugin ships changes. 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 issues found in PR #8411 at head 97a5715. I read the full diff. It does four things:
In the new loop, |
|
claude-review reviewed No findings. I read the full diff and the PR context, and read What I checked
|
Closes #8410
Summary
The selection audit (run 39240292374, shard 4/7) found six suites reading 28 files whose one-file diff did not select them. Each suite now declares those files in its
# test-scope:header, so a change to any of them runs the suite.Fix
test_session.pyloads schemas by name throughschema.load("event", SCHEMA_DIR)and globsfixtures/*.json;set-dimensions.test.shruns the GitHub adapter through the tracker seam; the ruff and biome hook suites launch through theexec-bash.mjscommand thathooks.jsonregisters;index-check.test.shreads its plugin'splugin.json, a manifest that a mention does not select. R8 (# test-scope:) is the selector's existing mechanism for this, so the fix adds no new rule.test_session.pydeclares the two planning schema directories and its fixtures as globs, matching how it reads them. The other five suites list exact paths.scripts/affected-tests-live.shgains one live case per (suite, file) pair.Verification
scripts/affected-tests-live.sh: before the declarations, PASS=13 FAIL=28 (all 28 new cases failed). After, PASS=41 FAIL=0.bfd13a35ais a subset of the new one. Each file adds exactly its declared suite and drops none.affected-tests.test.shPASS=132,selection-audit.test.shPASS=19. shellcheck is clean on the changed shell files.check-changelog-fragments.sh --checkand--check-required origin/mainpass.Related
🤖 Generated with Claude Code