WEB-604 · Задача · — · web
SEC-055 [Medium] Realtime retrieval теряет явный список выбранных sourceIds
Закрыт
P2
ведёт: —
эпик: WEB-515
Суть
# SEC-055 — Realtime retrieval теряет явный список выбранных sourceIds
## 1. Суть и условие дефекта
Realtime retrieval должен сохранять явный список выбранных sourceIds; чужие/невыбранные sourceIds не должны подмешиваться.
## 2. МЕХАНИКА
`src/app/api/realtime/tool-call/route.ts:231-236` — сбор списка выбранных sourceIds для realtime retrieval. **Корень:** явный список терялся/не сохранялся, в запрос могли попасть чужие sourceIds. Фикс `d7edd0826` (repair 3344). **Гейт:** `selectedIdsPreserved=true`, `foreignIdsExcluded=true`.
## 3. ЧТО СДЕЛАНО
1. **10.09** — триаж BACKLOG64 (база `49bc58dcc`): карточка заведена из отчёта R09; условие подтверждено, независимая приёмка 3306SEC055ACCEPTANCE-REPORT.md (a2) — NO-GO (условие подтверждено, фикс отсутствует).
2. **10.09** — repair-волна 3344 написала фикс `d7edd0826`; независимая source-приёмка 3360 — 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 закрыт.
## 4. ЧЕМ ДОКАЗАНО ЖИВЬЁМ
Раннер живых гейтов на проде (прогон с копии боевого процесса `:3011` + QA-фикстуры). Гейт **SEC-055** → observed: `selectedIdsPreserved=true, foreignIdsExcluded=true`.
Матрица: `/home/ubuntu/sec-checks-3592/out/matrix.txt` (matrix-l115i.txt — 13 PASS / 0 FAIL). Карточка закрыта комментарием координатора 13.09.
## 5. КАРТА ДОКУМЕНТОВ
- Repair-волна: M4 `/Users/milamarty/waves/3344REPAIRVISIBILITY-REPORT.md`
- Независимая source-приёмка: A1 `/home/wave/waves/3360INDEPENDENTVISIBILITY-REPORT.md`
- Приёмка условия (триаж): `/Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3306SEC055ACCEPTANCE-REPORT.md`
- Живая матрица гейтов: `/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. КАК ПЕРЕПРОВЕРИТЬ
```
node scripts/security/live-gates/run.mjs # гейт scripts/security/live-gates/gates/SEC-055.mjs
# env: DATABASE_URL_RO → прод-копия БД (:3011). Сверить observed с matrix-l115i.txt.
```
## История (триаж 10.09)
Правила обогащения: WEB-449. Parent WEB-515. BACKLOG64-TRIAGE-20260910. Дата UTC: 2026-09-10T17:07:52.835164+00:00.
## ДЛЯ ТИКЕТА — SEC-055
**Условие:** Realtime retrieval теряет явный список выбранных sourceIds.
**Состояние:** подтверждено в изученных стендовых свидетельствах воркера на указанной базе; независимая приёмка на Нео ещё не выполнена. Это не объявление дефекта живого l115a. Исходный NO-GO относится к полному scope и может одновременно содержать незавершённые группы.
**Исследованные байты:** `49bc58dcc508c612b337c92af7d7d5bb71c7a681`. Базовая ветка — указанная в исходном отчёте; рабочее дерево lead `/Users/poolpooly/audit/nc` не используется вместо этой версии. **Файл:строка:** src/app/api/realtime/tool-call/route.ts:231-236.
**Доказательство и controls:** Actual handler: user_invoked_only source, выбранный только в sourceIds[], получает 404; sourceId и allowed controls PASS. Candidate754999ab3/3.
**CVSS 3.1:** 4.3 Medium — `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L` (предварительно).
Предварительно: недоступность разрешённого retrieval для authenticated caller, не disclosure.
Числа пересчитаны по FIRST CVSS3.1, а не скопированы из заголовков: https://www.first.org/cvss/v3.1/specification-document#7-1-Base-Metrics-Equations . При неполных предпосылках оценка не становится окончательной. N/A/UNKNOWN не означает Low или нулевой риск.
**Предложение исправления:** Передавать непустой explicit sourceIds список, сохранив приоритет single source и действующую ACL.
**Сданные изменения:** 754999abec698cf89f81678539d9e58eb0453809; candidate green, current landing pending.
**Связи/дедупликация:** WEB-530 Старые условия SEC-001…048 не регистрируются заново. Эта карточка описывает отдельное условие, а не повтор счёта того же отчёта.
## KNOWN ISSUES / ТРАБЛШУТИНГ
Симптом → Realtime retrieval теряет явный список выбранных sourceIds.
Проверка → воспроизвести указанный actual-module/PG fixture с положительным разрешённым контролем; сверить SHA исходников и хеши артефактов. Мок транспорта допустим, мок самой проверяемой проверки — нет. Report file получен и хеширован лидом; исходные raw artifacts вне inbox ещё не объявляются независимо проверенными.
Причина → src/app/api/realtime/tool-call/route.ts:231-236.
Лечение/статус → Передавать непустой explicit sourceIds список, сохранив приоритет single source и действующую ACL. Приёмка/актуальность 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.
## Карта документов
- R16: /Users/poolpooly/audit/inbox/2831-BLOCK27-ACCESS-MATRIX-INDEPENDENT-REPORT.md — SHA256 `91124b74b131b62115f80b0348d343477b4a4525b66c9fddd29bb23c745bfe35`
- Мастер-разбор: /Users/poolpooly/audit/outbox/BACKLOG64-TRIAGE-20260910.md
- Данные: /Users/poolpooly/audit/evidence/backlog64-20260910/findings28.json
A1-REBOOT-RESUME:20260910:3360
Снимок 2026-09-10 20:40Z. Приёмка 3360 была прервана перезагрузкой A1 без полного комплекта сдачи. Сохранены прежние QA worktrees, незакоммиченные тесты, журналы и бандлы; архив /home/wave/waves/recovery-20260910/before/. Продолжение с прежним UUID сессии через exec resume. Живая tmux-сессия wq-secaccept-visibility подтверждена; UUID сверялся по заголовку журнала. Одновременно до 3 волн, общий MemoryHigh=10G/MemoryMax=12G/SwapMax=1G, Node heap=2048 MB; тяжёлые проверки последовательно. Guards и входные SHA проверены перед возвратом. Это восстановление проверки, нового GO и посадки нет. A1 перезагрузилась: в 20:33:37Z uptime=66.75 s, оба backend paidReady=true/enforce_ready, SIP health=ok.
FILL-SLOTS-2046:3360
2026-09-10 20:50Z. Независимая 3360: source GO SEC-055/056/057. Candidate d7edd0826acb0f0aee69709ff7f822cb8b4c4b73, QA acf559c4ac20349f2fb9bd5c8d15b78ecd8f1e45. Координатор прочитал полный отчёт и raw evidence: realtime 5/5, share 3/3, public 3/3, embed 4/4, remix 4/4; BASE RED по каждому пути. PG подтвердил delete/share race, no views/session/fork после delete и owner positive. Report/bundle/raw сохранены в Intel nc-ops-scripts/fill-slots-20260910-2046; SHA 0982499f83bb12893d44209a237ca6341f1cf79c90323b7ba10c7a4c9627b5a4. Lint/typecheck UNKNOWN после timeout, build/live mapping ещё нужны. Посадки нет.
CHECKPOINT3478:WEB-604 2026-09-10T23:30:08.650195+00:00
3473 активно объединяет 14 точных кандидатов для22 критериев. Этот кандидат visibility d7edd0826acb0f0aee69709ff7f822cb8b4c4b73; критерии SEC-055,SEC-056,SEC-057. Входные hashes и git objects проверены до старта. Последний наблюдённый merge66a666e38 объединил манифест миграций; итогового integration verdict нет. SEC053/054 и062/064 вне этой партии. Предыдущий scoped GO не означает проверку конфликтов, сборку или посадку.
Полные отчёты и проверки 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.
CHECKPOINT3484:WEB-604 2026-09-10T23:46:59.374675+00:00
3473 integration GO: exact HEAD f9c514014fcedccdecc2cf9e7c39a79421b4655b, все 14 кандидатов/22 критерия сохранены; P19 и migration-set 200/200, дерево чистое, SHA и bundle проверены координатором. Кандидат visibility d7edd0826acb0f0aee69709ff7f822cb8b4c4b73. Независимая 3484 Claude Opus доставлена на A1 с inputs SHA и exact BASE для merged-source/изолированной PG проверки. Пока подтверждена очередь, не выполнение тестов. Новых посадок нет; live flags/roles/scheduler/browser и post-QA впереди.
Доказательства: /Users/annakorin/nc-ops-scripts/checkpoint-3484/receipt.json, integration-manifest.json, focused-tests-summary.log, migration-gates.log и 3473SECURITYINTEGRATION-REPORT.md; доставка: refill-20260911-0050. Норматив: enterprise2-20260910/ENTERPRISE-2.md.
## HANDOFF-20260912T1721:WEB-604 — точка входа для нового агента
Правила обогащения: [[WEB-449]]. Наблюдение: 12.09.2026 18:21:36 Europe/Dublin / 17:21:36 UTC. Автор: координатор. История выше сохранена; эту запись читать как текущий handoff на указанное время.
**Задача.** SEC-055 [Medium] Realtime retrieval теряет явный список выбранных sourceIds
**Что подтверждено и что остаётся.** 3521 дал bounded source/isolated-PG GO при общем NO-GO;3525 закрыл узкий SOURCE_PG_HANDOFF и CHARGE_COMPLETENESS, сохранив RELEASE_RUNTIME=OPEN. Итог на реальном релизе для этой карточки не подтверждён.
**Как устроено / почему остановилось.** Realtime retrieval: выбранные sourceIds проходят до фактического retrieval; чужой или невыбранный источник не попадает в результат; проверить авторизованный контекст.
**Следующая операция.** Общий переход релиза выполнять по [[WEB-515]]. Индивидуальный gate этой карточки: Realtime retrieval: выбранные sourceIds проходят до фактического retrieval; чужой или невыбранный источник не попадает в результат; проверить авторизованный контекст. Зафиксировать 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-604
ТЕКУЩИЙ СРЕЗ ПЕРЕД ОСТАНОВКОЙ — WEB-604 / SEC-055
Задача: SEC-055 [Medium] Realtime retrieval теряет явный список выбранных sourceIds
Пакет 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-055 visibility; source=GREEN inherited; PG=local runtime race not claimed. Evidence: 3513 `08`: 27 tests, 20 pass, 0 fail, 7 explicit skips, exit 0. Оставшиеся gates при handoff: B, live ACL.
ТОЧНЫЙ ОСТАТОК / СЛЕДУЮЩИЙ ИСПОЛНИТЕЛЬ
Проверить owner/foreign и выбранные sourceIds в настоящем realtime retrieval; открытие документа не доказывает эту ACL-границу.
Координатор собирает 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:3306SEC055ACCEPTANCE-REPORT.md:31a4dab214fd922abb62d78888a049e52da187e194d5f9a2357c018f3a049ed1
/Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3306SEC055ACCEPTANCE-REPORT.md
SHA256 31a4dab214fd922abb62d78888a049e52da187e194d5f9a2357c018f3a049ed1
SEC-REPAIR-DISPATCH:3344:WEB-604
/Users/milamarty/waves/3344REPAIRVISIBILITY-REPORT.md
A1-REBOOT-RESUME:20260910:3360
Снимок 2026-09-10 20:40Z. Приёмка 3360 была прервана перезагрузкой A1 без полного комплекта сдачи. Сохранены прежние QA worktrees, незакоммиченные тесты, журналы и бандлы; архив /home/wave/waves/recovery-20260910/before/. Продолжение с прежним UUID сессии через exec resume. Живая tmux-сессия wq-secaccept-visibility подтверждена; UUID сверялся по заголовку журнала. Одновременно до 3 волн, общий MemoryHigh=10G/MemoryMax=12G/SwapMax=1G, Node heap=2048 MB; тяжёлые проверки последовательно. Guards и входные SHA проверены перед возвратом. Это восстановление проверки, нового GO и посадки нет. A1 перезагрузилась: в 20:33:37Z uptime=66.75 s, оба backend paidReady=true/enforce_ready, SIP health=ok.
FILL-SLOTS-2046:3360
2026-09-10 20:50Z. Независимая 3360: source GO SEC-055/056/057. Candidate d7edd0826acb0f0aee69709ff7f822cb8b4c4b73, QA acf559c4ac20349f2fb9bd5c8d15b78ecd8f1e45. Координатор прочитал полный отчёт и raw evidence: realtime 5/5, share 3/3, public 3/3, embed 4/4, remix 4/4; BASE RED по каждому пути. PG подтвердил delete/share race, no views/session/fork после delete и owner positive. Report/bundle/raw сохранены в Intel nc-ops-scripts/fill-slots-20260910-2046; SHA 0982499f83bb12893d44209a237ca6341f1cf79c90323b7ba10c7a4c9627b5a4. Lint/typecheck UNKNOWN после timeout, build/live mapping ещё нужны. Посадки нет.
CHECKPOINT3478:WEB-604 2026-09-10T23:30:08.650195+00:00
3473 активно объединяет 14 точных кандидатов для22 критериев. Этот кандидат visibility d7edd0826acb0f0aee69709ff7f822cb8b4c4b73; критерии SEC-055,SEC-056,SEC-057. Входные hashes и git objects проверены до старта. Последний наблюдённый merge66a666e38 объединил манифест миграций; итогового integration verdict нет. SEC053/054 и062/064 вне этой партии. Предыдущий scoped GO не означает проверку конфликтов, сборку или посадку.
Полные отчёты и проверки 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.
CHECKPOINT3484:WEB-604 2026-09-10T23:46:59.374675+00:00
3473 integration GO: exact HEAD f9c514014fcedccdecc2cf9e7c39a79421b4655b, все 14 кандидатов/22 критерия сохранены; P19 и migration-set 200/200, дерево чистое, SHA и bundle проверены координатором. Кандидат visibility d7edd0826acb0f0aee69709ff7f822cb8b4c4b73. Независимая 3484 Claude Opus доставлена на A1 с inputs SHA и exact BASE для merged-source/изолированной PG проверки. Пока подтверждена очередь, не выполнение тестов. Новых посадок нет; live flags/roles/scheduler/browser и post-QA впереди.
Доказательства: /Users/annakorin/nc-ops-scripts/checkpoint-3484/receipt.json, integration-manifest.json, focused-tests-summary.log, migration-gates.log и 3473SECURITYINTEGRATION-REPORT.md; доставка: refill-20260911-0050. Норматив: enterprise2-20260910/ENTERPRISE-2.md.
CHECKPOINT3484LIMIT:WEB-604 2026-09-10T23:52:07.659549+00:00
3484 не выполнила приёмку: A1 после ремонта TMPDIR отказала OAuth session expired; тот же exact candidate перенесён без дубля на A2, guard/SHA/BASE проверены. A2 запустила Claude Opus, затем WAVE_EXIT=1: weekly limit, resets Sep 12 16:00 UTC. Приёмка merged-source/PG BLOCKED_PROVIDER_LIMIT, результата нет. Кошелёк и OpenAI для security acceptance не подключались. 3473 остаётся integration-only GO для22 критериев, HEAD f9c514014fcedccdecc2cf9e7c39a79421b4655b. Посадки нет. Evidence: checkpoint-3484, refill-20260911-0052; A2 /home/ubuntu/waves/3484-acc-security-merged-pg-claude.log.
CHECKPOINT3488:WEB-604 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-604 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-604 — автономный 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-604
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.641Z · astra-securityBACKLOG64-TRIAGE-20260910-SEC-055 — 2026-09-10T17:07:53.641549+00:00 / IST=2026-09-10T22:37:53.641558+05:30
Новая карточка по возвратам R16.
Actual handler: user_invoked_only source, выбранный только в sourceIds[], получает 404; sourceId и allowed controls PASS. Candidate754999ab3/3.
База 49bc58dcc508c612b337c92af7d7d5bb71c7a681; CVSS3.1 4.3 Medium — `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L` (предварительно). Приёмка Нео и current mapping pending. Предложение: Передавать непустой explicit sourceIds список, сохранив приоритет single source и действующую ACL.
Исходные отчёты:
- R16: /Users/poolpooly/audit/inbox/2831-BLOCK27-ACCESS-MATRIX-INDEPENDENT-REPORT.md — SHA256 `91124b74b131b62115f80b0348d343477b4a4525b66c9fddd29bb23c745bfe35`
2026-09-10T17:43:11.054Z · coordinator[2026-09-10T17:43:11.002Z] Маршрут изменён по прямому указанию владельца: 3306-sec055-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.450Z · coordinatorACCEPTANCE-3300-3327:3306SEC055ACCEPTANCE-REPORT.md:31a4dab214fd922abb62d78888a049e52da187e194d5f9a2357c018f3a049ed1
Независимый отчёт получен координатором. Проверенная база l115a 8d598d69a663cfa8977816d96bb20303e9a9650c; это не повторная проверка l115c.
Блокер координатора: доставить существующий кандидат исправления и повторить независимую проверку; current-base условие воспроизведено.
SEC-055 / WEB-604 remains `NO-GO / CONFIRMED_CONDITION` on the current l115a base. The original R16 evidence described the exact historical condition at `49bc58dcc508c612b337c92af7d7d5bb71c7a681`: `sourceIds[]` narrowed the actual query, but `filterSourcesByEffectiveVisibility` received only `explicitSourceIds: [sourceId]`. The independent replay reproduced the red private-list case and passed the normal list, singular private, and implicit private controls.
The current coordinator base `8d598d69a663cfa8977816d96bb20303e9a9650c` was checked in a separate clean worktree. It contains unrelated realtime transcript handling changes, while the SEC-055 lines remain the same. The same actual handler still returns 404 before retrieval for a private source selected only in `sourceIds[]`. The existing visibility and source-read policy controls remain green, so this is not a broad ACL failure.
The delivered candidate name is `754999abec698cf89f81678539d9e58eb0453809`, with the supplied report stating `3/3` candidate green. That candidate object and raw bundle were not delivered to this checkout, so the statement is recorded as supplied evidence only, not independently accepted. No current landing or release mapping is established. Parent WEB-515 should provide the candidate bundle/current receipt and rerun this exact matrix after landing; no duplicate WEB-530 fix was made here.
2026-09-10T19:23:43.176Z · coordinatorSEC-REPAIR-DISPATCH:3344:WEB-604
Назначено исправление: волна 3344 repair-visibility, M4, Codex gpt-5.6-luna xhigh. Это разработка исправления; отдельная приёмка и посадка ещё впереди. База l115c 1ad52e16b. Входы доставлены и проверены по SHA256: /Users/milamarty/waves/inputs/security-repairs-20260910/visibility.
Бриф: /Users/milamarty/waves/queue/3344-repair-visibility-brief.md
Отчёт: /Users/milamarty/waves/3344REPAIRVISIBILITY-REPORT.md
Предыдущие результаты сохранены; 5 отсутствующих исторических кандидатов ищет координатор. Исполнитель обязан сначала проверить доступный кандидат; при отсутствии исправлять воспроизводимый дефект текущей базы и явно назвать новую реализацию.
Состояние на проверке: active.
2026-09-10T19:54:37.159Z · coordinatorSEC-INDEPENDENT-DISPATCH:3360:WEB-604
2026-09-10T19:54:22.234861+00:00 — Получен исходный repair 3344, коммит d7edd0826acb0f0aee69709ff7f822cb8b4c4b73. Отчёт автора: m4:/Users/milamarty/waves/3344REPAIRVISIBILITY-REPORT.md. Bundle SHA256: 244cc6486a66017d5d9fc9b4855d3b59fb343e0aaa2a1ad8a5ad00c8d467bf65.
Отдельная независимая приёмка 3360 на A1, Codex gpt-5.6-luna xhigh; сессия подтверждена.
Проверка exact candidate с собственными RED/GREEN/negative tests; PostgreSQL там, где требуется durable/race proof. Входы проверены по SHA256, candidate objects импортированы и проверены.
Входы: /home/wave/waves/inputs/security-independent-20260910/3360
Бриф: /home/wave/waves/queue/3360-secaccept-visibility-brief.md
Ожидаемый отчёт: /home/wave/waves/3360INDEPENDENTVISIBILITY-REPORT.md
Source repair GO автора не является независимым GO. Приёмка, интеграция, посадка и runtime proof ещё не получены. Итоговый статус после проверки; эта запись не закрывает находку.
2026-09-10T20:40:46.094Z · coordinatorA1-REBOOT-RESUME:20260910:3360
Снимок 2026-09-10 20:40Z. Приёмка 3360 была прервана перезагрузкой A1 без полного комплекта сдачи. Сохранены прежние QA worktrees, незакоммиченные тесты, журналы и бандлы; архив /home/wave/waves/recovery-20260910/before/. Продолжение с прежним UUID сессии через exec resume. Живая tmux-сессия wq-secaccept-visibility подтверждена; UUID сверялся по заголовку журнала. Одновременно до 3 волн, общий MemoryHigh=10G/MemoryMax=12G/SwapMax=1G, Node heap=2048 MB; тяжёлые проверки последовательно. Guards и входные SHA проверены перед возвратом. Это восстановление проверки, нового GO и посадки нет. A1 перезагрузилась: в 20:33:37Z uptime=66.75 s, оба backend paidReady=true/enforce_ready, SIP health=ok.
2026-09-10T20:50:48.969Z · coordinatorFILL-SLOTS-2046:3360
2026-09-10 20:50Z. Независимая 3360: source GO SEC-055/056/057. Candidate d7edd0826acb0f0aee69709ff7f822cb8b4c4b73, QA acf559c4ac20349f2fb9bd5c8d15b78ecd8f1e45. Координатор прочитал полный отчёт и raw evidence: realtime 5/5, share 3/3, public 3/3, embed 4/4, remix 4/4; BASE RED по каждому пути. PG подтвердил delete/share race, no views/session/fork после delete и owner positive. Report/bundle/raw сохранены в Intel nc-ops-scripts/fill-slots-20260910-2046; SHA 0982499f83bb12893d44209a237ca6341f1cf79c90323b7ba10c7a4c9627b5a4. Lint/typecheck UNKNOWN после timeout, build/live mapping ещё нужны. Посадки нет.
2026-09-10T23:33:43.977Z · coordinatorCHECKPOINT3478:WEB-604 2026-09-10T23:30:08.650195+00:00
3473 активно объединяет 14 точных кандидатов для22 критериев. Этот кандидат visibility d7edd0826acb0f0aee69709ff7f822cb8b4c4b73; критерии SEC-055,SEC-056,SEC-057. Входные hashes и git objects проверены до старта. Последний наблюдённый merge66a666e38 объединил манифест миграций; итогового integration verdict нет. SEC053/054 и062/064 вне этой партии. Предыдущий scoped GO не означает проверку конфликтов, сборку или посадку.
Полные отчёты и проверки 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:46:59.818Z · coordinatorCHECKPOINT3484:WEB-604 2026-09-10T23:46:59.374675+00:00
3473 integration GO: exact HEAD f9c514014fcedccdecc2cf9e7c39a79421b4655b, все 14 кандидатов/22 критерия сохранены; P19 и migration-set 200/200, дерево чистое, SHA и bundle проверены координатором. Кандидат visibility d7edd0826acb0f0aee69709ff7f822cb8b4c4b73. Независимая 3484 Claude Opus доставлена на A1 с inputs SHA и exact BASE для merged-source/изолированной PG проверки. Пока подтверждена очередь, не выполнение тестов. Новых посадок нет; live flags/roles/scheduler/browser и post-QA впереди.
Доказательства: /Users/annakorin/nc-ops-scripts/checkpoint-3484/receipt.json, integration-manifest.json, focused-tests-summary.log, migration-gates.log и 3473SECURITYINTEGRATION-REPORT.md; доставка: refill-20260911-0050. Норматив: enterprise2-20260910/ENTERPRISE-2.md.
2026-09-10T23:52:08.286Z · coordinatorCHECKPOINT3484LIMIT:WEB-604 2026-09-10T23:52:07.659549+00:00
3484 не выполнила приёмку: A1 после ремонта TMPDIR отказала OAuth session expired; тот же exact candidate перенесён без дубля на A2, guard/SHA/BASE проверены. A2 запустила Claude Opus, затем WAVE_EXIT=1: weekly limit, resets Sep 12 16:00 UTC. Приёмка merged-source/PG BLOCKED_PROVIDER_LIMIT, результата нет. Кошелёк и OpenAI для security acceptance не подключались. 3473 остаётся integration-only GO для22 критериев, HEAD f9c514014fcedccdecc2cf9e7c39a79421b4655b. Посадки нет. Evidence: checkpoint-3484, refill-20260911-0052; A2 /home/ubuntu/waves/3484-acc-security-merged-pg-claude.log.
2026-09-11T00:15:52.162Z · coordinatorCHECKPOINT3488:WEB-604 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.701Z · coordinatorCHECKPOINT3492:WEB-604 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-12T14:52:13.241Z · coordinatorTICK-3525-STALE-LIMIT-20260912:WEB-604
Старая отметка 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.157Z · coordinatorSHIFT-STOP-20260912:R2:WEB-604
ТЕКУЩИЙ СРЕЗ ПЕРЕД ОСТАНОВКОЙ — WEB-604 / SEC-055
Задача: SEC-055 [Medium] Realtime retrieval теряет явный список выбранных sourceIds
Пакет 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-055 visibility; source=GREEN inherited; PG=local runtime race not claimed. Evidence: 3513 `08`: 27 tests, 20 pass, 0 fail, 7 explicit skips, exit 0. Оставшиеся gates при handoff: B, live ACL.
ТОЧНЫЙ ОСТАТОК / СЛЕДУЮЩИЙ ИСПОЛНИТЕЛЬ
Проверить owner/foreign и выбранные sourceIds в настоящем realtime retrieval; открытие документа не доказывает эту ACL-границу.
Координатор собирает 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.476Z · coordinator[12.09 22:25Z координатор] ОБОГАЩЕНИЕ 12.09 (3573-enrich-web515-a): SEC-055 — Realtime retrieval теряет список sourceIds
Сделано: условие подтверждено на базе (независимая приёмка), исправление прошло независимую source-приёмку и интегрировано (3473→3488).
На проде: да — линия l115g, HEAD 9c8a97629 (BASE), фикс-коммит d7edd0826 в истории; live-гейт NO_ROUTE: receipt-роут read-only сделан волной 3561 (GO, HEAD 9317daef), поедет линией l115h (3570 приёмка+интеграция).
Доказано: /Users/milamarty/waves/3344REPAIRVISIBILITY-REPORT.md; /home/wave/waves/3360INDEPENDENTVISIBILITY-REPORT.md; SHIFT-STOP R2 (SOURCE=92f7ae807, ARTIFACT_SHA256=1353e969b); гейты scripts/security/live-gates/run.mjs.
Осталось: Live-гейт NO_ROUTE: дождаться receipt-роута (волна 3561) линией l115h и прогнать гейт по маршруту.; Точный fix→release mapping принят координатором (SOURCE=92f7ae80 → l115g), но независимой строкой на карточке ещё не зафиксирован.; Полная browser/security приёмка (SHIFT-STOP R2 помечен как неполная)..
Кто следующий: координатор — дождаться гейта, закрыть BILLING_PARITY=NO-GO; статус не меняется (keep).
Ссылки: /Users/milamarty/waves/3344REPAIRVISIBILITY-REPORT.md; /home/wave/waves/3360INDEPENDENTVISIBILITY-REPORT.md; ARTIFACT_SHA256 1353e969b2a7a1a31ac702be361913c41cb53c104db49938a02f5fcd07766668; BASE l115a 8d598d69a663cfa8977816d96bb20303e9a9650c; R16 2831-BLOCK27-ACCESS-MATRIX-INDEPENDENT-REPORT.md (SHA 91124b74b131b62115f80b0348d343477b4a4525b66c9fddd29bb23c745bfe35); SOURCE 92f7ae807869bbaa8ae7ef6ca2ea622675e31af9; candidate d7edd0826acb0f0aee69709ff7f822cb8b4c4b73; fix d7edd0826acb0f0aee69709ff7f822cb8b4c4b73; 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-13T06:20:53.139Z · coordinator[13.09 06:20Z координатор] ЖИВОЕ ДОКАЗАТЕЛЬСТВО ЕСТЬ → done. SEC-055: раннер-гейт l115h: selectedIdsPreserved=true, foreignIdsExcluded=true
Проверено на проде l115h (13.09, прогон раннера живых гейтов с копии боевого процесса на :3011 и QA-фикстурами; SEC-068/069 — чекером ролей БД, PASS 2224/0/0). Остатка по коду нет.
Матрица: /home/ubuntu/sec-checks-3592/out/matrix.txt; карта эпика: shift-20260912-resume/3604/collected/out/WEB515-CLOSING-MAP.md (волна 3604).
2026-09-13T09:05:32.602Z · coordinator[13.09 09:05Z координатор] ОБОГАЩЕНИЕ ПОД НУЛЕВОГО АГЕНТА (канон WEB-449, волна 3639): тело карточки переписано — суть, МЕХАНИКА (файлы/функции/где гейт/корень), хронология с волнами и коммитами, чем доказано живьём с путями к evidence, карта документов по машинам, остаток, и одна команда для перепроверки. Прежний текст триажа 10.09 сохранён в конце тела как «История», плюс бэкап /tmp/secbody-backup-WEB-604.md на M1.
Воркер
не проверен
STOPPED; l115f-r2 installed; finding live gate OPEN
coordinator
движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-09-13T09:05:32.600Z