Guard PR bodies against premature payment wording - #1192
Conversation
|
Warning Review limit reached
Next review available in: 3 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds a new payment-status language validation step to the submission quality gate script, using regex patterns to detect premature payout/payment confirmation wording while allowing technical/documentation context. Wires the check into the gate's aggregated evaluation and adds corresponding tests. ChangesPayment status language guard
Possibly related issues
🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: d6d5eac1-3f64-45a5-9bc5-a8e0e6db34e3
📒 Files selected for processing (2)
scripts/submission_quality_gate.pytests/test_submission_quality_gate.py
LarryHu0217
left a comment
There was a problem hiding this comment.
APPROVE — reviewed current head a9ede4a93efd5eb38d40c8138768171209064bf8 for PR #1192.
Decision signal: this looks merge-ready for the focused payment-status wording guard.
Evidence checked:
- Scope is narrow:
scripts/submission_quality_gate.pyandtests/test_submission_quality_gate.pyonly. - The new gate rejects premature paid/settled/received/withdrawable status assertions before allowlisted docs/proof-backed context can skip the line.
- The CodeRabbit allowlist/assertion loophole is covered by
test_submission_quality_gate_fails_reserved_wording_alongside_allowlisted_terms. - Neutral submission-status wording and technical/docs payment wording remain allowed.
- Hosted
Quality, readiness, docs, and image checksis green for this head.
Local validation from the PR checkout:
git diff --check origin/main...HEAD.venv/bin/python -m pytest tests/test_submission_quality_gate.py -q-> 54 passed.venv/bin/python -m pytest tests/test_submission_quality_gate.py -k payment_status -q-> 1 passed, 53 deselected.venv/bin/python -m ruff check scripts/submission_quality_gate.py tests/test_submission_quality_gate.py.venv/bin/python -m ruff format --check scripts/submission_quality_gate.py tests/test_submission_quality_gate.py
No further blocker found from this review.
qingfeng312
left a comment
There was a problem hiding this comment.
Approved. I reviewed current head a9ede4a93efd5eb38d40c8138768171209064bf8 for PR #1192.
Evidence checked:
- Diff is limited to
scripts/submission_quality_gate.pyandtests/test_submission_quality_gate.py. - The new
payment_status_languagecheck is wired throughevaluate_submission(), so a failure participates in the aggregate gate status. - Reserved payment-status assertions are evaluated before the docs/proof-backed allowlist; the regression test for
Per the docs, this submission is paidcovers that loophole. - Neutral
Submission statuswording and technical/docs/no-payout-execution lines remain allowed by targeted tests. - No wallet, ledger, payment execution, transfer, or treasury mutation path is touched.
Decision: approved.
|
Review for Bounty #1009 at head Verdict: no blocker from diff review. Evidence checked:
Non-blocking suggestion: the allowlist currently operates per line. If maintainers expect multi-line docs/runbook examples, a future test with wrapped documentation wording would help pin that boundary. |
yanyishuai
left a comment
There was a problem hiding this comment.
Review packet (Bounty #933)
- Reviewed PR: #1192
- Head commit:
a9ede4a93efd5eb38d40c8138768171209064bf8 - Files inspected: scripts/submission_quality_gate.py, tests/test_submission_quality_gate.py
- Verdict: Guard PR bodies against premature payment wording — scoped change; mergeable=clean; CI=[('Quality, readiness, docs, and image checks', 'success')].
- Validation: Inspected current-head file list and CI conclusions; no treasury/payout mutation paths in touched files.
Bounty #933
Summary
payment_status_languagecheck toscripts/submission_quality_gate.pyfor PR/submission bodies.Payout boundarywording and premature submitted-claim status assertions using reserved words such as paid, settled, received, and withdrawable.Submission status, technical no-payout-execution scope, and docs/lifecycle wording passing.Evidence
scripts/submission_quality_gate.py,tests/test_submission_quality_gate.py.Test Evidence
python -m pytest tests/test_submission_quality_gate.py -q-> 53 passed.python -m ruff format --check scripts/submission_quality_gate.py tests/test_submission_quality_gate.py-> 2 files already formatted.python -m ruff check scripts/submission_quality_gate.py tests/test_submission_quality_gate.py-> All checks passed.git diff --check-> passed.MRWK
Bounty #936
Refs #1107
Summary by CodeRabbit