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.
SOURCES: 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/.
CORE: 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.
SDK: 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.
W1: 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.
SIGNING/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.
FILES: 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.
LOCAL 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.
DELIVER: 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.
SOURCE 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.