Skip to content

ci(mcpx): enforce the failing-first rule with the #1969 fix-test guard - #5055

Merged
dezren39 merged 1 commit into
mainfrom
queue/8155-1969-mcpx-fix-test-check
Nov 3, 2026
Merged

dezren39 merged 1 commit into
mainfrom
queue/8155-1969-mcpx-fix-test-check

Conversation

@dezren39

@dezren39 dezren39 commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Closes #1969

Implements option C from issue #1969 — the enforcement half that was still missing after the policy text and the 2026-10-30 audit landed (scoped by triage task 7815, worked as queue task 8155).

What lands

  • .github/scripts/check-mcpx-fix-test.sh — the guard's match logic, no network I/O so it stays shell-testable. Match rules, written down in the script header:
    • scope: at least one changed file under pkgs/mcpx/**
    • fix: title (lower-cased) starts with fix followed by :, (, /, ! or whitespace, OR the body links a bug/kind/bug issue via Fixes/Closes/Resolves (the workflow resolves those labels and passes the result in)
    • pass: the PR changes a *_test.go or *.test.ts file under pkgs/mcpx/, or its body contains No test: <reason> with a non-empty reason — the reason is echoed in the check output and the job summary
  • .github/scripts/check-mcpx-fix-test.test.sh — contract tests for the match logic, following check-production-line-limit.test.sh's pattern: fix+no test fails, fix+No test: <reason> passes with the reason visible, empty reason fails, fix+Go test passes, fix+TS test passes, non-fix passes, non-mcpx passes, bug-link without test fails, non-bug link passes, a test outside pkgs/mcpx/ does not satisfy an mcpx fix. All 10 cases pass.
  • .github/workflows/mcpx-fix-test-guard.yml — basic-tier job basic: mcpx fix carries a test (#1969), path-filtered to pkgs/mcpx/** plus the guard's own files, so non-mcpx PRs never fire it. On pushes to main it runs the contract tests only.
  • Docs: .github/ci-policy.md (new "mcpx fix-test guard" section at the basic tier + a tier-table row) and pkgs/mcpx/docs/testing.md ("A test per bug" now names the enforcement, its match rules, and the attested skip).

Out of scope, per the packet: proving a new test fails without the fix (stays a review item), a PR template, and retro-fitting tests for old bugs.

Verification

  • bash .github/scripts/check-mcpx-fix-test.test.sh on the worktree — all contract tests passed.
  • Workflow YAML parses (yq).

🤖 Agent note · pr_opened


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

@dezren39
dezren39 requested a review from a team as a code owner November 3, 2026 17:52
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-11-03T17:52:27.345053Z
We couldn’t complete this review. Comment @codex review to try again.
602844f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 15 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f130a60a-3fc4-424e-911a-051e58d32a93
Commits

Reviewing files that changed from the base of the PR and between d5fa806 and 602844f.

Files selected for processing: 5
  • .github/ci-policy.md
  • .github/scripts/check-mcpx-fix-test.sh
  • .github/scripts/check-mcpx-fix-test.test.sh
  • .github/workflows/mcpx-fix-test-guard.yml
  • pkgs/mcpx/docs/testing.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@dezren39
dezren39 merged commit 1e21965 into main Nov 3, 2026
3 checks passed
@dezren39
dezren39 deleted the queue/8155-1969-mcpx-fix-test-check branch November 3, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mcpx testing: a failing-first test for every bug, and a review of recent fixes

1 participant