{"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":"1988dec8-2401-45d7-be86-dd1a4052cc4d","kind":"skill:build-website","nodes":[{"acceptedSubmissionHash":"aea10ccb4f9c46547913d0910857f01363998d70f7a128164c7d0eb85983c42b","dependsOn":[],"execution":{"mustProduce":["dist/index.html"],"network":true,"optionalTools":["browser"],"profile":"none","requires":["network"],"skillHash":"6715a761ae197330be56ba3ef74f7628c405aa1d94f0e62b3dcf3715e0135cbc","skillId":"build-website","tools":[]},"key":"build_website","kind":"code","role":"implement","skillHash":"6715a761ae197330be56ba3ef74f7628c405aa1d94f0e62b3dcf3715e0135cbc","skillId":"build-website","state":"accepted"}],"objective":"Build \"EmberEVO Ecosystem Hall - Crypto Research\", a working standalone WEBSITE MVP from an empty workspace. No starter repo, parent job or mandatory attachment is required. Deliver source and a new isolated static demo. Do not modify imdember.com, emvo-review, the existing world, DNS or production accounts.\n\nSCOPE AND DELIVERY BOUNDARY\nUse one non-onchain job.open / build-website; no recurrence or paid child jobs. E1 is a frontend with demo data and a replaceable read-only data layer. E2 live research/backend and E3 monitoring remain pending. Cover crypto tokens and NFTs beyond IMD, including non-AI projects.\nAllow public GitHub source delivery and a new public demo only. Exclude private world source, 3D models, music, secrets and private data. Return actual repo, commit and preview URL; never invent them. Demo delivery is not a live research/AI service.\nPreserve future Genesis PEPE and Dream Hall integration points; no wallet, login/SSO, ownership, mint, burn, swap, staking, payments or NFT entitlements. Future context only: Paid Genesis pays EMVO to the owner-confirmed Paying Wallet, with no required burn. Do not implement it or set prices/addresses.\n\nDESIGN AND WORKING PAGES\nTraditional Chinese UI with English identifiers. Use EmberEVO branding, original dark blue-gray surfaces, warm gold, restrained teal and orange accents. Do not copy IMD Radar. Use a logo only if supplied; otherwise use a text wordmark and mark logo integration pending. Never claim to have read unavailable attachments.\nBuild usable pages, not screenshots or static mockups:\n- Overview: discoveries, available research, material changes and coverage limits. Useful empty states; no invented live counters or safety scores.\n- Board: readable large-screen dashboard plus normal reading mode, sharing repository, components and current report pointer. No WebGL, required fullscreen or autoplay audio.\n- Project: what it does, what changed and what is unconfirmed; token/NFT relationships; four cards for money source, money destination, user rights/redemption and who can change rules. Include evidence, sources, dates, limitations and commercial disclosure.\n- History: compare revisions by stable claim_id; retain parentRevision, reasons and evidence. Separate current, historical, retracted and needs-recheck. Support No material change.\n- Search/filter: loaded records by name, symbol, chain/network, contract/collection address and asset type. Disclose coverage; no global-search or paid calls.\nSupport 390/1440/1920 CSS px; mobile stacks content instead of shrinking the dashboard. Keyboard navigation, visible focus, loading/error/empty states, contrast and reduced motion. Avoid Coming soon filler.\n\nSTATIC ROUTING AND WORLD RETURN\nUse hash routes or exported static pages, e.g. /#/board and /#/project/<id>. Configurable base; demonstrate reload-safe builds at / and /research/ with correct assets/links. No assumed SSR/server rewrite on IPFS.\nReturn to World uses only https://imdember.com/. No arbitrary returnUrl or session/private query data. Character/camera restoration and world wiring remain pending Codex integration.\n\nDATA CONTRACT AND VERSION RESOLUTION\nSeparate UI, domain types, runtime validation and ResearchRepository adapters. Include schemaVersion and types for project, assetRef, claim, evidence/source, metric, reportRevision, change, commercialRelationship and status.\nStable projectId; assets identified by chain/network plus contract/mint address and collection/tokenId when relevant. Never merge by ticker. Separate claim evidence status from research quality; no default certification score.\nImmutable revisions. All current views resolve one publishedReportRef {reportId, revision, manifestHash}, not the highest revision. A manifest binds projectId, reportId, revision and reportHash; document deterministic SHA-256 encoding and reject mismatches. Demo approval is synthetic; hashes identify content, not prove approval/security.\nKeep unpublished/retracted revisions historical. Withdrawal removes the current pointer in every view; preserve withdrawal records through cache/reload tests. Never restore cached withdrawn content as current. Unchecked freshness means STALE. Simulate publishing/withdrawal in fixtures/tests only; no production publishing backend.\nReject publishable research with commercialRelationship=UNDECLARED. Distinguish inclusion, research, sponsorship, IMD relationship and self-project disclosures; self-project research is not independent certification.\nMissing values are null/UNKNOWN, not zero. Metrics need unit/currency, asset identity, as-of time and source; missing units mean unavailable. amountAtomic is a decimal integer string with validated decimals/assetRef; never convert atomic integers to JavaScript Number. No mixed-asset sums or invented rates. Separate volume/fees received, FDV/circulating cap, NFT floor/bid/sale, and discovery/retrieval/analysis/verification times.\n\nADAPTERS AND HONEST STATES\nInvented fixtures with persistent DEMO_DATA on all views: token-only, NFT-only, mixed, same-ticker/different-identity, two revisions, and missing/stale/retracted cases. Fixture namespaces; no tradable-looking addresses or fake Swarm/audit histories. Demo off means empty/NOT_CONNECTED, never silent fallback.\nActual read-only HTTP adapter tested against a local mock server. Document app-owned endpoints, schemas and pagination/coverage; not existing IMD APIs. API base is non-secret deployment config, never visitor input. No live backend/model supplied. Browser requests omit credentials.\nDistinguish missing config, empty data, 404, 429, timeout and invalid/schema-mismatched data. Finite timeouts; cancel superseded requests and ignore out-of-order results. No infinite retries, paid calls or hidden demo fallback.\nAI/new-research actions stay NOT_CONNECTED without a backend: no canned chatbot or false submissions. No subscriptions, schedules, new accounts, secrets or arbitrary visitor-URL fetches.\nNo executable raw HTML/scripts or remote embeds in research. Validate HTTPS source links and show destinations; reject javascript:, data: and file:. Untrusted research cannot trigger tools, wallet actions or config changes.\n\nDELIVERY AND ACCEPTANCE\nDeliver full source, lockfile, dev/build/test commands, static export, schemas/fixtures, HTTP contract, README, LIMITATIONS and HANDOFF. Explain adapter switching, base deployment and pending E2/E3/world integration. No production publishing or certification claims.\nTest root and /research/ reload; search/filter/empty results; ticker collisions; missing/mixed units and large atomic amounts; shared current-report pointer and manifest mismatch; revision comparison and withdrawal/cache; UNDECLARED rejection; HTTP missing config/404/429/timeout/invalid data/response ordering; safe text/URLs; demo-off isolation; fixed world-return URL; disconnected AI; responsive/keyboard behavior.\nRecord commands, versions and actual PASS/FAIL/NOT_RUN. Include screenshots at the three sizes when available; unexecuted browser checks are NOT_RUN. List live data, ongoing AI, backend publishing and world integration as pending. Completion is frontend/evidence delivery, not certified research or financial features.","parentJobId":null,"planHash":"04623e86c2a93489ef06f242668a57048b9311ed9b485a3dad1bc8f5b7444f7a","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"1988dec8-2401-45d7-be86-dd1a4052cc4d","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-897-build-emberevo-ecosystem-hall"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51176","feedbackHash":"cfa8449f27797c320a2875d5a19ea46ee17e34043a5893b45b9a6987d76ab1b1","nodeKey":"build_website","submissionHash":"aea10ccb4f9c46547913d0910857f01363998d70f7a128164c7d0eb85983c42b","tag1":"verification:structural","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"61dd82ae52299e41c7c3585999ca09b4c989e9980fb68b0085e420cc940413b4","state":"completed","submissions":[{"artifacts":[],"attempt":2,"bundleHash":"d539842c69a62994e018381fef5d203f6113951b7c54a90b6b3da2da3acaf9b5","device":"75b4fcc4e4ca5d9b","findings":[],"hash":"aea10ccb4f9c46547913d0910857f01363998d70f7a128164c7d0eb85983c42b","nodeId":"8787f9ae-f0a1-417b-b69f-3e7b7af1538d","outcome":"completed","summary":"已完成本地 E1 網站、原始碼、lockfile、靜態匯出與交接文件。\n\n- [啟動與部署說明](README.md)\n- [驗證報告](VALIDATION.md)\n- [靜態匯出](dist/index.html)\n\n建置、型別檢查、30 項測試及 26 組瀏覽器檢查通過；已保存三尺寸截圖。交付約 1.88 MB。\n\n公開 repo、commit、preview 尚未產生：環境未提供發布連線，且禁止修改 `.git/`。E2、E3 與 World 整合仍待完成。","treeHash":"fbb3363ba4db1c57097c0b42b18a10f3e4e81f3b","usage":{"cachedInputTokens":3580800,"inputTokens":147178,"model":"gpt-6-astra","outputTokens":74544,"runtime":"codex","turns":9,"wallClockMs":2488287}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"08261d0cc6850daf","findings":[],"hash":"b995d5566358b7077580a362bc8839e03b49fc8ad6d802d83d6955e1503733a4","nodeId":"8787f9ae-f0a1-417b-b69f-3e7b7af1538d","outcome":"failed","summary":"wall-clock budget exhausted","treeHash":null,"usage":{"cachedInputTokens":0,"inputTokens":0,"model":"gpt-6.1-sol","outputTokens":0,"runtime":"codex","turns":8,"wallClockMs":6900527}}],"verification":[{"checks":[],"detail":"paths and tree verified; no suite was run for this kind of work","evaluation":"structural","profile":"none","status":"accepted","submissionHash":"aea10ccb4f9c46547913d0910857f01363998d70f7a128164c7d0eb85983c42b","verifiedTreeHash":"fbb3363ba4db1c57097c0b42b18a10f3e4e81f3b","verifierVersion":"0.1.0+be003835"}]}