Skip to content

feat: test CRUD signaling with soft merge block#202

Open
clubanderson wants to merge 1 commit into
mainfrom
feat/test-crud-signaling
Open

feat: test CRUD signaling with soft merge block#202
clubanderson wants to merge 1 commit into
mainfrom
feat/test-crud-signaling

Conversation

@clubanderson
Copy link
Copy Markdown
Contributor

Summary

  • merge-gate.sh: Detects test file changes in PRs via GitHub API file list. Annotates each PR with test_status (included/exempt/missing). PRs with test_status=missing are routed to not_ready (soft block — --admin still works).
  • scanner-CLAUDE.md: Fix-agent dispatch prompts now require a regression test. Bead gets test_status=pending at dispatch.
  • reviewer-CLAUDE.md: Post-merge sweep checks test_status. For existing_untouched companion tests, reviewer reads test+diff to judge coverage. Files test-debt or test-gap issues when tests are missing or insufficient.

Test plan

  • Run merge-gate.sh against a PR with test files → test_status=included, lands in merge_eligible
  • Run against a PR with code but no tests → test_status=missing, lands in not_ready
  • Run against a config-only PR → test_status=exempt, lands in merge_eligible
  • Verify existing merge flow unaffected for PRs that include tests
  • Watch one scanner dispatch — verify fix agent attempts to include a test
  • Watch one reviewer pass — verify it reads test_status and acts accordingly

Three touch points, no new pipeline stages:

1. merge-gate.sh: detect test file changes in PRs, annotate with
   test_status (included/exempt/missing), soft-block missing from
   auto-merge (still mergeable via --admin)

2. scanner-CLAUDE.md: require regression tests in fix-agent dispatch
   prompts, track test_status=pending on beads

3. reviewer-CLAUDE.md: post-merge test coverage check — for
   existing_untouched companion tests, LLM reviews whether existing
   tests cover the fix; files test-debt/test-gap issues when not

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
@kubestellar-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign clubanderson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added dco-signoff: yes Indicates the PR's author has signed the DCO. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels May 1, 2026
@kubestellar-prow
Copy link
Copy Markdown

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has signed the DCO. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant