# Handoff S00-004 - Browser OMEMO backend spike Agent: `auto-crypto-fe1c81c17ded` Role: crypto Status on handoff: escalated (blocker) ## Result this run Re-ran both committed probes unchanged from the S00-021 remediation and confirmed the reproduced state. A verified audited session/ratchet engine and session-record persistence are established (`@signalapp/libsignal-client@0.105.0`, known-answer sealed-sender roundtrip, 631-byte session record reloaded byte-for-byte). The browser/worker/WASM deployment and the legacy/OMEMO2 wire layer remain **not available** from any maintained package on the reachable registry. Per focused-check rule ("unsupported format recorded blocker, not success") and the mandatory escalate protocol, S00-004 is escalated as blocked rather than claimed done: the acceptance (legacy/OMEMO2 AND worker/wasm AND persistence) still lacks a verified browser/WASM-capable OMEMO2 backend. ## Reproduction this run (all from project root) 1. `node experiments/0003-crypto-library/session-probe/smoke.mjs` -> exit 0, `SMOKE_PASS`, `KAS_OK bob stored session bytes: 631`. 2. `node experiments/0003-crypto-library/session-probe/wasm-unsupported.mjs` -> exit 2, `UNSUPPORTED_BLOCKER`, `pkgPresent: true`, `wasmFiles: 0`, prebuilds native `*.node` only. 3. Live public registry (`npm view version`): - `@signalapp/libsignal-client` = 0.105.0 (Node native addon, AGPL-3.0-only). - `@signalapp/libsignal`, `@converse/omemo`, `@xmpp/omemo`, `omemo2`, `omemo-js`, `omemo-client`, `omemo-top`, `omemo-wasm` -> all E404. ## Outputs produced (all inside accepted scope) - `state/issues/S00-004-auto-crypto-fe1c81c17ded.json` (one atomac remediation). - `state/evidence/S00-004-auto-crypto-fe1c81c17ded.md` (this run's evidence). - No source changes elsewhere; `docs/decisions/0003-crypto-library.md` and `experiments/0003-crypto-library/**` unchanged (edits outside this escalation are prohibited for this run). ## Next input for the remediation 1. Confirm `node experiments/0003-crypto-library/session-probe/smoke.mjs` (0) and `.../wasm-unsupported.mjs` (2) from project root. 2. Source or confirm a maintained browser/worker/WASM-capable OMEMO2 backend (real web/WASM build + OMEMO2/S ce-format mapping from traceable primary sources, license/support/browser constraints checked), or record the specific external product/administrative decision (library/provider/license) needed to bring such a backend in. Requires user/external input. 3. Run a focused known-answer OMEMO2 roundtrip in the web target and record actual results; unsupported format remains a blocker, not success. 4. Only then may acceptance-1 (legacy/OMEMO2 AND worker/wasm AND persistence) be re-evaluated; do not declare S00-004 done on the persistence+Ratchet part alone.