{"workflow":null,"planning":null,"id":"d5530989-b886-4f9d-80dd-44d26d85ffd2","state":"completed","template":"shape:chain","objective":"Build CTO Relay Station A1: complete Agent-facing public-project continuation, root Foundry contracts plus Node SDK/CLI, local tests, independent review and repairs. Local test deployments required; no public-chain deployment, frontend, live paid tests, paid child jobs, real credentials, autonomous spending, token launch, governance, ranking or treasury. Actual files, multi-assets and historical forks belong in A1.\n\nSIX FUNCTIONS: anyone creates project/root Branch with fixed public goal; proposes work; explicitly sponsors a nonzero proposal; reads files/state/history; continues; forks accepted history. Creation/proposal/fork never implicitly buys AI. No two-round limit. Proposal binds current anchor, profile, target assetKey, selected input keys, output mapping, text and publish choice. Sponsors cannot replace them. Reject stale/conflicting/invalid purchases before collecting IMD. Adding a proposal cannot change execution anchor or invalidate other current proposals; any current proposal is selectable, without FIFO.\n\nAUTHORITY: Factory registers fixed nonupgradeable Branch code, atomically initialized with immutable encoder/verifier/profiles. No operator setters, admin edits or arbitrary request/skill/payment entrypoint. Branch is IMD payer; root/child first runs use job.open@job-1, later runs job.continue@job-1 with own latest bound job. Child starts without own project/head. Never pass repoUrl/baseCommit or parent's projectId to continue.\n\nINTAKE: official intake-client protocol, not its mutable-owner tutorial. Ethereum Intake v2 0xa43e6f75ee006411f79ac1c84120606c2330de82; IMD 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7. Runtime priceOf(action,asset), sponsor maxFee, exact transfer/approval, requestWithFailure, clear leftover allowance. Authenticate fixed Intake, own outstanding request and target/selector. Small callbacks record digest/phase only; no parsing/download/binding/new work. Reentrancy/state guards required.\n\nFAILURES: if no callback arrives, remain pending indefinitely. Refused status 1 allows only explicit funded retry of identical body/snapshot/proposal with new attempt receipt; no parent/text/file substitution. Status 2 or unknown failure freezes purchases. Failed attempts are not revisions. No timeout unlock, automatic refund/retry, admin repair or HTTP settlement. Bad binding preserves recorded result/old checkpoint; anyone can resubmit correct binding without buying AI.\n\nBINDING: exact raw manifest plus bounded old-asset witness; verify callback keccak256, complete JSON/completion/job/project identity and unique declared accepted files[] output. Never reserialize JSON or substitute source[]/later Git metadata. Strict UTF-8/escapes; reject decoded duplicate keys, trailing data, bad Unicode/paths and excessive depth/count/length. Preserve name,path,hash,mediaType,bytes,submissionHash and producing Branch/job/result/revision. File SHA-256 differs from manifest keccak256. Writer honesty/availability remain trust assumptions; hashes do not prove quality/input consumption.\n\nASSETS: bounded sorted canonical assetKey table; one accepted main file per slot, one predeclared target changes per round; all other descriptors/provenance remain identical without model re-emission. Latest job orders execution; assets may originate in older rounds. Permanent per-revision checkpoints bind chain/Factory/Branch/policy/revision/source; calldata/events allow public witness reconstruction. Factory.fork authenticates registered parent's chosen checkpoint/full witness, inherits exactly that historical asset set/provenance, fixes child direction. No copying proposals/project IDs/publication names/authority; no recursive ancestry or latest-only fake history.\n\nLIMITS: candidates 16 assets/8 inputs/1 output, 64 KiB document/2 MiB HTML; measure/fix safe constants and disclose restrictions. Reserve one slot per enabled type; at capacity existing updatable slots still update. Bound all fields/parser resources; runtime request bodies <=16,384 UTF-8 bytes. Reject known overlimits before payment; no implicit deletion/unbounded loops.\n\nPROFILES: implement/test Markdown create/update, self-contained HTML create/update, single image generation; no all-stub/all-disabled A1. Explicit runtime steps[].inputs carry full authenticated descriptors/unique aliases at .imd/reads/artifacts/<alias>; selected current assets only, update target mandatory. Fix skill/output/MIME/size/create/update/input-type/publish rules in encoder. Unsupported image reference/editing modes disabled; stored unselected files not falsely claimed read.\n\nHTML: accepted named HTML equals dist/index.html bytes; inline CSS/JS/small PNG/JPEG/WebP. Restore selected HTML, not stale workspace; dist only index.html, no symlinks. Candidate images <=256 KiB each/512 KiB aggregate; count Base64/data-URI overhead within HTML cap and reject known invalid input before payment. HTML -> image -> HTML: third parent is second job, inputs first HTML plus second image; retain old markers and exact inline image bytes. Profiles use github:true, nonwebsite ipfs:false. Publishing defaults off and unverified modes disabled in fixed release config. File/Git/publication states stay separate; live compatibility remains NOT_RUN.\n\nSDK/CLI: six functions, previews, canonical witnesses, prepared proposal/sponsor/retry/bind transactions, history recovery and actual file SHA-256/length/MIME checks. Default unsigned; no real keys/wallets, mandatory server/signer/indexer. Separate transaction/admission/execution/callback/binding/file/Git/publication. Reconcile unknown transactions, never rebuy automatically. Inputs untrusted; no local/private-network downloads or file execution. No browser preview.\n\nTEST/DELIVERY: execute each step's local tests and independent review. Unresolved Critical/High or core failures block readiness. Deliver public source, ABI/config, CLI, raw evidence, measured limits and live-validation tools. Local mocks are not real IMD consumption or deployment proof.","blockedReason":null,"createdAt":"2026-10-20T12:36:09.542Z","updatedAt":"2026-10-20T15:11:26.681Z","paidBy":"0x0bced6bf6f6db1d7ac5bc0b540482d170a027352","via":null,"parentJobId":null,"project":{"id":"d5530989-b886-4f9d-80dd-44d26d85ffd2","head":"fe90f2eb-4a46-4847-8dea-c53e78664e28","running":null,"versions":[{"jobId":"d5530989-b886-4f9d-80dd-44d26d85ffd2","workflowId":null,"objective":"Build CTO Relay Station A1: complete Agent-facing public-project continuation, root Foundry contracts plus Node SDK/CLI, local tests, independent review and repairs. Local test deployments required; no public-chain deployment, frontend, live paid tests, paid child jobs, real credentials, autonomous spending, token launch, governance, ranking or treasury. Actual files, multi-assets and historical forks belong in A1.\n\nSIX FUNCTIONS: anyone creates project/root Branch with fixed public goal; proposes work; explicitly sponsors a nonzero proposal; reads files/state/history; continues; forks accepted history. Creation/proposal/fork never implicitly buys AI. No two-round limit. Proposal binds current anchor, profile, target assetKey, selected input keys, output mapping, text and publish choice. Sponsors cannot replace them. Reject stale/conflicting/invalid purchases before collecting IMD. Adding a proposal cannot change execution anchor or invalidate other current proposals; any current proposal is selectable, without FIFO.\n\nAUTHORITY: Factory registers fixed nonupgradeable Branch code, atomically initialized with immutable encoder/verifier/profiles. No operator setters, admin edits or arbitrary request/skill/payment entrypoint. Branch is IMD payer; root/child first runs use job.open@job-1, later runs job.continue@job-1 with own latest bound job. Child starts without own project/head. Never pass repoUrl/baseCommit or parent's projectId to continue.\n\nINTAKE: official intake-client protocol, not its mutable-owner tutorial. Ethereum Intake v2 0xa43e6f75ee006411f79ac1c84120606c2330de82; IMD 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7. Runtime priceOf(action,asset), sponsor maxFee, exact transfer/approval, requestWithFailure, clear leftover allowance. Authenticate fixed Intake, own outstanding request and target/selector. Small callbacks record digest/phase only; no parsing/download/binding/new work. Reentrancy/state guards required.\n\nFAILURES: if no callback arrives, remain pending indefinitely. Refused status 1 allows only explicit funded retry of identical body/snapshot/proposal with new attempt receipt; no parent/text/file substitution. Status 2 or unknown failure freezes purchases. Failed attempts are not revisions. No timeout unlock, automatic refund/retry, admin repair or HTTP settlement. Bad binding preserves recorded result/old checkpoint; anyone can resubmit correct binding without buying AI.\n\nBINDING: exact raw manifest plus bounded old-asset witness; verify callback keccak256, complete JSON/completion/job/project identity and unique declared accepted files[] output. Never reserialize JSON or substitute source[]/later Git metadata. Strict UTF-8/escapes; reject decoded duplicate keys, trailing data, bad Unicode/paths and excessive depth/count/length. Preserve name,path,hash,mediaType,bytes,submissionHash and producing Branch/job/result/revision. File SHA-256 differs from manifest keccak256. Writer honesty/availability remain trust assumptions; hashes do not prove quality/input consumption.\n\nASSETS: bounded sorted canonical assetKey table; one accepted main file per slot, one predeclared target changes per round; all other descriptors/provenance remain identical without model re-emission. Latest job orders execution; assets may originate in older rounds. Permanent per-revision checkpoints bind chain/Factory/Branch/policy/revision/source; calldata/events allow public witness reconstruction. Factory.fork authenticates registered parent's chosen checkpoint/full witness, inherits exactly that historical asset set/provenance, fixes child direction. No copying proposals/project IDs/publication names/authority; no recursive ancestry or latest-only fake history.\n\nLIMITS: candidates 16 assets/8 inputs/1 output, 64 KiB document/2 MiB HTML; measure/fix safe constants and disclose restrictions. Reserve one slot per enabled type; at capacity existing updatable slots still update. Bound all fields/parser resources; runtime request bodies <=16,384 UTF-8 bytes. Reject known overlimits before payment; no implicit deletion/unbounded loops.\n\nPROFILES: implement/test Markdown create/update, self-contained HTML create/update, single image generation; no all-stub/all-disabled A1. Explicit runtime steps[].inputs carry full authenticated descriptors/unique aliases at .imd/reads/artifacts/<alias>; selected current assets only, update target mandatory. Fix skill/output/MIME/size/create/update/input-type/publish rules in encoder. Unsupported image reference/editing modes disabled; stored unselected files not falsely claimed read.\n\nHTML: accepted named HTML equals dist/index.html bytes; inline CSS/JS/small PNG/JPEG/WebP. Restore selected HTML, not stale workspace; dist only index.html, no symlinks. Candidate images <=256 KiB each/512 KiB aggregate; count Base64/data-URI overhead within HTML cap and reject known invalid input before payment. HTML -> image -> HTML: third parent is second job, inputs first HTML plus second image; retain old markers and exact inline image bytes. Profiles use github:true, nonwebsite ipfs:false. Publishing defaults off and unverified modes disabled in fixed release config. File/Git/publication states stay separate; live compatibility remains NOT_RUN.\n\nSDK/CLI: six functions, previews, canonical witnesses, prepared proposal/sponsor/retry/bind transactions, history recovery and actual file SHA-256/length/MIME checks. Default unsigned; no real keys/wallets, mandatory server/signer/indexer. Separate transaction/admission/execution/callback/binding/file/Git/publication. Reconcile unknown transactions, never rebuy automatically. Inputs untrusted; no local/private-network downloads or file execution. No browser preview.\n\nTEST/DELIVERY: execute each step's local tests and independent review. Unresolved Critical/High or core failures block readiness. Deliver public source, ABI/config, CLI, raw evidence, measured limits and live-validation tools. Local mocks are not real IMD consumption or deployment proof.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-20T12:36:09.542Z"},{"jobId":"210ee6e0-e812-474b-824e-ac4f561ba60e","workflowId":null,"objective":"Integrate reviewed A1 repairs and delivered W1 into a usable CTO Relay Station, with actual browser-to-local-contract acceptance. One development job; no public deployment/hosting, funded credentials, live IMD purchases, paid child jobs, automatic spending, redesign, governance, ranking, tokens or treasury. Local deployments/mocks required. This scope supersedes old A1 'no frontend' and W1 'no core changes' ONLY for supplied repairs, browser SDK and integration. Preserve rules, CLI and W1 design.\n\nSOURCES: parent A1 is identity-md-launches/launch-2294-build-cto-relay-station commit 9b0294e7ab19060bd00c489fbe032cf248528e0d. Fetch patch pinned below; verify 194891 bytes/SHA256, git apply --check, apply, then verify patched-baseline source-sha256.json before edits. Fail explicitly on missing/mismatched inputs, never recreate repairs from prose. At frontend step import W1 https://github.com/identity-md-launches/launch-2297-build-cto-relay-station commit d48bc2117a06c79c3b8545d15eeff2675da94a31 into frontend/. Preserve sources/tests/license/locked dependencies and record hashes. Keep Foundry and protected package/config at root, frontend dependencies under frontend/. Exclude .git/node_modules/caches. Preserve old evidence; new reports go in docs/validation/integration/.\n\nCORE: preserve patched output name/path/prefix collision guards, non-HTML dist restriction, full bounded raw-JSON validation including ignored metadata, duplicate decoded keys/UTF-8, matching SDK limits and v2 fixed policy. Rerun 125 Foundry/27 Node baseline tests. Finite manifest limits may still leave authenticated oversized results unbindable: retain this risk; no admin/timeout unlock, raw-result rewriting, refund or automatic retry. No contract rule redesign.\n\nSDK: factor shared canonical encoding/validation and browser/Node file adapters. Existing index/strict-json/files use Node crypto/fs/Buffer/DNS/HTTPS; provide real browser entrypoint, preserve CLI and verification. Compare both runtimes' calldata, witness/hash, manifest keccak, file SHA256 and malformed/Unicode/duplicate/limit rejection. Browser downloads use configured trusted artifact locations, bounded streaming, approved schemes/hosts/redirects and byte/length/format checks; disclose DNS limits. No mandatory proxy/indexer/signer/backend. Loopback fixture policy is test-only.\n\nW1: wire actual SDK/ABI/config into public read/workspace routes (currently demo-only), create, propose, explicitly sponsor, read files/history, continue and historical fork; also result binding/refusal retry. Creating/proposing/forking never buys AI. Current proposals remain selectable without FIFO or anchor changes; sponsors cannot edit proposals. Use actual fixed profiles/capacity/input/full-body limits, not fixture constants. Verify chain/Factory/Branch/policy. Generate local config from actual deployed code; enable tested local operations, keep missing public config closed. Distinct labeled fixtures, no silent fallback. Preserve Chinese responsive UI; root dist/ static export, relative assets/hash routing.\n\nSIGNING/STATE: selected EIP-6963 provider signs SDK unsigned transactions only. Refresh account/network/anchor/nonzero proposal/witnesses/price/maxFee/exact Branch allowance before signing; confirmed allowance precedes purchase. Record original hash/nonce/account/chain/operation immediately before receipt wait. Recover chain truth after reload with absent/corrupt storage; reconcile dropped/replaced/unknown tx, never auto-rebuy. Separate transaction/admission/execution/callback/binding/files/Git/publication. Missing callback stays pending; authenticated status1 allows explicit newly funded identical-body retry; status2/unknown freezes. Correct bad binding with original raw result, no purchase. HTTP cannot unlock/settle.\n\nFILES: verify actual Markdown/HTML/PNG bytes before badges. Sanitize Markdown; opaque-origin HTML sandbox/CSP isolates app storage/wallet, with scripts/network/top-navigation/popups/forms off by default. Public site URL is not acceptance. Branch latest job orders execution while saved assets retain original producers; fork copies exactly selected historical assets/provenance, not parent job/proposals/publishing identity.\n\nLOCAL MATRIX: actual final Solidity/SDK + W1 browser signing, two temporary accounts, MockToken/Intake, deterministic real bytes. Cover six functions and alternate funding, Markdown create/update; HTML R1 -> PNG R2 -> HTML R3 where R3 continues R2 and selects R1 HTML/R2 image. Verify markers/exact image/untouched provenance. Fork non-head checkpoint; child opens then continues with separate explicit sponsorship. Cover multiple proposals/stale anchors, exact approval/price changes, double-click/sign rejection/account-network changes, pending/unknown/replaced tx/reload/corrupt-missing journal, missing callbacks/status1 retry/status2-unknown freeze/corrected binding without repurchase, tampered/unavailable/oversized files/malicious preview/mobile/keyboard/focus. Browser actions must create actual local tx; old CLI replay or fixture adapter is insufficient.\n\nDELIVER: same-version contracts/ABI/Node+browser SDK/CLI/W1/export/config generator and reproducible clean-checkout local setup. Run build/typecheck/Foundry/SDK/fixture/browser-chain tests and independent review; repair serious defects and rerun affected checks. Retain commands/raw logs/screenshots/chain traces/final hashes; mark every matrix item PASS/FAIL/NOT_RUN, separate fixture vs actual-local-contract vs real-IMD. Keep productionDeployment:null, liveCompatibility:NOT_RUN, productionReady:false and manifest risk. Structural acceptance is not behavioral proof. Critical/High/core failures block readiness; disclose incomplete work instead of fake PASS or another paid order.\n\nSOURCE PINS: patch URL https://gist.githubusercontent.com/Goderbug/f58e7dc53cfd241e70d92ac510a801f5/raw/b052a8c9bdfefd8ab601f2d0f467ed9a710a281a/a1-review-fixes.patch ; patch SHA256 3028547365dae0b93d9a6191f15b9023fd59821c791d205e8c79cc16375a2989. Source manifest: https://gist.githubusercontent.com/Goderbug/f58e7dc53cfd241e70d92ac510a801f5/raw/3c17d6ecd2d284a4c8d40162ef6cd3bc2bdbfc0f/SOURCE-INPUTS.json.","baseCommit":"9b0294e7ab19060bd00c489fbe032cf248528e0d","state":"blocked","createdAt":"2026-10-21T05:23:18.876Z"},{"jobId":"5b630958-5d27-4b47-bebf-4e682a6d2ab7","workflowId":null,"objective":"Integrate reviewed A1 repairs and delivered W1 into a usable CTO Relay Station, with actual browser-to-local-contract acceptance. One development job; no public deployment/hosting, funded credentials, live IMD purchases, paid child jobs, automatic spending, redesign, governance, ranking, tokens or treasury. Local deployments/mocks required. This scope supersedes old A1 'no frontend' and W1 'no core changes' ONLY for supplied repairs, browser SDK and integration. Preserve rules, CLI and W1 design.\n\nSOURCES: The preceding version blocked before edits. Its last delivered A1 source is identity-md-launches/launch-2294-build-cto-relay-station commit 9b0294e7ab19060bd00c489fbe032cf248528e0d; verify this starting HEAD. Fetch patch pinned below; verify 194891 bytes/SHA256, git apply --check, apply, then verify patched-baseline source-sha256.json before edits. Fail explicitly on missing/mismatched inputs, never recreate repairs from prose. At frontend step import W1 https://github.com/identity-md-launches/launch-2297-build-cto-relay-station commit d48bc2117a06c79c3b8545d15eeff2675da94a31 into frontend/. Preserve sources/tests/license/locked dependencies and record hashes. Keep Foundry and protected package/config at root, frontend dependencies under frontend/. Exclude .git/node_modules/caches. Preserve old evidence; new reports go in docs/validation/integration/.\n\nCORE: preserve patched output name/path/prefix collision guards, non-HTML dist restriction, full bounded raw-JSON validation including ignored metadata, duplicate decoded keys/UTF-8, matching SDK limits and v2 fixed policy. Rerun 125 Foundry/27 Node baseline tests. Finite manifest limits may still leave authenticated oversized results unbindable: retain this risk; no admin/timeout unlock, raw-result rewriting, refund or automatic retry. No contract rule redesign.\n\nSDK: factor shared canonical encoding/validation and browser/Node file adapters. Existing index/strict-json/files use Node crypto/fs/Buffer/DNS/HTTPS; provide real browser entrypoint, preserve CLI and verification. Compare both runtimes' calldata, witness/hash, manifest keccak, file SHA256 and malformed/Unicode/duplicate/limit rejection. Browser downloads use configured trusted artifact locations, bounded streaming, approved schemes/hosts/redirects and byte/length/format checks; disclose DNS limits. No mandatory proxy/indexer/signer/backend. Loopback fixture policy is test-only.\n\nW1: wire actual SDK/ABI/config into public read/workspace routes (currently demo-only), create, propose, explicitly sponsor, read files/history, continue and historical fork; also result binding/refusal retry. Creating/proposing/forking never buys AI. Current proposals remain selectable without FIFO or anchor changes; sponsors cannot edit proposals. Use actual fixed profiles/capacity/input/full-body limits, not fixture constants. Verify chain/Factory/Branch/policy. Generate local config from actual deployed code; enable tested local operations, keep missing public config closed. Distinct labeled fixtures, no silent fallback. Preserve Chinese responsive UI; root dist/ static export, relative assets/hash routing.\n\nSIGNING/STATE: selected EIP-6963 provider signs SDK unsigned transactions only. Refresh account/network/anchor/nonzero proposal/witnesses/price/maxFee/exact Branch allowance before signing; confirmed allowance precedes purchase. Record original hash/nonce/account/chain/operation immediately before receipt wait. Recover chain truth after reload with absent/corrupt storage; reconcile dropped/replaced/unknown tx, never auto-rebuy. Separate transaction/admission/execution/callback/binding/files/Git/publication. Missing callback stays pending; authenticated status1 allows explicit newly funded identical-body retry; status2/unknown freezes. Correct bad binding with original raw result, no purchase. HTTP cannot unlock/settle.\n\nFILES: verify actual Markdown/HTML/PNG bytes before badges. Sanitize Markdown; opaque-origin HTML sandbox/CSP isolates app storage/wallet, with scripts/network/top-navigation/popups/forms off by default. Public site URL is not acceptance. Branch latest job orders execution while saved assets retain original producers; fork copies exactly selected historical assets/provenance, not parent job/proposals/publishing identity.\n\nLOCAL MATRIX: actual final Solidity/SDK + W1 browser signing, two temporary accounts, MockToken/Intake, deterministic real bytes. Cover six functions and alternate funding, Markdown create/update; HTML R1 -> PNG R2 -> HTML R3 where R3 continues R2 and selects R1 HTML/R2 image. Verify markers/exact image/untouched provenance. Fork non-head checkpoint; child opens then continues with separate explicit sponsorship. Cover multiple proposals/stale anchors, exact approval/price changes, double-click/sign rejection/account-network changes, pending/unknown/replaced tx/reload/corrupt-missing journal, missing callbacks/status1 retry/status2-unknown freeze/corrected binding without repurchase, tampered/unavailable/oversized files/malicious preview/mobile/keyboard/focus. Browser actions must create actual local tx; old CLI replay or fixture adapter is insufficient.\n\nDELIVER: same-version contracts/ABI/Node+browser SDK/CLI/W1/export/config generator and reproducible clean-checkout local setup. Run build/typecheck/Foundry/SDK/fixture/browser-chain tests and independent review; repair serious defects and rerun affected checks. Retain commands/raw logs/screenshots/chain traces/final hashes; mark every matrix item PASS/FAIL/NOT_RUN, separate fixture vs actual-local-contract vs real-IMD. Keep productionDeployment:null, liveCompatibility:NOT_RUN, productionReady:false and manifest risk. Structural acceptance is not behavioral proof. Critical/High/core failures block readiness; disclose incomplete work instead of fake PASS or another paid order.\n\nSOURCE PINS: patch URL https://gist.githubusercontent.com/Goderbug/f58e7dc53cfd241e70d92ac510a801f5/raw/b052a8c9bdfefd8ab601f2d0f467ed9a710a281a/a1-review-fixes.patch ; patch SHA256 3028547365dae0b93d9a6191f15b9023fd59821c791d205e8c79cc16375a2989. Source manifest: https://gist.githubusercontent.com/Goderbug/f58e7dc53cfd241e70d92ac510a801f5/raw/3c17d6ecd2d284a4c8d40162ef6cd3bc2bdbfc0f/SOURCE-INPUTS.json.","baseCommit":"9b0294e7ab19060bd00c489fbe032cf248528e0d","state":"completed","createdAt":"2026-10-21T05:53:57.613Z"},{"jobId":"55cf8df2-04b1-4d15-9291-eef351d0247f","workflowId":null,"objective":"Build CTO Relay PLATFORM-UX-V1: English platform design system, sequence-first UX and local acceptance. PLATFORM ONLY; no Second Life branding/artwork redesign. Preserve create/propose/fund/read/continue/historical-fork; no new mechanisms.\n\nSOURCE: https://github.com/identity-md-launches/launch-2294-build-cto-relay-station at 878ba4ba1cf7c601656f3a25d17546a425ba1207. Verify baseline hashes. Requirements are self-contained; earlier local fixes are NOT supplied. Implement from delivered tree. Supersede Chinese/preserve-style instructions only.\n\nDESIGN: Open Workshop, warm precise workspace independent of project artwork. Light semantic tokens: canvas#F6F5F1/surface#FFFFFF/text#22231F/secondary#666961/border#DDDCD4/action#C1452A+white/selected#FFF1E8. States use labels, not color alone. Local licensed Space Grotesk/IBM Plex Mono or disclosed local fallbacks. Body16/meta13/title36desktop28mobile; space4/8/12/16/24/32/48/64; radius6controls8preview4badge; max1200/gutters24desktop16mobile/targets44px. Motion140-200ms/reduced-motion. Whitespace/thin rules/few boxes; shadows for overlays. Test contrast/focus. No new dark theme.\n\nUX: project list/create, workspace, contribution/funding/status; browse without wallet. Compact goal -> prominent sequence -> large selected complete output -> next action. Evidence in disclosures; all eligible proposals reachable. Continue opens preparation only; proposal/approval/payment separate. Historical Fork beside selected output. Components: ProjectHeader, SequenceRail/RoundItem, ArtifactViewer, ContributionCard, FundingSheet, BuildStatus, EvidenceDisclosure, WalletButton; local showcase reuses production components.\n\nHISTORY: existing events/checkpoints, stable chain/Factory/Branch/checkpoint IDs, numeric order. Latest differs from Selected; selection read-only. Genesis/inheritance/unaccepted attempts are not completed paid rounds. Continue uses current checkpoint; fork exact selected snapshot/provenance and own later funding. Full asset table retains original producer branch/job/checkpoint; latest execution is not every file origin. Associate real IDs, never infer winners/relationships.\n\nPRESERVE: A1 src/sdk/cli/abi/config byte-identical, root build/dependencies unchanged. Frontend derived reads allowed; no new authority/ABI/backend. Preserve protocol/limits/parsers. Fresh account/network/anchor/proposal/parent/spender/price/maxFee/exact allowance before signing; sponsor cannot edit. Confirm approval before purchase; duplicate guards. Close/unmount/account/network change cancels delayed preparation before wallet calls. Reconcile original hash/nonce records without rebuy. Missing callback pending; status1 explicit paid identical retry; status2/unknown freezes. Corrected binding no purchase; HTTP cannot settle. No governance/token/treasury/auto-spend/retry/unlock/new asset types.\n\nFILES: preserve trusted bounded retrieval/SHA256/length/media checks, sanitized Markdown, isolated HTML sandbox/CSP; no script/wallet/storage/form/navigation escape. Lazy bounded verified thumbnails/fallbacks. Exact bytes/provenance/version-keyed verification. FIX mixed branch/history reads: consistent snapshot or refetch BOTH plus visible read-only Retry, recover without reload/signature. PNG natural aspect ratio. Download safe descriptor.path basename/extension and exact bytes; unavailable/bad files never verified.\n\nENGLISH: all UI/a11y/states/default demo and current operation/build/developer/future task-authoring docs. Preserve authenticated outputs/identifiers/historical records. Demo defaults to labeled successful HTML->PNG->HTML, deterministic verified bytes/provenance, secondary failure controls; reuse project content. Never fixtures on real routes.\n\nDELIVER all stage checks, source/root dist relative static export/hash routes/gateway, tokens/showcase/English docs/raw logs/screenshots/receipts/hashes/open issues. New evidence docs/validation/platform-ux-v1/; preserve history. Frontend source<=8MiB, no caches/dependencies. No public deploy/hosting/funded credentials/live IMD tests/child orders. productionDeployment:null,liveCompatibility:NOT_RUN,productionReady:false. Existing manifest/callback liveness remains; structural/local evidence is not live acceptance.","baseCommit":"878ba4ba1cf7c601656f3a25d17546a425ba1207","state":"completed","createdAt":"2026-10-21T10:55:28.395Z"},{"jobId":"fe90f2eb-4a46-4847-8dea-c53e78664e28","workflowId":null,"objective":"Design and integrate the platform brand STEPS (Stepstoke), plus close the preceding delivery's final-evidence gaps. One development order. Primary display name/wordmark: STEPS. Expanded brand: Stepstoke. Confirmed official X link: https://x.com/stepstoke (handle @stepstoke). Design an original logo and concise English slogan; choose one finished primary direction and implement it. No further design approval is required within this scope. Do not post to or modify the X account.\n\nSOURCE: continue https://github.com/identity-md-launches/launch-2294-build-cto-relay-station at d29eedf8e7d6608ed109972c179b367ac07ce91f. Verify delivery/core hashes. Requirements are self-contained; no new source inputs. Preserve the delivered Open Workshop platform design (warm paper/ink/vermillion, sequence and outputs first), eight component families and all six functions. Second Life/project artwork is not the task.\n\nBRAND: STEPS enables people and agents to build public projects through successive contributions, inspect outputs and fork past results. Explore a few original directions internally; choose one coherent symbol/wordmark/lockup and a 3-8 word English slogan expressing collaborative or continued building. Record up to two alternatives/rationale in docs, not a blocking chooser. Give creative freedom without copying an existing identity or relying on a generic growth chart/token/robot. No investment promises, guaranteed outcomes, or unsupported fully-onchain/quality claims. Primary, one-color and reversed self-contained editable SVG variants; small-size symbol/favicon, square avatar PNG, favicon16/32 PNG, social preview1200x630 PNG plus editable source. Transparent logo variants; avatar/share composition may use platform surface. Use native vectors/local raster tooling, no paid image/child jobs. SVG scripts, foreignObject, remote resources, external fonts and links prohibited. Outline wordmark for portable assets while keeping semantic accessible naming in UI. Document local font/license provenance. No runtime CDN.\n\nINTEGRATE: actual website header/logo/name, config SITE_NAME/DESCRIPTION (including wallet app display), title/favicon, landing/empty/onboarding copy where relevant, existing footer and official X link, OG/Twitter metadata/share asset. Slogan should clarify entry, not occupy a large workspace hero or repeat everywhere. Keep relative asset URLs/hash routes/gateway subpaths; no invented production domain/canonical URL. Replace active platform-facing CTO Relay names in UI/current docs, not authenticated outputs, fixture artwork, historical logs, repo paths, contract/config/ABI/package IDs. Permit frontend/package.json description-only correction; dependency versions/lock integrity unchanged. Keep platform docs/showcase in English. No new dark theme.\n\nBOUNDARIES: src/sdk/cli/abi/config and core tests byte-identical; preserve root build/dependencies and payment/proposal/approval/continuation/fork/failure rules, selected-vs-latest, verified bytes/provenance and sandbox. No mechanism, deployment/hosting, funded credentials, live IMD purchases, extra orders or X publishing. UI text/brand assets cannot change protocol identifiers. productionDeployment:null,liveCompatibility:NOT_RUN,productionReady:false.\n\nDELIVER: finished integrated identity/source/static export/brand guide/asset inventory and final real test evidence. Historical acceptance is not final acceptance. Fresh evidence docs/validation/steps-brand-v1/. Measure complete source delivery early and after all assets/evidence (8MiB limit); prior measured bundle had only35870 bytes spare and is stale. Optimize vectors/PNG/evidence. Preserve historical evidence via recoverable byte-exact archive or verified immutable predecessor references with original-path/SHA index; never lose the only copy or remove failed logs/tests/core/authenticated files to pass size. Keep current evidence small and intact. Final runtime-source/test/assets/export manifests must match the tested tree; docs have separate hashes. Any later runtime edits require affected reruns/rebuild/rehashed evidence. Label FAIL/NOT_RUN; structural acceptance is not behavioral proof.","baseCommit":"d29eedf8e7d6608ed109972c179b367ac07ce91f","state":"completed","createdAt":"2026-10-21T15:25:26.332Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":false,"kind":null,"id":null,"status":null,"chainId":null},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-2294-build-cto-relay-station","pullRequestUrl":"https://github.com/identity-md-launches/launch-2294-build-cto-relay-station/pull/1","commit":"9b0294e7ab19060bd00c489fbe032cf248528e0d","deliveredAt":"2026-10-20T15:11:55.906Z","media":null},"media":null,"nodes":[{"key":"adversarial_review","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","implement_component","write_foundry_tests","integrate_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-20T14:53:20.479Z","verdict":null,"seat":{"tokenId":"1825","agentId":"51511"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-20T13:42:38.684Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+6a374fcd","verifiedTreeHash":"8d09f1e96856b6669f7f77072247086c9801793e","at":"2026-10-20T13:42:38.698Z","failedChecks":[]},"seat":{"tokenId":"5","agentId":"51085"},"live":null},{"key":"implement_component","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["sdk","sdk/**","cli","cli/**","test-sdk","test-sdk/**","docs/agent","docs/agent/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-20T13:55:48.986Z","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+6a374fcd","verifiedTreeHash":"3e8556eb68045051ac06fe5a008660f7a7241e40","at":"2026-10-20T13:55:49.019Z","failedChecks":[]},"seat":{"tokenId":"1814","agentId":"51548"},"live":null},{"key":"integrate_project","role":"integrate","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["write_foundry_tests"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-20T14:44:10.127Z","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+6a374fcd","verifiedTreeHash":"c76ec6c4e0b9afae00482075bc964afff3491894","at":"2026-10-20T14:44:10.129Z","failedChecks":[]},"seat":{"tokenId":"398","agentId":"51725"},"live":null},{"key":"write_foundry_tests","role":"tests","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["implement_component"],"allowedPaths":["test","test/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-20T14:36:08.712Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+6a374fcd","verifiedTreeHash":"db3683f6096285b248d378e5b3baca0d6ad13478","at":"2026-10-20T14:36:08.722Z","failedChecks":[]},"seat":{"tokenId":"1100","agentId":"51567"},"live":null},{"key":"write_readme_and_docs","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["adversarial_review"],"allowedPaths":["README.md","docs/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-20T15:11:26.681Z","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+6a374fcd","verifiedTreeHash":"5b60530aee3e82f65563934ff2e03b783670fa2a","at":"2026-10-20T15:11:26.682Z","failedChecks":[]},"seat":{"tokenId":"1211","agentId":"52713"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x2b53573c3ff414d7debff30a112abf90c9c36d9154308706d918497c5142b572","blockNumber":26259139,"sentAt":"2026-10-24T01:13:38.862Z","entries":[{"nodeKey":"adversarial_review","agentId":"51511","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"51085","value":1,"role":"verification:checks"},{"nodeKey":"implement_component","agentId":"51548","value":1,"role":"verification:structural"},{"nodeKey":"integrate_project","agentId":"51725","value":1,"role":"verification:structural"},{"nodeKey":"write_foundry_tests","agentId":"51567","value":1,"role":"verification:checks"},{"nodeKey":"write_readme_and_docs","agentId":"52713","value":1,"role":"verification:structural"}]}]}