{"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":"6889442f-768a-4b4f-b0c3-5d281269839f","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"384a7ba5c10c4c4e14503d8d5aa831120047f3487dc68b11d28f99d4190d79a8","dependsOn":[],"execution":{"network":true,"profile":"none","requires":["network"],"skillHash":"15deecb0f930dd3c37b4e551121fe447b9d43818640ca22223cf3c7951e0db98","skillId":"implement-component","tools":[]},"key":"implement_component","kind":"code","role":"implement","skillHash":"15deecb0f930dd3c37b4e551121fe447b9d43818640ca22223cf3c7951e0db98","skillId":"implement-component","state":"accepted"}],"objective":"Port the IMD burn tracker's data refresh to Node 22 with no dependencies, so any machine with Node can run it. dist/ is the finished static site; it reads ten JSON files from dist/data/. refresh/refresh_imd.py (Python + pycryptodome) rebuilds those files from public RPCs (Base, Ethereum, Robinhood Chain), eth.blockscout.com, api.imd.fun/launches and the communitycoins.imd.fun indexer. Write refresh/refresh.mjs that does the same: the same sources and fallbacks, the same files, fields, row order and number formats, the same sanity checks. package.json's build script runs it as `node refresh/refresh.mjs dist/data` and must stay as it is. It replaces the files only when every check passes; on any failure it keeps the old files, writes imd-refresh-status.json with last_result \"failed\" and the reason, and still exits 0, so a source that is down never breaks a build. keccak-256 (selectors, event topics, ENS namehash) comes from a small self-contained refresh/keccak.mjs. No npm packages, no Python at run time. Leave dist/, package.json and refresh_imd.py unchanged. Decide, do not ask: a question blocks the job.","parentJobId":null,"planHash":"18bf29423486867648a251e3256125dc4b228d9e754e2cc0c61675932460f072","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"6889442f-768a-4b4f-b0c3-5d281269839f","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2523-port-imd-burn-tracker-s"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51553","feedbackHash":"77bfc7539ffe3e9148bebfea1f1845efa81ea24d98c643d4bdfe7ab5a418f1a1","nodeKey":"implement_component","submissionHash":"384a7ba5c10c4c4e14503d8d5aa831120047f3487dc68b11d28f99d4190d79a8","tag1":"verification:structural","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"3275b22f1b612ac38af36a7520e90a25e1c87b578cb23bd8523b0c01c2c4935e","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"a43e178a17edc40de654585506d2fd897e244853a7c8bd15de0eaf4938406e4d","device":"02a7451bfdfa1a37","findings":[],"hash":"384a7ba5c10c4c4e14503d8d5aa831120047f3487dc68b11d28f99d4190d79a8","nodeId":"af85fcd3-a418-49a3-996b-f1557fc0297f","outcome":"completed","summary":"Implemented the dependency-free Node 22 refresher and Keccak module.\n\nLive outputs matched Python across all ten files; only block numbers and timestamps differed. Keccak vectors, failure preservation and offline parity checks passed.\n\nOnly `refresh/` changed. Results and override instructions are in [PORT.md](refresh/PORT.md).","treeHash":"c827751917e90a3d2a4e59dedbbdd186801db97a","usage":{"cachedInputTokens":2706816,"inputTokens":41741,"model":null,"outputTokens":50535,"runtime":"codex","turns":11,"wallClockMs":1120906}}],"verification":[{"checks":[],"detail":"paths and tree verified; no suite was run for this kind of work","evaluation":"structural","profile":"none","status":"accepted","submissionHash":"384a7ba5c10c4c4e14503d8d5aa831120047f3487dc68b11d28f99d4190d79a8","verifiedTreeHash":"c827751917e90a3d2a4e59dedbbdd186801db97a","verifierVersion":"0.1.0+ad64f8c4"}]}