WEB-612 · Задача · — · web
SEC-063 [CVSS N/A or UNKNOWN] Статус done учитывается как индекс при отсутствии индексной строки
Закрыт
P2
ведёт: —
эпик: WEB-515
Суть
# SEC-063 — Статус done учитывается как индекс при отсутствии индексной строки
## 1. Суть и условие дефекта
Статус done не должен считаться «индексировано» без реальной индексной строки (ложный positive индексации).
## 2. МЕХАНИКА
Index readiness `src/lib/sources/indexReadiness.ts:76-80,119-126` и receipts `src/lib/chat/evidenceReceipts.ts:328-336` считают источник готовым по статусу. **Корень:** `status=done` учитывался как индекс при отсутствии индексной строки. Фикс `c92bf14e` **уже был в коде** — новый фикс не потребовался (REFUTED). **Гейт:** `indexing_status=done`, `sourceDeleted=false`, `chunk_count=3339` (реально индексирован, не ложно).
## 3. ЧТО СДЕЛАНО
1. **10.09** — триаж BACKLOG64 (база `49bc58dcc`): карточка заведена из отчёта R09; условие подтверждено, независимая приёмка 3314SEC063ACCEPTANCE-REPORT.md (a2) — NO-GO (условие подтверждено, фикс отсутствует).
2. **10.09** — repair-волна — (fix c92bf14e уже в коде) написала фикс `c92bf14e`; независимая source-приёмка — (независимая приёмка 3314) — 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-063** → observed: `indexing_status=done, sourceDeleted=false, chunk_count=3339`.
Матрица: `/home/ubuntu/sec-checks-3592/out/matrix.txt` (matrix-l115i.txt — 13 PASS / 0 FAIL). Карточка закрыта комментарием координатора 13.09.
## 5. КАРТА ДОКУМЕНТОВ
- Repair-волна: `/home/ubuntu/waves/3314SEC063ACCEPTANCE-REPORT.md`
- Независимая source-приёмка: —
- Приёмка условия (триаж): `/Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3314SEC063ACCEPTANCE-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. ОСТАТОК
Пустые chunk'и (отдельный вопрос) — вынесены в WEB-593, к этой карточке не относятся.
## 7. КАК ПЕРЕПРОВЕРИТЬ
```
node scripts/security/live-gates/run.mjs # гейт scripts/security/live-gates/gates/SEC-063.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-063
**Условие:** Статус done учитывается как индекс при отсутствии индексной строки.
**Состояние:** подтверждено в изученных стендовых свидетельствах воркера на указанной базе; независимая приёмка на Нео ещё не выполнена. Это не объявление дефекта живого l115a. Исходный NO-GO относится к полному scope и может одновременно содержать незавершённые группы.
**Исследованные байты:** `30000baf9939f94d062b0e216f023a11faa4af3f`. Базовая ветка — указанная в исходном отчёте; рабочее дерево lead `/Users/poolpooly/audit/nc` не используется вместо этой версии. **Файл:строка:** src/lib/sources/indexReadiness.ts:76-80,119-126; src/lib/chat/evidenceReceipts.ts:328-336.
**Доказательство и controls:** ActualbuildEvidenceReceipts: selectedsourceA/indexed=[]/statusdone→indexedSources1 вместо 0; redexit1, failed/queued/poisoned controlsPASS.
**CVSS 3.1:** N/A — функциональная/операционная находка без доказанного CIA-влияния.
CVSS3.1 N/A: ложный продуктовый completeness receipt, внешнее CIA воздействие не установлено.
Числа пересчитаны по FIRST CVSS3.1, а не скопированы из заголовков: https://www.first.org/cvss/v3.1/specification-document#7-1-Base-Metrics-Equations . При неполных предпосылках оценка не становится окончательной. N/A/UNKNOWN не означает Low или нулевой риск.
**Предложение исправления:** Не считать done достаточным приотсутствующем index; учитывать visibility/readiness и missingreason, сохранить корректные complete/failed controls.
**Сданные изменения:** Не представлен в этом возврате.
**Связи/дедупликация:** WEB-435 Старые условия SEC-001…048 не регистрируются заново. Эта карточка описывает отдельное условие, а не повтор счёта того же отчёта.
## KNOWN ISSUES / ТРАБЛШУТИНГ
Симптом → Статус done учитывается как индекс при отсутствии индексной строки.
Проверка → воспроизвести указанный actual-module/PG fixture с положительным разрешённым контролем; сверить SHA исходников и хеши артефактов. Мок транспорта допустим, мок самой проверяемой проверки — нет. Report file получен и хеширован лидом; исходные raw artifacts вне inbox ещё не объявляются независимо проверенными.
Причина → src/lib/sources/indexReadiness.ts:76-80,119-126; src/lib/chat/evidenceReceipts.ts:328-336.
Лечение/статус → Не считать done достаточным приотсутствующем index; учитывать visibility/readiness и missingreason, сохранить корректные complete/failed controls. Приёмка/актуальность 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.
## Карта документов
- R29: /Users/poolpooly/audit/inbox/3123-B34-04-REPORT.md — SHA256 `4e2924b424f143c2d42e1032b5b5ed4ede97d527b07c8c55c7dfa94d67eb9b4d`
- Мастер-разбор: /Users/poolpooly/audit/outbox/BACKLOG64-TRIAGE-20260910.md
- Данные: /Users/poolpooly/audit/evidence/backlog64-20260910/findings28.json
## HANDOFF-20260912T1721:WEB-612 — точка входа для нового агента
Правила обогащения: [[WEB-449]]. Наблюдение: 12.09.2026 18:21:36 Europe/Dublin / 17:21:36 UTC. Автор: координатор. История выше сохранена; эту запись читать как текущий handoff на указанное время.
**Задача.** SEC-063 [CVSS N/A or UNKNOWN] Статус done учитывается как индекс при отсутствии индексной строки
**Что подтверждено и что остаётся.** 3314: VERDICT=GO / REFUTED на candidate8d598d69a663cfa8977816d96bb20303e9a9650c. Исторический дефект подтверждался на30000baf…; fixc92bf14e… уже был предком candidate. Source-only28/28; это не новая production-проверка.
**Как устроено / почему остановилось.** indexReadiness.ts: done без index и без измеренных chunk counts возвращает missing/not-in-index. WEB-593 — отдельный ремонт реальных документов без chunks; исправление классификатора само не создаёт chunks.
**Следующая операция.** Сверить предка c92bf14e3c24e2b0dc6def24026b3a88a3f1f50f и байты classifier в фактическом release; получить текущую runtime-расписку для done/no-index. Не создавать повторный source fix. Связать результат с [[WEB-593]].
**Исполнитель и приёмка.** Координатор даёт установленный artifact и исполняет хостовые операции; независимый security-приёмщик проверяет gate. Назначение не считать запущенным процессом.
**Условие закрытия.** Доказанный результат именно этой finding на установленной версии и соответствующий независимый вердикт; review остаётся до этого.
**КАРТА ДОКУМЕНТОВ**
- Intel: /Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3314SEC063ACCEPTANCE-REPORT.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-612
ТЕКУЩИЙ СРЕЗ ПЕРЕД ОСТАНОВКОЙ — WEB-612 / SEC-063
Задача: SEC-063 [CVSS N/A or UNKNOWN] Статус done учитывается как индекс при отсутствии индексной строки
Пакет 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 не переписывать.
ПРИЁМКА ЭТОЙ НАХОДКИ
3314: GO/REFUTED на candidate8d598d69a; source-only28/28. Fixc92bf14e является предком установленного92f7ae807; classifier/evidenceReceipts неизменны между accepted candidate и r2. Отдельная runtime-проверка ещё OPEN.
ТОЧНЫЙ ОСТАТОК / СЛЕДУЮЩИЙ ИСПОЛНИТЕЛЬ
Повторить done/no-index runtime receipt на текущем релизе. Fix c92bf14e3c24e2b0dc6def24026b3a88a3f1f50f подтверждён предком r2; indexReadiness.ts и evidenceReceipts.ts байт-в-байт совпадают с accepted candidate 8d598d69a. Новый source fix не нужен; создание отсутствующих chunks относится к WEB-593.
Координатор собирает 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]].
Доказательства
RECEIVED-FINAL6:bce5c6c7120888798c9ccc67d53e00429ac9432b4f2dc985d9bed7a83f04d998
/Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3314SEC063ACCEPTANCE-REPORT.md
SHA256 bce5c6c7120888798c9ccc67d53e00429ac9432b4f2dc985d9bed7a83f04d998
HANDOFF-20260912T1721:WEB-612 — автономный 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-612
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:54.300Z · astra-securityBACKLOG64-TRIAGE-20260910-SEC-063 — 2026-09-10T17:07:54.299871+00:00 / IST=2026-09-10T22:37:54.299881+05:30
Новая карточка по возвратам R29.
ActualbuildEvidenceReceipts: selectedsourceA/indexed=[]/statusdone→indexedSources1 вместо 0; redexit1, failed/queued/poisoned controlsPASS.
База 30000baf9939f94d062b0e216f023a11faa4af3f; CVSS3.1 N/A — функциональная/операционная находка без доказанного CIA-влияния. Приёмка Нео и current mapping pending. Предложение: Не считать done достаточным приотсутствующем index; учитывать visibility/readiness и missingreason, сохранить корректные complete/failed controls.
Исходные отчёты:
- R29: /Users/poolpooly/audit/inbox/3123-B34-04-REPORT.md — SHA256 `4e2924b424f143c2d42e1032b5b5ed4ede97d527b07c8c55c7dfa94d67eb9b4d`
2026-09-10T17:43:11.068Z · coordinator[2026-09-10T17:43:11.002Z] Маршрут изменён по прямому указанию владельца: 3314-sec063-acceptance-brief.md → Codex gpt-5.6-luna xhigh, NEO. Предыдущий Claude-запуск завершился по weekly limit без отчёта; его бриф и лог сохранены. Повторно поставлен тот же номер волны. База current l115a и три исторических SHA проверены на хосте. Доставлены исходные отчёты с manifest SHA256; raw artifacts и effective host inputs не объявляются полностью полученными. Критерии независимости и доказательств сохранены. Постановка в очередь не является положительной приёмкой или посадкой.
2026-09-10T18:39:13.536Z · coordinatorACCEPTANCE-PENDING-1838:SEC-63
Волна 3314: независимая проверка выполняется на A2. Финального отчёта в собранном наборе пока нет. Шесть ожидавших волн перенесены с Нео на A2, проверены brief-guard, запуски подтверждены; пауза Нео снята.
2026-09-10T19:06:33.473Z · coordinatorRECEIVED-FINAL6:bce5c6c7120888798c9ccc67d53e00429ac9432b4f2dc985d9bed7a83f04d998
GO/REFUTED: историческая проблема воспроизведена; на l115a устранена прежним c92bf14e3c24e2b0dc6def24026b3a88a3f1f50f, 28/28 тестов. Координатор подтвердил предка и в живом l115c 1ad52e16b. Нового фикса/посадки не требуется. Статус review: живое поле расписки этой проверкой не проверялось.
## ДЛЯ ТИКЕТА
Evolution for WEB-612 / SEC-063:
1. R29 report `3123-B34-04-REPORT.md` at SHA
`4e2924b424f143c2d42e1032b5b5ed4ede97d527b07c8c55c7dfa94d67eb9b4d`
identified the independent condition on exact bytes
`30000baf9939f94d062b0e216f023a11faa4af3f`: a selected source with no
index id but status `done` produced `indexedSources=1`.
2. The historical actual-module suite confirmed the condition: 28 discovered,
27 pass, 1 red, exit 1. The standalone actual receipt fixture confirmed
the same `1` versus expected `0` mismatch while failed/queued/poisoned
controls remained fail-closed.
3. Later fix `c92bf14e3c24e2b0dc6def24026b3a88a3f1f50f` added the missing
`done` + absent-index guard. It is an ancestor of current base
`8d598d69a663cfa8977816d96bb20303e9a9650c`; the exact mapping was checked,
not inferred from a branch name.
4. Current actual-module acceptance is green: 28 discovered, 28 pass, 0 red,
exit 0. The independent fixture returns `indexedSources=0` with
`not-in-index`, while the positive `done` and failed/queued/poisoned
controls retain their required outcomes.
5. SEC-063 is therefore accepted as **GO / REFUTED on the current candidate**.
No new code, migration, release, production action, or duplicate WEB-435
registration is required. SEC-064 (lease/budget) is outside this scope.
Acceptance report: `/home/ubuntu/waves/3314SEC063ACCEPTANCE-REPORT.md`.
SHA256 manifest: `/home/ubuntu/waves/3314SEC063ACCEPTANCE-SHA256SUMS.txt`.
Reviewer artifact logs: `/home/ubuntu/waves/3314SEC063ACCEPTANCE-artifacts/`.
2026-09-12T18:22:02.186Z · coordinatorSHIFT-STOP-20260912:R2:WEB-612
ТЕКУЩИЙ СРЕЗ ПЕРЕД ОСТАНОВКОЙ — WEB-612 / SEC-063
Задача: SEC-063 [CVSS N/A or UNKNOWN] Статус done учитывается как индекс при отсутствии индексной строки
Пакет 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 не переписывать.
ПРИЁМКА ЭТОЙ НАХОДКИ
3314: GO/REFUTED на candidate8d598d69a; source-only28/28. Fixc92bf14e является предком установленного92f7ae807; classifier/evidenceReceipts неизменны между accepted candidate и r2. Отдельная runtime-проверка ещё OPEN.
ТОЧНЫЙ ОСТАТОК / СЛЕДУЮЩИЙ ИСПОЛНИТЕЛЬ
Повторить done/no-index runtime receipt на текущем релизе. Fix c92bf14e3c24e2b0dc6def24026b3a88a3f1f50f подтверждён предком r2; indexReadiness.ts и evidenceReceipts.ts байт-в-байт совпадают с accepted candidate 8d598d69a. Новый source fix не нужен; создание отсутствующих chunks относится к WEB-593.
Координатор собирает 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.492Z · coordinator[12.09 22:25Z координатор] ОБОГАЩЕНИЕ 12.09 (3574-enrich-web515-b):
Сделано: условие подтверждено и закрыто как GO/REFUTED ещё на кандидате — fix c92bf14e уже был в коде, нового фикса не делали.
На проде: да, линия l115g (коммит 9c8a9762), и гейт SEC-063 подтверждён живьём раннером 21:49Z — документ со статусом done и 3339 chunk'ами не считается неиндексированным.
Доказано: приёмка 3314 (source 28/28), раннер live-gates (раунд 3), файлы indexReadiness.ts/evidenceReceipts.ts в дереве l115g.
Осталось: положить PASS-receipt живого гейта в карточку; пустые chunks реальных документов — это WEB-593, отдельная работа.
Кто следующий: координатор фиксирует receipt; независимый security-приёмщик ставит финальный вердикт. Статус keep (review).
Ссылки: /Users/annakorin/nc-ops-scripts/run-l115b-luna/acceptance-results/a2/3314SEC063ACCEPTANCE-REPORT.md (SHA bce5c6c7…); /Users/poolpooly/audit/inbox/3123-B34-04-REPORT.md (R29); fix c92bf14e3c24e2b0dc6def24026b3a88a3f1f50f; candidate 8d598d69a663cfa8977816d96bb20303e9a9650c; src/lib/sources/indexReadiness.ts:76-80,119-126; src/lib/chat/evidenceReceipts.ts:328-336; scripts/security/live-gates/run.mjs; live-gates-prod-matrix4.txt; [[WEB-593]], [[WEB-650]]
Отчёт волны: /Users/milamarty/waves/3574ENRICH*-REPORT.md (M4), копия nc-ops-scripts/shift-20260912-resume/wash-20260912/enrich-collected/.
2026-09-13T06:20:58.014Z · coordinator[13.09 06:20Z координатор] ЖИВОЕ ДОКАЗАТЕЛЬСТВО ЕСТЬ → done. SEC-063: раннер-гейт l115h: indexing_status=done, sourceDeleted=false, chunk_count=3339 (не ложно индексирован)
Проверено на проде 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.694Z · coordinator[13.09 09:05Z координатор] ОБОГАЩЕНИЕ ПОД НУЛЕВОГО АГЕНТА (канон WEB-449, волна 3639): тело карточки переписано — суть, МЕХАНИКА (файлы/функции/где гейт/корень), хронология с волнами и коммитами, чем доказано живьём с путями к evidence, карта документов по машинам, остаток, и одна команда для перепроверки. Прежний текст триажа 10.09 сохранён в конце тела как «История», плюс бэкап /tmp/secbody-backup-WEB-612.md на M1.
Воркер
не проверен
STOPPED; l115f-r2 installed; finding live gate OPEN
coordinator
движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-09-13T09:05:32.693Z