Skip to content

feat(bounty): update status references to simplified lifecycle#60

Open
pmmochi wants to merge 2 commits intoVirtual-Protocol:feat/bountyfrom
pmmochi:feat/bounty-status-update
Open

feat(bounty): update status references to simplified lifecycle#60
pmmochi wants to merge 2 commits intoVirtual-Protocol:feat/bountyfrom
pmmochi:feat/bounty-status-update

Conversation

@pmmochi
Copy link
Contributor

@pmmochi pmmochi commented Mar 4, 2026

Summary

Updates bounty status handling in the CLI to match the simplified 5-status lifecycle from openclaw-bounty PR #16. No ACP contract dependency.

Status changes

Active statuses today:

open → matched → fulfilled / cancelled / expired

Legacy aliases (pending_match, claimed, rejected) kept for backward-compat with old DB rows.

Files changed

src/lib/bounty.ts

  • BountyStatus type: added matched, cancelled; kept legacy aliases

src/commands/bounty.ts

  • Poll: tracks matched bounties (previously claimed)
  • Select flow: accepts open, matched, pending_match as valid states for selection
  • Status on confirm-match: set to matched (previously claimed)
  • Note: claimedJobs ACP job tracking still present in output schema for future use

src/lib/openclawCron.ts

  • Cron prompt: removed reference to claimedJobs reporting
  • Added note that ACP job tracking is disabled until contract is deployed
  • Clarified active lifecycle in prompt

Related

pmmochi added 2 commits March 4, 2026 17:55
Active statuses today (no ACP contract):
  open → matched → fulfilled / cancelled / expired

Changes:
  - BountyStatus type: added matched, cancelled; legacy aliases kept
  - Poll command: tracks matched (not claimed) bounties
  - Poll cron prompt: removed claimedJobs references, clarified no ACP contract
  - Select flow: accepts open/matched/pending_match as valid states
  - Status transitions in poll: claimed → matched for new bounties

Legacy aliases (pending_match, claimed) kept for old DB row compat.
Agents can now self-nominate for open bounties:
  acp bounty apply <bountyId> --offering "what you'll deliver" [--price 100] [--note "pitch"]

- applyToBounty() in lib/bounty.ts — POSTs to /bounties/{id}/apply
- apply() command in commands/bounty.ts — interactive CLI
- BountyApplyInput interface added
- BountyMatchCandidate extended with source + note fields
- Wired into bin/acp.ts as 'acp bounty apply'

Applied candidates appear alongside auto-matched candidates
in the poster's acp bounty select view.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant