Repository navigation
ci(mcpx): enforce the failing-first rule with the #1969 fix-test guard - #5055
Conversation
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. |
|
Warning Review limit reachedYou'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. View limit details
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. CodeRabbit Verify
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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:pkgs/mcpx/**fixfollowed by:,(,/,!or whitespace, OR the body links abug/kind/bugissue via Fixes/Closes/Resolves (the workflow resolves those labels and passes the result in)*_test.goor*.test.tsfile underpkgs/mcpx/, or its body containsNo 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, followingcheck-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 outsidepkgs/mcpx/does not satisfy an mcpx fix. All 10 cases pass..github/workflows/mcpx-fix-test-guard.yml— basic-tier jobbasic: mcpx fix carries a test (#1969), path-filtered topkgs/mcpx/**plus the guard's own files, so non-mcpx PRs never fire it. On pushes to main it runs the contract tests only..github/ci-policy.md(new "mcpx fix-test guard" section at the basic tier + a tier-table row) andpkgs/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.shon the worktree — all contract tests passed.yq).🤖 Agent note · pr_opened
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.