{"workflow":null,"planning":null,"id":"b35cc3bc-234d-4e8a-880f-e6081c3c78a6","state":"completed","template":"skill:build-website","objective":"Build the website attached to mainnet launch2071 via THIS job's Add a website flow. Visual reference only: https://unlk.sites.imd.fun/; replace old rules/data. Link the published site to this launch/token in IMD Explorer via supported metadata; verify the link or report the blocker. Report the supported site URL. WEBSITE ONLY: no redeployment, contract changes, activation or balance migration. Source/ABIs: https://github.com/identity-md-launches/launch-2071-unlock commit40d70b7bd0853aedf84eac839a40a5f12e6ac341. Review web/src/{NextRelease.tsx,NftGallery.tsx,mainnetReader.ts,candidate.ts}: these contain partial $50M/NFT work, NOT a finished mainnet site. Replace stale preview/blocked labels with live state.\n\nIDENTITIES (chainId 1):\nUNLK: 0x99fa82b022be4575891a43b757bc770691e18fda\nHook: 0x932eba7e96b9e54efe6f8cdf98cb092164a57fcc\nIMD quote token: 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7\nNative distributor: 0xc70795e2d8dfac6131038dcba84aa2aaed1ceed1\nClaim evidence: 0x31d8c50c3c2d7c6000f1ac8cfd466404d26232ab\nOracle: 0x13cd2d5452cac5e71ca16e825e280563a874c6b6\nIMD treasury vault: 0xf2a19fba1f37f3fd41af0b7f671ccf6d07f29f50\nTreasury beneficiary/NFT custody wallet: 0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9\nPoolId: 0x860a127e8f4b069ce93e280efda34db2b3cb21e7d73f164248f38f4220ec8d32\nVerify code/bindings/factory/PoolKey: fee12500, spacing60, currencies sorted by address.\n\nLIFECYCLE: Reverify state: companions deployed, round0 certified, activation false at preparation. Publish BEFORE activation; show 'Trading not yet activated' and disable swaps until activated() becomes true. Keep read-only views/native claims available. Detect activation automatically without another release. Owner signs final activation separately; this task must not activate.\n\nTRADING: Buy with IMD, receive UNLK; sell UNLK, receive IMD. ETH is gas only. No ETH swap fields or msg.value funding. Implement UNLK/IMD swaps through the hook's pinned mainnet standard Universal Router, Quoter and supported Permit2 flow. Verify code/ABIs and enforcing PoolKey. Attribute trades to the actual execution account; default recipient to that account. Quotes do not prove quota eligibility: simulate exact calldata from the connected account. Show balances, expiry, min received, slippage, impact, fees, approvals, gas and receipts. Use bigint. Reject stale state/quotes and duplicate sends. Every write requires wallet confirmation; handle rejection, revert, timeout/replacement without automatic resends.\n\nWALLET: Read balance, eligible/mature credits, one-block pending buys, cumulative sold, remaining quota and tier from contracts. Sellable=min(balance,quota), or balance after full unlock. Transfers grant no credits. Implement native claim/proof, separate credit sync and payer sync where applicable using actual eligibility/timing/deduplication. Claims must work independently of sync. Explain shared-executor quota pooling. \n\nRULES: Initial allowance20%. USD FDV gates: 100K25%,250K30%,500K35%,1M40%,2M45%,3.5M50%,5M55%,7.5M60%,10M65%,15M70%,20M75%,25M80%,30M85%,35M90%,40M95%,50M permanent global quota bypass. Previous sales always count:1000 eligible,200 sold at20%,then30% gives100 more. Use mature-credit accounting. An ONCHAIN-observed valid touch permanently opens the highest crossed gate; no relock,48h wait or TWAP. Separate actual unlocked rights from estimated price progress.\n\nDATA: Use the deployed oracle for rule-relevant FDV (UNLK/IMD x IMD/ETH x validated ETH/USD, fixed1B supply). Distinguish FDV from circulating market cap; unavailable/stale data is not zero. Display1.25% pool fee plus0.75% IMD treasury component using actual executed-leg math, including protocol fees; effective total is not always exactly2%. Show accrued/withdrawn/claimable treasury and actual holdings without double-counting PoolManager claims. Explain collected IMD is intended for IMD NFT purchases, with no automatic purchases/returns promised. Compact NFT strip: show images/IDs currently owned by the custody wallet from the VERIFIED official IMD collection only. Verify collection; no fake holdings. Free data; disclose limits.\n\nDESIGN: English mobile/desktop site; preserve dark editorial identity, subtle lock/diamond motifs, clear typography. Prioritize swap, wallet selling rights, permanent milestone ladder, treasury/NFTs, How it works and contract links. Rebuild the milestone chart through $50M with ALL 16 gates plus initial20%, live unlocked/current/next states. Replace old Sepolia/$5M/25%/ETH copy everywhere. State mainnet uses real assets; disclose manipulation/early-unlock/shared-account risks. No fake metrics.\n\nVERIFY/DELIVER: Recorded-mainnet-fork tests: local activation, actual router buys/sells, quota rejection, fees and eligible claims. No unsigned public writes. Test inactive-to-active transition, account/network changes, approvals, RPC/feed errors, rounding and mobile layout. Distinguish mocks/fork/live evidence. Publish URL, commit, config/tests; keep rollback.","blockedReason":null,"createdAt":"2026-10-17T12:42:41.143Z","updatedAt":"2026-10-17T15:13:47.621Z","paidBy":"0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9","via":"explorer.imdnotdead.fun","parentJobId":"563ad4ec-93f8-46fd-b6b0-2182f4a7509e","project":{"id":"563ad4ec-93f8-46fd-b6b0-2182f4a7509e","head":"d90b99de-ff6b-45ff-9657-f8c6c3d6aa5b","running":null,"versions":[{"jobId":"563ad4ec-93f8-46fd-b6b0-2182f4a7509e","workflowId":null,"objective":"Fix, test, independently review and DEPLOY UNLOCK (UNLK) on Ethereum mainnet in ONE launch job. onchain=univ4_hook, chainId=1, pairWith=imd, poolBps=8700. This is a launch.open request, not job.continue or code-only. Mainnet deployment is authorized after required checks pass. No website work.\n\nSOURCE — IMPORT THE EXISTING PROJECT:\nrepoUrl: https://github.com/identity-md-launches/launch-2064-unlock-symbol-unlk-review-adapt-and-depl\nbaseCommit: b957a835f1cca9eef51a121851e2026fc17ff435\nPrevious job: ee48c6c5-0118-4efc-94cd-07d5d2dce2b7\nParked launch: fa2ea5af-d273-413a-9649-393518faeb6a (#2064).\n\nBind repoUrl/baseCommit in the actual structured request using supported repository import. Preserve history and reconcile newer accepted work. Do not rebuild from scratch, restore an older candidate or substitute the old Sepolia contracts.\n\nFIRST FIX THE CONCRETE ADMISSION FAILURE:\nprotected_invariants / invariants-1088d95c9ece:\ntest_initializesFromTheLaunchFactory()\n\"The hook refused PoolManager.initialize from the launch factory on the launch's pool.\"\n\nInspect UnlkImdHook.beforeInitialize, resolved constructor arguments and the actual protected test. beforeInitialize calls _verifyServices(), which requires mainnet chain/address/code-hash identities and external service getters. Determine whether those checks reject the admission environment. Also check paired currency, sorting, fee, tick spacing and callback sender. Record the underlying revert; do not treat the generic error as a proven root cause.\n\nImplement the smallest correct fix. Keep PoolManager-only callbacks, constructor-bound factory authentication, exact sorted UNLK/IMD PoolKey, fee12500, tickSpacing60, matching hook permission flags and one-time binding.\n\nIf environment-dependent service attestation runs too early, relocate it to an authenticated setup/activation boundary with full enforcement before trading. Review initialization, seed liquidity and every setup entry point together. Never merely remove security checks or add test-address, chain-ID or missing-code bypasses. Never modify protected checks.\n\nUnconfigured swaps, credit synchronization and milestones must remain disabled. Ordinary transfers and eligible native claims remain available independently of activation.\n\nPRESERVE THE ACCEPTED DESIGN:\nUNLOCK/UNLK, 1 billion tokens, 18 decimals, minted once to the factory; final allocation10% swarm/87% official pool/3% payer, accounting for documented seed rounding.\nPayer, setup authority and treasury beneficiary:\n0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9\nVerify these identities against actual launch records.\n\nPreserve the official1.25% pool fee and its1% payer/0.25% IMD distribution, plus the fixed0.75% treasury fee collected in IMD. Retain reviewed executed-amount fee accounting and disclose effective totals. Treasury funds are intended for IMD NFT purchases; no automatic NFT buying, listing or token burning.\n\nPreserve standard Universal Router compatibility, cumulative per-account eligible acquisitions E and sales S, and one-block buy-credit maturity. Before final unlock:\nQ=max(0,floor(matureE*p/10000)-S).\nExample:1000 acquired,200 sold at20%; reaching30% permits only100 more. Ordinary transfers create no new quota rights. Preserve verified allocation/claim credits, deduplication, independent native claims and initial liquidity principal protection.\n\nInitial20%; USD FDV gates:\n100K25%,250K30%,500K35%,1M40%,2M45%,3.5M50%,5M55%,7.5M60%,10M65%,15M70%,20M75%,25M80%,30M85%,35M90%,40M95%.\nAt50M permanently bypass quotas for EVERY holder, including transfer-only recipients.\n\nA valid observed price touch opens the highest crossed gate permanently. No confirmation delay or relocking. Use the implemented stateless ImdSpotUsdSource:\nofficial UNLK/IMD spot × verified IMD/ETH spot × validated Chainlink ETH/USD.\nNo48h warm-up, sample(), keeper or observation history. Invalid references prevent new gates only after activation; they must not halt otherwise valid trading or revoke rights.\n\nThe requester has explicitly accepted shared-executor quota pooling and manipulation of either pool, including same-transaction external-reference manipulation causing permanent early unlock. Preserve disclosures and tests. These risks are not claimed fixed; unrelated defects and mandatory platform checks are not waived. No upgrades, later pausing, rule changes, resets or exemptions.\n\nTEST AND RELEASE IN THIS SAME JOB:\nReproduce the initialization failure, demonstrate the fix and run the complete suite. Test unauthorized/wrong/repeated initialization, seed liquidity without companions, inactive trading, invalid service identities, atomic activation/sealing, standard-router buys/sells, quota boundaries, fees, claims and permanent gates.\n\nRun actual protected admission if available and a recorded-block mainnet fork rehearsal with verified factory/router contracts. Clearly distinguish local reproduction from official admission. Refresh final manifest, ABIs, artifact hashes and siz\n\nToken name: UNLOCK\nToken symbol: UNLK","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-17T09:43:16.122Z"},{"jobId":"b35cc3bc-234d-4e8a-880f-e6081c3c78a6","workflowId":null,"objective":"Build the website attached to mainnet launch2071 via THIS job's Add a website flow. Visual reference only: https://unlk.sites.imd.fun/; replace old rules/data. Link the published site to this launch/token in IMD Explorer via supported metadata; verify the link or report the blocker. Report the supported site URL. WEBSITE ONLY: no redeployment, contract changes, activation or balance migration. Source/ABIs: https://github.com/identity-md-launches/launch-2071-unlock commit40d70b7bd0853aedf84eac839a40a5f12e6ac341. Review web/src/{NextRelease.tsx,NftGallery.tsx,mainnetReader.ts,candidate.ts}: these contain partial $50M/NFT work, NOT a finished mainnet site. Replace stale preview/blocked labels with live state.\n\nIDENTITIES (chainId 1):\nUNLK: 0x99fa82b022be4575891a43b757bc770691e18fda\nHook: 0x932eba7e96b9e54efe6f8cdf98cb092164a57fcc\nIMD quote token: 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7\nNative distributor: 0xc70795e2d8dfac6131038dcba84aa2aaed1ceed1\nClaim evidence: 0x31d8c50c3c2d7c6000f1ac8cfd466404d26232ab\nOracle: 0x13cd2d5452cac5e71ca16e825e280563a874c6b6\nIMD treasury vault: 0xf2a19fba1f37f3fd41af0b7f671ccf6d07f29f50\nTreasury beneficiary/NFT custody wallet: 0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9\nPoolId: 0x860a127e8f4b069ce93e280efda34db2b3cb21e7d73f164248f38f4220ec8d32\nVerify code/bindings/factory/PoolKey: fee12500, spacing60, currencies sorted by address.\n\nLIFECYCLE: Reverify state: companions deployed, round0 certified, activation false at preparation. Publish BEFORE activation; show 'Trading not yet activated' and disable swaps until activated() becomes true. Keep read-only views/native claims available. Detect activation automatically without another release. Owner signs final activation separately; this task must not activate.\n\nTRADING: Buy with IMD, receive UNLK; sell UNLK, receive IMD. ETH is gas only. No ETH swap fields or msg.value funding. Implement UNLK/IMD swaps through the hook's pinned mainnet standard Universal Router, Quoter and supported Permit2 flow. Verify code/ABIs and enforcing PoolKey. Attribute trades to the actual execution account; default recipient to that account. Quotes do not prove quota eligibility: simulate exact calldata from the connected account. Show balances, expiry, min received, slippage, impact, fees, approvals, gas and receipts. Use bigint. Reject stale state/quotes and duplicate sends. Every write requires wallet confirmation; handle rejection, revert, timeout/replacement without automatic resends.\n\nWALLET: Read balance, eligible/mature credits, one-block pending buys, cumulative sold, remaining quota and tier from contracts. Sellable=min(balance,quota), or balance after full unlock. Transfers grant no credits. Implement native claim/proof, separate credit sync and payer sync where applicable using actual eligibility/timing/deduplication. Claims must work independently of sync. Explain shared-executor quota pooling. \n\nRULES: Initial allowance20%. USD FDV gates: 100K25%,250K30%,500K35%,1M40%,2M45%,3.5M50%,5M55%,7.5M60%,10M65%,15M70%,20M75%,25M80%,30M85%,35M90%,40M95%,50M permanent global quota bypass. Previous sales always count:1000 eligible,200 sold at20%,then30% gives100 more. Use mature-credit accounting. An ONCHAIN-observed valid touch permanently opens the highest crossed gate; no relock,48h wait or TWAP. Separate actual unlocked rights from estimated price progress.\n\nDATA: Use the deployed oracle for rule-relevant FDV (UNLK/IMD x IMD/ETH x validated ETH/USD, fixed1B supply). Distinguish FDV from circulating market cap; unavailable/stale data is not zero. Display1.25% pool fee plus0.75% IMD treasury component using actual executed-leg math, including protocol fees; effective total is not always exactly2%. Show accrued/withdrawn/claimable treasury and actual holdings without double-counting PoolManager claims. Explain collected IMD is intended for IMD NFT purchases, with no automatic purchases/returns promised. Compact NFT strip: show images/IDs currently owned by the custody wallet from the VERIFIED official IMD collection only. Verify collection; no fake holdings. Free data; disclose limits.\n\nDESIGN: English mobile/desktop site; preserve dark editorial identity, subtle lock/diamond motifs, clear typography. Prioritize swap, wallet selling rights, permanent milestone ladder, treasury/NFTs, How it works and contract links. Rebuild the milestone chart through $50M with ALL 16 gates plus initial20%, live unlocked/current/next states. Replace old Sepolia/$5M/25%/ETH copy everywhere. State mainnet uses real assets; disclose manipulation/early-unlock/shared-account risks. No fake metrics.\n\nVERIFY/DELIVER: Recorded-mainnet-fork tests: local activation, actual router buys/sells, quota rejection, fees and eligible claims. No unsigned public writes. Test inactive-to-active transition, account/network changes, approvals, RPC/feed errors, rounding and mobile layout. Distinguish mocks/fork/live evidence. Publish URL, commit, config/tests; keep rollback.","baseCommit":"40d70b7bd0853aedf84eac839a40a5f12e6ac341","state":"completed","createdAt":"2026-10-17T12:42:41.143Z"},{"jobId":"b321cc8a-0f24-4bbf-9d6c-adf05be30de4","workflowId":null,"objective":"Revise this EXISTING launch2071 website. Continue https://github.com/identity-md-launches/launch-2071-unlock at ffae6425390ebabad6dd89d83aae0c200d250e26; preserve history/newer fixes. WEBSITE ONLY: no contract redeployment/change, activation, economic change or public test transaction without explicit wallet signing. Keep mainnet configuration/transaction guards/tests.\n\nDESIGN: The old https://unlk.sites.imd.fun/ is the exact visual reference. Recover its styles/layout/components from this repo at 40d70b7bd0853aedf84eac839a40a5f12e6ac341, especially web/src/styles.css and App.tsx, for presentation; retain NEW mainnet logic. Replace the oversized hero/empty spacing with the old compact trading terminal.\n\nUse locally hosted JetBrains Mono regular/semibold throughout. Original palette: background #09090b, panels #111114, borders #27272a, text #f4f4f5, muted #a1a1aa, earned/buy #34d399, future targets #fbbf24, selection #22d3ee, sell #f472b6. Restore thin borders, ~6px corners, 14px body, 20-28px headings, tabular figures and compact spacing. No giant sans-serif hero or gradient/glass cards. Keep UNLOCK_ diamond branding.\n\nDESKTOP: Compact header with Trade/My Unlock/Milestones/Activity/Treasury/Docs and wallet control; mainnet/status strip; UNLK / IMD heading; four-cell live summary (price/FDV, confirmed allowance, next milestone, oracle status). Main content: roughly 70% interactive ladder/history left, 30% working swap right, tops aligned. Below: wallet accounting, treasury/NFTs and concise explanations. Keep keyboard/focus/contrast access; stack on mobile without page overflow.\n\nLADDER: Rebuild the original amber dashed staircase, green earned steps and cyan selection for initial20% plus ALL16 gates: $100K25%,$250K30%,$500K35%,$1M40%,$2M45%,$3.5M50%,$5M55%,$7.5M60%,$10M65%,$15M70%,$20M75%,$25M80%,$30M85%,$35M90%,$40M95%,$50M100%. Label categorical spacing. Responsive ticks/tooltips and touch/keyboard selection must expose every gate. Highlight actual onchain unlocked/current/next states separately from price estimates. Never show old $5M final target or initial25%. History uses real pool events with stated coverage; no fake data.\n\nFUNCTIONALITY: Keep launch2071, chain1, UNLK 0x99fa82b022be4575891a43b757bc770691e18fda and hook 0x932eba7e96b9e54efe6f8cdf98cb092164a57fcc. Verify all deployed bindings. Buy pays IMD/receives UNLK; sell pays UNLK/receives IMD. ETH is gas only, router msg.value=0. Preserve pinned Universal Router/Quoter/Permit2, exact approvals, fee math, quota checks, quote expiry and final pre-sign simulation. No old custom router/static buttons. Handle network/account changes, rejection/replacement, stale RPC/slow estimates without duplicate sends; explain errors.\n\nRead activation live: while inactive, explain 'Trading not yet activated' and disable swaps; missing pre-activation oracle binding is not a zero FDV or a failed deployment. Enable automatically after confirmed activation without another release. This job must not activate. Show mature eligible credits, pending one-block buy credits, cumulative sold and sellable=min(balance,quota); after full unlock use balance. Preserve independent native claim, evidence attestation, credit sync and payer sync. No transfer-created rights or reset counters.\n\nTREASURY/DOCS: Preserve 1.25% pool fee plus0.75% IMD treasury component and actual effective fee math. Show accrued/withdrawn/claimable funds without double counting. Compact scrolling NFT cards: image/ID and verified ownership in 0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9. Use verified collection/free data; honest empty/error states. Explain holdings do not prove fee-funded purchases. Add readable English How it works/Whitepaper covering fixed supply, cumulative quotas, instant onchain-observed permanent gates, pricing, fees, NFT purpose and accepted manipulation/shared-executor risks. No guaranteed returns or automated NFT purchases/burn claims.\n\nURL/HTTPS: Prefer unlock.sites.imd.fun via supported IMD naming, if available/authorized. No domain purchases or unrelated-site changes. Otherwise retain working unlk-b35c.sites.imd.fun and report clean alternatives. Verify new HTTPS before updating canonical/share/Explorer links; retain old access and redirect if supported. The .eth.limo alias failed TLS; avoid it. Check DNS/certificate chain/hostname, redirects, assets, RPC/CORS, wallet access and mobile refresh. No mixed content or certificate bypass. Report hosting-level blockers; changing a page title is not a domain rename.\n\nACCEPTANCE: Preserve/re-run unit/build/typecheck, pinned-mainnet-fork actual-router buy/sell/quota/fees/claims and browser stale-quote regressions. Compare desktop/mobile screenshots for font/palette/density/ladder fidelity. Test inactive-to-active polling locally, wallet flows and NFT failures. Distinguish local/fork/live results. Deliver commit, screenshots, test/HTTPS results and URL; keep rollback. No untested success claims.","baseCommit":"ffae6425390ebabad6dd89d83aae0c200d250e26","state":"completed","createdAt":"2026-10-17T17:02:39.182Z"},{"jobId":"aa4b6c84-a75f-491b-a714-fdf63c07fc41","workflowId":null,"objective":"Update the EXISTING UNLOCK Ethereum-mainnet site https://unlk-b35c.sites.imd.fun/. Preserve its compact terminal design, fonts, colors, swap, claims and unlock ladder. Base: https://github.com/identity-md-launches/launch-2071-unlock commit 1c9927c137c4e4a3a4f6999ce9636ec29a4b89db; reconcile newer accepted work. No generic redesign, contract redeployment or economics changes.\n\nTREASURY / NFTs\nNew treasury and NFT inventory wallet: 0xFe44fC8F6C32f681a0ce443902a0b08bB5B3C736.\nThe vault's immutable withdrawal BENEFICIARY remains 0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9. Separate these constants: do not change beneficiary validation, payer attribution or withdrawal authorization.\nUse the NEW wallet for NFT discovery, ownerOf/balanceOf checks, gallery links and treasury IMD/UNLK balances. Never substitute the founder or connected visitor. Keep official-collection filtering, pagination, safe metadata/images and loading/empty/error/stale states. Holdings alone do not prove fee-funded purchases.\nExplain: PoolManager claims -> redeem() into vault -> beneficiary withdraw() -> manual transfer to treasury. No direct vault payment to the new wallet. The owner reports redeeming existing claims and wants funds to stay in the vault. No fund movements are authorized. Read live values; never hardcode 50 IMD or zero redeemed. Separate pending claims, vault balances, withdrawals and treasury holdings; avoid double-counting. Use reviewed ABIs without falsely claiming Etherscan verification.\n\nVERIFIED IDENTITIES (Ethereum, chainId 1)\nUNLK: 0x99fa82b022be4575891a43b757bc770691e18fda\nIMD: 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7\nHook: 0x932eba7e96b9e54efe6f8cdf98cb092164a57fcc\nVault: 0xf2a19fba1f37f3fd41af0b7f671ccf6d07f29f50\nNFT collection: 0x0000ec93127baa929e58e97dd0095a2bfb38ec1d\nOfficial PoolId: 0x860a127e8f4b069ce93e280efda34db2b3cb21e7d73f164248f38f4220ec8d32\nVerify these against deployed state and retain the reviewed PoolManager/configuration.\n\nENGLISH WHITEPAPER\nAdd visible navigation and a readable /whitepaper page with version/date, source/contract links and downloadable PDF or Print/Save as PDF matching the page. Explain deployed rules in plain English: fixed 1B supply, 18 decimals, 10/87/3 allocation, UNLK/IMD, unrestricted transfers, eligible acquisitions E, mature/pending credits, cumulative sales S, payer sync and native claim/attest/sync.\nBefore full unlock quota=max(0,floor(matureE*p/10000)-S), capped by balance for sellable tokens. Transfers create no credits. Example: 1,000 mature eligible tokens, 200 sold; at 30%, only 100 additional tokens can be sold.\nLadder: initial20%; $100K25%; $250K30%; $500K35%; $1M40%; $2M45%; $3.5M50%; $5M55%; $7.5M60%; $10M65%; $15M70%; $20M75%; $25M80%; $30M85%; $35M90%; $40M95%; $50M permanent global quota bypass. Verify against deployed source. Explain actual valid price observation/gate recording; chart crossings do not themselves record unlocks. No relocking, old Sepolia rules or removed TWAP/48-hour requirements.\nExplain 1.25% pool fee plus 0.75% IMD treasury fee with actual bases/rounding, not an exact 2% combined claim. Document manual NFT custody and no promised returns. Disclose other-pool quota/treasury-fee bypass, spot-price manipulation and shared-executor accounting. Agent reviews are not a conventional independent security audit. Do not invent utility, revenue sharing or buybacks.\n\nLIVE CHART\nUpgrade existing Pool history into a visible Price chart tab beside the unlock ladder. Preserve chart/swap layout; add line/candlestick views, crosshair/tooltips, zoom, intervals and mobile touch. Use real timestamps, not equally spaced trade indices. Show last price/trade, freshness and history coverage.\nUse ONLY the official UNLK/IMD pool above, never the unrelated UNLK/ETH pool. Use free data, no paid API or browser secrets. Verify any external chart's exact pool/support; otherwise use existing RPC infrastructure, filtered Swap logs and pool state. Derive OHLC from recorded sqrtPriceX96 with correct currency order/decimals; distinguish pool price from execution averages. Show real executed volume. Refresh by block/about 12-15s with incremental caching, backoff, cancellation, deduplication and reorg handling.\nDefault price: IMD per UNLK. Historical USD requires time-aligned conversion; never reprice all historical candles using today's IMD/USD. If unavailable, keep IMD chart and valid current USD/FDV separately. No fabricated candles/volume; label no-trade gaps, partial history and failures. Only onchain hook state determines tiers.\n\nDELIVER\nTest treasury/beneficiary separation, NFT ownership, chart units/timestamps/failures/mobile and existing swap/claim regressions. No wallet transactions. Deliver source, tests and build; publish via the supported existing-site update flow, preserve URL/HTTPS and verify the live page. Distinguish local completion from actual publication and report unsupported features honestly.","baseCommit":"1c9927c137c4e4a3a4f6999ce9636ec29a4b89db","state":"completed","createdAt":"2026-10-18T07:58:48.855Z"},{"jobId":"37b27daa-27cb-4cb3-8b25-dc8ebdff2aed","workflowId":null,"objective":"Extend the EXISTING UNLOCK mainnet website with UNLOCK LABS: Audit, Radar and Markets. Implement working integrations, not mock dashboards. Continue the latest accepted site/repository state at https://github.com/identity-md-launches/launch-2071-unlock, preserving newer treasury/chart/whitepaper fixes. Keep the current site URL, terminal design, monospace typography, dark/emerald palette, swap, wallet, quotas and claims. English, responsive, accessible. Do not redeploy/change tokens, hooks, pools or economics.\n\nIDENTITIES: Ethereum chainId=1. UNLK=0x99fa82b022be4575891a43b757bc770691e18fda. IMD=0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7. Treasury/NFT inventory wallet=0xFe44fC8F6C32f681a0ce443902a0b08bB5B3C736; preserve separate immutable beneficiary authority. Verify live deployment records.\n\nARCHITECTURE: Inspect https://imdnotdead.fun/docs/ and https://api.imdnotdead.fun/openapi.json first. Implement frontend plus the minimal backend, persistent job store and bounded data indexer required. Static IPFS hosting alone cannot run server jobs. Use available authorized free hosting; otherwise deliver deployable services, exact setup steps/env names and identify the hosting/account blocker. Never claim an unhosted backend works. No paid infrastructure, subscriptions, private keys or founder-funded jobs.\n\nAUDIT: Accept a public GitHub repository, pin the imported commit, select scope and validate before payment. Submit actual IMD template:\"audit\" jobs through documented check/import/quote/payment/status APIs. Read current price from capabilities (currently 0.5 IMD); do not hardcode payment recipients or reuse expired quotes. Each customer funds their own job. Show public-code/public-report disclosure, scope, commit, itemized cost and outcome limitations before signing.\nSupport IMD directly and ETH/USDC through a verified exact-output route obtaining the required IMD in the user's wallet, followed by IMD payment. Explain separate steps, gas, slippage and quote expiry. No pooled custody or founder advance; failed conversion must not submit a job. Disable unsupported routes with a precise reason. Do not add a service markup.\nPersist order/job mapping; enforce ownership and idempotency across retries/reloads; prevent duplicate payment. Handle pending/failed/refused/expired jobs without promising unsupported refunds or guaranteed findings.\nRetrieve the accepted report.md and judge findings. Show severity, affected code, evidence/tests, recommendations, scope and source links. Produce a readable downloadable PDF with matching findings, commit, job ID and date. Distinguish incomplete work from completed review; never label AI review as a security guarantee. Sanitize repository/report content and reject unsafe URLs.\n\nRADAR: Start with Ethereum IMD ecosystem pools and a bounded watchlist of large wallets. Show actual buys/sells, current holdings, net flow and transaction links over selectable supported periods. Separate swaps from transfers and liquidity operations; do not attribute router/PoolManager balances to individual traders. Identify v4 pools by PoolId. Label coverage start, refresh time and missing history. No fabricated cost basis, profit, wallet identities or \"smart money\" claims. Use permitted free RPC/API access, cached indexing, pagination, backoff and explicit quotas.\n\nMARKETS: Discover actual IMD launches from documented API/registry data. Show token/address/chain, USD price, price change, volume, liquidity, FDV, chart and project/pool links. Market cap only with supported circulating supply. Use verified pools and DEX Screener where covered; add bounded onchain fallback for unsupported pools. Missing data is unavailable, not zero. Provide visible liquidity/age filters; liquidity is not a safety endorsement. Pin IMD as featured separately from rankings. Add IMUSD only after verifying its contract and identity; never assume a $1 peg or invent its address.\n\nACCESS: Basic market browsing is public. UNLK holders get advanced filters, watchlists, comparisons and exports without staking/transfers. For this initial version, eligibility is a positive UNLK balance; display this clearly. Use nonce/domain-bound expiring wallet login and server-side balance/session checks for protected APIs. Login needs no spending approval; audit payment is a separate explicit action. Holding UNLK does not make paid swarm jobs free.\n\nDELIVERY: Publish integrated source and updated site, preserve HTTPS/current domain and mobile layout. Document provider limits, backend deployment, data coverage and unresolved dependencies. Test wallet/network changes, expired login, zero balance, payment retries, job failures, PDF fidelity and stale/missing data. Use mocks/forks for payment tests; do not spend mainnet funds or submit paid test audits without separate user authorization. Report live-tested versus simulated paths honestly. Deliver a usable product and precise remaining setup actions, not decorative placeholders.","baseCommit":"c69ef33c084c608dea1a84b6ed050b43cd073336","state":"completed","createdAt":"2026-10-19T07:14:58.229Z"},{"jobId":"e48659f2-583b-480d-b43c-ef1e6ba64be6","workflowId":null,"objective":"Upgrade https://unlk-b35c.sites.imd.fun/ UNLOCK LABS from latest accepted source. Preserve English dark/emerald monospace design, mobile usability, swap/claims/treasury/whitepaper and URL. No deployed contract/economic changes.\n\nHOSTING SCOPE: Publish ONLY the static frontend through IMD/IPFS. Generate backend, database migrations and indexer SOURCE CODE for us to deploy and operate separately. Do not deploy external services or run persistent servers/bots. Include Docker, .env.example, health checks, persistence, setup commands and configurable API URL. Use permitted browser APIs for live data. Label snapshots; disable backend-dependent features until connected.\n\nMARKET ELIGIBILITY: List no token in tables, gainers, featured or sponsored areas unless a verified Uniswap pool has >=$20,000 current USD liquidity and a recent sell simulation succeeds for a documented representative amount/account. Unknown/stale/failed checks exclude it. Validate USD/active liquidity; no FDV substitution, raw v4 units or double counting. Identify v4 pools by PoolId. Show check time/block; simulation is account/size/time-specific, not a guarantee for every holder. Explain quota-based tokens. Excluded token URLs show the reason. Apply these rules to badges and paid placements too.\n\nMARKETS: Compact CMC-style sortable table with rank, logo, name/symbol, price, 1h/24h/7d changes, market cap, FDV, volume, liquidity and sparkline. Default verified market cap descending; unknown caps last, never silently substitute FDV. Tabs: Top gainers, Losers, Newest launches, Recently listed, Volume, Liquidity. Add search, filters and watchlists. Distinguish launch/listing dates. Show organic daily gainers in a horizontal ticker; no invented historical changes. Fetch IMD logos/metadata by verified chain/address; sanitize/cache images with fallback.\n\nBADGES: \"UNLOCK Pick\" badge for UNLOCK/UNLK, IMD, INFER, ZTO, free1376, OG, EMBEO and IMUSD (Ethereum 0x61aAF8a992A3143e2B0C9cB0030b9fE702854a25). Resolve other addresses from authoritative IMD launch/project records, never symbols alone. Unresolved identities remain unpublished. Badges are editorial, not security certification; eligibility still applies. Never assume IMUSD trades at $1.\n\nTOKEN DETAILS: DEXTools-inspired layout with original styling. Large real OHLCV candlestick chart, volume bars, crosshair, zoom, timeframe and USD/quote controls. Show pool selector, timestamped buys/sells with price/amount/value/wallet/tx links, holder balances/share and trader summaries with supported realized/unrealized P&L. Separate swaps/transfers/liquidity. Label/exclude pool/router/burn addresses from ordinary-holder ranks. Missing cost basis means partial/unavailable P&L, not invented profit. Paginate; disclose coverage; no fake candles.\n\nUNLK-PAID PROFILES: Let authorized project representatives submit logos, banner, description, website and socials with preview/moderation. Verify edit rights from project-owner/deployment evidence, not just wallet connection. Provide clearly labeled sponsored placements separate from organic gainers. Payment cannot buy ranks, badges or eligibility. Implement backend order quotes and onchain transfer verification binding payer, order, chain, token, recipient, amount and expiry; prevent reused transactions/duplicate fulfillment. UNLK=0x99fa82b022be4575891a43b757bc770691e18fda. Recipient treasury=0xFe44fC8F6C32f681a0ce443902a0b08bB5B3C736. Owner-authenticated price/duration/refund configuration; no invented tariff. Disable checkout until configured and backend connected. Recheck eligibility before payment. No private keys, unlimited approvals or new contracts.\n\nRADAR: Separate IMD token whales, identity.md NFT whales and publicly attributed Ethereum wallets. Show balances, flows, NFT holdings and evidenced purchases/sales, distinguishing transfers. Add Vitalik, CZ and Asem only with reliable public attribution links; never guess addresses or confuse exchange custody with personal wallets. Detect watched wallets buying/selling the same asset within configurable windows; show amounts/timeline/transactions. Label coincident flows, not proven coordination. Deduplicate routing/internal transfers. Include watchlists, filters, coverage and refresh times.\n\nAUDIT: Guided steps: repository -> commit -> select existing files from a tree -> public scope/cost confirmation -> payment -> progress -> HTML/PDF report. Use file selection, examples and actionable errors. Preserve documented IMD audit integration, customer-funded IMD/ETH/USDC flow, nonce-bound login, session security and idempotency. Disable unsupported payment routes. No paid test jobs or mainnet spending.\n\nDELIVER: Updated static site and complete source, local service setup and connection guide. External hosting/operation is ours. Test eligibility, charts, P&L gaps, identities, unauthorized edits, duplicate payments and audit recovery. Distinguish live data, snapshots and mocks; list features awaiting our backend.","baseCommit":"bf3b76251ac03dd93204a16f5a9807cab97287fe","state":"completed","createdAt":"2026-10-19T08:38:29.448Z"},{"jobId":"a08c3dd7-84b4-42a5-b6f2-e4520d5d46bc","workflowId":null,"objective":"Repair UNLOCK LABS: empty Markets and incomplete NFT/wallet Radar. Continue https://github.com/identity-md-launches/launch-2071-unlock at cd95d08507d635239da996518ed0a7df4dc78338; reconcile newer accepted work. Preserve design, URL, swap/claims/treasury/whitepaper, contracts and economics.\n\nSCOPE: IMD publishes STATIC frontend only. Repair and deliver backend/indexer code plus reproducible operator setup; external hosting is ours. No external deployment, paid services/jobs or mainnet writes. Do not mislabel code completion as live operation. apiBase is empty: production needs our HTTPS API. Never present snapshots as live.\n\n1 DATA PIPELINE: Reproduce empty Markets against a fresh database with the supplied defaults. Add a bootstrap/doctor CLI that checks chain, archive calls, log ranges, provider quotas, identity resolution, liquidity reconstruction, simulations and history progress. Output failures/actions per asset. Supply evidenced production seed identities/config, not empty templates. Discover registry pages incrementally with persistent cursors; remove the permanent 12-token truncation that discards extraLaunchIds. Separate catalog size from bounded per-cycle work; resume fairly across restarts. Separate market, history and NFT work queues/budgets so one failure cannot starve all others. Implement retries/RPC fallback with provider/block provenance. No invented endpoints or quota bypass.\n\n2 LISTINGS: Preserve >=$20,000 verified current Uniswap liquidity and a valid representative sell test for every listed/featured/sponsored token. Automatically select candidate accounts from evidenced successful swaps, check balances/allowances and hook-specific selling rights, and recompute amount/minimum output at the checked block. Use read-only simulation; no approvals, writes or arbitrary state overrides. Distinguish account-specific missing allowance/quota from token-wide unsellability; try other eligible candidates without relaxing policy. Classify exclusions: liquidity, unsupported pool, pricing, provider, indexing or seller. Unknown tokens stay excluded. A zero-result page must show aggregate reasons and recovery progress, not a silent empty table. Unsupported pools are not zero liquidity.\n\n3 METRICS/IDENTITIES: marketCap is currently always null. Implement a sourced circulating-supply path with provenance, or clearly labeled provider-reported cap; unknown stays unknown, never use FDV as cap. Test sorting on real supported values. Resolve INFER, ZTO, free1376, OG, EMBEO using authoritative IMD chain/address records; investigate ambiguity rather than leaving a constant unresolved array. Preserve UNLK/IMD and supplied IMUSD identity 0x61aAF8a992A3143e2B0C9cB0030b9fE702854a25. Editorial badges never bypass listing rules. Verify actual IMD logo formats and securely support/cache them; the current PNG-only path must not silently discard normal logos.\n\n4 RADAR: Replace the recent-32-NFT-ID sample with persistent paginated ownership reconstruction for identity.md collection 0x0000ec93127baa929e58e97dd0095a2bfb38ec1d. Start from evidenced deployment or a validated holder checkpoint; apply transfers/reorgs, verify ownerOf/balances and sort holders by holdings. Show actual indexed/total coverage and progress; do not call partial results a global ranking. Independently index IMD whale balances/flows. Research public wallet attribution sources; include evidenced addresses, never guess Vitalik/CZ/Asem identities. Label custody correctly. Maintain incremental swap attribution and coincident-flow evidence. Configure verified NFT marketplace decoding where supported; transfers are not sales.\n\n5 USABLE DETAILS: Preserve CMC-style sorting/gainers/new listings and DEXTools-style charts, swaps, holders and trader tabs. Connect each to actual indexed records. Preserve fixed attribution/P&L regressions; incomplete cost basis cannot become full profit. Candles need real trades/time-aligned prices. Test deep links, pagination, refresh, recovery and mobile.\n\n6 PROFILES/AUDIT: owner()-only authorization excludes immutable IMD tokens including UNLK. Implement an explicit reviewed authority policy using verified launch/registry identity plus wallet proof for those token implementations. An owner() timeout/revert must NEVER automatically authorize the requester. Preserve order-bound UNLK payments and disabled checkout until tariff/backend configuration. Make audit a file-selection wizard with clear steps and errors; verify report/PDF equivalence and simulated payment recovery without paid jobs.\n\nACCEPTANCE: Run existing tests plus new reproduction tests, then connect the REAL backend to the production frontend locally and exercise it with read-only mainnet data. Report admitted/excluded tokens/reasons, charts, NFT coverage and wallet flows. Mocks alone are insufficient. Deliver commands, evidence, screenshots, commit, setup guide and code/data/provider/hosting blockers. Hosting RPC quota errors are platform issues; preserve artifacts.","baseCommit":"cd95d08507d635239da996518ed0a7df4dc78338","state":"completed","createdAt":"2026-10-19T11:50:07.636Z"},{"jobId":"d90b99de-ff6b-45ff-9657-f8c6c3d6aa5b","workflowId":null,"objective":"Update the EXISTING site https://unlk-b35c.sites.imd.fun/ using the latest accepted source in https://github.com/identity-md-launches/launch-2071-unlock. This job has ONLY two goals: remove UNLOCK LABS from the public site and replace the main UNLK price chart with a working DEXTools-style trading chart. Preserve current URL/HTTPS, dark emerald monospace identity, mobile usability and existing mainnet functionality. No token/contract deployment, economic changes or wallet transactions.\n\nREMOVE LABS: Remove Labs navigation, Markets/Radar/Audit/profile-promotion screens, entry points, badges and Labs-specific login/payment controls from the published frontend. Remove its runtime imports, config/snapshot fetches, polling and related error notices. Visiting an old #labs-* link must safely return to Trade, without a broken/blank page. Archive Labs source/documentation in the repository for possible later work; do not delete any stored orders, payment records or reports. Do not remove the ordinary trading wallet connection. Preserve Trade, My Unlock, milestone ladder, Activity, Treasury/NFT gallery, Docs and whitepaper.\n\nCHART IDENTITY: Ethereum chainId=1; UNLK=0x99fa82b022be4575891a43b757bc770691e18fda; IMD=0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7. Official v4 PoolId=0x860a127e8f4b069ce93e280efda34db2b3cb21e7d73f164248f38f4220ec8d32. Chart ONLY this official UNLK/IMD pool, never an unrelated UNLK/ETH pool or merged token-wide price. A v4 PoolManager address is not the PoolId.\n\nREPLACE THE PRICE CHART: Deliver the familiar DEXTools trading-chart experience: sharp green/red candlesticks, aligned volume bars, readable time/price axes, crosshair with timestamp/OHLCV, drag-to-pan, wheel/pinch zoom, reset/fit and fullscreen. Add 1m/5m/15m/1h/4h/1D intervals, candle/line toggle and price in USD or IMD. Show last price, source, latest update and available history. Use an established maintained chart library with required attribution, or an official embeddable chart ONLY after proving exact-pool support and working access. Do not imitate candles with a decorative SVG, screenshot or static mockup. No copied DEXTools branding.\n\nLAYOUT: Keep the compact terminal, with a large chart on the left and existing swap on the right. Chart area approximately 450px high on desktop, readable on mobile; no clipped axes or horizontal page overflow. Keep Price chart and Unlock ladder as separate tabs. The ladder still shows all existing gates through $50M; it is not replaced by the price chart.\n\nREAL DATA: Choose and verify a permitted free browser-accessible source for this exact pool before integration. Prefer usable historical OHLCV plus incremental refresh. If unavailable, use bounded official-pool Swap log indexing in the browser, persistent caching, resumable pagination and RPC fallback. Static IPFS must not depend on the disconnected Labs backend or an unprovided server. No paid APIs, exposed credentials or invented endpoints. Derive OHLC consistently from actual pool prices with correct currency order and decimals; use genuine timestamps and executed volume. Historical USD conversion must be time-aligned; never multiply all past IMD prices by today's exchange rate. Where historical USD is unsupported, offer the working IMD chart with a clear explanation. Do not fabricate history or interpolate missing trading activity. Show partial-history coverage and actionable provider errors. Keep the page responsive during loading; refresh incrementally, deduplicate/reconcile logs and cancel obsolete requests.\n\nPRESERVE: Existing Universal Router/Permit2 swap, quotes, slippage controls, approvals, quota checks, claims, treasury accounting, NEW treasury NFT wallet and whitepaper. Chart prices are informational; only actual contract state determines unlocked selling rights. No changes to fees or unlock rules.\n\nACCEPTANCE: Test the actual production build with read-only live mainnet data in Chromium desktop/mobile. Show real candles and volumes for the exact PoolId; verify sample candles against source trades. Test interval/currency changes after panning, fullscreen/reset, empty history, RPC failure/retry and page reload. Confirm wallet/swap UI and ladder remain intact and all Labs links/network requests are gone. Run relevant existing tests/typecheck/build. Deliver updated static site, commit, before/after screenshots, data-source/history limitations and evidence distinguishing live checks from mocks. Do not claim completion from fixture screenshots alone.","baseCommit":"090436c1b4881eb1f980c826a2fe0127ea30d696","state":"completed","createdAt":"2026-10-20T06:09:17.482Z"}]},"deliver":true,"host":true,"site":{"id":"e6f88391-9515-47e2-93fa-2bf03a94bb61","jobId":"b35cc3bc-234d-4e8a-880f-e6081c3c78a6","kind":"launch","tokenId":null,"agentId":null,"url":"https://unlk-b35c.site.identitymd.eth.limo","status":"named","holdReason":null,"takenDownAt":null,"takenDownReason":null,"label":null,"cid":"bafybeib4cpjndxi4ipjrb3f5wdtanbv6jgo5yr3x4olm6hl7ocpd5dlxuu","bytes":1357469,"ensName":"unlk-b35c.site.identitymd.eth","ensParent":null,"txHash":"0x2c2ca3a0cba00508109bb43ca2dd9f0dceb8cbb49160fd1d80a894ce82931c04","blockNumber":26213113,"attempts":0,"failure":null,"pinnedAt":"2026-10-17T15:14:04.153Z","namedAt":"2026-10-17T15:16:50.524Z","supersededBy":"1fc4c2f6-80b7-4433-b033-0f60a307d55d","supersededAt":"2026-10-17T17:52:26.337Z","previewHash":null,"createdAt":"2026-10-17T15:13:47.621Z","updatedAt":"2026-10-17T17:52:26.337Z"},"launch":{"requested":false,"kind":null,"id":null,"status":null,"chainId":null},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-2071-unlock","pullRequestUrl":"https://github.com/identity-md-launches/launch-2071-unlock/pull/2","commit":"ffae6425390ebabad6dd89d83aae0c200d250e26","deliveredAt":"2026-10-17T15:14:19.303Z","media":null},"media":null,"nodes":[{"key":"build_website","role":"implement","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-17T15:07:04.105Z","verdict":{"status":"accepted","profile":"none","evaluation":"structural","rejectionCode":null,"detail":"paths and tree verified; no suite was run for this kind of work","verifierVersion":"0.1.0+c3fba9eb","verifiedTreeHash":"a34f9ce7c4f47daf6959fe02c9963a032ea07fb9","at":"2026-10-17T15:07:04.117Z","failedChecks":[]},"seat":{"tokenId":"1039","agentId":"51133"},"live":null},{"key":"design_critic","role":"review","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":0,"dependsOn":["build_website"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-17T15:13:47.621Z","verdict":null,"seat":{"tokenId":"1784","agentId":"51246"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0xb3c97b334b3ea913d355c38addf3a53fba4cc38dc50dde9cffbbc8ca53cda218","blockNumber":26258118,"sentAt":"2026-10-23T21:48:39.218Z","entries":[]},{"status":"sent","chainId":1,"txHash":"0xe53f94d68033da8ffe57cf5780e2524375eeadc2f9738f9419cb1b5f27ef5147","blockNumber":26213099,"sentAt":"2026-10-17T15:14:15.030Z","entries":[{"nodeKey":"build_website","agentId":"51133","value":1,"role":"verification:structural"},{"nodeKey":"build_website","agentId":"51210","value":1,"role":"verification:structural"},{"nodeKey":"design_critic","agentId":"51006","value":1,"role":"review:submission"},{"nodeKey":"design_critic","agentId":"51246","value":1,"role":"review:submission"}]}]}