Treasury proposal flow is live: bounty posting, payouts, and next phases #598
ramimbo
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
PR #458 is merged and deployed. This changes the normal maintainer/admin path for MergeWork treasury actions.
What changed
Normal app-path treasury actions now go through public treasury proposals before they mutate the ledger:
create_bounty: reserves MRWK for a GitHub bounty issue.pay_bounty: pays an accepted manual claim from an existing bounty reserve.close_bounty: closes a bounty and releases unused reserve.Each proposal has a canonical payload, a payload hash, a public status, and an execution time. Execution is delayed by 24 hours. When a proposal executes, the resulting ledger entry/proof becomes the canonical public record.
The proposal API is public for reads:
GET /api/v1/treasury/proposalsGET /api/v1/treasury/proposals/{id}Proposal creation and execution remain admin-token operations. Challenge submission requires GitHub login and at least one previously accepted MRWK award.
What this means for bounty issues
The old shortcut was: create a GitHub issue, reserve it immediately, add
mrwk:bounty, and commentReserved on MergeWork.The new flow is:
create_bountyproposal.mrwk:bountyand commentReserved on MergeWorkwith the public bounty URL.A GitHub issue is not live as an MRWK bounty until step 5. Contributors should not treat proposed issues as claimable MRWK bounty work until the reserve execution is visible.
What this means for manual payouts
Manual review, smoke-check, docs, and verification claims now follow:
pay_bountyproposal.A pending proposal is not a payment. Public updates should say
queued as proposal <id>during the delay and should use proof links after execution.Accepted-label PR webhook payouts are unchanged when their guards pass. The proposal flow mainly affects normal admin bounty creation, manual payout, and close/release actions.
Challenge behavior
Earned contributors can submit proposal challenges. Machine-checkable challenges can block a pending proposal when the current ledger/app state proves the issue, for example duplicate bounty, closed bounty, already-paid submission, insufficient reserve, or reserve-cap breach. Subjective notes are recorded publicly but do not block by themselves.
This creates a public objection window without pretending that app-level governance can stop direct production server or database access by an operator. The goal is transparency and rule-checkable normal operation.
Current examples
Two initial proposals are queued:
#597 is not active yet and intentionally does not have
mrwk:bountyorReserved on MergeWork.Phase plan
Phase 1 is now live: MergeWork has the governance surface from PR #458: proposal table/API, delay enforcement, reserve caps, proposal execution, and public challenge logs.
Phase 2 is experimental testnet work: a beta EVM testnet repo/package with snapshot export, Merkle root building, Base Sepolia claim contract experiments, timelocked root updates, and no liquidity. Early outputs should be labeled testnet, experimental, and
proposal_validation: partial.Phase 3 is proposal-aware canonical snapshots: exported balances should be derived from valid ledger history under proposal rules. This is where invalid or bypassed history starts being rejected by the canonical snapshot process rather than merely documented after the fact.
Boundaries
MRWK remains the native MergeWork ledger coin. MergeWork does not currently operate a bridge, exchange, off-ramp, public external-value path, or fixed 1:1 external-value relationship. Future work may explore public snapshots, bridge design, and onchain claim experiments, but those are not live systems and should not be described as liquidity, cash-out, or price support.
Immediate next steps
mrwk:bountyandReserved on MergeWorkto Proposed MRWK bounty: 75 MRWK - post-deploy treasury proposal verification #597.Beta Was this translation helpful? Give feedback.
All reactions