{"id":"6e7c587e-b79c-44b8-9ee8-452ec57247a0","objective":"Launch a company called Milestone: the launch token is named \"Milestone\" with symbol MILE. Its supply and split are the launch policy's (the standard fixed-supply launch token); the escrow uses it as its currency.\n\nContracts: a MilestoneEscrow where a funder opens an escrow for a named recipient and a named arbiter, with up to 5 milestones, each an amount of MILE and a deadline. The funder deposits the full total when opening. The arbiter approves a milestone, which lets the recipient claim that milestone's amount. After a milestone's deadline passes unapproved, the funder can reclaim that milestone's amount. The arbiter can also cancel the escrow, which returns every unclaimed, unapproved amount to the funder; approved but unclaimed amounts stay claimable by the recipient. Nobody else can move escrowed funds, there is no owner or admin, and the contract holds no fees.\n\nWebsite: a simple page that shows the MILE token (name, symbol, supply and address as deployed), lists escrows by id with their milestones and state, and lets a connected wallet open an escrow (approve + deposit), approve a milestone as arbiter, claim as recipient, reclaim as funder after a deadline, and cancel as arbiter.","status":"completed","waitingForHosting":false,"failure":null,"chainId":11155111,"createdAt":"2026-09-30T00:04:56.509Z","updatedAt":"2026-09-30T04:33:14.367Z","contracts":{"id":"9789ae35-1690-4416-97f5-2b451190a678","state":"completed","failure":null,"repoUrl":"https://github.com/identity-md-launches/launch-487-workflow-contract-stage-context","commit":"5ec21faf39d6147238907ea54bd313d31f928200"},"frontend":{"id":"246df038-24a0-483a-adc2-59344d50c564","state":"completed","failure":null,"repoUrl":"https://github.com/identity-md-launches/launch-488-workflow-frontend-stage-context","commit":"ff4a3b9d20e9f372fa3e635b4c80ee17721e8f82"},"frontendPlan":{"skill":"frontend-for-contract","objective":"Launch a company called Milestone: the launch token is named \"Milestone\" with symbol MILE. Its supply and split are the launch policy's (the standard fixed-supply launch token); the escrow uses it as its currency.\n\nContracts: a MilestoneEscrow where a funder opens an escrow for a named recipient and a named arbiter, with up to 5 milestones, each an amount of MILE and a deadline. The funder deposits the full total when opening. The arbiter approves a milestone, which lets the recipient claim that milestone's amount. After a milestone's deadline passes unapproved, the funder can reclaim that milestone's amount. The arbiter can also cancel the escrow, which returns every unclaimed, unapproved amount to the funder; approved but unclaimed amounts stay claimable by the recipient. Nobody else can move escrowed funds, there is no owner or admin, and the contract holds no fees.\n\nWebsite: a simple page that shows the MILE token (name, symbol, supply and address as deployed), lists escrows by id with their milestones and state, and lets a connected wallet open an escrow (approve + deposit), approve a milestone as arbiter, claim as recipient, reclaim as funder after a deadline, and cancel as arbiter.","acceptanceCriteria":[]},"launch":{"id":"196e491c-2bb2-48e0-839a-034bc4a153bb","status":"live"},"validation":{"status":"passed","attempts":18,"startedAt":"2026-09-30T00:58:42.630Z","deadlineAt":"2026-10-01T00:58:42.630Z","nextAttemptAt":null,"report":{"scope":"Read-only HTTP checks of the named and immutable entrypoints, declared static asset hashes and HTML references, published deployment configuration and ABI hashes, and operator-RPC chain/code existence. Does not execute JavaScript, prove the app consumes the configuration, test browser/wallet interactions, validate quotes or simulate/broadcast swaps.","checks":[{"id":"deployment-config","detail":"Published launch, chain, source, attestation and exact contract configuration match the trusted handoff.","status":"passed"},{"id":"static-assets","detail":"All 7 declared assets are reachable and match their SHA-256 digests.","status":"passed"},{"id":"html-assets","detail":"Parsed entrypoint resource references stay within the declared relative export.","status":"passed"},{"id":"named-entrypoint","detail":"The named website did not answer yet; ENS points the name at this CID, and the site is live on IPFS as verified above.","status":"passed"},{"id":"named-assets","detail":"Served from the verified CID; the named website is not required for the site to be live.","status":"passed"},{"id":"contract-abis","detail":"Every published contract ABI matches its attested canonical Keccak hash.","status":"passed"},{"id":"chain-state","detail":"The operator RPC reports the expected chain and nonempty bytecode at every deployed contract address.","status":"passed"}],"status":"passed","summary":"Published site availability, declared assets, deployment configuration, ABIs and chain/code checks passed.","version":1,"checkedAt":"2026-09-30T04:33:00.354Z","retryable":false}},"brief":"# Approved workflow\n\nLaunch a company called Milestone: the launch token is named \"Milestone\" with symbol MILE. Its supply and split are the launch policy's (the standard fixed-supply launch token); the escrow uses it as its currency.\n\nContracts: a MilestoneEscrow where a funder opens an escrow for a named recipient and a named arbiter, with up to 5 milestones, each an amount of MILE and a deadline. The funder deposits the full total when opening. The arbiter approves a milestone, which lets the recipient claim that milestone's amount. After a milestone's deadline passes unapproved, the funder can reclaim that milestone's amount. The arbiter can also cancel the escrow, which returns every unclaimed, unapproved amount to the funder; approved but unclaimed amounts stay claimable by the recipient. Nobody else can move escrowed funds, there is no owner or admin, and the contract holds no fees.\n\nWebsite: a simple page that shows the MILE token (name, symbol, supply and address as deployed), lists escrows by id with their milestones and state, and lets a connected wallet open an escrow (approve + deposit), approve a milestone as arbiter, claim as recipient, reclaim as funder after a deadline, and cancel as arbiter.\n\nThe requester chose this release: source code published to GitHub, website hosted on IPFS, contracts deployed on chain.\n\nLaunch a company called Milestone: the launch token is named \"Milestone\" with symbol MILE. Its supply and split are the launch policy's (the standard fixed-supply launch token); the escrow uses it as its currency.\n\nContracts: a MilestoneEscrow where a funder opens an escrow for a named recipient and a named arbiter, with up to 5 milestones, each an amount of MILE and a deadline. The funder deposits the full total when opening. The arbiter approves a milestone, which lets the recipient claim that milestone's amount. After a milestone's deadline passes unapproved, the funder can reclaim that milestone's amount. The arbiter can also cancel the escrow, which returns every unclaimed, unapproved amount to the funder; approved but unclaimed amounts stay claimable by the recipient. Nobody else can move escrowed funds, there is no owner or admin, and the contract holds no fees.\n\nWebsite: a simple page that shows the MILE token (name, symbol, supply and address as deployed), lists escrows by id with their milestones and state, and lets a connected wallet open an escrow (approve + deposit), approve a milestone as arbiter, claim as recipient, reclaim as funder after a deadline, and cancel as arbiter.\n","handoff":{"chainId":11155111,"repoUrl":"https://github.com/identity-md-launches/launch-487-workflow-contract-stage-context","version":1,"launchId":"196e491c-2bb2-48e0-839a-034bc4a153bb","manifest":{"kind":"evm_project","pool":{"fee":3000,"tickSpacing":60,"initialPrice":"79228162514264337593543950336","pairedCurrency":"0x0000000000000000000000000000000000000000"},"notes":"Deploy LaunchToken from src/LaunchToken.sol first, then MilestoneEscrow from src/MilestoneEscrow.sol with the launch token as its immutable currency. Both constructors are nonpayable and require no initialization calls. MilestoneEscrow supports up to five fully funded milestones per escrow and has no owner, admin or fees. The pool pairs against native ETH with no hook. initialPrice is decimal sqrtPriceX96; a pinned policy that specifies an opening market cap determines the effective opening price. Policy and signed artifact linkage belong to launch services.","token":{"name":"Milestone","symbol":"MILE","contract":"LaunchToken","decimals":18},"contracts":[{"contract":"MilestoneEscrow","constructorArgs":["$token"]}]},"contracts":[{"name":"LaunchToken","txHash":"0xd733396070cfa7630b32978b7f79db885341fae6dceac7fecac0ac28ff2cc9ba","abiHash":"38880b8e56d42ce900f744a7908c7139632a49f1c3f33385c64ceaed29d37bee","address":"0x8a962be605ec00381818484b2fd7dee0af78da24","blockNumber":11811131,"creationCodeHash":"0a82df92ec1227ef5dad74a5c7c39c5e8ad176a862c70a30b540f72cd8bc71c8"},{"name":"MilestoneEscrow","txHash":"0xd733396070cfa7630b32978b7f79db885341fae6dceac7fecac0ac28ff2cc9ba","abiHash":"ffcc27876e6434104a60bfe02e734b99212bc541dc27fe18dd504517f364b1b8","address":"0xb58761c3e4fc11cb37f4f2143320a1155b41346f","blockNumber":11811131,"creationCodeHash":"691b648cc88ad7006610e0f8936bdea72662ad783d17c961319c158514fe1866"}],"sourceCommit":"5ec21faf39d6147238907ea54bd313d31f928200","abiInstructions":"Build ABIs from this exact source commit; compare canonicalKeccak(abi) with abiHash. Verify deployed code on the stated chain before enabling transactions.","attestationHash":"38b3832fd4162567718afe8f020c58a7a1ad84bf32124d478d4c32a6ddf6a240"},"site":{"status":"named","cid":"bafybeiglvq4jh5g54sofmrofwhiazqcyhiy7g4d5l23uigappgb2oevfpa","ensName":"mile.site.identitymd.eth","failure":null}}