S00-022: Record blocked task and remediation handoff

Changes: Preserve incomplete work and blocker metadata for S00-022. This checkpoint does not mark implementation accepted.
Validation: Session ended with status blocked.
Blocker: Pinned libomemo.js@3.0.0 supplies real embedded WASM but is a different unaudited ratchet and excludes consumer SCE; no approved decision reconciles it with S00-022 retained audited engine/persistence requirement.

Task: S00-022
Agent: auto-crypto-bcd7f2a71667
Role: crypto
Action: claim
Status: blocked

Task title: Confirm or source a verified browser/WASM-capable OMEMO2 backend for the Web client endpoint
This commit is contained in:
wt committed 2026-10-15 17:17:19 +07:00
1 parent 8bfaa06e64
commit 28320ff35a
14 files changed
+386 -31

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
# S00-007: Утвердить password и crypto unlock модель
> Generated from planning/tasks.json; status is in state/tasks.json.
- Этап: S00
- Оператор: security
- Reviewer: orchestrator
- Зависимости: S00-004, S00-005
- Требования: STORE-003, LOCK-004, SEC-001
## Один результат
ADR отделяет session password в памяти от persisted crypto key wrapping и app lock verifier.
## Разрешённые пути
- `docs/decisions/0006-secret-model.md`
- `experiments/0006-secret-model/**`
Не изменять другие modules, shared contracts или spec snapshots без изменения плана. Stem без расширения разрешает принятые stack-specific extensions и focused test рядом.
## Прочитать
- docs/WEB_PROFILE.md
- docs/ARCHITECTURE.md
- docs/CONTRACTS.md
- docs/TESTING.md
- roles/security.md
- docs/decisions/README.md
## Шаги
1. Прочитать приведённые requirements, контракт через реестр и evidence прямых dependencies.
2. До выбора стека: читать реальные первичные документы кандидатов, выполнить только разрешённый focused experiment, записать решение/ограничения. Не считать framework/backend уже принятым.
3. Работать только над одним указанным outcome. Если для него нужен новый shared contract — создать отдельную remediation через escalate, заблокировать original и завершить запуск; не расширять текущий scope.
4. ADR отделяет session password в памяти от persisted crypto key wrapping и app lock verifier.
5. Добавить focused fixtures/checks из списка ниже, выполнить их и записать фактический результат.
## Приёмка
1. ADR отделяет session password в памяти от persisted crypto key wrapping и app lock verifier.
2. Reload требует login при отсутствии persistent solution
3. plaintext localStorage запрещён
4. Нет изменений вне scope; реальный результат/evidence и handoff позволяют другому агенту продолжить.
## Focused checks
1. Reload требует login при отсутствии persistent solution
2. plaintext localStorage запрещён
## Блокер и завершение запуска
Для всех ролей scope — только эта задача. При блокере создать issue JSON по state/ISSUE_TEMPLATE.json, вызвать escalate с текущим ID/role/agent, проверить status=blocked и resolution_task, затем немедленно завершить запуск. Не решать blocker и не выбирать следующую задачу самому. Новый агент назначается runner. Правки metadata через CLI — единственное исключение scope.
## Передача
Сохранить evidence/handoff; submit → review и завершить запуск. Reviewer также выполняет только эту задачу, включая обязательное escalate при блокере.
+1 -1
View File
@@ -7,7 +7,7 @@
- Этап: S00
- Оператор: crypto
- Reviewer: security
- Зависимости: S00-001, S00-002, S00-021, S00-027
- Зависимости: S00-001, S00-002, S00-021, S00-027, S00-029
- Требования: ENC-003, ENC-009, ENC-011
## Один результат
+58
View File
@@ -0,0 +1,58 @@
# S00-029: Record an approved browser OMEMO backend sourcing strategy
- Remediation для: S00-022; root: S00-004; depth: 2
> Generated from planning/tasks.json; status is in state/tasks.json.
- Этап: S00
- Оператор: orchestrator
- Reviewer: security
- Зависимости: S00-001, S00-002, S00-021, S00-027
- Требования: ENC-003, ENC-009, ENC-011
## Один результат
One explicit architecture/security/product-owner sourcing decision naming the retained engine browser port or authorizing bounded evaluation of an alternative, with license/support/security-assessment and persistence compatibility requirements, without waiving ENC-003/009/011.
## Разрешённые пути
- `docs/decisions/0003-browser-backend-decision.md`
Не изменять другие modules, shared contracts или spec snapshots без изменения плана. Stem без расширения разрешает принятые stack-specific extensions и focused test рядом.
## Прочитать
- docs/WEB_PROFILE.md
- docs/ARCHITECTURE.md
- docs/CONTRACTS.md
- docs/TESTING.md
- roles/crypto.md
- docs/decisions/README.md
- state/blockers/S00-022.md
- state/blockers/S00-029.md
## Шаги
1. Obtain explicit owner input naming a backend strategy; do not infer approval from candidate availability.
2. Record traceable primary sources, exact target, license/support constraints and required independent security assessment and SCE path.
3. If alternative engine is selected, require separate reviewed plan change for preservation wording before S00-022 resumes implementation.
4. Submit only the bounded decision for independent security review; do not implement crypto.
## Приёмка
1. Explicit owner decision is recorded; the candidate is not declared audited or interoperable without evidence.
2. Decision preserves ENC-003/009/011 and identifies remaining browser/SCE/vector/persistence checks.
3. Any engine replacement is contingent on reviewed plan change; no silent replacement or implementation occurs.
## Focused checks
1. Verify owner input and primary-source traceability for named target/license/support/security and SCE boundaries.
2. Independent security review confirms decision addresses engine/persistence preservation and contains no requirement bypass.
## Блокер и завершение запуска
Для всех ролей scope — только эта задача. При блокере создать issue JSON по state/ISSUE_TEMPLATE.json, вызвать escalate с текущим ID/role/agent, проверить status=blocked и resolution_task, затем немедленно завершить запуск. Не решать blocker и не выбирать следующую задачу самому. Новый агент назначается runner. Правки metadata через CLI — единственное исключение scope.
## Передача
Сохранить evidence/handoff; submit → review и завершить запуск. Reviewer также выполняет только эту задачу, включая обязательное escalate при блокере.