{"workflow":{"id":"0c56259b-7643-4e93-b256-982ee1f871e9","objective":"Build Pacts, a social guild strategy game on Sepolia played with the launch token, launch it, publish the source on GitHub and host its website on IPFS. Guilds hold tiles on a shared 12x12 map, attack each other in the open, vote on moves, and sign pacts backed by token bonds that are slashed to the victim if a guild betrays a partner. Seasons pay the top guilds and mint trophy NFTs.","status":"blocked","brief":"# Approved workflow\n\nBuild Pacts, a social guild strategy game on Sepolia played with the launch token, launch it, publish the source on GitHub and host its website on IPFS. Guilds hold tiles on a shared 12x12 map, attack each other in the open, vote on moves, and sign pacts backed by token bonds that are slashed to the victim if a guild betrays a partner. Seasons pay the top guilds and mint trophy NFTs.\n\nThis is a test of the full contract-to-website workflow with a game complex enough to give the audit panel real work. No randomness and no hidden moves: every action is public and outcomes are deterministic. The game must have no admin powers: the $owner reference resolves to the network's deployer wallet, so nothing may depend on an owner acting after deployment. The contracts receive no token allocation at launch, so every token the game pays out must come from what players paid in. GitHub publication, IPFS hosting and the Sepolia evm_project launch are authorized.\n\nBuild Pacts, a public, deterministic guild strategy game played with the launch token ($token), as five contracts with no admin functions. Realm: a 12x12 tile map; epoch length and season length are constructor arguments (1 hour and 7 days). Players buy troops with the token; a guild holding a tile earns a share of the epoch's income pool per tile, and income comes only from troop purchases and fees, never minted. Attacks are declared openly during an epoch with committed troops and all attacks on a tile resolve together at the epoch's end: the larger committed force takes the tile, ties keep the holder, and troops are lost in proportion. Anyone can settle an ended epoch. Guilds: anyone can found or join a guild; guild troops are pooled; attacks and pacts need a majority vote of members, votes are weighted one per member, and a majority can expel a member. Diplomacy: two guilds can sign a pact that each backs with a token bond for a set number of epochs; if a guild attacks a pact partner its bond is paid to the victim automatically; bonds return when the pact expires unbroken. Season: a fee on troop purchases fills a prize pool; after the season ends anyone can close it and the top three guilds by tiles held claim 50/30/20, split equally among their members. Banners: an ERC-721 that only Season mints, one banner to each member of a winning guild and one to any guild that finished a season without breaking a pact. Wire contracts with $token and $contract:Name references and constructor arguments only; no post-deployment calls, no constructor ETH. Emit events for every action so a frontend can rebuild the map, guilds, pacts, betrayals and standings from logs. Test settlement with several attackers on one tile, votes, expulsion, pact bonds and betrayal slashing, season close and claims, and that no function can move player funds except the rules above. Then build a website: a live map coloured by guild, guild pages with members and pending votes, a diplomacy board with pacts, bonds and betrayals, an event feed, buy-troops and attack controls, season standings and banners.\n","briefDigest":"1e28d93e0019621b7874c7a54666dd3b1953380fba844824457c740706654884"},"planning":null,"id":"e94400fc-c704-4751-b2b4-5ca2bede9b28","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-09-28T17:36:39.293Z","updatedAt":"2026-09-28T20:29:35.282Z","paidBy":null,"parentJobId":null,"project":{"id":"e94400fc-c704-4751-b2b4-5ca2bede9b28","head":"e94400fc-c704-4751-b2b4-5ca2bede9b28","running":null,"versions":[{"jobId":"e94400fc-c704-4751-b2b4-5ca2bede9b28","workflowId":"0c56259b-7643-4e93-b256-982ee1f871e9","objective":"Build Pacts, a social guild strategy game on Sepolia played with the launch token, launch it, publish the source on GitHub and host its website on IPFS. Guilds hold tiles on a shared 12x12 map, attack each other in the open, vote on moves, and sign pacts backed by token bonds that are slashed to the victim if a guild betrays a partner. Seasons pay the top guilds and mint trophy NFTs.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-09-28T17:36:39.293Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"evm_project","id":"39e9fd98-e802-4321-9162-836d1dd47350","status":"parked","chainId":11155111},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-431-workflow-contract-stage-context","pullRequestUrl":null,"commit":"b5a8479a90614f95e2121a144b87becc06f90ff4","deliveredAt":"2026-09-28T20:29:58.674Z","media":null},"media":null,"nodes":[{"key":"audit_economics","role":"review","state":"accepted","attempt":2,"revisions":1,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T20:21:33.221Z","verdict":null,"seat":{"tokenId":"6","agentId":"51018"},"live":null},{"key":"audit_flow","role":"review","state":"accepted","attempt":2,"revisions":1,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T20:18:11.596Z","verdict":null,"seat":{"tokenId":"1731","agentId":"50955"},"live":null},{"key":"audit_judge","role":"review","state":"accepted","attempt":2,"revisions":1,"judgeRevisions":0,"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-09-28T20:29:35.282Z","verdict":null,"seat":{"tokenId":"1","agentId":"50953"},"live":null},{"key":"audit_math","role":"review","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T20:17:02.826Z","verdict":null,"seat":{"tokenId":"270","agentId":"51046"},"live":null},{"key":"audit_permissions","role":"review","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T20:14:03.394Z","verdict":null,"seat":{"tokenId":"1731","agentId":"50955"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":1,"revisions":2,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T19:39:56.383Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+a06975e1","verifiedTreeHash":"475bed0b73e8cb1a4f312c4c9e6ad6bb2c5a19cb","at":"2026-09-28T19:39:56.383Z","failedChecks":[]},"seat":{"tokenId":"2","agentId":"50959"},"live":null},{"key":"manifest","role":"integrate","state":"accepted","attempt":2,"revisions":1,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T20:11:38.647Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+48a57703","verifiedTreeHash":"8a31183cf9dd479817b17c8eb9ff2c0c25d2f70c","at":"2026-09-28T20:11:38.648Z","failedChecks":[]},"seat":{"tokenId":"617","agentId":"50956"},"live":null},{"key":"write_foundry_tests","role":"tests","state":"accepted","attempt":1,"revisions":2,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["test","test/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-09-28T19:59:18.021Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+48a57703","verifiedTreeHash":"9374a36bb7bd4328c99c467fe7ae1e4a336a0392","at":"2026-09-28T19:59:18.022Z","failedChecks":[]},"seat":{"tokenId":"2","agentId":"50959"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x549aaa3e63d600c11ae043b402a8833312ec917bee22826d661c753080ed4ba8","blockNumber":26115693,"sentAt":"2026-10-04T01:26:59.993Z","entries":[]},{"status":"sent","chainId":1,"txHash":"0x2d3fb8036a6a4e13cfbf35f740fd08339ae1504744b4ea53e6f3bd928c15dafa","blockNumber":26114506,"sentAt":"2026-10-03T21:29:02.930Z","entries":[{"nodeKey":"audit_economics","agentId":"51018","value":1,"role":"review:submission"},{"nodeKey":"audit_economics","agentId":"50955","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"51018","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"50955","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"50959","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"50953","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"51046","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"50953","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"50955","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"50962","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":"manifest","agentId":"50971","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"50956","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"50971","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"50959","value":1,"role":"verification:checks"}]}]}