Share GitHub finalization JSON request helper#923
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)
📝 WalkthroughWalkthroughThis PR centralizes GitHub HTTP JSON request handling by introducing a shared ChangesHTTP Request Centralization
🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
aunysillyme
left a comment
There was a problem hiding this comment.
Reviewed PR #923 current head 00859f5510c096c65df4fc1420ae83a1fc8592e9 as a non-author.
Refs #838 review bounty.
Evidence checked:
- Inspected
app/github_issue_finalization.py. - Verified
_request_json()centralizes the repeated GitHub request/read pattern while preserving the existing call-site wrappers_post_json(),_get_json(), and_patch_json(). - Confirmed POST, GET, and PATCH behavior still passes through
_github_request()with the same URL, token, optional payload, method, timeout, and_read_json()response parsing. - Confirmed the change is limited to GitHub issue finalization request plumbing and does not change bounty lifecycle semantics, labels/comments/close behavior, ledger, wallet, treasury execution, payout, admin-token behavior, private data, credentials, exchange, bridge, cash-out, or MRWK price behavior.
Validation run on this exact head:
uv run --python 3.12 --extra dev python -m pytest tests/test_github_issue_finalization.py tests/test_treasury_executor.py::test_executor_executes_due_create_bounty_and_finalizes_issue tests/test_treasury_executor.py::test_executor_finalizes_github_issue_for_paid_bounty -q-> 19 passed.uv run --python 3.12 --extra dev ruff check app/github_issue_finalization.py tests/test_github_issue_finalization.py-> passed.uv run --python 3.12 --extra dev ruff format --check app/github_issue_finalization.py tests/test_github_issue_finalization.py-> 2 files already formatted.uv run --python 3.12 --extra dev mypy app/github_issue_finalization.py-> success.uv run --python 3.12 --extra dev python scripts/docs_smoke.py-> docs smoke ok.git diff --check origin/main...HEAD-> clean.git merge-tree --write-tree origin/main HEAD-> clean tree65d0bae2200250a4764d0ecb331b2ff11183e234.
GitHub state before review: PR open, mergeable=MERGEABLE, hosted Quality, readiness, docs, and image checks successful, CodeRabbit successful, and no human reviews visible on current head.
Duplicate/scope check: #838 bounty row 109 is open with 30 effective awards remaining; #923 is distinct from #922 because it touches app/github_issue_finalization.py request helper reuse rather than bounty-attempt duplicate responses.
No blocker found.
Summary
_request_json()helper._post_json(),_get_json(), and_patch_json()as the call-site-facing wrappers.Evidence
github_issue_finalization,_request_json,_post_json, or_patch_jsoncleanup.app/github_issue_finalization.py.Validation
uv run --python 3.12 --extra dev python -m pytest tests/test_github_issue_finalization.py tests/test_treasury_executor.py::test_executor_executes_due_create_bounty_and_finalizes_issue tests/test_treasury_executor.py::test_executor_finalizes_github_issue_for_paid_bounty -q-> 19 passed.uv run --python 3.12 --extra dev ruff check app/github_issue_finalization.py tests/test_github_issue_finalization.py-> passed.uv run --python 3.12 --extra dev ruff format --check app/github_issue_finalization.py tests/test_github_issue_finalization.py-> 2 files already formatted.uv run --python 3.12 --extra dev mypy app/github_issue_finalization.py-> success.uv run --python 3.12 --extra dev python scripts/docs_smoke.py-> docs smoke ok.git diff --check origin/main...HEAD-> clean.git merge-tree --write-tree origin/main HEAD-> clean treeabda6f4c7b8cc6d19c1ef4bc0fd2711b121cfce1.Scope
No public API contract, bounty lifecycle semantics, GitHub label/comment/close behavior, ledger behavior, wallet behavior, treasury execution behavior, payout behavior, admin-token behavior, private data, credentials, secrets, exchange, bridge, cash-out, or MRWK price behavior changed.
Summary by CodeRabbit