{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"ce7f80c0-be60-48c6-b235-5d9e8e5f70c6","kind":"skill:build-website","nodes":[{"acceptedSubmissionHash":null,"dependsOn":[],"execution":{"mustProduce":["dist/index.html"],"network":true,"optionalTools":["browser"],"profile":"none","requires":["network"],"skillHash":"a60bc8b42446c13d993341179fe13c712a5addb118fc532fb2d15e71f912efc8","skillId":"build-website","tools":[]},"key":"build_website","kind":"code","role":"implement","skillHash":"a60bc8b42446c13d993341179fe13c712a5addb118fc532fb2d15e71f912efc8","skillId":"build-website","state":"failed"},{"acceptedSubmissionHash":null,"dependsOn":["build_website"],"execution":{"network":true,"optionalTools":["browser"],"profile":"none","requires":["network"],"skillHash":"fd33b6741366d364a55a4c0ba2bc4f5d329cec0b62f27a83289dc5b30ab03575","skillId":"design-critic","tools":[]},"key":"design_critic","kind":"code","role":"review","skillHash":"fd33b6741366d364a55a4c0ba2bc4f5d329cec0b62f27a83289dc5b30ab03575","skillId":"design-critic","state":"waiting"}],"objective":"Forecast Bounty Protocol · $FORECAST\n\nA forecasting bounty protocol. A creator posts a numeric question with\na reward and a deadline. Anyone submits a forecast backed by a\nrefundable bond. When the creator resolves with the true value, the\nclosest forecast wins the reward. Every participant withdraws their\nbond back in full — losing a forecast costs nothing but gas.\n\nFORECAST is the reward and bond asset: bounties are denominated in\nFORECAST and resolvers stake FORECAST for the right to resolve, so a\nwrong resolution costs them real value.\n\nSupply allocation, fixed in DeploymentConfig (total 1,000,000,000):\n- 50% opens the liquidity pool\n- 15% BountySubsidy: funds early bounties\n- 10% ResolverBootstrap: seeds the resolver stake pool\n- 15% requester wallet\n- 10% to the swarm\n\nContracts:\n\n1. ForecastToken (ERC-20)\n   name \"Forecast Bounty\", symbol FORECAST, 18 decimals.\n   Supply 1,000,000,000 minted once to msg.sender in the constructor.\n   No owner, no mint, no burn, no pause, no transfer fee, no blacklist,\n   no upgrade path.\n\n2. ForecastBounty\n   createBounty(question, deadline, resolutionSource, rewardAmount):\n     creator transfers rewardAmount FORECAST in. Requires deadline in the\n     future and rewardAmount >= MIN_REWARD (5,000e18).\n   forecast(bountyId, value): submitter posts BOND (100e18) FORECAST,\n     fully refundable. One forecast per address per bounty; resubmission\n     reverts. Reverts when entries reach MAX_ENTRIES (500).\n   resolve(bountyId, trueValue): callable only by an address staking at\n     least RESOLVER_STAKE (25,000e18) in ResolverStake. Single pass over\n     entries, tracks the smallest absolute error and the winner. Marks\n     the bounty resolved and starts the dispute window.\n   claim(bountyId): the winning submitter withdraws the reward.\n   withdrawBond(bountyId): every participant withdraws their bond in\n     full after resolution, winner or not.\n   refundReward(bountyId): the creator reclaims the reward when the\n     bounty resolved with zero entries, or when the deadline passed and\n     the creator never resolved.\n\n3. ResolverStake\n   Resolvers stake FORECAST to earn the right to resolve. Stake is\n   withdrawable only when the resolver has no bounties inside an open\n   dispute window. A resolver whose resolution is successfully disputed\n   loses SLASH_BPS (20%) of its stake, paid to the disputer.\n\n4. DisputeWindow\n   After resolve(), a 48-hour window lets any wallet dispute by posting\n   an equal bond. A dispute escalates to a three-signer panel; majority\n   (2 of 3) decides. The losing side's bond goes to the winning side.\n   Panel signers are immutable constructor arguments, distinct and\n   non-zero.\n\n5. BountySubsidy\n   Holds the 15% subsidy allocation. Releases FORECAST to a bounty\n   creator only when the bounty's reward meets MIN_REWARD and the\n   creator has no other subsidised bounty open. Caps the total released\n   at the allocation.\n\n6. BountyRegistry\n   Append-only index of every bounty: id, question hash, creator,\n   reward, deadline, state, resolution value. No deletion, no owner\n   rewrite.\n\nRules: no owner, no pause, no proxy on any contract. Static constructor\narguments. All parameters (bond, min reward, resolver stake, slash,\ndispute window, panel signers, max entries, subsidy allocation) fixed in\nDeploymentConfig. Individual forecasts stay hidden until resolve().\nTests must pass: forge test, and forge test --fork-url on mainnet.\n\nWebsite on IPFS: live numbers, bounty list and detail, submit forecast,\nwithdraw bond, claim reward. Every number links to the onchain event\nthat produced it.\n\nChain: Ethereum mainnet. Pair with ETH. Source on GitHub.","parentJobId":null,"planHash":"3992c89009b18dcf6ce7b67c19d901d658e111fed21b1a00a830214a341bf93a","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"ce7f80c0-be60-48c6-b235-5d9e8e5f70c6","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2046-forecast-bounty-protocol"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[],"site":null,"snapshotHash":"9edfd37a5a513e2f62eb18d32ecb561f81c0bb02e3d96b0ffc757d926a547194","state":"blocked","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"20a3efdc039f2089","findings":[],"hash":"5059fa9cb5e12556f07e22a8ad9c7ed6f03a7cd49ba8eaade352678b24fec25a","nodeId":"d85eb3e8-2937-40dc-a52c-55783e1ce51e","outcome":"failed","summary":"needs input: The Ethereum mainnet addresses for the requester wallet receiving 15% of FORECAST, the swarm recipient receiving 10%, and the three immutable dispute-panel signers are missing. The brief requires fixed deployment parameters and does not authorize placeholder addresses or owner-settable replacements. — What Ethereum mainnet addresses should DeploymentConfig use for the requester allocation recipient, the swarm allocation recipient, and each of the three distinct, non-zero dispute-panel signers?","treeHash":null,"usage":{"cachedInputTokens":68992,"inputTokens":19931,"model":"gpt-6-astra","outputTokens":1492,"runtime":"codex","turns":3,"wallClockMs":52355}}],"verification":[]}