Roadmap
Phase-by-phase plan. Status as of 2026-05-18.
Phase status
| Phase | State | Notes |
|---|---|---|
| 0. Scaffold | done | Monorepo, README, CLAUDE.md, DECISIONS.md, brand kit |
| 1. Contracts | done | 5 contracts + interfaces, Foundry, viaIR optimizer 200 runs |
| 2. API | done | Bun + Elysia, Supabase migrations, RFC 9421 auth |
| 3. MCP server | done | 19 tools, npm @quorum/mcp-server@0.1.0 |
| 4. dApp | done | Next.js 16 on Netlify, all NEXT_PUBLIC env wired |
| 5. Sepolia E2E | done | Full lifecycle on Base Sepolia, 13 txs confirmed |
| 5.1. Internal audit | done | Claude (Opus 4.7) — 0 critical, 3 high, 7 medium, 9 low |
| 5.2. Remediation | in progress | H-01, H-02, H-03 + M-01 / M-02 / M-03 / M-04 / M-07 |
| 6. External audit | gated on 5.2 | Auditor TBD; engagement after remediation lands |
| 7. Mainnet deploy | gated on 6 | Safe multisig + TimelockController + bug bounty live |
| 8. Post-mainnet ops | future | Canary monitoring, retro cadence, community handoff |
Phase 5.2 — Remediation (current)
Targeted commit count: 8-12. Each fix is a separate commit per the our internal dev playbook “one logical change per commit” rule.
| Priority | Item | Owner |
|---|---|---|
| 1 | H-02 token whitelist on createBounty | Claude |
| 2 | H-01 voteRound counter in disputeBounty | Claude |
| 3 | H-03 minimum-quorum on finalize short-circuit | Claude |
| 4 | M-02 tokenAdmin = owner() not address(this) | Claude |
| 5 | M-03 move src/mocks/ → test/mocks/ | Claude |
| 6 | M-07 CEI: settle before safeTransfer | Claude |
| 7 | M-01 single mulDiv + rescueDust | Claude |
| 8 | M-04 deploy behind Safe multisig + Timelock | Codex |
| 9 | M-06 FeeRouter pull-payment OR admin reconfigure | Codex |
Test additions in tandem:
ForumExecutor.dispute → re-claim → re-voteintegration test (catches H-01).FeeOnTransferMockERC20+BlacklistMockERC20(catches H-02).- Flash-bond attack on
finalize(catches H-03). - Fuzz
BondingEscrow.claimwith M ∈ [2, 100] winners (catches M-01). - CI invariants INV-1, INV-2, INV-3.
Phase 6 — External audit (gated)
Engagement opens after Phase 5.2 lands. Auditor candidates (in alphabetical order):
- Cantina
- Code4rena
- OpenZeppelin
- Spearbit
- Trail of Bits
Required scope (per the internal audit report):
- Math precision proofs on
BondingEscrow.claimpayout across the full input grid. - Clanker v4 integration semantics on Base mainnet.
- Front-running of
finalize(MEV bot sandwich analysis). - Cross-bounty griefing on a shared idea-token.
- Replay protection on dispute.
- Storage packing of
BountyState.
Expected duration: 2-4 weeks. Findings will be triaged within 1 week of report receipt.
Phase 7 — Mainnet (gated on Phase 6)
Pre-deploy checklist:
- All HIGH findings from internal audit fixed.
- All HIGH + MEDIUM findings from external audit fixed.
- Safe 3-of-5 multisig deployed; signers confirmed; hardware keys distributed.
-
TimelockControllerdeployed; ownership of all 5 contracts transferred. - Bug bounty live on Immunefi or equivalent.
- Sepolia stable for ≥14 days with no unexplained failures.
- Final QRM tokenomics locked in.
- Treasury policy ratified.
- Canary monitoring set up (see the browse skill).
- Status page published.
Deploy script: forge script script/Deploy.s.sol --rpc-url $BASE_MAINNET_RPC --broadcast --slow.
Estimated cost: < 0.05 ETH at current gas prices.
Phase 8 — Post-mainnet
Initial six months:
- Weekly retro per
/retroskill — what shipped, what bonded, what disputed. - Canary deploy monitoring every 4h (console errors, latency, RPC health).
- Quarterly multisig key rotation review.
- Bug bounty payout reviews bi-weekly.
- Quarterly audit refresh (delta audit on any new code).
Beyond six months:
- DAO formation — voting contract, proposal interface, on-chain QRM staking for governance.
- Optimism / Arbitrum / Berachain deploys (chain-by-chain, each requires a fresh audit).
- Token mainnet for
did:gitlawbresolution once gitlawb publishes the mainnetDIDRegistry.
Out of scope (v1)
- L1 deploy (Ethereum mainnet). Quorum is Base-native; L1 is gas-prohibitive.
- Multi-chain bridge logic. Each chain gets its own deployment with its own
BondingEscrow. - AI inference inside contracts. Agents run their inference off-chain; on-chain is purely settlement.
- Off-chain dealer-trusted LP migration. Clanker v4 locks LP on-chain at deploy time, no external dealer required.
Roadmap dates are intentionally not published. The protocol ships when each gate is green, not on a calendar.
Last updated on