You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(ci): declare test scopes for the 85 selection gaps the 2026-10-21 audit found #8839
The scheduled test-selection audit found 85 selection gaps in 8 suites: changed files whose covering suite the selector (scripts/affected-tests.sh) does not pick. Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/39587509730 (commit bb226d8, shard 6 of 7, 133 suites traced; full table in its gaps.tsv artifact). Run 39248513165 (10-19) found 0; the runs between were skipped.
Add # test-scope: declarations (R8) to each suite for the files it reads, per the #8411 decision; no new selector rule. align.test.sh is Shared Interviews' code: copy them on that change.
Related: #8814 (check-affected passes without running selected Node suites).
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: none
Understood: the scheduled selection audit found 85 gaps in 8 suites, where changed files are not mapped to their covering suite. The fix is to add # test-scope: declarations to each suite, with no new selector rule. A later comment says draft PR #9062 already declares scopes for these gaps and for 25 more from the 2026-10-22 audit. It uses Refs, so this issue stays open for the remaining shards. Nothing is missing. Related: #8814.
Draft PR #9062 declares the scopes for the 85 gaps in this issue's table and for the 25 gaps in 10 suites that the 2026-10-22 audit (run 39766052329) found. It also makes scripts/selection-audit.sh skip reads of files recorded in scripts/affected-tests-no-suite.txt. The PR uses Refs, so this issue stays open for the shards still to come.
Not admitted to the issue lane: no trusted-human acceptance criteria: a listed human must put the confirmed - [ ] criteria in the body or post them as their own comment, or, on an issue a listed human filed, intake's newest refinement comment must hold them unedited. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).
melodic-automation-lanes commented on Oct 26, 2026
Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.
Intended outcome: Close as already done: PR 9062 declared the test scopes for the 85 gaps, and the base checkout already has the declarations.
Was PR 9062 merged, not just closed? If so, should this issue be closed as completed, with any later audit shards tracked in a new issue?
RECOMMENDED: Yes: close this issue as fixed by 9062 and open a new issue for later audit runs. Basis: The candidates list shows 9062 as closed on 2026-10-22 and does not say whether it merged. The checkout has test-scope lines in the suites named here: plugins/guardrails/hooks/block-convention-violation.test.sh:7, plugins/work-items/tools/work-item-tracker/adapters/linear/list-items.test.sh:5, plugins/user-interface/tests/detect.test.sh:4, plugins/review/skills/setup/scripts/setup-apply.test.sh:6, plugins/session-flow/skills/running-retro/scripts/test_observer.py:2, plugins/ruff-format/hooks/ruf
Does anything remain after 9062, such as the package-lock.json row for visual-compare.test.sh that the 9062 comment says is not declared?
RECOMMENDED: No further work belongs here; that row is skipped by the audit, so track it separately if wanted. Basis: Maintainer comment of 2026-10-22 on this issue.
Sources read
plugins/planning/shared/tests/align.test.sh:7: has a test-scope declaration
plugins/guardrails/hooks/block-convention-violation.test.sh:7: test-scope covers the guardrails hooks and workflow-resilience-check.sh
Decision recorded. The owner answered in the Refinement and Issue Triage sessions (2026-10-25), deciding the open items below on the facts:
go with whatever the facts/data/metrics + /discovery:research says and ensure we're aligned with SOLID, DRY/SSOT principles
I should only ever be in the loop ONLY when necessary (intent/vision changed, something came up during implementation that impacts trajectory/alignment, OR a high security risk) - I've covered this all before
No owner ledger (.work/*/interview-checklist.md, .work/gh-monitor-owner-decisions/) names this issue. Read against origin/main at a6ba1c4c18.
Is anything in the body's scope left?
Decided: No. The body's scope is the 85 gaps of the 2026-10-21 audit. Each suite in its table now carries a # test-scope: header, which the selector reads as rule R8 (scripts/affected-tests.sh:27, :566):
The 2026-10-22 kyle-sexton comment said the issue would stay open "for the shards still to come". That is a status note, not a decision record. A later audit's gaps are a later audit's finding, and the scheduled audit reports them itself. The one undeclared package-lock.json row is skipped by the audit, as that comment says.
Closed as done. The 85 gaps are declared on main by 9dfe83d424, per the lines above. Nothing is left to build. This record closes the issue.
Activity
github-actions commentedon Oct 21, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: none
Understood: the scheduled selection audit found 85 gaps in 8 suites, where changed files are not mapped to their covering suite. The fix is to add
# test-scope:declarations to each suite, with no new selector rule. A later comment says draft PR #9062 already declares scopes for these gaps and for 25 more from the 2026-10-22 audit. It usesRefs, so this issue stays open for the remaining shards. Nothing is missing. Related: #8814.Automated triage, applied by the lanes App.
kyle-sexton commentedon Oct 22, 2026
Draft PR #9062 declares the scopes for the 85 gaps in this issue's table and for the 25 gaps in 10 suites that the 2026-10-22 audit (run 39766052329) found. It also makes
scripts/selection-audit.shskip reads of files recorded inscripts/affected-tests-no-suite.txt. The PR usesRefs, so this issue stays open for the shards still to come.Run 39766052329 gaps (suite: files):
.claude/hooks/check-affected-pre-push.test.sh(1):.claude/settings.jsonplugins/animation/scripts/animation.test.sh(1):plugins/animation/.claude-plugin/plugin.jsonplugins/biome-format/hooks/biome-format.test.sh(2):plugins/biome-format/lib/git-hooks/install.mjs,plugins/biome-format/lib/prerequisites.mjsplugins/code-metrics/skills/audit-coverage/scripts/audit-coverage.test.sh(1):plugins/code-metrics/scripts/yaml_subset.pyplugins/guardrails/git-hooks/reference-verify.test.sh(3):plugins/guardrails/.claude-plugin/plugin.json,plugins/guardrails/git-hooks/commit-msg-convention.sh,plugins/guardrails/git-hooks/pre-commit-content.shplugins/guardrails/hooks/block-fix-request-post.test.sh(1):plugins/guardrails/.claude-plugin/plugin.jsonplugins/planning/shared/tests/test_people_proposals.py(7):plugins/planning/shared/schema/question-shape.schema.json,plugins/planning/shared/schema/wire.schema.json,plugins/planning/surface/schema/event.schema.json,plugins/planning/surface/schema/ops.schema.json,plugins/planning/surface/schema/questions.schema.json,plugins/planning/surface/schema/responses.schema.json,plugins/planning/surface/schema/visual.schema.jsonplugins/planning/shared/tests/tracer.test.sh(7):plugins/planning/.claude-plugin/plugin.json,plugins/planning/shared/schema/event.schema.json,plugins/planning/shared/schema/question-shape.schema.json,plugins/planning/surface/schema/event.schema.json,plugins/planning/surface/schema/ops.schema.json,plugins/planning/surface/schema/responses.schema.json,plugins/planning/surface/schema/visual.schema.jsonplugins/source-control/skills/babysit-prs/scripts/tests/test_babysit_merge_prefilter.py(1):plugins/source-control/skills/babysit-prs/scripts/tests/repo_config_fake.pyplugins/testing/skills/check-visual-parity/scripts/visual-compare.test.sh(1):plugins/testing/skills/check-visual-parity/scripts/package-lock.jsonThe one
package-lock.jsonrow (visual-compare.test.sh) is not declared; the audit skips it now.github-actions commentedon Oct 26, 2026
The triage sweep dispatched intake triage for this issue (attempt 1 of 2).
melodic-automation-lanes commentedon Oct 26, 2026
Not admitted to the issue lane: no trusted-human acceptance criteria: a listed human must put the confirmed
- [ ]criteria in the body or post them as their own comment, or, on an issue a listed human filed, intake's newest refinement comment must hold them unedited. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).melodic-automation-lanes commentedon Oct 26, 2026
The latest triage verdict holds nothing: admission moved the issue to
status: confirmed; its comment says why.melodic-automation-lanes commentedon Oct 26, 2026
Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.
Intended outcome: Close as already done: PR 9062 declared the test scopes for the 85 gaps, and the base checkout already has the declarations.
Related work
Open questions
RECOMMENDED: Yes: close this issue as fixed by 9062 and open a new issue for later audit runs. Basis: The candidates list shows 9062 as closed on 2026-10-22 and does not say whether it merged. The checkout has test-scope lines in the suites named here: plugins/guardrails/hooks/block-convention-violation.test.sh:7, plugins/work-items/tools/work-item-tracker/adapters/linear/list-items.test.sh:5, plugins/user-interface/tests/detect.test.sh:4, plugins/review/skills/setup/scripts/setup-apply.test.sh:6, plugins/session-flow/skills/running-retro/scripts/test_observer.py:2, plugins/ruff-format/hooks/ruf
RECOMMENDED: No further work belongs here; that row is skipped by the audit, so track it separately if wanted. Basis: Maintainer comment of 2026-10-22 on this issue.
Sources read
Automated refinement by the lanes App. Answer with a comment whose first line is
**Decision recorded.**.kyle-sexton commentedon Oct 26, 2026
Decision recorded. The owner answered in the Refinement and Issue Triage sessions (2026-10-25), deciding the open items below on the facts:
No owner ledger (
.work/*/interview-checklist.md,.work/gh-monitor-owner-decisions/) names this issue. Read against origin/main ata6ba1c4c18.Did test: declare test scopes for the selection audit gaps #9062 merge?
Decided: Yes. It is commit
9dfe83d424on main, "test: declare test scopes for the selection audit gaps (test: declare test scopes for the selection audit gaps #9062)", dated 2026-10-22. It touches all eight suites in the body's table.Is anything in the body's scope left?
Decided: No. The body's scope is the 85 gaps of the 2026-10-21 audit. Each suite in its table now carries a
# test-scope:header, which the selector reads as rule R8 (scripts/affected-tests.sh:27,:566):plugins/planning/shared/tests/align.test.sh:7plugins/guardrails/hooks/block-convention-violation.test.sh:7plugins/work-items/tools/work-item-tracker/adapters/linear/list-items.test.sh:5plugins/user-interface/tests/detect.test.sh:4plugins/review/skills/setup/scripts/setup-apply.test.sh:6plugins/session-flow/skills/running-retro/scripts/test_observer.py:2plugins/ruff-format/hooks/ruff-format-end-of-turn.test.sh:8plugins/code-metrics/skills/audit-type-debt/scripts/audit-type-debt.test.sh:16The 2026-10-22 kyle-sexton comment said the issue would stay open "for the shards still to come". That is a status note, not a decision record. A later audit's gaps are a later audit's finding, and the scheduled audit reports them itself. The one undeclared
package-lock.jsonrow is skipped by the audit, as that comment says.Closed as done. The 85 gaps are declared on main by
9dfe83d424, per the lines above. Nothing is left to build. This record closes the issue.