Changes: - Re-ran both committed probes unchanged (smoke exit 0 SMOKE_PASS; wasm-unsupported exit 2 UNSUPPORTED_BLOCKER) and recorded actual outputs in state/evidence/S00-021-auto-crypto-fcef9b6781bf.md. - Verified on the reachable npm proxy that no maintained browser/WASM-capable OMEMO2 package exists: @signalapp/libsignal-client 0.105.0 is native-only (zero .wasm); @signalapp/libsignal, omemo-client, omemo-top, omemo-wasm, @converse/omemo are all E404. - Wrote docs/decisions/0003-crypto-library.md (proposed) documenting the verified audited session/ratchet + persistence capability and the honest blocker for the browser/worker/WASM endpoint and OMEMO2 wire layer, with traceable primary sources. - Wrote state/handoffs/S00-021.md with the reproducible next step for the S00-004 continuation. Validation: - smoke.mjs -> exit 0 (SMOKE_PASS, 631-byte record byte-for-byte reload). - wasm-unsupported.mjs -> exit 2 (wasmFiles 0, native prebuilds only). - npm view E404s confirmed against the same proxy that returns @signalapp/libsignal-client 0.105.0, so responses are genuine. - make check: 72 tooling tests passed (OK). - No source changes outside scope: experiments/** unchanged; only state/tasks.json (workflow metadata) plus the in-scope ADR. S00-004 stays blocked (honest blocker), not bypassed. Task: S00-021 Agent: auto-crypto-fcef9b6781bf Role: crypto Action: claim Status: review Task title: Устранить прерывание: Проверить browser OMEMO backend
План разработки
ROADMAP.md: 22 логически связанных этапа с входным/выходным gate.TASK_MATRIX.mdиtask_matrix.csv: 275 задач, операторы/reviewers, статусы и prerequisites.tasks/<ID>.md: bounded outcome, scope, inputs, steps, acceptance/checks.tasks.json: полные definitions; читать целиком небольшой модели не нужно.requirements.json: 221 ID исходных документов, 211 применимых к Web, 10 native-only с причиной исключения.TRACEABILITY.md: requirement → tasks, allocation не implementation.ATOMICITY.md: ограничения задач/контекста и порядок split.
Начальное состояние всех задач — todo. Подготовленные в этой основе workflow/docs/tooling не являются выполнением будущих продуктовых tasks. Первая доступная задача — S00-001, выбор framework идёт после Web profile.
Этапные gates проверяют результат данного этапа; окончательный Web acceptance — S21. Тестовые fixtures не заменяют interoperability/provider evidence.