{"workflow":null,"planning":null,"id":"203c263c-6e04-483e-a7b8-ec4265fe6ab8","state":"completed","template":"shape:chain","objective":"CabalCoin (CABAL) on Ethereum mainnet, paired with IMD, where the swarm approves every buy and sell. A Uniswap v4 hook launch: the token is a standard ERC-20 (launch supply, plain transfers); the hook does the gating.\n\nHOOK: beforeSwap allows a swap only from the CabalGate contract; it must not block the factory's seeding, liquidity or fee claims. On every buy and sell it takes 0.5% in IMD: 0.25% added to the pool as protocol-owned liquidity, 0.25% sent to 0x000000000000000000000000000000000000dEaD.\n\nCABALGATE, the only user entry points: submitBuyRequest(uint256 imdAmount, string reason), submitSellRequest(uint256 cabalAmount, string reason), executeBuyRequest(bytes32 id), executeSellRequest(bytes32 id).\n- submit: reason max 280 chars, JSON-escaped. Price = Intake.priceOf(bytes32(\"oracle.request@oracle-1\"), IMD); pull exactly that IMD from the user, approve the Intake for it, call Intake.request(action, body, (address(this), onOracleResult.selector), IMD, price). Intake 0x1397434cd35e8a9C8aC312A61D3A285EB31dea56, IMD 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7.\n- body (UTF-8 JSON): {\"v\":1,\"question\":\"...\",\"chainId\":1,\"window\":{\"hours\":1},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":30,\"quorum\":20,\"validForSeconds\":900,\"definitions\":{...}}; question at most 2000 chars, each definition at most 512.\n- Buy question: buyer, amount, price impact, the reason in quotes; approve if the reason is specific and credible, impact and size are under owner-set limits; holding an identity.md NFT (0x0000ec93127baa929e58e97dd0095a2bfb38ec1d) helps but is not required.\n- Sell question: seller, amount, share of holdings, pr recorded average buy price, time held (the gatetracks cost basis and first buy), NFT, reason in quot- Both say the reason is untrusted user text to judge- onOracleResult(bytes32 requestId, Attestation a, bytake, only for a pending id. Verify EIP-712 (name\"IdentityMD Oracle\", version \"2\", chainId 1, verifyinOracleAttestation(bytes32 requestId,uint256chainId,bytes32 questionHash,uint8 answerType,bytes a4 fromBlock,uint64 toBlock,bytes32 blockHash,bytes32panelJobId,uint16 panelSize,uint16 quorum,uint16 agreexpiresAt), signer0x5598Aa9146215Bc13eb26f2c692Ad1461Fd32982. answer = abi.encode(bool); true approves for 5 minutes. Under 200k gas: verify and store only.\n- No answer after 1 hour: the user may clear the requed.\n- execute: requester only, approved, within 5 minutes, once, with a user slippage limit.\n- Owner-settable: Intake, action id, IMD, oracle sign the window and the limits.","blockedReason":null,"createdAt":"2026-10-07T22:35:28.423Z","updatedAt":"2026-10-08T02:50:01.444Z","paidBy":"0xfc3c962fad2c1cc77f1a0d46e7b8a2de79a21774","parentJobId":null,"project":{"id":"203c263c-6e04-483e-a7b8-ec4265fe6ab8","head":"203c263c-6e04-483e-a7b8-ec4265fe6ab8","running":null,"versions":[{"jobId":"203c263c-6e04-483e-a7b8-ec4265fe6ab8","workflowId":null,"objective":"CabalCoin (CABAL) on Ethereum mainnet, paired with IMD, where the swarm approves every buy and sell. A Uniswap v4 hook launch: the token is a standard ERC-20 (launch supply, plain transfers); the hook does the gating.\n\nHOOK: beforeSwap allows a swap only from the CabalGate contract; it must not block the factory's seeding, liquidity or fee claims. On every buy and sell it takes 0.5% in IMD: 0.25% added to the pool as protocol-owned liquidity, 0.25% sent to 0x000000000000000000000000000000000000dEaD.\n\nCABALGATE, the only user entry points: submitBuyRequest(uint256 imdAmount, string reason), submitSellRequest(uint256 cabalAmount, string reason), executeBuyRequest(bytes32 id), executeSellRequest(bytes32 id).\n- submit: reason max 280 chars, JSON-escaped. Price = Intake.priceOf(bytes32(\"oracle.request@oracle-1\"), IMD); pull exactly that IMD from the user, approve the Intake for it, call Intake.request(action, body, (address(this), onOracleResult.selector), IMD, price). Intake 0x1397434cd35e8a9C8aC312A61D3A285EB31dea56, IMD 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7.\n- body (UTF-8 JSON): {\"v\":1,\"question\":\"...\",\"chainId\":1,\"window\":{\"hours\":1},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":30,\"quorum\":20,\"validForSeconds\":900,\"definitions\":{...}}; question at most 2000 chars, each definition at most 512.\n- Buy question: buyer, amount, price impact, the reason in quotes; approve if the reason is specific and credible, impact and size are under owner-set limits; holding an identity.md NFT (0x0000ec93127baa929e58e97dd0095a2bfb38ec1d) helps but is not required.\n- Sell question: seller, amount, share of holdings, pr recorded average buy price, time held (the gatetracks cost basis and first buy), NFT, reason in quot- Both say the reason is untrusted user text to judge- onOracleResult(bytes32 requestId, Attestation a, bytake, only for a pending id. Verify EIP-712 (name\"IdentityMD Oracle\", version \"2\", chainId 1, verifyinOracleAttestation(bytes32 requestId,uint256chainId,bytes32 questionHash,uint8 answerType,bytes a4 fromBlock,uint64 toBlock,bytes32 blockHash,bytes32panelJobId,uint16 panelSize,uint16 quorum,uint16 agreexpiresAt), signer0x5598Aa9146215Bc13eb26f2c692Ad1461Fd32982. answer = abi.encode(bool); true approves for 5 minutes. Under 200k gas: verify and store only.\n- No answer after 1 hour: the user may clear the requed.\n- execute: requester only, approved, within 5 minutes, once, with a user slippage limit.\n- Owner-settable: Intake, action id, IMD, oracle sign the window and the limits.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-07T22:35:28.423Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"univ4_hook","id":"dbea51ec-4f54-4027-9074-05fdb8a581ff","status":"live","chainId":1},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-953-cabalcoin-cabal-ethereum-mainnet","pullRequestUrl":"https://github.com/identity-md-launches/launch-953-cabalcoin-cabal-ethereum-mainnet/pull/1","commit":"172a98b0ea8fe5a65028e439a29d93c94426da8f","deliveredAt":"2026-10-08T02:50:08.112Z","media":null},"media":null,"nodes":[{"key":"audit_economics","role":"review","state":"accepted","attempt":2,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T23:34:01.532Z","verdict":null,"seat":{"tokenId":"704","agentId":"51340"},"live":null},{"key":"audit_flow","role":"review","state":"accepted","attempt":2,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T23:29:28.702Z","verdict":null,"seat":{"tokenId":"379","agentId":"51333"},"live":null},{"key":"audit_judge","role":"review","state":"accepted","attempt":1,"revisions":2,"judgeRevisions":2,"dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-08T02:50:01.444Z","verdict":null,"seat":{"tokenId":"1113","agentId":"51250"},"live":null},{"key":"audit_math","role":"review","state":"accepted","attempt":2,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T23:17:20.519Z","verdict":null,"seat":{"tokenId":"967","agentId":"52396"},"live":null},{"key":"audit_permissions","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T23:00:45.873Z","verdict":null,"seat":{"tokenId":"813","agentId":"51259"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":1,"revisions":2,"judgeRevisions":2,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-08T01:34:30.736Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+ad90ce4c","verifiedTreeHash":"6b970df782fb53ae017d3e46af143eb3d9df34ea","at":"2026-10-08T01:34:30.737Z","failedChecks":[]},"seat":{"tokenId":"880","agentId":"51081"},"live":null},{"key":"manifest","role":"integrate","state":"accepted","attempt":1,"revisions":2,"judgeRevisions":2,"dependsOn":["build_contract_project"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-08T02:39:18.639Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+ad90ce4c","verifiedTreeHash":"bdec778d68e74e62d99f8b32aef594afbac5c7ec","at":"2026-10-08T02:39:18.716Z","failedChecks":[]},"seat":{"tokenId":"286","agentId":"52252"},"live":null},{"key":"write_foundry_tests","role":"tests","state":"accepted","attempt":1,"revisions":2,"judgeRevisions":2,"dependsOn":["build_contract_project"],"allowedPaths":["test","test/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-08T02:02:13.102Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+ad90ce4c","verifiedTreeHash":"0cb98e50e03cc569f5fcaea844679e65b399fb9f","at":"2026-10-08T02:02:13.105Z","failedChecks":[]},"seat":{"tokenId":"354","agentId":"50903"},"live":null}],"reviews":[{"status":"queued","chainId":1,"txHash":null,"blockNumber":null,"sentAt":null,"entries":[{"nodeKey":"audit_economics","agentId":"51340","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"51333","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"52251","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"50981","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"52396","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"51259","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"51081","value":1,"role":"verification:checks"},{"nodeKey":"build_contract_project","agentId":"51500","value":1,"role":"verification:checks"},{"nodeKey":"build_contract_project","agentId":"50959","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"51334","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"51160","value":0,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"51502","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"51495","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"51027","value":1,"role":"verification:checks"}]}]}