Skip to content

Commit 2156d36

Browse files
committed
feat(scripts): add review-bounty claim saturation checks (#797)
1 parent 3bc87d2 commit 2156d36

3 files changed

Lines changed: 885 additions & 384 deletions

File tree

docs/admin-runbook.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,15 @@ the reviewer login:
352352
python scripts/review_bounty_candidates.py \
353353
--repo ramimbo/mergework \
354354
--reviewer reviewer-login \
355+
--bounty-issue 654 \
355356
--format markdown
356357
```
357358

359+
When `--bounty-issue` is supplied in live mode, the report also ingests that
360+
issue's claim comments and classifies duplicate/stale claim risk (`already_claimed_on_bounty_issue`,
361+
`already_claimed_current_head`, `claimed_by_pr_comment`, `claimed_stale_head_or_base`,
362+
`dirty_unclaimed_current_base_candidate`) with matched claim URLs for auditability.
363+
358364
The report classifies open PRs as fresh review candidates, self-authored,
359365
already reviewed at the current head by that reviewer, already covered by
360366
current-head human reviews, waiting for author update, dirty/conflicted, missing
@@ -438,6 +444,28 @@ balances. Keep the legacy callback
438444
links still need it. If the GitHub app is rotated later, update deployment
439445
secrets outside the repository and restart Docker Compose.
440446

447+
After deploy or when bounty comments look stale, run the public link health
448+
check against representative bounty, proposal, proof, and OAuth URLs:
449+
450+
```bash
451+
python scripts/check_public_mrwk_links.py --input fixtures/public_mrwk_links.json --fail-on-issues
452+
```
453+
454+
The script fails when a published link returns HTTP 4xx/5xx or an Express
455+
`Cannot GET` shell instead of the expected public detail response. OAuth routes
456+
use a separate health rule: `422` or `503` from FastAPI means the route is
457+
registered, while `404` or an Express shell means production is serving the
458+
wrong app (see issue #1146).
459+
460+
Post-deploy, also run:
461+
462+
```bash
463+
docker compose run --rm app python scripts/check_deploy_ready.py
464+
```
465+
466+
That gate now verifies GitHub OAuth login/callback routes are registered in
467+
the built app before a release goes live.
468+
441469
## Disputes
442470

443471
- Ask for concrete missing evidence with `mrwk:needs-info`.

0 commit comments

Comments
 (0)