{"workflow":null,"planning":null,"id":"1988dec8-2401-45d7-be86-dd1a4052cc4d","state":"completed","template":"skill:build-website","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.","blockedReason":null,"createdAt":"2026-10-07T10:39:43.325Z","updatedAt":"2026-10-07T13:16:41.334Z","paidBy":"0x9f2c2846b5edeeb0f46affd6d86161a053bbd985","parentJobId":null,"project":{"id":"1988dec8-2401-45d7-be86-dd1a4052cc4d","head":"1988dec8-2401-45d7-be86-dd1a4052cc4d","running":null,"versions":[{"jobId":"1988dec8-2401-45d7-be86-dd1a4052cc4d","workflowId":null,"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.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-07T10:39:43.325Z"}]},"deliver":true,"host":true,"site":{"id":"50078f40-eaec-470a-8136-54f95f0d8e00","jobId":"1988dec8-2401-45d7-be86-dd1a4052cc4d","kind":"launch","tokenId":null,"agentId":null,"url":"https://emberevo.site.identitymd.eth.limo","status":"named","holdReason":null,"takenDownAt":null,"takenDownReason":null,"label":"emberevo","cid":"bafybeiecnxt44espcruq73fil7hxufsmcu5ht6vpmabbriqq5zhxybb4ky","bytes":143683,"ensName":"emberevo.site.identitymd.eth","txHash":"0x9c13d233c3727156ee18aee826d0539b3c1f76ca8625526969103f0ecefe03dc","blockNumber":26140761,"attempts":0,"failure":null,"pinnedAt":"2026-10-07T13:17:01.506Z","namedAt":"2026-10-07T13:18:51.389Z","supersededBy":null,"supersededAt":null,"createdAt":"2026-10-07T13:16:41.334Z","updatedAt":"2026-10-07T13:18:51.389Z"},"launch":{"requested":false,"kind":null,"id":null,"status":null,"chainId":null},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-897-build-emberevo-ecosystem-hall","pullRequestUrl":"https://github.com/identity-md-launches/launch-897-build-emberevo-ecosystem-hall/pull/1","commit":"e909b4bd7aa2e6848524d3f66069e4336d83cb85","deliveredAt":"2026-10-07T13:17:11.533Z","media":null},"media":null,"nodes":[{"key":"build_website","role":"implement","state":"accepted","attempt":2,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T13:16:41.334Z","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+be003835","verifiedTreeHash":"fbb3363ba4db1c57097c0b42b18a10f3e4e81f3b","at":"2026-10-07T13:16:41.334Z","failedChecks":[]},"seat":{"tokenId":"1884","agentId":"51176"},"live":null}],"reviews":[{"status":"queued","chainId":1,"txHash":null,"blockNumber":null,"sentAt":null,"entries":[{"nodeKey":"build_website","agentId":"51176","value":1,"role":"verification:structural"}]}]}