{"workflow":{"id":"d714874e-fff4-4b43-a886-92e95e6c14d7","objective":"Build an experimental Sepolia testnet DeFi game called Haunted Liquidity Pool.\n\nDeploy a Uniswap v4 dynamic-fee ETH/VOID pool and a fixed-supply token named Haunted VOID with symbol VOID. Use the platform standard supply of 1,000,000,000 tokens and plain ERC-20 transfers. Do not implement transfer taxes, hidden minting, or privileged withdrawals from user wallets.\n\nBuild a HauntedHook that runs afterInitialize, beforeSwap, and afterSwap. Every swap must produce a visible, testable outcome: normal trade with a 0.30% fee, free swap, corrupted dynamic fee, token burn, hidden lore signal, mini jackpot, charity signal, or rare reality-collapse event. Emit clear events for every outcome and include admin-only Sepolia test controls to force an outcome.\n\nAdd a JackpotVault and CharityVault with role-based access control, pause controls, reentrancy protection, payout and donation caps, and cooldowns. Jackpot payouts must be capped at 3% of vault reserves. Charity donations must be capped at 1% of vault reserves.\n\nWrite Foundry unit and invariant tests covering permissions, pauses, fee and burn limits, payout caps, cooldowns, and every hook outcome. Deploy and verify contracts on Sepolia, create the ETH/VOID pool, and connect the website to the live deployed addresses.\n\nCreate a dark haunted terminal-style website titled Haunted Liquidity Pool. It must support a Sepolia wallet connection, token approval and swaps, and show live swap events, corruption level, jackpot reserve, total burned tokens, charity total, and lore unlocks. Publish the website to IPFS and deliver the source to GitHub. Label all pages clearly as experimental testnet software.","status":"blocked","brief":"# Approved workflow\n\nBuild an experimental Sepolia testnet DeFi game called Haunted Liquidity Pool.\n\nDeploy a Uniswap v4 dynamic-fee ETH/VOID pool and a fixed-supply token named Haunted VOID with symbol VOID. Use the platform standard supply of 1,000,000,000 tokens and plain ERC-20 transfers. Do not implement transfer taxes, hidden minting, or privileged withdrawals from user wallets.\n\nBuild a HauntedHook that runs afterInitialize, beforeSwap, and afterSwap. Every swap must produce a visible, testable outcome: normal trade with a 0.30% fee, free swap, corrupted dynamic fee, token burn, hidden lore signal, mini jackpot, charity signal, or rare reality-collapse event. Emit clear events for every outcome and include admin-only Sepolia test controls to force an outcome.\n\nAdd a JackpotVault and CharityVault with role-based access control, pause controls, reentrancy protection, payout and donation caps, and cooldowns. Jackpot payouts must be capped at 3% of vault reserves. Charity donations must be capped at 1% of vault reserves.\n\nWrite Foundry unit and invariant tests covering permissions, pauses, fee and burn limits, payout caps, cooldowns, and every hook outcome. Deploy and verify contracts on Sepolia, create the ETH/VOID pool, and connect the website to the live deployed addresses.\n\nCreate a dark haunted terminal-style website titled Haunted Liquidity Pool. It must support a Sepolia wallet connection, token approval and swaps, and show live swap events, corruption level, jackpot reserve, total burned tokens, charity total, and lore unlocks. Publish the website to IPFS and deliver the source to GitHub. Label all pages clearly as experimental testnet software.\n\nThe requester chose this release: source code published to GitHub, website hosted on IPFS, contracts deployed on chain.\n\nBuild an experimental Sepolia testnet DeFi game called Haunted Liquidity Pool.\n\nDeploy a Uniswap v4 dynamic-fee ETH/VOID pool and a fixed-supply token named Haunted VOID with symbol VOID. Use the platform standard supply of 1,000,000,000 tokens and plain ERC-20 transfers. Do not implement transfer taxes, hidden minting, or privileged withdrawals from user wallets.\n\nBuild a HauntedHook that runs afterInitialize, beforeSwap, and afterSwap. Every swap must produce a visible, testable outcome: normal trade with a 0.30% fee, free swap, corrupted dynamic fee, token burn, hidden lore signal, mini jackpot, charity signal, or rare reality-collapse event. Emit clear events for every outcome and include admin-only Sepolia test controls to force an outcome.\n\nAdd a JackpotVault and CharityVault with role-based access control, pause controls, reentrancy protection, payout and donation caps, and cooldowns. Jackpot payouts must be capped at 3% of vault reserves. Charity donations must be capped at 1% of vault reserves.\n\nWrite Foundry unit and invariant tests covering permissions, pauses, fee and burn limits, payout caps, cooldowns, and every hook outcome. Deploy and verify contracts on Sepolia, create the ETH/VOID pool, and connect the website to the live deployed addresses.\n\nCreate a dark haunted terminal-style website titled Haunted Liquidity Pool. It must support a Sepolia wallet connection, token approval and swaps, and show live swap events, corruption level, jackpot reserve, total burned tokens, charity total, and lore unlocks. Publish the website to IPFS and deliver the source to GitHub. Label all pages clearly as experimental testnet software.\n","briefDigest":"8e99b75bc7b753e205565a75a1a8274a562d54e831549a98d3f3ce2a7de5c2ac"},"planning":null,"id":"471632e9-58ca-4e69-81f7-5d59053538c3","state":"completed","template":"shape:chain","objective":"WORKFLOW CONTRACT STAGE CONTEXT: the stage produces implemented and tested contracts, ABI documentation and an independently reviewed launch.json. Each assignment contributes only within its own role and write scope. Source-producing assignments own implementation, tests and ABI exports at docs/abi/<Contract>.json where their scope permits. The generated manifest assignment writes only launch.json. Review assignments inspect accepted source and manifest and return findings without editing files; they do not implement contracts or generate ABI files. Use the supplied canonical manifest guidance: policy and signed artifact linkage belong to services, while concrete source, constructor, policy or authorization conflicts remain review findings. Services publish source, attest, admit and deploy after this stage, then start the frontend. Read .imd/reads/workflow.md for the complete approved requirements and apply them to your assigned contribution; later service outcomes are not prerequisites of this assignment.","blockedReason":null,"createdAt":"2026-10-03T07:00:20.944Z","updatedAt":"2026-10-03T09:20:19.027Z","paidBy":"0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9","parentJobId":null,"project":{"id":"471632e9-58ca-4e69-81f7-5d59053538c3","head":"471632e9-58ca-4e69-81f7-5d59053538c3","running":null,"versions":[{"jobId":"471632e9-58ca-4e69-81f7-5d59053538c3","workflowId":"d714874e-fff4-4b43-a886-92e95e6c14d7","objective":"Build an experimental Sepolia testnet DeFi game called Haunted Liquidity Pool.\n\nDeploy a Uniswap v4 dynamic-fee ETH/VOID pool and a fixed-supply token named Haunted VOID with symbol VOID. Use the platform standard supply of 1,000,000,000 tokens and plain ERC-20 transfers. Do not implement transfer taxes, hidden minting, or privileged withdrawals from user wallets.\n\nBuild a HauntedHook that runs afterInitialize, beforeSwap, and afterSwap. Every swap must produce a visible, testable outcome: normal trade with a 0.30% fee, free swap, corrupted dynamic fee, token burn, hidden lore signal, mini jackpot, charity signal, or rare reality-collapse event. Emit clear events for every outcome and include admin-only Sepolia test controls to force an outcome.\n\nAdd a JackpotVault and CharityVault with role-based access control, pause controls, reentrancy protection, payout and donation caps, and cooldowns. Jackpot payouts must be capped at 3% of vault reserves. Charity donations must be capped at 1% of vault reserves.\n\nWrite Foundry unit and invariant tests covering permissions, pauses, fee and burn limits, payout caps, cooldowns, and every hook outcome. Deploy and verify contracts on Sepolia, create the ETH/VOID pool, and connect the website to the live deployed addresses.\n\nCreate a dark haunted terminal-style website titled Haunted Liquidity Pool. It must support a Sepolia wallet connection, token approval and swaps, and show live swap events, corruption level, jackpot reserve, total burned tokens, charity total, and lore unlocks. Publish the website to IPFS and deliver the source to GitHub. Label all pages clearly as experimental testnet software.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-03T07:00:20.944Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"evm_project","id":"a249b510-9bd1-47c4-b580-6a46a1e13c0a","status":"parked","chainId":11155111},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-665-workflow-contract-stage-context","pullRequestUrl":"https://github.com/identity-md-launches/launch-665-workflow-contract-stage-context/pull/1","commit":"2f827744d224b98ce362fc9df286533d3bc04bbc","deliveredAt":"2026-10-03T09:20:32.681Z","media":null},"media":null,"nodes":[{"key":"audit_economics","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-03T07:40:35.667Z","verdict":null,"seat":{"tokenId":"1731","agentId":"50955"},"live":null},{"key":"audit_flow","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-03T07:41:35.067Z","verdict":null,"seat":{"tokenId":"6","agentId":"51018"},"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":"judge findings unresolved after 2 revisions: no revision budget left for build_contract_project (2 revisions, 2 from the judge) — Jackpot eligibility is independent of the ticket's stake: a dust player captures only winning beacons (or spams dust tickets) and takes 3% of the reserve per cooldown for wei of fees; the 'missed capt","dispatchNoteAt":"2026-10-03T09:20:19.027Z","updatedAt":"2026-10-03T09:20:19.027Z","verdict":null,"seat":{"tokenId":"2","agentId":"50959"},"live":null},{"key":"audit_math","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-03T07:41:01.709Z","verdict":null,"seat":{"tokenId":"1299","agentId":"50974"},"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-03T07:40:26.361Z","verdict":null,"seat":{"tokenId":"351","agentId":"51023"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":2,"revisions":2,"judgeRevisions":2,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-03T08:50:23.957Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+ef84cc5f","verifiedTreeHash":"52ac419be4e2d207b4e805ff1c7220f8e8609018","at":"2026-10-03T08:50:23.958Z","failedChecks":[]},"seat":{"tokenId":"1299","agentId":"50974"},"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-03T08:53:31.253Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+ef84cc5f","verifiedTreeHash":"61e919e02a43212f3f57d370f579fd93782bb49c","at":"2026-10-03T08:53:31.254Z","failedChecks":[]},"seat":{"tokenId":"1299","agentId":"50974"},"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-03T09:13:13.711Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+ef84cc5f","verifiedTreeHash":"ab7f8a90ef0737817983e6fed212406e082ade12","at":"2026-10-03T09:13:13.798Z","failedChecks":[]},"seat":{"tokenId":"1731","agentId":"50955"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0xc2fab0390641c440c493c381d3a8f654b6c84a2cb1be58c3c32fd0be18fcb26b","blockNumber":26116371,"sentAt":"2026-10-04T03:43:03.965Z","entries":[]},{"status":"sent","chainId":1,"txHash":"0x6ce11a22af842e369a289ffa7e976ed058b8d6b9f47ca3568eee5df714f8db4d","blockNumber":26115066,"sentAt":"2026-10-03T23:21:13.578Z","entries":[{"nodeKey":"audit_economics","agentId":"50955","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"51018","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"50959","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"50939","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"50974","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"51023","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"50971","value":1,"role":"verification:checks"},{"nodeKey":"build_contract_project","agentId":"50959","value":1,"role":"verification:checks"},{"nodeKey":"build_contract_project","agentId":"50974","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"50957","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"50959","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"50974","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"50971","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"50955","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"50959","value":1,"role":"verification:checks"}]}]}