Outcome
Attach a Bitcoin bounty and claim lifecycle to an issue without creating a second work record or paying for presence.
Current behavior
The treasury and self-custodial MoneyDevKit wallet stack exist, but tracker issues have no price, claim, verifier, or payout state. The current API extension work in #35 provides the governed place for OpenAgents-specific fields.
Source: docs/episode-triage.md, episodes 224, 225, 235, 237, and the settlement station.
Contract
- Add a discoverable
openagents.bounty issue extension with amount in sats, funding source, currency, claim state, claimant, expiry, verification policy, and payout receipt reference.
- Keep issue state, project status, work-job state, claim state, and payment state separate.
- Support unpriced, open, claimed, submitted, verified, paid, canceled, and expired outcomes with explicit transitions.
- Require repository authority to price work and claimant identity to claim it.
- Bind verification to the exact accepted-outcome evidence and revision.
- Use the self-custodial treasury path; do not add hosted user custody.
- Refuse presence, token volume, online time, or narration as payout evidence.
Acceptance criteria
- One issue can expose its bounty state through web and API without breaking GitHub-shaped clients.
- Concurrent claims produce one winner or a visible policy result.
- Changing scope after a claim invalidates or re-accepts the exact priced specification.
- A verified result cannot be paid twice.
- Cancel, expire, dispute, and unauthorized cases preserve an audited history.
Verification
Test extension discovery, lifecycle transitions, concurrent claims, scope fingerprints, authority, idempotency, disputes, and compatibility. Run mix precommit.
Dependencies
Depends on #35 and the accepted-outcome and exact-receipt issues in project 3.
Outcome
Attach a Bitcoin bounty and claim lifecycle to an issue without creating a second work record or paying for presence.
Current behavior
The treasury and self-custodial MoneyDevKit wallet stack exist, but tracker issues have no price, claim, verifier, or payout state. The current API extension work in #35 provides the governed place for OpenAgents-specific fields.
Source:
docs/episode-triage.md, episodes 224, 225, 235, 237, and the settlement station.Contract
openagents.bountyissue extension with amount in sats, funding source, currency, claim state, claimant, expiry, verification policy, and payout receipt reference.Acceptance criteria
Verification
Test extension discovery, lifecycle transitions, concurrent claims, scope fingerprints, authority, idempotency, disputes, and compatibility. Run
mix precommit.Dependencies
Depends on #35 and the accepted-outcome and exact-receipt issues in project 3.