WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-602 · Задача · — · web

SEC-053 [Low] Email verification допускает двух потребителей одноразовой ссылки

Закрыт P2 ведёт: — эпик: WEB-515
Суть
# SEC-053 — Email verification допускает двух потребителей одноразовой ссылки
## 1. Суть и условие дефекта
Одноразовая email-ссылка должна потребляться ровно одним потребителем; replay обязан отказывать без второго эффекта.

## 2. МЕХАНИКА
`src/lib/auth/emailVerification.ts:120-140` (создание/погашение LinkingToken), `src/app/api/auth/verify-email/route.ts:19-29` (обработчик перехода по ссылке). **Корень:** токен мог быть потреблён двумя потребителями (нет атомарного one-time claim). Фикс `030161941` (repair 3351).

## 3. ЧТО СДЕЛАНО
1. **10.09** — триаж BACKLOG64 (база `49bc58dcc`): карточка заведена из отчёта R09; условие подтверждено, независимая приёмка 3304SEC053ACCEPTANCE-REPORT.md (a2) — NO-GO.
2. **10.09** — repair-волна 3351 написала фикс `030161941`; независимая source-приёмка 3371 — GO.
3. **10–11.09** — интеграция 3473 → 3488 (все 26 кандидатов, HEAD `d95fd864`, 201/201 миграций, P19 negative blocksStartup).
4. **12.09** — посадки на прод: l115f-r2 (18:02Z, source `92f7ae807`, artifact `1353e969b`) → l115g (`9c8a9762`) → l115h (`f0777c4d`, 23:47Z).
5. **13.09** — l115i (`6aac3421`, 06:37Z); получено живое доказательство (см. ниже) → карточка переведена в done. Эпик WEB-515 закрыт.
6. **13.09** — закрыто харнессом (не живым гейтом на проде): волна 3624 — изолированный стенд с артефактом прода l115i (`.next/standalone`, не пересобран) + одноразовые фикстуры


## 4. ЧЕМ ДОКАЗАНО ЖИВЬЁМ
Волна 3624 (13.09): настоящий `POST /api/auth/resend-verification` на одноразовой **неподтверждённой** учётке (на проде QA-учётка уже подтверждена — поэтому там был тихий no-op), читаем реальный `tokenId` из БД и дважды бьём по `GET /api/auth/verify-email`: первый клик HTTP 307 → `email_verified=1`, `LinkingToken.consumedAt` ставится один раз; replay → 307 `email_verified=consumed`, оба поля не меняются. Evidence: `/home/ubuntu/waves/3624HARNESSSTAND-evidence/SEC-053-result.json`.

## 5. КАРТА ДОКУМЕНТОВ
  - Repair-волна: A2 `/home/ubuntu/waves/3351REPAIRTOKENS-REPORT.md`
  - Независимая source-приёмка: `/Users/limamarty/waves/3371INDEPENDENTTOKENS-REPORT.md`
  - Приёмка условия (триаж): `/Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3304SEC053ACCEPTANCE-REPORT.md`
  - Харнесс-отчёт: волна 3624 — изолированный стенд с артефактом прода l115i (`.next/standalone`, не пересобран) + одноразовые фикстуры
  - Отчёт 3624: `/home/ubuntu/waves/3624HARNESSSTAND-REPORT.md` (A2) = `/Users/milamarty/waves/inputs/3639/3624HARNESSSTAND-REPORT.md` (M4).
  - Evidence 3624: `/home/ubuntu/waves/3624HARNESSSTAND-evidence/` (SHA256SUMS).
  - Живая матрица гейтов: `/home/ubuntu/sec-checks-3592/out/matrix.txt` (A2) = `/Users/milamarty/waves/inputs/3639/matrix-l115i.txt` (M4).
  - Карта закрытия эпика: `WEB515-CLOSING-MAP.md` — `/Users/milamarty/waves/inputs/3639/WEB515-CLOSING-MAP.md` (M4) и `nc-ops-scripts/shift-20260912-resume/3604/collected/out/WEB515-CLOSING-MAP.md` (Intel).
  - Канон: `/Users/milamarty/waves/inputs/3639/canon449.json` (WEB-449).
  - Исходник R09 (мастер-разбор): `/Users/poolpooly/audit/inbox/2813-BLOCK24-PROVIDER-SPEND-WIRING-REPORT.md` (SHA `26816992…`).
  - Все 28 карточек: `/Users/milamarty/waves/inputs/3639/sec28.json`.

## 6. ОСТАТОК
нет

## 7. КАК ПЕРЕПРОВЕРИТЬ
```
# на стенде l115i standalone (127.0.0.4:3624): POST resend-verification на неподтверждённой учётке,
# затем дважды GET verify-email тем же tokenId — replay должен дать email_verified=consumed без изменений.
```


## История (триаж 10.09)

Правила обогащения: WEB-449. Parent WEB-515. BACKLOG64-TRIAGE-20260910. Дата UTC: 2026-09-10T17:07:52.835164+00:00.

## ДЛЯ ТИКЕТА — SEC-053

**Условие:** Email verification допускает двух потребителей одноразовой ссылки.

**Состояние:** подтверждено в изученных стендовых свидетельствах воркера на указанной базе; независимая приёмка на Нео ещё не выполнена. Это не объявление дефекта живого l115a. Исходный NO-GO относится к полному scope и может одновременно содержать незавершённые группы.

**Исследованные байты:** `49bc58dcc508c612b337c92af7d7d5bb71c7a681`. Базовая ветка — указанная в исходном отчёте; рабочее дерево lead `/Users/poolpooly/audit/nc` не используется вместо этой версии. **Файл:строка:** src/lib/auth/emailVerification.ts:120-140; src/app/api/auth/verify-email/route.ts:19-29.

**Доказательство и controls:** Actual-handler barrier: две successful redirects/effect calls.2822 base red2!=1, candidate3/3 и disposablePG один победитель. Повтор welcome grant не доказан: downstream идемпотентен.

**CVSS 3.1:** 3.1 Low — `CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N` (предварительно).
Предварительно: нормальная verification action, valid bearer и race; только одноразовость, без второго login/session/grant.
Числа пересчитаны по FIRST CVSS3.1, а не скопированы из заголовков: https://www.first.org/cvss/v3.1/specification-document#7-1-Base-Metrics-Equations . При неполных предпосылках оценка не становится окончательной. N/A/UNKNOWN не означает Low или нулевой риск.

**Предложение исправления:** Принять conditional consumedAt/expiry claim с count===1; сохранить idempotent downstream и отказ повтору.

**Сданные изменения:** c4dfe8a38a34a1c0c89208cea6c6af8aab4f8cb1; red/green/PG в2822, raw bundle transfer/current mapping ещё нужны..
**Связи/дедупликация:** WEB-535, WEB-542 Старые условия SEC-001…048 не регистрируются заново. Эта карточка описывает отдельное условие, а не повтор счёта того же отчёта.

## KNOWN ISSUES / ТРАБЛШУТИНГ

Симптом → Email verification допускает двух потребителей одноразовой ссылки.
Проверка → воспроизвести указанный actual-module/PG fixture с положительным разрешённым контролем; сверить SHA исходников и хеши артефактов. Мок транспорта допустим, мок самой проверяемой проверки — нет. Report file получен и хеширован лидом; исходные raw artifacts вне inbox ещё не объявляются независимо проверенными.
Причина → src/lib/auth/emailVerification.ts:120-140; src/app/api/auth/verify-email/route.ts:19-29.
Лечение/статус → Принять conditional consumedAt/expiry claim с count===1; сохранить idempotent downstream и отказ повтору. Приёмка/актуальность l115a пока pending. Если условие уже устранено позднейшим коммитом, зафиксировать точный fix→release mapping и принять существующий результат; повторный фикс не нужен.

## Три группы приёмки на Нео

1. **Байты и достижимость:** сравнить исследованную базу с переданным current candidate, проверить реальный entrypoint/инициализацию/feature flag и не подменять его вызовом недостижимого helper. Отдельно актуализировать policy/grants там, где это предпосылка.
2. **Поведение:** тот же безвредный red fixture на базе; нормальный positive control; после исправления — требуемый отказ/результат до side effect, повтор/конкурентный/отложенный вариант, точные счётчики. Для durable эффектов — одноразовый PostgreSQL, не только in-memory adapter.
3. **Независимость и сдача:** reviewer на Нео, не OpenAI; сверка diff/тестов/изменённых путей, bundle+SHA256, report с GO/NO-GO и отдельными UNKNOWN. Live/prod/host действия — только отдельная работа координатора. Не заявлять landing по наличию commit.

## Карта документов

- R12: /Users/poolpooly/audit/inbox/2820-BLOCK26-LOGIN-FLOW-INVENTORY-REPORT.md — SHA256 `9e02b56cb2cebbdc6a89154f985b2f2426a1daeee7a91eabb1a43764a72580aa`
- R13: /Users/poolpooly/audit/inbox/2822-BLOCK26-ONE-TIME-ENTRY-FLOWS-REPORT.md — SHA256 `d14b5341b9134aa8426a8371994d4d4689a9be103d1c7f6594813c2efa289142`
- Мастер-разбор: /Users/poolpooly/audit/outbox/BACKLOG64-TRIAGE-20260910.md
- Данные: /Users/poolpooly/audit/evidence/backlog64-20260910/findings28.json


SEC-INDEPENDENT-DISPATCH:3371
2026-09-10: Repair 3351 получен: 030161941d7584b00fd9b8a38fc628ce84d4cf70. Report/bundle сохранены, SHA256 5b98ecb3c046a2c1acecd0abd5e346742dc8acd841e7a74d07303db82523fc03 совпал. Независимая 3371 на NEO передана с проверенными inputs и exact candidate; живая сессия подтверждена 20:25Z. Требуются реальные PG races actual handlers, cross-process legacy persistence, OAuth binding, непустая старая схема и P19 manifest. Авторский scoped tsc не завершён: UNKNOWN. Миграция 20260910100000_web3351_repair_one_time_tokens на проде не применена. Ожидаемый отчёт /Users/limamarty/waves/3371INDEPENDENTTOKENS-REPORT.md. Приёмки и посадки пока нет.

DISPATCH-20260910-3391
На 2026-09-10T21:38:23.260126+00:00: active; A2, волна 3391 tokens-manifest-rework. Exact BASE 0cd045dcaf80c6f29afb1aa596dac3994d6aa8f6. Бриф прошёл brief-guard; входы SHA256 и наличие BASE проверены до постановки. Входы /home/ubuntu/waves/inputs/3391-tokens-manifest-rework. Отчёт ожидается /home/ubuntu/waves/3391TOKENSMANIFESTREWORK-REPORT.md. Живой процесс модели подтверждён; возраст журнала 3 с. Source/подготовка и независимая проверка — в объёме брифа; это не посадка, не live/capacity GO и не окончательное закрытие security.

CODEX-RESUMED-M4-20260910-3426
2026-09-10T22:01:27.591835+00:00: M4, волна 3426, Codex gpt-5.6-terra, active. Дочерний процесс модели подтверждён; журнал обновлялся 2 с назад. Exact BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; входы /Users/milamarty/waves/inputs/3426-acc-token-manifest; guard, SHA256 и bundle проверены до постановки. Нового verdict или посадки этим запуском нет.

REFILL-2221-RESULTS-WEB-602
Снимок 2026-09-10T22:27:17.204978+00:00
3426: GO только для P19 manifest repair и provenance. HEAD 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; продуктовые bytes совпадают с raw3371. Комплект сохранён, SHA проверен. Route typecheck UNKNOWN после OOM; release/live pending.

Новой посадки этим тиком нет. Evidence: nc-ops-scripts/refill-20260910-2221/.

SLOTS12-BATCH3442-3461-WEB-602
2026-09-10T22:50:05.652264+00:00 Лимиты A1/A2 подняты до12; действовавшие worker panes сохранены. Волна 3460 a2nc active token-route-typegate; BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; model gpt-5.6-terra
Брифы прошли guard; входные report/history/raw/bundle переданы и SHA проверены до очереди. Source/QA scope, посадки и measured capacity не заявляются.

REFILL3472:WEB-602
2026-09-10T23:16:44.018057+00:00
Волна 3465 a2nc active; token-typegraph-repair; BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c
Эволюция: предыдущая партия сдана; обнаруженные отказы CAP12/CAP07/CAP11 и route typecheck переданы в исправление3462–3465. Новые transport/auth/stop/node-plan части переданы на независимую проверку3466–3469. WEB593 и QA-изменения Drive проверяются3470/3471. M1 сверяет локальную топологию3472. Брифы и входные SHA проверены. Source GO не означает посадку.
Документы: /Users/annakorin/nc-ops-scripts/SHIFT-GOAL-20260911-8H.md; /Users/annakorin/nc-ops-scripts/enterprise2-20260910/ENTERPRISE-2.md. Доказательства: /Users/annakorin/nc-ops-scripts/refill-20260911-0015/live.json и каталоги a2nc/m4/neo с receipt и полными входами. Ссылки: https://bugs.wool2.online/web

CHECKPOINT3478:WEB-602 2026-09-10T23:30:08.650195+00:00
3465 завершена: report/bundle SHA проверены; авторский HEAD 530b384173536226ff6c01ce2888aa429ba4d911, дерево чистое, bundle verify PASS. Faithful 8-root graph по raw report: 933 project files, 0 diagnostics при 4096MiB; final exit=0 прочитан. При 2048MiB OOM134. Raw focused tests: 28/28, 0 failed/skipped; 7 изменённых файлов. Независимая проверка и security/release остаются впереди; 3479 доставлена на A2 с guard, SHA256 входов и exact BASE; запуск wq-acc-typegraph-repair-final подтверждён.
Полные отчёты и проверки SHA: /Users/annakorin/nc-ops-scripts/checkpoint-3478/snapshot.json; задания и SHA inputs: refill-20260911-0015,0025,0028,0030. Спецификация: /Users/annakorin/nc-ops-scripts/enterprise2-20260910/ENTERPRISE-2.md; цель: SHIFT-GOAL-20260911-8H.md.

## HANDOFF-20260912T1721:WEB-602 — точка входа для нового агента
Правила обогащения: [[WEB-449]]. Наблюдение: 12.09.2026 18:21:36 Europe/Dublin / 17:21:36 UTC. Автор: координатор. История выше сохранена; эту запись читать как текущий handoff на указанное время.

**Задача.** SEC-053 [Low] Email verification допускает двух потребителей одноразовой ссылки

**Что подтверждено и что остаётся.** 3521 дал bounded source/isolated-PG GO при общем NO-GO;3525 закрыл узкий SOURCE_PG_HANDOFF и CHARGE_COMPLETENESS, сохранив RELEASE_RUNTIME=OPEN. Итог на реальном релизе для этой карточки не подтверждён. 

**Как устроено / почему остановилось.** Email one-time token: два конкурирующих потребителя, ровно один успешный; expired/foreign/replay отказывают на установленном маршруте.

**Следующая операция.** Общий переход релиза выполнять по [[WEB-515]]. Индивидуальный gate этой карточки: Email one-time token: два конкурирующих потребителя, ровно один успешный; expired/foreign/replay отказывают на установленном маршруте. Зафиксировать exact deployed artifact, positive/negative, raw commands, exits и skips. Непройденный runtime gate не заменять повтором прежнего source suite.

**Исполнитель и приёмка.** Координатор даёт установленный artifact и исполняет хостовые операции; независимый security-приёмщик проверяет gate. Назначение не считать запущенным процессом.

**Условие закрытия.** Доказанный результат именно этой finding на установленной версии и соответствующий независимый вердикт; review остаётся до этого.

**КАРТА ДОКУМЕНТОВ**
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3521/3521ACCSECURITY26REPAIRED-REPORT.md
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3525/3525SECURITYHANDOFFGATES-REPORT.md
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3525/3525SECURITYHANDOFFGATES-evidence/GATES.md
- Intel: /Users/annakorin/nc-ops-scripts/release-l115f/r2/l115f-artifact.json
- Intel: /Users/annakorin/nc-ops-scripts/release-l115f/handoff-tickets/live-observation.json

**Релизная зависимость:** [[WEB-515]] — r2 staged/signed, compat BUILDING; prod l115e на времени наблюдения. Не путать SEC registry с количеством сегментов аудита.


SHIFT-STOP-20260912:R2:WEB-602
ТЕКУЩИЙ СРЕЗ ПЕРЕД ОСТАНОВКОЙ — WEB-602 / SEC-053
Задача: SEC-053 [Low] Email verification допускает двух потребителей одноразовой ссылки
Пакет l115f-r2 установлен на прод 2026-09-12T18:02:33.922654Z.
SOURCE=92f7ae807869bbaa8ae7ef6ca2ea622675e31af9
ARTIFACT_SHA256=1353e969b2a7a1a31ac702be361913c41cb53c104db49938a02f5fcd07766668
Runtime 18:15:34 UTC: оба backend ready=true, paidReady=true/enforce_ready; web A/B, indexing и extraction указывают на новый release; старых процессов 0. Таймеры indexing/extraction active.
Сборка, подпись с tamper-negative, совместимый rollback, dryrun и flip выполнены. Редактор: приложение HTTP200, список 58 документов, один документ открыт, новых ошибок после клика 0; при загрузке были две прерванные prefetch-загрузки и admin/agents403. Это не полная browser/security приёмка.
Один платный synthetic chat: HTTP200; operation terminal/succeeded, event APPLIED, 5/5 обязательных receipts нового identity. BILLING_PARITY=NO-GO: в ответе $0.000637, в LedgerEntry списано $0.039476, разница $0.038839, SETTLED_MAX/usage_untrusted. HTTP200 и paidReady не доказывают корректность суммы или ответа.
Владелец 18:13:55 UTC поручил сохранить готовое, обогатить тикеты, написать хендофф и остановить смену. Новые волны, сборки, paid requests, load/soak и security-вердикты не запускаются. Эпик остаётся открыт.
Откат после появления candidate receipts — только arm64-l115e-compat-20260912T172738Z, SHA ef4b7c2a6e8bcda45fc361f979076f43d37f4caf1256bcbbccf2188b2e2d092d. Plain l115e несовместим с новой identity; исторические receipts не переписывать.

ПРИЁМКА ЭТОЙ НАХОДКИ
ALL26 criterion: SEC-053/054; WEB-602/603; source=GREEN; PG=GREEN executed. Evidence: `a4-cross-process-201-vs-198.log`: candidate201 vs baseline198, 10/10 pass, 0 fail/skip, exit 0; resolver true. Оставшиеся gates при handoff: R, live route. 3530 устранила только QA-fixture mismatch3528: product/config/schema byte parity с92f7ae807; fresh PG201, cross-process11/11, shortcut2/2, skips0, scope/foreign/replay/crash negatives. Исторический NO-GO3528 не стёрт.
ТОЧНЫЙ ОСТАТОК / СЛЕДУЮЩИЙ ИСПОЛНИТЕЛЬ
Живой одноразовый email token: два конкурирующих потребителя дают один успешный consume и отказ повтору, без повторной записи.
Координатор собирает runtime receipts; независимый security-приёмщик не на OpenAI выдаёт scoped verdict. Сейчас никто не назначается на новую волну. Review сохраняется: факт установки не превращает OPEN в PASS.
КАРТА ДОКУМЕНТОВ
Intel: /Users/annakorin/nc-ops-scripts/release-l115f/r2/{l115f-artifact.json,signature-receipt.json,runtime-stop-verified.log,editor-postqa-rerun.log,paid-probe-accounting-receipt.json,paid-probe-failure-detail.json}.
Source/QA: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3521/3521ACCSECURITY26REPAIRED-REPORT.md; 3525/3525SECURITYHANDOFFGATES-evidence/GATES.md; 3530/3530ACCSECURITYGOOGLEFIXTURE-REPORT.md.
Merge: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3526/3526INTEGRATESECURITYRELEASE-evidence/merge-manifest.json.
Transition: /Users/annakorin/nc-ops-scripts/release-l115f/{3534-collected,3536-collected,compat}.


Billing finding: [[WEB-650]].
Доказательства

ACCEPTANCE-3300-3327:3304SEC053ACCEPTANCE-REPORT.md:f40c2f406aa39a77b7fe82deac13fdb149c1c42c073ff986f18322ec0ab76bbb
/Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3304SEC053ACCEPTANCE-REPORT.md
SHA256 f40c2f406aa39a77b7fe82deac13fdb149c1c42c073ff986f18322ec0ab76bbb
SEC-REPAIR-DISPATCH:3351:WEB-602
/home/ubuntu/waves/3351REPAIRTOKENS-REPORT.md
SEC-INDEPENDENT-DISPATCH:3371
2026-09-10: Repair 3351 получен: 030161941d7584b00fd9b8a38fc628ce84d4cf70. Report/bundle сохранены, SHA256 5b98ecb3c046a2c1acecd0abd5e346742dc8acd841e7a74d07303db82523fc03 совпал. Независимая 3371 на NEO передана с проверенными inputs и exact candidate; живая сессия подтверждена 20:25Z. Требуются реальные PG races actual handlers, cross-process legacy persistence, OAuth binding, непустая старая схема и P19 manifest. Авторский scoped tsc не завершён: UNKNOWN. Миграция 20260910100000_web3351_repair_one_time_tokens на проде не применена. Ожидаемый отчёт /Users/limamarty/waves/3371INDEPENDENTTOKENS-REPORT.md. Приёмки и посадки пока нет.

DISPATCH-20260910-3391
На 2026-09-10T21:38:23.260126+00:00: active; A2, волна 3391 tokens-manifest-rework. Exact BASE 0cd045dcaf80c6f29afb1aa596dac3994d6aa8f6. Бриф прошёл brief-guard; входы SHA256 и наличие BASE проверены до постановки. Входы /home/ubuntu/waves/inputs/3391-tokens-manifest-rework. Отчёт ожидается /home/ubuntu/waves/3391TOKENSMANIFESTREWORK-REPORT.md. Живой процесс модели подтверждён; возраст журнала 3 с. Source/подготовка и независимая проверка — в объёме брифа; это не посадка, не live/capacity GO и не окончательное закрытие security.

CODEX-RESUMED-M4-20260910-3426
2026-09-10T22:01:27.591835+00:00: M4, волна 3426, Codex gpt-5.6-terra, active. Дочерний процесс модели подтверждён; журнал обновлялся 2 с назад. Exact BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; входы /Users/milamarty/waves/inputs/3426-acc-token-manifest; guard, SHA256 и bundle проверены до постановки. Нового verdict или посадки этим запуском нет.

REFILL-2221-RESULTS-WEB-602
Снимок 2026-09-10T22:27:17.204978+00:00
3426: GO только для P19 manifest repair и provenance. HEAD 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; продуктовые bytes совпадают с raw3371. Комплект сохранён, SHA проверен. Route typecheck UNKNOWN после OOM; release/live pending.

Новой посадки этим тиком нет. Evidence: nc-ops-scripts/refill-20260910-2221/.

SLOTS12-BATCH3442-3461-WEB-602
2026-09-10T22:50:05.652264+00:00 Лимиты A1/A2 подняты до12; действовавшие worker panes сохранены. Волна 3460 a2nc active token-route-typegate; BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; model gpt-5.6-terra
Брифы прошли guard; входные report/history/raw/bundle переданы и SHA проверены до очереди. Source/QA scope, посадки и measured capacity не заявляются.

THREAD-STATUS-2240 3426 manifest/provenance GO; общий незакрытый route typecheck проверяет3460 на A2. SEC076/WEB625 вне исходных26.

REFILL3472:WEB-602
2026-09-10T23:16:44.018057+00:00
Волна 3465 a2nc active; token-typegraph-repair; BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c
Эволюция: предыдущая партия сдана; обнаруженные отказы CAP12/CAP07/CAP11 и route typecheck переданы в исправление3462–3465. Новые transport/auth/stop/node-plan части переданы на независимую проверку3466–3469. WEB593 и QA-изменения Drive проверяются3470/3471. M1 сверяет локальную топологию3472. Брифы и входные SHA проверены. Source GO не означает посадку.
Документы: /Users/annakorin/nc-ops-scripts/SHIFT-GOAL-20260911-8H.md; /Users/annakorin/nc-ops-scripts/enterprise2-20260910/ENTERPRISE-2.md. Доказательства: /Users/annakorin/nc-ops-scripts/refill-20260911-0015/live.json и каталоги a2nc/m4/neo с receipt и полными входами. Ссылки: https://bugs.wool2.online/web

CHECKPOINT3478:WEB-602 2026-09-10T23:30:08.650195+00:00
3465 завершена: report/bundle SHA проверены; авторский HEAD 530b384173536226ff6c01ce2888aa429ba4d911, дерево чистое, bundle verify PASS. Faithful 8-root graph по raw report: 933 project files, 0 diagnostics при 4096MiB; final exit=0 прочитан. При 2048MiB OOM134. Raw focused tests: 28/28, 0 failed/skipped; 7 изменённых файлов. Независимая проверка и security/release остаются впереди; 3479 доставлена на A2 с guard, SHA256 входов и exact BASE; запуск wq-acc-typegraph-repair-final подтверждён.
Полные отчёты и проверки SHA: /Users/annakorin/nc-ops-scripts/checkpoint-3478/snapshot.json; задания и SHA inputs: refill-20260911-0015,0025,0028,0030. Спецификация: /Users/annakorin/nc-ops-scripts/enterprise2-20260910/ENTERPRISE-2.md; цель: SHIFT-GOAL-20260911-8H.md.

CHECKPOINT3484LIMIT:WEB-602 2026-09-10T23:52:07.659549+00:00
3479 narrow independent source/config GO: HEAD 3e1554156bddc28e4e84be5715cac3117814ff40; bundle SHA f4cf38ae21d04474ae70ba2359e7d11d5f165ad4fad3926c6b71c4b77ff6530e verified. 28 inherited +4 own +11 component tests passed; faithful8-root graph928 files, zero diagnostics at4096MiB; scoped lint0 errors. Product unchanged by QA. Это не security/PG/live acceptance; включение в общий кандидат ещё pending. Evidence: checkpoint-3484/3479-receipt.json и полный REPORT.md.

CHECKPOINT3488:WEB-602 2026-09-11T00:15:51.647210+00:00
Пять новых сдач проверены координатором: bundle verify, SHA256 и exact HEAD. 3427 сдала ingest cf64ed4074c8349c12ed10a3725797ec2c65ff75; source PG 23/23, component 33+3+20; ESLint UNKNOWN timeout, финальная security/live приёмка не выполнена. 3488 реально запущена на A1: объединяет 3473 (22 критерия), 3479 (tokens/types), 3427 (ingest), охватывая входы всех исходных26. Итогового merge verdict ещё нет. Security acceptance3484 остаётся BLOCKED_PROVIDER_LIMIT до12.09 16:00UTC; кошелёк не менялся. Новых посадок нет. Evidence: checkpoint-3488/snapshot.json; security-integration-3488/{3488-receipt.json,inputs/manifest.json}; полный3427 report.

CHECKPOINT3492:WEB-602 2026-09-11T00:32:55.179360+00:00
3488 завершила source integration: d95fd864292c2763e8125de62a08e8fd8c181cde. Все 26 строк матрицы и исходные 14 веток сохранены; 201/201 миграций, P19 negative blocksStartup, 123 activation rows сохранены. SHA256 d3bd60ef387de0cb79342522be849d9023365f96e33d69c866b3ab2598aa8e7d, exact HEAD/clean/bundle проверены и скопированы. Это не независимая security/PG/runtime приёмка. 3484 BLOCKED_PROVIDER_LIMIT до 2026-09-12 16:00 UTC; новых посадок нет. Evidence: checkpoint-3491/snapshot.json, полный 3488 REPORT и бандл; A1 3488SECURITYINTEGRATIONFINAL-evidence.

HANDOFF-20260912T1721:WEB-602 — автономный handoff добавлен в body: причина, механизм, подтверждённое/OPEN, следующая операция, ответственный, критерий закрытия и карта документов. Срез фактов 2026-09-12T17:21:36.454887+00:00. Исторические отказы и статусы сохранены. Полный аудит записи: Intel /Users/annakorin/nc-ops-scripts/release-l115f/handoff-tickets/.

SHIFT-STOP-20260912:R2:WEB-602
Installed source92f7ae807 / artifact1353e969; runtime-stop-verified.log; billing parity NO-GO [[WEB-650]]; per-finding remaining gates in body.
Замечен в сборке
l115f-r2 / 92f7ae807
Лента
2026-09-10T17:07:53.478Z · astra-security
BACKLOG64-TRIAGE-20260910-SEC-053 — 2026-09-10T17:07:53.477677+00:00 / IST=2026-09-10T22:37:53.477687+05:30

Новая карточка по возвратам R12/R13.

Actual-handler barrier: две successful redirects/effect calls.2822 base red2!=1, candidate3/3 и disposablePG один победитель. Повтор welcome grant не доказан: downstream идемпотентен.

База 49bc58dcc508c612b337c92af7d7d5bb71c7a681; CVSS3.1 3.1 Low — `CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N` (предварительно). Приёмка Нео и current mapping pending. Предложение: Принять conditional consumedAt/expiry claim с count===1; сохранить idempotent downstream и отказ повтору.

Исходные отчёты:
- R12: /Users/poolpooly/audit/inbox/2820-BLOCK26-LOGIN-FLOW-INVENTORY-REPORT.md — SHA256 `9e02b56cb2cebbdc6a89154f985b2f2426a1daeee7a91eabb1a43764a72580aa`
- R13: /Users/poolpooly/audit/inbox/2822-BLOCK26-ONE-TIME-ENTRY-FLOWS-REPORT.md — SHA256 `d14b5341b9134aa8426a8371994d4d4689a9be103d1c7f6594813c2efa289142`
2026-09-10T17:43:11.050Z · coordinator
[2026-09-10T17:43:11.002Z] Маршрут изменён по прямому указанию владельца: 3304-sec053-acceptance-brief.md → Codex gpt-5.6-luna xhigh, A2. Предыдущий Claude-запуск завершился по weekly limit без отчёта; его бриф и лог сохранены. Повторно поставлен тот же номер волны. База current l115a и три исторических SHA проверены на хосте. Доставлены исходные отчёты с manifest SHA256; raw artifacts и effective host inputs не объявляются полностью полученными. Критерии независимости и доказательств сохранены. Постановка в очередь не является положительной приёмкой или посадкой.
2026-09-10T18:39:13.434Z · coordinator
ACCEPTANCE-3300-3327:3304SEC053ACCEPTANCE-REPORT.md:f40c2f406aa39a77b7fe82deac13fdb149c1c42c073ff986f18322ec0ab76bbb
Независимый отчёт получен координатором. Проверенная база l115a 8d598d69a663cfa8977816d96bb20303e9a9650c; это не повторная проверка l115c.
Блокер координатора: доставить существующий кандидат исправления и повторить независимую проверку; current-base условие воспроизведено.

Independent A2 acceptance on 2026-09-10 checked the exact current l115a BASE `8d598d69a663cfa8977816d96bb20303e9a9650c` in a separate worktree. The route is `src/app/api/auth/verify-email/route.ts:9-29`; the token lifecycle is `src/lib/auth/emailVerification.ts:120-142`. The current bytes are identical to the researched base for these files and still perform `findUnique` plus an unconditional `linkingToken.update` after the pre-consume checks.

An independently authored barrier drove two actual handler GETs against one synthetic valid token. Both returned `307` with `email_verified=1`; counters were `reads=2`, `tokenUpdates=2`, `userUpdates=2`, `welcomeGrantCalls=2`. The expected one winner was not met (`2 !== 1`, fixture exit 1). A separate disposable PostgreSQL 16.15 proof observed row locking and showed the same unconditional SQL shape admits two winners, while the proposed conditional `consumedAt IS NULL` + expiry predicate admits one winner. Normal AUTH-0802 and AUTH-1534 controls passed with nonzero test counts.

The reported fix `c4dfe8a38a34a1c0c89208cea6c6af8aab4f8cb1` is not available as a git object or bundle in this delivery, and no exact fix→release/current l115a mapping or receipt is present. Therefore this wave is `NO-GO` for the current line, with `CONFIRMED_CONDITION` and a separate `UNKNOWN_INPUT` candidate-transfer status. No new fix was applied and no additional SEC finding was registered.

Required follow-up: deliver the exact candidate bundle/raw artefacts and current mapping, then rerun the same actual route test with one successful redirect, one token claim, one user effect, repeat/expiry refusal, and durable PostgreSQL one-winner evidence. Preserve welcome-grant ledger idempotency and do not infer landing from a commit name alone.
2026-09-10T19:23:44.189Z · coordinator
SEC-REPAIR-DISPATCH:3351:WEB-602
Назначено исправление: волна 3351 repair-tokens, A2, Codex gpt-5.6-luna xhigh. Это разработка исправления; отдельная приёмка и посадка ещё впереди. База l115c 1ad52e16b. Входы доставлены и проверены по SHA256: /home/ubuntu/waves/inputs/security-repairs-20260910/tokens.
Бриф: /home/ubuntu/waves/queue/3351-repair-tokens-brief.md
Отчёт: /home/ubuntu/waves/3351REPAIRTOKENS-REPORT.md
Предыдущие результаты сохранены; 5 отсутствующих исторических кандидатов ищет координатор. Исполнитель обязан сначала проверить доступный кандидат; при отсутствии исправлять воспроизводимый дефект текущей базы и явно назвать новую реализацию.
Состояние на проверке: active.
2026-09-10T20:27:13.983Z · coordinator
SEC-INDEPENDENT-DISPATCH:3371
2026-09-10: Repair 3351 получен: 030161941d7584b00fd9b8a38fc628ce84d4cf70. Report/bundle сохранены, SHA256 5b98ecb3c046a2c1acecd0abd5e346742dc8acd841e7a74d07303db82523fc03 совпал. Независимая 3371 на NEO передана с проверенными inputs и exact candidate; живая сессия подтверждена 20:25Z. Требуются реальные PG races actual handlers, cross-process legacy persistence, OAuth binding, непустая старая схема и P19 manifest. Авторский scoped tsc не завершён: UNKNOWN. Миграция 20260910100000_web3351_repair_one_time_tokens на проде не применена. Ожидаемый отчёт /Users/limamarty/waves/3371INDEPENDENTTOKENS-REPORT.md. Приёмки и посадки пока нет.
2026-09-10T21:39:01.155Z · coordinator
DISPATCH-20260910-3391
На 2026-09-10T21:38:23.260126+00:00: active; A2, волна 3391 tokens-manifest-rework. Exact BASE 0cd045dcaf80c6f29afb1aa596dac3994d6aa8f6. Бриф прошёл brief-guard; входы SHA256 и наличие BASE проверены до постановки. Входы /home/ubuntu/waves/inputs/3391-tokens-manifest-rework. Отчёт ожидается /home/ubuntu/waves/3391TOKENSMANIFESTREWORK-REPORT.md. Живой процесс модели подтверждён; возраст журнала 3 с. Source/подготовка и независимая проверка — в объёме брифа; это не посадка, не live/capacity GO и не окончательное закрытие security.
2026-09-10T22:02:11.153Z · coordinator
CODEX-RESUMED-M4-20260910-3426
2026-09-10T22:01:27.591835+00:00: M4, волна 3426, Codex gpt-5.6-terra, active. Дочерний процесс модели подтверждён; журнал обновлялся 2 с назад. Exact BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; входы /Users/milamarty/waves/inputs/3426-acc-token-manifest; guard, SHA256 и bundle проверены до постановки. Нового verdict или посадки этим запуском нет.
2026-09-10T22:27:17.883Z · coordinator
REFILL-2221-RESULTS-WEB-602
Снимок 2026-09-10T22:27:17.204978+00:00
3426: GO только для P19 manifest repair и provenance. HEAD 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; продуктовые bytes совпадают с raw3371. Комплект сохранён, SHA проверен. Route typecheck UNKNOWN после OOM; release/live pending.

Новой посадки этим тиком нет. Evidence: nc-ops-scripts/refill-20260910-2221/.
2026-09-10T22:50:48.406Z · coordinator
SLOTS12-BATCH3442-3461-WEB-602
2026-09-10T22:50:05.652264+00:00 Лимиты A1/A2 подняты до12; действовавшие worker panes сохранены. Волна 3460 a2nc active token-route-typegate; BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c; model gpt-5.6-terra
Брифы прошли guard; входные report/history/raw/bundle переданы и SHA проверены до очереди. Source/QA scope, посадки и measured capacity не заявляются.
2026-09-10T22:53:37.909Z · coordinator
THREAD-STATUS-2240 3426 manifest/provenance GO; общий незакрытый route typecheck проверяет3460 на A2. SEC076/WEB625 вне исходных26.
2026-09-10T23:18:14.037Z · coordinator
REFILL3472:WEB-602
2026-09-10T23:16:44.018057+00:00
Волна 3465 a2nc active; token-typegraph-repair; BASE 52fed6bd21b2d3960ced7d48a75ef49e52f6857c
Эволюция: предыдущая партия сдана; обнаруженные отказы CAP12/CAP07/CAP11 и route typecheck переданы в исправление3462–3465. Новые transport/auth/stop/node-plan части переданы на независимую проверку3466–3469. WEB593 и QA-изменения Drive проверяются3470/3471. M1 сверяет локальную топологию3472. Брифы и входные SHA проверены. Source GO не означает посадку.
Документы: /Users/annakorin/nc-ops-scripts/SHIFT-GOAL-20260911-8H.md; /Users/annakorin/nc-ops-scripts/enterprise2-20260910/ENTERPRISE-2.md. Доказательства: /Users/annakorin/nc-ops-scripts/refill-20260911-0015/live.json и каталоги a2nc/m4/neo с receipt и полными входами. Ссылки: https://bugs.wool2.online/web
2026-09-10T23:33:43.954Z · coordinator
CHECKPOINT3478:WEB-602 2026-09-10T23:30:08.650195+00:00
3465 завершена: report/bundle SHA проверены; авторский HEAD 530b384173536226ff6c01ce2888aa429ba4d911, дерево чистое, bundle verify PASS. Faithful 8-root graph по raw report: 933 project files, 0 diagnostics при 4096MiB; final exit=0 прочитан. При 2048MiB OOM134. Raw focused tests: 28/28, 0 failed/skipped; 7 изменённых файлов. Независимая проверка и security/release остаются впереди; 3479 доставлена на A2 с guard, SHA256 входов и exact BASE; запуск wq-acc-typegraph-repair-final подтверждён.
Полные отчёты и проверки SHA: /Users/annakorin/nc-ops-scripts/checkpoint-3478/snapshot.json; задания и SHA inputs: refill-20260911-0015,0025,0028,0030. Спецификация: /Users/annakorin/nc-ops-scripts/enterprise2-20260910/ENTERPRISE-2.md; цель: SHIFT-GOAL-20260911-8H.md.
2026-09-10T23:52:08.444Z · coordinator
CHECKPOINT3484LIMIT:WEB-602 2026-09-10T23:52:07.659549+00:00
3479 narrow independent source/config GO: HEAD 3e1554156bddc28e4e84be5715cac3117814ff40; bundle SHA f4cf38ae21d04474ae70ba2359e7d11d5f165ad4fad3926c6b71c4b77ff6530e verified. 28 inherited +4 own +11 component tests passed; faithful8-root graph928 files, zero diagnostics at4096MiB; scoped lint0 errors. Product unchanged by QA. Это не security/PG/live acceptance; включение в общий кандидат ещё pending. Evidence: checkpoint-3484/3479-receipt.json и полный REPORT.md.
2026-09-11T00:15:52.146Z · coordinator
CHECKPOINT3488:WEB-602 2026-09-11T00:15:51.647210+00:00
Пять новых сдач проверены координатором: bundle verify, SHA256 и exact HEAD. 3427 сдала ingest cf64ed4074c8349c12ed10a3725797ec2c65ff75; source PG 23/23, component 33+3+20; ESLint UNKNOWN timeout, финальная security/live приёмка не выполнена. 3488 реально запущена на A1: объединяет 3473 (22 критерия), 3479 (tokens/types), 3427 (ingest), охватывая входы всех исходных26. Итогового merge verdict ещё нет. Security acceptance3484 остаётся BLOCKED_PROVIDER_LIMIT до12.09 16:00UTC; кошелёк не менялся. Новых посадок нет. Evidence: checkpoint-3488/snapshot.json; security-integration-3488/{3488-receipt.json,inputs/manifest.json}; полный3427 report.
2026-09-11T00:32:55.677Z · coordinator
CHECKPOINT3492:WEB-602 2026-09-11T00:32:55.179360+00:00
3488 завершила source integration: d95fd864292c2763e8125de62a08e8fd8c181cde. Все 26 строк матрицы и исходные 14 веток сохранены; 201/201 миграций, P19 negative blocksStartup, 123 activation rows сохранены. SHA256 d3bd60ef387de0cb79342522be849d9023365f96e33d69c866b3ab2598aa8e7d, exact HEAD/clean/bundle проверены и скопированы. Это не независимая security/PG/runtime приёмка. 3484 BLOCKED_PROVIDER_LIMIT до 2026-09-12 16:00 UTC; новых посадок нет. Evidence: checkpoint-3491/snapshot.json, полный 3488 REPORT и бандл; A1 3488SECURITYINTEGRATIONFINAL-evidence.
2026-09-12T11:57:22.306Z · coordinator
SECURITY26-3519-HANDOFF:WEB-602 2026-09-12T11:57:21.509340+00:00
3513 historical cross-process suite was 5/10: migration198 vs201 and node-path failures. Author3519 reports separate tree counts198/201 and child Prisma resolver correction, final10/10. Historical /usr/bin/node ENOENT was not reproduced; host-specific condition remains explicit.
3519-repair-security26-bounded on A2, gpt-5.6-luna high: dispatcher start2026-09-12T10:51:42Z, done2026-09-12T11:29:11Z; observed HANDOFF_READY, no active model process. NO-GO3513 preserved; author GO is only readiness for NEW independent acceptance. Exact QA base cfacc6109e72cc7de9adb7674d0529120b625252; product d95fd864292c2763e8125de62a08e8fd8c181cde; delivered QA HEAD bd35336670692adf54af563e05388ec7aa49a425. Bundle hash819bb4f8ab036c99ee80dabef42aace943dfde3d2416d615b10d113577d5e643, bundle verify/base ancestry passed. Guard, duplicate/resource check and target inputs SHA verification recorded. Original first FAILs and negatives retained per report; no blanket stale-tests classification. Receipt /Users/annakorin/nc-ops-scripts/security26-3519/3519-receipt.json; report /home/ubuntu/waves/3519REPAIRSECURITY26BOUNDED-REPORT.md; raw evidence /home/ubuntu/waves/3519REPAIRSECURITY26BOUNDED-evidence/. No deployment or Security26 closure.
2026-09-12T14:52:13.235Z · coordinator
TICK-3525-STALE-LIMIT-20260912:WEB-602
Старая отметка provider-limit снята: source/QA приёмка3521 и узкая3525 завершены. Неизменённые доказательства наследуются с точным SHA и указанными skips/границами; это не новые live тесты этой карточки. Посадка, соответствующие runtime/browser/provider gates остаются OPEN. Матрица26 и GATES.md привязаны к WEB-515; done не выставляется.
2026-09-12T18:22:02.147Z · coordinator
SHIFT-STOP-20260912:R2:WEB-602
ТЕКУЩИЙ СРЕЗ ПЕРЕД ОСТАНОВКОЙ — WEB-602 / SEC-053
Задача: SEC-053 [Low] Email verification допускает двух потребителей одноразовой ссылки
Пакет l115f-r2 установлен на прод 2026-09-12T18:02:33.922654Z.
SOURCE=92f7ae807869bbaa8ae7ef6ca2ea622675e31af9
ARTIFACT_SHA256=1353e969b2a7a1a31ac702be361913c41cb53c104db49938a02f5fcd07766668
Runtime 18:15:34 UTC: оба backend ready=true, paidReady=true/enforce_ready; web A/B, indexing и extraction указывают на новый release; старых процессов 0. Таймеры indexing/extraction active.
Сборка, подпись с tamper-negative, совместимый rollback, dryrun и flip выполнены. Редактор: приложение HTTP200, список 58 документов, один документ открыт, новых ошибок после клика 0; при загрузке были две прерванные prefetch-загрузки и admin/agents403. Это не полная browser/security приёмка.
Один платный synthetic chat: HTTP200; operation terminal/succeeded, event APPLIED, 5/5 обязательных receipts нового identity. BILLING_PARITY=NO-GO: в ответе $0.000637, в LedgerEntry списано $0.039476, разница $0.038839, SETTLED_MAX/usage_untrusted. HTTP200 и paidReady не доказывают корректность суммы или ответа.
Владелец 18:13:55 UTC поручил сохранить готовое, обогатить тикеты, написать хендофф и остановить смену. Новые волны, сборки, paid requests, load/soak и security-вердикты не запускаются. Эпик остаётся открыт.
Откат после появления candidate receipts — только arm64-l115e-compat-20260912T172738Z, SHA ef4b7c2a6e8bcda45fc361f979076f43d37f4caf1256bcbbccf2188b2e2d092d. Plain l115e несовместим с новой identity; исторические receipts не переписывать.

ПРИЁМКА ЭТОЙ НАХОДКИ
ALL26 criterion: SEC-053/054; WEB-602/603; source=GREEN; PG=GREEN executed. Evidence: `a4-cross-process-201-vs-198.log`: candidate201 vs baseline198, 10/10 pass, 0 fail/skip, exit 0; resolver true. Оставшиеся gates при handoff: R, live route. 3530 устранила только QA-fixture mismatch3528: product/config/schema byte parity с92f7ae807; fresh PG201, cross-process11/11, shortcut2/2, skips0, scope/foreign/replay/crash negatives. Исторический NO-GO3528 не стёрт.
ТОЧНЫЙ ОСТАТОК / СЛЕДУЮЩИЙ ИСПОЛНИТЕЛЬ
Живой одноразовый email token: два конкурирующих потребителя дают один успешный consume и отказ повтору, без повторной записи.
Координатор собирает runtime receipts; независимый security-приёмщик не на OpenAI выдаёт scoped verdict. Сейчас никто не назначается на новую волну. Review сохраняется: факт установки не превращает OPEN в PASS.
КАРТА ДОКУМЕНТОВ
Intel: /Users/annakorin/nc-ops-scripts/release-l115f/r2/{l115f-artifact.json,signature-receipt.json,runtime-stop-verified.log,editor-postqa-rerun.log,paid-probe-accounting-receipt.json,paid-probe-failure-detail.json}.
Source/QA: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3521/3521ACCSECURITY26REPAIRED-REPORT.md; 3525/3525SECURITYHANDOFFGATES-evidence/GATES.md; 3530/3530ACCSECURITYGOOGLEFIXTURE-REPORT.md.
Merge: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3526/3526INTEGRATESECURITYRELEASE-evidence/merge-manifest.json.
Transition: /Users/annakorin/nc-ops-scripts/release-l115f/{3534-collected,3536-collected,compat}.


Billing finding: [[WEB-650]].
2026-09-12T22:25:57.472Z · coordinator
[12.09 22:25Z координатор] ОБОГАЩЕНИЕ 12.09 (3573-enrich-web515-a): SEC-053 — Email verification: два потребителя одноразовой ссылки
Сделано: условие подтверждено на базе (независимая приёмка), исправление прошло независимую source-приёмку и интегрировано (3473→3488).
На проде: да — линия l115g, HEAD 9c8a97629 (BASE), фикс-коммит 030161941 в истории; not_live_testable (план QA-харнесса 3557).
Доказано: /home/ubuntu/waves/3351REPAIRTOKENS-REPORT.md; /Users/limamarty/waves/3371INDEPENDENTTOKENS-REPORT.md; SHIFT-STOP R2 (SOURCE=92f7ae807, ARTIFACT_SHA256=1353e969b); гейты scripts/security/live-gates/run.mjs.
Осталось: Live-гейт невозможен (not_live_testable): закрыть через QA-харнесс 3557.; Точный fix→release mapping принят координатором (SOURCE=92f7ae80 → l115g), но независимой строкой на карточке ещё не зафиксирован.; Полная browser/security приёмка (SHIFT-STOP R2 помечен как неполная)..
Кто следующий: координатор — дождаться гейта, закрыть BILLING_PARITY=NO-GO; статус не меняется (keep).
Ссылки: /Users/limamarty/waves/3371INDEPENDENTTOKENS-REPORT.md; /home/ubuntu/waves/3351REPAIRTOKENS-REPORT.md; ARTIFACT_SHA256 1353e969b2a7a1a31ac702be361913c41cb53c104db49938a02f5fcd07766668; BASE l115a 8d598d69a663cfa8977816d96bb20303e9a9650c; R12 2820-BLOCK26-LOGIN-FLOW-INVENTORY-REPORT.md (SHA 9e02b56cb2cebbdc6a89154f985b2f2426a1daeee7a91eabb1a43764a72580aa); R13 2822-BLOCK26-ONE-TIME-ENTRY-FLOWS-REPORT.md (SHA d14b5341b9134aa8426a8371994d4d4689a9be103d1c7f6594813c2efa289142); SOURCE 92f7ae807869bbaa8ae7ef6ca2ea622675e31af9; candidate 030161941d7584b00fd9b8a38fc628ce84d4cf70; fix 030161941d7584b00fd9b8a38fc628ce84d4cf70; https://bugs.wool2.online/web; integration 3473 HEAD f9c514014fcedccdecc2cf9e7c39a79421b4655b; integration 3488 HEAD d95fd864292c2763e8125de62a08e8fd8c181cde; prod l115g HEAD 9c8a97629b3f7fd8c79faff162eed482670f499d
Отчёт волны: /Users/milamarty/waves/3573ENRICH*-REPORT.md (M4), копия nc-ops-scripts/shift-20260912-resume/wash-20260912/enrich-collected/.
2026-09-13T07:35:49.666Z · coordinator
[13.09 07:35Z координатор] ЖИВОЕ ДОКАЗАТЕЛЬСТВО ЕСТЬ → done. SEC-053 подтверждён на изолированном стенде с артефактом прода l115i (волна 3624, 13.09): настоящий POST /api/auth/resend-verification на одноразовой НЕподтверждённой учётке (на проде учётка уже подтверждена, поэтому запрос был тихим no-op): токен погашается один раз, повтор — 307 email_verified=consumed, оба поля не меняются. Это не заглушка и не синтетика — прогон против собранного боевого артефакта со своими одноразовыми фикстурами и стенд-локальными секретами. Evidence: /home/ubuntu/waves/3624HARNESSSTAND-evidence/ (A2), копия в shift-20260912-resume/3624/collected/.
2026-09-13T09:05:32.590Z · coordinator
[13.09 09:05Z координатор] ОБОГАЩЕНИЕ ПОД НУЛЕВОГО АГЕНТА (канон WEB-449, волна 3639): тело карточки переписано — суть, МЕХАНИКА (файлы/функции/где гейт/корень), хронология с волнами и коммитами, чем доказано живьём с путями к evidence, карта документов по машинам, остаток, и одна команда для перепроверки. Прежний текст триажа 10.09 сохранён в конце тела как «История», плюс бэкап /tmp/secbody-backup-WEB-602.md на M1.
Воркер
не проверен STOPPED; l115f-r2 installed; finding live gate OPEN coordinator движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-09-13T09:05:32.588Z