{"workflow":null,"planning":null,"id":"53f5fb2b-2480-46a1-9540-1601d2d0b68a","state":"completed","template":"shape:chain","objective":"Three steps on the deployed Sworn registry (this repository; symbol SWORN): build its static public site, check it, then rewrite the README. FORM: an instrument panel set in monospace, a block explorer for one registry: dense tables, thin rules, numbered steps; not a dashboard, not a marketing site. DESIGN, owner-approved. LAYOUT: max width 1200 px (claim guide and about 1040 px), 32 px side padding, 16 px on phones; sections split by 1px rules; section labels 11px uppercase, tracked 0.12em; body 13px, line-height 1.55; page titles 24px weight 500, the landing headline 34px. Header: the 32px logo, SWORN 15px weight 600 tracked 0.22em in the accent, the menu 12px muted, the active item dark text on the accent, a 1px accent rule below. Tables full width, 12px, head row 10px tracked uppercase muted, 1px #151515 row rules, sideways scroll on phones. Claim guide steps: faint 01 to 04 in a 48px column, each with its own picker, cost and button. Every number has its source in 10 to 11px muted next to it. Buttons square, 44px+, accent fill with dark text, or a 1px accent outline for a second action. The claim guide's card mint is one block in a 1px accent border: the card at about 300px on the left, the text and the mint button on the right. LOGO: the Renderer's own image, Renderer.tokenURI(Card) by eth_call for a full-house card (top 101, 202, 303, 404, 503, 601, 701, 801, 901, 1001, 1101, 1201, 1301; communityCount 8192) with its token-number text removed, committed as SVG; the landing's sample card is the Renderer preview of a synthetic wallet holding 101, 202, 302, 402, 502, 701, 1105, 1301. Decide, do not ask: a question blocks the whole job. Add no component the mockup lacks: no hero image, gradient, glow, shadow, rounded corner (radius 0), pill button, card wall, icon set, emoji, particles, animation, web font or marketing line; tables stay tables. THE BRIEF OVERRIDES THE HOUSE BAR: the owner approved, and build and review keep, monospace for all text including prose, the tracked uppercase labels (0.08 to 0.22em) above sections, the type sizes above, the eight-word headline and the whole landing copy, and the em dashes inside the quoted source comment; do not change them to pass the probe's tracking, eyebrow, type-face, type-size, glyph, headline or prose checks. Look: background #0a0a0a, text #d9e0da, muted #8c968e, faint #5f6861, 1px rules #1f1f1f and #151515; one accent #00ff41 for links, primary buttons, the active menu item and the header rule; the card's greens only as evidence-class markers (direct #00cc33, chain-proven #00ff41, shared #dbfee6, panel #8ff0a4), a white dot for rare ids; the system monospace stack (ui-monospace, SFMono-Regular, Menlo, Consolas). Menu: Catalog, Explorer, Claim, Fact vs artifact, Integrate, WhitelistCurator, About. NAMES: Sworn, SWORN, the 13 family names of CATALOG.md section 7, no working name; the menu item and page title say WhitelistCurator, text that names the contract says WhitelistCurator.sol; Identity.md with a capital I; panel members are IMD agents. USE EXACTLY: headline 'Facts about wallets, onchain and sworn by the swarm.'; landing copy 'Sworn is an ownerless registry on Ethereum mainnet. It records verifiable facts about wallets, starting with 25 built on the 19,522 wallets in WhitelistCurator.sol: some read live from the chain, the rest proven by panels of IMD agents and signed. A card shows a wallet's facts; any contract can check them. Everyone can add facts.'; claim guide 'Mint your card now. It updates itself.' and 'A community trait costs 6.9 IMD: 0.5 for your first claim and 6.4 IMD paid forward into the pool by registerSpec().' Keyless and static: no server, API key, analytics or call to api.imdnotdead.fun from the browser; every script and asset bundled, no CDN (the host allows same-origin scripts only); chain state through user-switchable public RPCs (default rpc.mevblocker.io, ethereum-rpc.publicnode.com, 1.rpc.thirdweb.com); attestations as links (https://api.imdnotdead.fun/oracle/requests/<uuid>/attestation, uuid = the first 16 bytes of oracleRequestId). Addresses: Registry, Composer and Renderer from the launch (.imd/reads/project.md); WhitelistCurator.sol 0xcB0b0531e86A9aC36Fa865cA8e3dbccF047FDA91, IDMD 0x0000eC93127BAA929E58E97dd0095A2BFb38ec1D, IMD 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7, Intake v2 0xa43e6f75ee006411f79ac1c84120606c2330de82, attester 0x5598aa9146215bc13eb26f2c692ad1461fd32982, BurnExecutor V2 0xe29386719C155B6847aD5a4E97C6674f10ffc750; the builder commits site/addresses.json, reads curator(), imd() and intake() from the Registry and shows a red banner on a mismatch. No private wallet: examples are synthetic 0x...c1a1 addresses or the three public contributors the fork tests name.","blockedReason":null,"createdAt":"2026-10-18T06:44:04.621Z","updatedAt":"2026-10-18T21:24:21.768Z","paidBy":"0xe5b1275fb926613d983da33fbfe1f331b7f64f2a","via":"api.imdnotdead.fun","parentJobId":"c3792acf-e0c4-4268-9eea-c533b7c87935","project":{"id":"c3792acf-e0c4-4268-9eea-c533b7c87935","head":"b209ece6-0040-40a1-beea-65ed031218e7","running":null,"versions":[{"jobId":"c3792acf-e0c4-4268-9eea-c533b7c87935","workflowId":null,"objective":"Launch the Sworn registry (symbol SWORN) from this repository on Ethereum mainnet, deployed in this order and with no other contracts: Renderer (no constructor arguments), Composer (no constructor arguments), then Registry with constructor arguments curator 0xcb0b0531e86a9ac36fa865ca8e3dbccf047fda91 (WhitelistCurator), idmd 0x0000ec93127baa929e58e97dd0095a2bfb38ec1d (IdentityMD), imd 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7 (IMD), intake 0xa43e6f75ee006411f79ac1c84120606c2330de82 (Intake v2), attester 0x5598aa9146215bc13eb26f2c692ad1461fd32982 (the IMD oracle signer), renderer $contract:Renderer, composer $contract:Composer, burnExecutor 0xe29386719C155B6847aD5a4E97C6674f10ffc750 (IMD BurnExecutor V2; see the burn rule below). The three contracts have no owner roles. DECIDE, DO NOT ASK: a needs_input blocks the whole job and costs the payer; where this text is silent or conflicts with a required check, choose what leaves src/ and the build settings unchanged, and report it. DESIGN DECISIONS, not defects (each is documented in the repository unless noted, and must not be adapted): The Registry is ownerless and has no setters, pause or upgrade; the Intake, IMD token, action id and ECDSA attester are fixed. Its constructor always rejects a zero curator, idmd, imd, intake, attester, renderer or composer (a zero burnExecutor disables the burn rule) and skips its dependency checks only when all four of Curator, IDMD, IMD and Intake have no code, the pipeline's empty-chain floor. Otherwise it checks IDMD code, Curator settlement, a nonzero Intake price for IMD and code at a nonzero executor. These checks do not authenticate identities (attester, renderer and composer are checked only for nonzero), so the manifest must use the exact addresses above. Personal requests permit only their stored claimant to abandon after 14 days; shared facts permit anyone to abandon after that deadline. Every oracle question concerns Ethereum mainnet (attestation chainId 1), while the body's consumer.chainId and the EIP-712 signing domain use the deployment chain. Attester rotation, changed protocol formats or dependency retirement can require a successor deployment. Sponsored requests still spend the current Intake price after an attester rotation, even when the answers cannot verify; no administrator can recover sponsor-pool IMD. The sponsor pool funds eligible members' own catalog chain requests, including the ordinals: 1101 to 1104 are each true for one wallet only (FirstDeposit index 1, 1000, 10000, 19522) and 1105 for the first thousand, so most members miss them. Each accepted sponsored request spends its price and its daily and lifetime allowance regardless of the answer; a miss refunds neither. Burn rule, live on mainnet: after the Intake request, claimSponsored and upgradeSponsored call the executor's previewBridge() with at most 600,000 gas. If it returns at least 69 IMD and a fee of at most 0.005 ETH, msg.value must be at least that fee, or BurnFeeRequired reverts the whole claim, including the Intake request, its IMD payment and the allowance updates. With enough ETH the registry forwards all of msg.value to bridgeToBaseBurnReceiver and the executor refunds its surplus to the claimant. On 2026-10-16 the preview was 454.94 IMD for 0.000219 ETH at block 26,202,203 (the block the docs pin) and 455.40 IMD for 0.000206 ETH at 26,206,244, so callers must read a current quote; Sepolia's V1 executor reverts its preview, so no Sepolia run reaches this branch. The rule is best effort: a reverting preview (BurnSkipped code 1) or bridge (code 2), an amount below 69 IMD (no event) or a fee above the cap (code 3) returns this call's ETH, and a refund the caller rejects reverts BurnRefundFailed. V2's preview catches a reverting or gas-starved inner quote and answers zeros (README documents this), so a low caller gas limit skips the fee and the burn without an event; accepted. The docs do not yet say a caller can cause it, and their BurnSkipped(1) for exhausted preview gas (INTEGRATION.md section 5b, README's residuals) is a known docs erratum for V2, not a code defect. The executor and its OFT (today the IMD token itself) are owner-configurable external contracts; the registry gives them only this call's ETH (no IMD approval) and never distributes a pre-existing or force-sent balance. BurnTriggered proves a source-chain bridge submission, with the registry's preview as its fields; LayerZero delivery and the Base burn are asynchronous. Composer (ported from launch 1953): catalog targets and the trait-1301 parenthesis are fixed to MAINNET_CURATOR; the two legacy address arguments (catalogSpec's second, compose's fifth) stay in the ABI unused. On chain 1, community windows use the registry's block.number, unchanged by the port; elsewhere they use mainnetHeightBound(), one block per 12-second slot after mainnet block 15,537,395 (slot 4,700,014, the second proof-of-stake block). That bound is not a mainnet-head oracle: its slack (76,427 blocks, about 10.6 days, on 2026-10-16) can admit future windows, a skewed consumer-chain timestamp moves it, and it assumes mainnet keeps 12-second slots. Those limits are accepted off mainnet. Keep all executable source (src/, lib/), constructor behavior and build settings (foundry.toml, remappings.txt) equal to the frozen candidate, this job's baseCommit; do not redesign these decisions to satisfy a protocol recommendation. Adapt nothing in src/. A disputed design decision is a non-blocking finding and never authorizes a source change: report it and leave the code. If a failed mandatory check or a blocking finding would need different executable bytes or build settings, apply nothing: report it, the change it would need and that change's effect on creation and runtime bytes, and keep it blocking; the judge does not accept over it, so the launch parks undeployed (owner decision). Acceptance is the frozen candidate unchanged: creation code with exactly the arguments above, and runtime code, byte-equal to its build. Report every change the adapt step makes.","baseCommit":"59e9bf04b359e523d5d3ba784d017dafc5ef32e1","state":"completed","createdAt":"2026-10-18T05:51:08.952Z"},{"jobId":"53f5fb2b-2480-46a1-9540-1601d2d0b68a","workflowId":null,"objective":"Three steps on the deployed Sworn registry (this repository; symbol SWORN): build its static public site, check it, then rewrite the README. FORM: an instrument panel set in monospace, a block explorer for one registry: dense tables, thin rules, numbered steps; not a dashboard, not a marketing site. DESIGN, owner-approved. LAYOUT: max width 1200 px (claim guide and about 1040 px), 32 px side padding, 16 px on phones; sections split by 1px rules; section labels 11px uppercase, tracked 0.12em; body 13px, line-height 1.55; page titles 24px weight 500, the landing headline 34px. Header: the 32px logo, SWORN 15px weight 600 tracked 0.22em in the accent, the menu 12px muted, the active item dark text on the accent, a 1px accent rule below. Tables full width, 12px, head row 10px tracked uppercase muted, 1px #151515 row rules, sideways scroll on phones. Claim guide steps: faint 01 to 04 in a 48px column, each with its own picker, cost and button. Every number has its source in 10 to 11px muted next to it. Buttons square, 44px+, accent fill with dark text, or a 1px accent outline for a second action. The claim guide's card mint is one block in a 1px accent border: the card at about 300px on the left, the text and the mint button on the right. LOGO: the Renderer's own image, Renderer.tokenURI(Card) by eth_call for a full-house card (top 101, 202, 303, 404, 503, 601, 701, 801, 901, 1001, 1101, 1201, 1301; communityCount 8192) with its token-number text removed, committed as SVG; the landing's sample card is the Renderer preview of a synthetic wallet holding 101, 202, 302, 402, 502, 701, 1105, 1301. Decide, do not ask: a question blocks the whole job. Add no component the mockup lacks: no hero image, gradient, glow, shadow, rounded corner (radius 0), pill button, card wall, icon set, emoji, particles, animation, web font or marketing line; tables stay tables. THE BRIEF OVERRIDES THE HOUSE BAR: the owner approved, and build and review keep, monospace for all text including prose, the tracked uppercase labels (0.08 to 0.22em) above sections, the type sizes above, the eight-word headline and the whole landing copy, and the em dashes inside the quoted source comment; do not change them to pass the probe's tracking, eyebrow, type-face, type-size, glyph, headline or prose checks. Look: background #0a0a0a, text #d9e0da, muted #8c968e, faint #5f6861, 1px rules #1f1f1f and #151515; one accent #00ff41 for links, primary buttons, the active menu item and the header rule; the card's greens only as evidence-class markers (direct #00cc33, chain-proven #00ff41, shared #dbfee6, panel #8ff0a4), a white dot for rare ids; the system monospace stack (ui-monospace, SFMono-Regular, Menlo, Consolas). Menu: Catalog, Explorer, Claim, Fact vs artifact, Integrate, WhitelistCurator, About. NAMES: Sworn, SWORN, the 13 family names of CATALOG.md section 7, no working name; the menu item and page title say WhitelistCurator, text that names the contract says WhitelistCurator.sol; Identity.md with a capital I; panel members are IMD agents. USE EXACTLY: headline 'Facts about wallets, onchain and sworn by the swarm.'; landing copy 'Sworn is an ownerless registry on Ethereum mainnet. It records verifiable facts about wallets, starting with 25 built on the 19,522 wallets in WhitelistCurator.sol: some read live from the chain, the rest proven by panels of IMD agents and signed. A card shows a wallet's facts; any contract can check them. Everyone can add facts.'; claim guide 'Mint your card now. It updates itself.' and 'A community trait costs 6.9 IMD: 0.5 for your first claim and 6.4 IMD paid forward into the pool by registerSpec().' Keyless and static: no server, API key, analytics or call to api.imdnotdead.fun from the browser; every script and asset bundled, no CDN (the host allows same-origin scripts only); chain state through user-switchable public RPCs (default rpc.mevblocker.io, ethereum-rpc.publicnode.com, 1.rpc.thirdweb.com); attestations as links (https://api.imdnotdead.fun/oracle/requests/<uuid>/attestation, uuid = the first 16 bytes of oracleRequestId). Addresses: Registry, Composer and Renderer from the launch (.imd/reads/project.md); WhitelistCurator.sol 0xcB0b0531e86A9aC36Fa865cA8e3dbccF047FDA91, IDMD 0x0000eC93127BAA929E58E97dd0095A2BFb38ec1D, IMD 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7, Intake v2 0xa43e6f75ee006411f79ac1c84120606c2330de82, attester 0x5598aa9146215bc13eb26f2c692ad1461fd32982, BurnExecutor V2 0xe29386719C155B6847aD5a4E97C6674f10ffc750; the builder commits site/addresses.json, reads curator(), imd() and intake() from the Registry and shows a red banner on a mismatch. No private wallet: examples are synthetic 0x...c1a1 addresses or the three public contributors the fork tests name.","baseCommit":"b86d7aea5bd2d67e38c6868148168fabf3c83b3d","state":"completed","createdAt":"2026-10-18T06:44:04.621Z"},{"jobId":"b209ece6-0040-40a1-beea-65ed031218e7","workflowId":null,"objective":"One step on this project's site, the first Sworn site (.imd/reads/project.md), served under the site name sworn. It belongs to swarm launch #2147, a test deployment; Sworn now runs on swarm launch #2404 with its site at https://swornbyswarm.sites.imd.fun/. Replace this site with a redirect page, so that every visit lands on the same page of the new site: change the site source so that its build is the redirect page, rebuild the static export and commit the new dist/, so the same site name serves it. The page is deliberately minimal and is not a redesign: one heading, one sentence and one link, in the colours and type DESIGN.md already sets, nothing else. Static: no RPC read, wallet code, analytics or request to api.imdnotdead.fun. Change nothing outside the site source and dist/: README.md, DESIGN.md and artifacts/ stay as they are. Decide, do not ask: a question blocks the job. (1) The page title stays exactly 'Sworn | Wallet facts on Ethereum'. (2) A visit with JavaScript goes at once, without adding a history entry, to https://swornbyswarm.sites.imd.fun/ followed by the visit's own hash, so #/claim, #/catalog, #/about, #/whitelistcurator, #/fact-vs-artifact and every other route keep their hash (the new site opens #/claim as its Mint page); a visit without JavaScript goes to https://swornbyswarm.sites.imd.fun/ after one second by a meta refresh; the head carries a canonical link to https://swornbyswarm.sites.imd.fun/. (3) The visible text, word for word: the heading 'Sworn has moved', the sentence 'This page served the test deployment of Sworn (swarm launch #2147). Sworn now lives at swornbyswarm.sites.imd.fun.' and the link 'Open Sworn' to https://swornbyswarm.sites.imd.fun/ with the visit's hash added. (4) dist/ holds index.html and at most a favicon and one same-origin script or stylesheet; the old app's assets/, data/ and examples/ are removed from dist/, because they describe the retired test registry.","baseCommit":"b86d7aea5bd2d67e38c6868148168fabf3c83b3d","state":"completed","createdAt":"2026-10-23T16:18:54.560Z"}]},"deliver":false,"host":true,"site":{"id":"a6badfcc-3821-4779-bce5-3f8453f96769","jobId":"53f5fb2b-2480-46a1-9540-1601d2d0b68a","kind":"launch","tokenId":null,"agentId":null,"url":"https://sworn.site.identitymd.eth.limo","status":"named","holdReason":null,"takenDownAt":null,"takenDownReason":null,"label":null,"cid":"bafybeicmvtlu7yd2euh6tuvhaxxynbj4wxyqeuc5flf6k2npwhugvj7ogm","bytes":680066,"ensName":"sworn.site.identitymd.eth","ensParent":null,"txHash":"0x73b01c0ae93eaac0e99ac357703ecac7fd26ba5efb0ca2d537b9165a9d1a866f","blockNumber":26222130,"attempts":0,"failure":null,"pinnedAt":"2026-10-18T21:24:29.264Z","namedAt":"2026-10-18T21:26:26.447Z","supersededBy":"fd7699d8-3726-4cac-960a-d18f3b243b54","supersededAt":"2026-10-23T16:32:42.305Z","previewHash":"087d32c8cc7c63166e9febc108fa5e3f55483011dc07c82820a83c1461326484","createdAt":"2026-10-18T21:24:21.768Z","updatedAt":"2026-10-23T16:32:42.305Z"},"launch":{"requested":false,"kind":null,"id":null,"status":null,"chainId":null},"oracleRequestId":null,"delivery":null,"media":null,"nodes":[{"key":"build_website","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-18T08:02:03.029Z","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+745c1db4","verifiedTreeHash":"37302e7171e26a5352a9940dd996c1165e227fce","at":"2026-10-18T08:02:03.034Z","failedChecks":[]},"seat":{"tokenId":"992","agentId":"52712"},"live":null},{"key":"design_critic","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_website","write_readme_and_docs"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-18T21:24:21.768Z","verdict":null,"seat":{"tokenId":"1975","agentId":"51740"},"live":null},{"key":"site_content_check","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_website"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-18T08:04:25.570Z","verdict":null,"seat":{"tokenId":"19","agentId":"51135"},"live":null},{"key":"write_readme_and_docs","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["site_content_check"],"allowedPaths":["README.md","docs/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-18T21:08:29.381Z","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+fddeb651","verifiedTreeHash":"59630d3f01585e260d4ff757399080d6b646a411","at":"2026-10-18T21:08:29.439Z","failedChecks":[]},"seat":{"tokenId":"1814","agentId":"51548"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x5d6ff5404f129046b8d7ed81638162b978172735652c4bf0a60cc2cf7d8abd5f","blockNumber":26259927,"sentAt":"2026-10-24T03:51:50.081Z","entries":[]},{"status":"sent","chainId":1,"txHash":"0x91505676091ae392e96cc948d9f1f066ab87451102dc83f8aabd19372d2ff6e1","blockNumber":26222122,"sentAt":"2026-10-18T21:25:01.880Z","entries":[{"nodeKey":"design_critic","agentId":"51740","value":1,"role":"review:submission"},{"nodeKey":"write_readme_and_docs","agentId":"51548","value":1,"role":"verification:structural"}]},{"status":"sent","chainId":1,"txHash":"0xdd92bea394a8fc42dac0838d679aa9e8a9f4c11b42cee8dc351fbbd5c3821169","blockNumber":26218187,"sentAt":"2026-10-18T08:15:51.019Z","entries":[{"nodeKey":"build_website","agentId":"52712","value":1,"role":"verification:structural"},{"nodeKey":"site_content_check","agentId":"51135","value":1,"role":"review:submission"},{"nodeKey":"write_readme_and_docs","agentId":"51725","value":1,"role":"verification:structural"}]}]}