Refs #406: Guard webhook native bounty ids#548
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR tightens bounty keyword matching in GitHub webhook parsing by adding negative lookbehind constraints to the ChangesBounty Keyword Matching
Possibly related PRs
🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
Reviewed PR #548 at Evidence checked:
Validation:
Assessment: no blocker found. The patch is narrow and preserves the existing accepted-label GitHub issue reference paths while filtering the native/live MRWK bounty-id lookalikes that can otherwise select the wrong bounty. |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: f8e8806e-c0cb-470a-980d-d00d85b6c8c8
📒 Files selected for processing (2)
app/webhooks/github.pytests/test_webhooks.py
|
Addressed the CodeRabbit coverage note in Validation after the follow-up:
|
|
Reviewed current head No blocker found in this pass. The negative lookbehind guard now skips Validation:
|
jakerated-r
left a comment
There was a problem hiding this comment.
Requesting changes for mergeability, not for the focused webhook behavior.
I reviewed current head 14679860a986e724a19df5b46fbf33d60371ffa0 as a non-author. The native/live/internal MRWK bounty-id guard itself looks scoped and tested, and the branch passes its local checks, but it cannot be merged into current origin/main as-is.
Evidence checked:
- inspected the PR diff:
app/webhooks/github.pyandtests/test_webhooks.py, 86 insertions / 1 deletion; - confirmed the new regression cases cover
live bounty #66 / issue #406,MRWK bounty #66 / issue #406,native bounty #66 maps to issue #406, andinternal bounty #66; issue #406; - confirmed hosted checks are green, but GitHub reports this PR as
CONFLICTING; - reproduced the merge blocker locally with
git merge --no-commit --no-ff origin/main.
Validation run locally on the PR head:
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 uv run --extra dev python -m pytest tests/test_webhooks.py -q->19 passeduv run --extra dev ruff check app/webhooks/github.py tests/test_webhooks.py-> passeduv run --extra dev ruff format --check app/webhooks/github.py tests/test_webhooks.py->2 files already formatteduv run --extra dev python -m mypy app/webhooks/github.py-> successPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 uv run --extra dev python scripts/docs_smoke.py->docs smoke okPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 uv run --extra dev python -m pytest -q->415 passed, 1 warninggit diff --check origin/main...HEAD-> clean
Mergeability repro:
Auto-merging app/webhooks/github.py
CONFLICT (content): Merge conflict in app/webhooks/github.py
Auto-merging tests/test_webhooks.py
CONFLICT (content): Merge conflict in tests/test_webhooks.py
Automatic merge failed; fix conflicts and then commit the result.
So the remaining blocker is a rebase/conflict-resolution pass against current main, especially around LINKED_ISSUE_RE in app/webhooks/github.py and the overlapping webhook regression additions in tests/test_webhooks.py. No private data, credentials, cookies, wallet material, signatures, production mutation, price/liquidity/exchange/off-ramp claims, or fabricated payout claims were used.
eliasx45
left a comment
There was a problem hiding this comment.
Reviewed PR #548 at head 14679860a986e724a19df5b46fbf33d60371ffa0 for the accepted-label webhook native/live/internal bounty-id parsing change.
The focused behavior looks right on this branch: the new cases keep native MRWK bounty-id prose such as live bounty #66, MRWK bounty #66, native bounty #66, and internal bounty #66 from being treated as the GitHub issue bounty, while the later explicit issue #406 / issues #406 reference still drives the payout target.
Blocking issue:
- The branch is no longer mergeable against current
origin/main. - Reproduced locally with
git merge --no-commit --no-ff origin/main:
Auto-merging app/webhooks/github.py
CONFLICT (content): Merge conflict in app/webhooks/github.py
Auto-merging tests/test_webhooks.py
CONFLICT (content): Merge conflict in tests/test_webhooks.py
Automatic merge failed; fix conflicts and then commit the result.
Please rebase or merge current main and resolve the overlapping webhook parser/test changes before this can land.
Validation run locally on the PR head before the mergeability probe:
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 .\.venv\Scripts\python.exe -m pytest tests\test_webhooks.py -q-> 19 passed.\.venv\Scripts\python.exe -m ruff check app\webhooks\github.py tests\test_webhooks.py-> all checks passed.\.venv\Scripts\python.exe -m ruff format --check app\webhooks\github.py tests\test_webhooks.py-> 2 files already formattedPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 .\.venv\Scripts\python.exe -m mypy app\webhooks\github.py-> successPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 .\.venv\Scripts\python.exe scripts\docs_smoke.py-> docs smoke okgit diff --check origin/main...HEAD-> clean
Requesting changes for the merge conflict, not for the focused webhook behavior.
|
Maintainer cleanup note: holding this until the branch is rebased or otherwise updated. The focused behavior may be useful, but the branch currently conflicts with |
Summary
issue #<number>/issues #<number>references in PR bodies so mixed evidence text likelive bounty #66 / issue #406can still pay the intended GitHub bounty issueEvidence
bounty #...text as a GitHub issue reference before payout lookup.live bounty #66,native bounty #66, orinternal bounty #66beside the actual GitHub issue reference.issue #406text was not parsed.Validation
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 ./.venv/bin/python -m pytest tests/test_webhooks.py -q-> 19 passed./.venv/bin/python -m ruff check app/webhooks/github.py tests/test_webhooks.py-> passed./.venv/bin/python -m ruff format --check app/webhooks/github.py tests/test_webhooks.py-> passed./.venv/bin/python -m mypy app/webhooks/github.py-> passedgit diff --check-> cleanNo private keys, cookies, tokens, wallet JSON, browser storage, OAuth state, signatures, private data, price claims, liquidity claims, exchange claims, or off-ramp claims are added.
Summary by CodeRabbit
Bug Fixes
Tests