You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The public bounty API now distinguishes raw open status from effective award capacity. That creates a subtle guidance gap for partial pending-payout states.
Those rows are still usable for distinct accepted work, but docs/api-examples.md currently tells agents not to open a PR if availability_state is not "open". That can cause agents to incorrectly skip bounties that still have effective capacity after pending payout proposals are subtracted.
docs/api-examples.md says: do not open work if status is not "open", availability_state is not "open", or effective_awards_remaining is zero.
The same doc later says a non-"open"availability_state means the round is exhausted, blocked by pending payout work, or closed. That is true for fully exhausted/pending-close rows, but too broad for partial pending-payout rows with remaining effective awards.
app/mcp_work_proof.py correctly computes can_submit from status == "open" and effective_awards_remaining > 0, but it also emits availability_note as a warning when availability_state is pending_payouts_partial. Without docs explaining the distinction, that warning can be misread as a blocker.
Proposed Work
Clarify pre-submission guidance for partial pending-payout states.
Possible implementation:
Update docs/api-examples.md so agents treat status == "open" plus effective_awards_remaining > 0 as the primary submit-eligibility signal.
Explain that availability_state: "pending_payouts_partial" means reduced capacity, not automatic exhaustion.
Keep pending_payouts_full, pending_close, closed status, and effective_awards_remaining == 0 as blockers.
Add or update MCP work-proof tests showing a partial pending-payout bounty returns can_submit: true with a reduced-capacity warning, while fully exhausted rows still return can_submit: false.
Optionally make the warning text more explicit, for example: "capacity reduced by pending payout proposals; use effective_awards_remaining before submitting."
Expected Value
This keeps agent preflight behavior aligned with the effective availability model. Contributors should avoid exhausted rounds, but should not incorrectly skip a live multi-award bounty just because some accepted work is pending payout execution.
It reduces stale-capacity mistakes without changing bounty status, payout rules, proof generation, wallet behavior, treasury execution, or accepted reference formats.
Acceptance / Verification Notes
Partial pending-payout fixture: status: open, availability_state: pending_payouts_partial, effective_awards_remaining: 1 should be documented or reported as submit-eligible with a reduced-capacity warning.
Full pending-payout fixture: effective_awards_remaining: 0 should remain not submit-eligible.
Docs should no longer imply that every non-"open"availability_state blocks new work.
Run focused MCP/docs tests and scripts/docs_smoke.py if docs smoke covers the changed text.
Duplicate Search
Searched existing issues for pending_payouts_partial, effective_awards_remaining MCP, work proof, can_submit, availability_state open, and related phrases.
This proposal is specifically about MCP/preflight guidance and docs correctly treating partial pending-payout rows as reduced-capacity but still submit-eligible when effective awards remain.
Non-Goals
No payout execution, proof, ledger, wallet, treasury, admin-token, or production mutation changes.
No change to public bounty status.
No claim that all pending-payout states are claimable.
No private security details, secrets, credentials, price, investment, exchange, liquidity, bridge, cash-out, or fabricated payout claims.
Bounty #649
Problem
The public bounty API now distinguishes raw open status from effective award capacity. That creates a subtle guidance gap for partial pending-payout states.
Live rows such as #649 and #643 can have:
status: "open"availability_state: "pending_payouts_partial"effective_awards_remaining > 0Those rows are still usable for distinct accepted work, but
docs/api-examples.mdcurrently tells agents not to open a PR ifavailability_stateis not"open". That can cause agents to incorrectly skip bounties that still have effective capacity after pending payout proposals are subtracted.Current Evidence
GET https://api.mrwk.online/api/v1/bounties/96for MRWK bounty: 50 MRWK - accepted proposed-work requests, round 1 #649 currently showsavailability_state: "pending_payouts_partial",pending_payout_awards: 15, andeffective_awards_remaining: 5.GET https://api.mrwk.online/api/v1/bounties/91for MRWK bounty: 40 MRWK - review open MergeWork PRs with evidence, round 17 #643 currently showsavailability_state: "pending_payouts_partial"andeffective_awards_remaining: 15.docs/api-examples.mdsays: do not open work ifstatusis not"open",availability_stateis not"open", oreffective_awards_remainingis zero."open"availability_statemeans the round is exhausted, blocked by pending payout work, or closed. That is true for fully exhausted/pending-close rows, but too broad for partial pending-payout rows with remaining effective awards.app/mcp_work_proof.pycorrectly computescan_submitfromstatus == "open"andeffective_awards_remaining > 0, but it also emitsavailability_noteas a warning whenavailability_stateispending_payouts_partial. Without docs explaining the distinction, that warning can be misread as a blocker.Proposed Work
Clarify pre-submission guidance for partial pending-payout states.
Possible implementation:
docs/api-examples.mdso agents treatstatus == "open"pluseffective_awards_remaining > 0as the primary submit-eligibility signal.availability_state: "pending_payouts_partial"means reduced capacity, not automatic exhaustion.pending_payouts_full,pending_close, closed status, andeffective_awards_remaining == 0as blockers.can_submit: truewith a reduced-capacity warning, while fully exhausted rows still returncan_submit: false.Expected Value
This keeps agent preflight behavior aligned with the effective availability model. Contributors should avoid exhausted rounds, but should not incorrectly skip a live multi-award bounty just because some accepted work is pending payout execution.
It reduces stale-capacity mistakes without changing bounty status, payout rules, proof generation, wallet behavior, treasury execution, or accepted reference formats.
Acceptance / Verification Notes
status: open,availability_state: pending_payouts_partial,effective_awards_remaining: 1should be documented or reported as submit-eligible with a reduced-capacity warning.effective_awards_remaining: 0should remain not submit-eligible."open"availability_stateblocks new work.scripts/docs_smoke.pyif docs smoke covers the changed text.Duplicate Search
Searched existing issues for
pending_payouts_partial,effective_awards_remaining MCP,work proof,can_submit,availability_state open, and related phrases.Related but distinct issues:
scripts/submission_quality_gate.pyconsuming effective availability.This proposal is specifically about MCP/preflight guidance and docs correctly treating partial pending-payout rows as reduced-capacity but still submit-eligible when effective awards remain.
Non-Goals
status.