WEB-642 · Задача · — · web
Bus factor / BF-01: Актуальные источники и карта операций
В работе
P2
ведёт: —
эпик: WEB-641
Суть
Bus factor / BF-01: Актуальные источники и карта операций (схема R2: хранитель + ИИ)
Правила обогащения: WEB-449.
## Суть одной фразой
Карта операций восстановления: для каждой операции (restore / rollback / verified_release_replay) — какой источник нужен, где он лежит и каким файлом КОМПЛЕКТА покрыт. Карта ведёт к комплекту (START-HERE + подписанный манифест + зашифрованный архив + вторая копия), а НЕ к отдельной системе управления секретами.
## Цель / сдача / приёмка
Карта: операция → источник → файл комплекта → доказательство актуальности. Различать MISSING / STALE / CONFLICT / DOCUMENTED_UNTESTED. Якорь сверки — живая линия l115j `133fe00cb0f86982eea1fd6d2029e5b35fcc9e40` (13.09 08:50Z), не исторические l115a/l115e. Терминальный узел каждой строки — комплект, а не отдельный сервис секретов.
## Зависимости
WEB-641 (родитель, схема R2). Использует: инструменты комплекта (волна 3685), резервную подпись и таблицу прав (волна 3686 / WEB-644). Карта питает стартовую инструкцию WEB-643.
## Где мы сейчас (13.09.2026)
Схема упрощена владельцем (WEB-641, R2 от 13.09): один хранитель + его ИИ-исполнитель, один комплект на существующем Hetzner Storage Box + вторая копия вне него, без новых подписок. Карта перестала быть инвентарём «системы секретов» (паспорт l115a + три доски + 5783 вложения) — теперь её предмет: какие источники нужны восстановлению и как их покрывает комплект.
Инструменты комплекта уже построены и лежат на отдельных ветках (в посадочной линии l115j их нет — PROD-FACTS 13.09 эти пути не упоминает):
- упаковщик / START-HERE / манифест / проверяльщик / опись: `ops/busfactor-kit/**` + `docs/operations/busfactor/EMERGENCY-KIT-COORDINATOR-STEPS.md` — волна 3685 (VERDICT=GO);
- резервная подпись + таблица прав: `src/lib/release/backupSigner.ts`, `scripts/manage-trusted-signers.ts`, `RIGHTS-TABLE.md` — волна 3686 (VERDICT=GO).
## Карта (строки-операции)
| Операция восстановления | Источник | Где лежит | Покрытие в комплекте | Статус |
|---|---|---|---|---|
| restore (восстановить данные/файлы) | резервные данные БД/файлов | Hetzner Storage Box (основное место) + вторая копия вне его | манифест: место резервных данных + путь получения остального; архив: книга/runbooks BF04 | DOCUMENTED_UNTESTED (репетиция B не проведена) |
| rollback (откатить приложение/БД) | release-линия, compat-артефакт | живая линия l115j, `ops/line-factory/**` | архив: BF04 runbook + карта сервисов; резервная подпись (3686) ограничивает rollback | DOCUMENTED_UNTESTED |
| verified_release_replay (повторить проверенный релиз) | подписанный релиз | trusted-signers реестр (3686) | манифест: SHA релиза; backupSigner (3686) | DOCUMENTED_UNTESTED |
| вход без владельца (запустить модель) | отдельная учётка/подписка | — | RIGHTS-TABLE (3686) помечен OPEN | MISSING |
| контроль внешних аккаунтов (GitHub org, Cloudflare, Oracle Cloud) | аккаунт провайдера | — | RIGHTS-TABLE (3686): копией не заменяется | MISSING (нужен контроль аккаунта) |
Полные пути/имена реальных мест и подаккаунтов — «уточняет координатор» (волна карту мест сама не инвентаризировала, прод не трогала).
## Хронология (append)
- 12.09: карта строилась как инвентарь трёх досок (волны 3517/3528/3531/3539) — исторический подход, до R2.
- 13.09: R2 (WEB-641) упростил схему; 3685 построил инструменты комплекта; 3686 — резервную подпись и таблицу прав; это тело переписано под R2 (волна 3695).
## КАРТА ДОКУМЕНТОВ
- Схема R2: /Users/milamarty/waves/inputs/3695-bf01-bf02-refresh/WEB641-BUS-FACTOR-MINIMAL-R2.md
- Отчёт инструментов комплекта: /Users/milamarty/waves/inputs/3696-keeper-email-pack/3685EMERGENCYKIT-REPORT.md
- Отчёт резервной подписи: /Users/milamarty/waves/inputs/3696-keeper-email-pack/3686BACKUPSIGNER-REPORT.md
- Прод-факты (l115j): /Users/milamarty/waves/inputs/3695-bf01-bf02-refresh/PROD-FACTS.md
- Код комплекта (ветка wave/3685-emergency-kit): `ops/busfactor-kit/**`; координаторские шаги — `docs/operations/busfactor/EMERGENCY-KIT-COORDINATOR-STEPS.md`
- Таблица прав (ветка wave/3686-backup-signer): `RIGHTS-TABLE.md`
## Остаток (ответственный)
1. Заполнить реальную опись материалов комплекта (`inventory.json`) реальными путями — координатор/владелец (3685 дал только шаблон).
2. Создать реальную Hetzner-инфраструктуру + подаккаунт хранителя + вторую копию вне Hetzner — координатор (см. EMERGENCY-KIT-COORDINATOR-STEPS.md).
3. Утвердить реальный резервный ключ и внести в trusted-signers — владелец (3686: реестр пока примерный).
4. Сверять карту с живой линией после каждой посадки — координатор.
## Критерий закрытия (предъявимый)
Каждая операция (restore / rollback / verified_release_replay / вход без владельца / контроль внешних аккаунтов) имеет строку «источник → файл комплекта → статус → ссылка на факт», и каждая строка заканчивается в комплекте (START-HERE / манифест / архив / вторая копия), а не в отдельной системе секретов. Проверка: независимый агент по карте + комплекту называет для каждой операции источник и команду; для не покрытых — честно MISSING/«уточняет координатор». Якорь — l115j `133fe00c`.
## KNOWN ISSUES / ТРАБЛШУТИНГ
- Якорь старого тела (l115a vs l115e) устарел — заменён на l115j `133fe00c` (PROD-FACTS 13.09).
- Инструменты комплекта (3685/3686) — на отдельных ветках, не в линии l115j; посадки не было (PROD-FACTS l115h/i/j их не содержит).
- Реальные age-бинарник, Hetzner-инфраструктура, ключи владельца/хранителя, опись и репетиции A/B — не сделаны (KNOWN ISSUES отчётов 3685/3686).
---
## История (старый текст, сохранён ниже)
TAKEOVER-NC-R1:BF-01
Правила обогащения: WEB-449.
Цель/сдача/приёмка: Карта операция → тикет → инструкция → релиз → доказательство. Проверить Web/Legacy/iOS и паспорт; различать MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED. Зафиксировать отставание паспорта l115a от последней проверенной l115e.
Зависимости: нет
КАРТА ДОКУМЕНТОВ
Полная адаптация: WEB-641; Intel /Users/annakorin/nc-ops-scripts/takeover-20260912/TAKEOVER-NC-R1.md; оригинал Downloads/NC-TAKEOVER-PROOF-R1.md. Связанные WEB-093/626/082/470/515/320.
ЭВОЛЮЦИЯ
12.09.2026: запрос владельца; подготовка на малом ходу, без нового восьмичасового обещания. Экзамен ещё не проведён.
KNOWN ISSUES / ТРАБЛШУТИНГ
Паспорт l115a расходится с последней измеренной l115e; сверить 00-INDEX/CANON с расписками всех служб, обновить канонический снимок и повторить затронутые шаги. Остальные пробелы фиксировать по доказательствам.
TAKEOVER3517:RESULT
Работник 3517 на M1: gpt-5.6-luna high, nice +10, NODE_OPTIONS=--max-old-space-size=768; один docs запуск wq-takeover-map-3517. Фактические PID 18574/18575 подтверждены; завершился exit 0, DONE есть, прежних процессов и tmux-сессии при проверке 2026-09-12T11:16:16Z не осталось. При запуске унаследованы лишние MCP-процессы; все завершились вместе с заданием, повторного запуска не было.
Сданы BF01 source-map.json, START-DRAFT.md, BF08-DRAFT.md и 3517TAKEOVERMAP-REPORT.md. Guard PASS; JSON, SHA256SUMS и bundle verify проверены; локальная копия перечитана по hashes.
Вердикт работника VERDICT=NO-GO только по полноте документации: нет автономных экспортов трёх досок с обязательными вложениями, свежих release receipts и независимых evidence; паспорт l115a отстаёт от наблюдения l115e, CANON/03 конфликтуют по migration counts. Это подготовка, НЕ независимый blind test; BF01 остаётся in_progress, не review/done.
BASE — наблюдение 12.09 08:47 UTC: l115e bb43b5fe20398309b3b373df3c00fa1d3040397d, не новое измерение.
Receipt: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-receipt.json
Сдача Intel: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-delivery/
Сдача M1: /Users/poolpooly/audit/coordinator-jobs/3517-takeover-map/
Bundle SHA256: 27866c5ca3f5d0a082cb479f574fbd3e66d16aa0577f84821be0a7424f764b89
Следующий шаг координатора: предоставить недостающие экспорты/источники и актуальные расписки, разрешить конфликты канона, затем проверить обновлённую карту. Полномочия на прод, сборку и независимый экзамен этой работой не расширены.
## HANDOFF-20260912T1721:WEB-642 — точка входа для нового агента
Правила обогащения: [[WEB-449]]. Наблюдение: 12.09.2026 18:21:36 Europe/Dublin / 17:21:36 UTC. Автор: координатор. История выше сохранена; эту запись читать как текущий handoff на указанное время.
**Задача.** Bus factor / BF-01: Актуальные источники и карта операций
**Что подтверждено и что остаётся.** Принято0/8 по обязательным критериям эпика.3517 дала карту и drafts с пробелами;3527 — документальный runbook GO, практической проверки нет. Экспорты трёх досок получены; полнота payload вложений и независимое чтение автономного пакета пока не доказаны. Экзамен BF05 NOT_RUN.
**Как устроено / почему остановилось.** Человек/агент начинает только с START и независимой копии. Доступ к текущему чату, M1, Intel или сайту доски не должен быть скрытой зависимостью экзамена. Наличие архива/бандла не доказывает restore. Human access, Web technical, iOS и bitwise — отдельные строки.
**Следующая операция.** Сверить operation→ticket→runbook→release→evidence. Обновить отставший паспорт по живым receipts; historical l115a не маркировать текущим l115e. Перечислить MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED и полные пути.
**Исполнитель и приёмка.** Подготовка пакета — исполнитель BF; coordinator отвечает за входные файлы и отдельный контур. Автор START и оператор blind-экзамена должны различаться.3531 имеет готовый бриф, живой старт M4 на последней wave-health не подтверждён.
**Условие закрытия.** Карта операция → тикет → инструкция → релиз → доказательство. Проверить Web/Legacy/iOS и паспорт; различать MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED. Зафиксировать отставание паспорта l115a от последней проверенной l115e.
**КАРТА ДОКУМЕНТОВ**
- Intel: /Users/annakorin/nc-ops-scripts/takeover-20260912/TAKEOVER-NC-R1.md
- Intel: /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-busfactor-offline-package-brief.md
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/three-board-export-receipt.json
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3527/3527BUSFACTOROPERATINGRUNBOOK-REPORT.md
- M4: /Users/milamarty/waves/inputs/3531-busfactor-offline-package/ (передачу/SHA проверить); /Users/milamarty/waves/3531BUSFACTOROFFLINEPACKAGE-REPORT.md (ожидаемый)
**Порядок:** BF01/BF02/BF04→BF05→BF06→BF07; BF03 и BF08 ведутся отдельно. Родитель: [[WEB-641]]. Human-access OPEN не останавливает подготовку пакета.
SHIFT-STOP-20260912:FINAL:WEB-642
Bus factor / BF-01: Актуальные источники и карта операций
Срез перед остановкой 12.09.2026. По поручению владельца 18:13:55 UTC новые волны и экзамены остановлены.
3531 LIMITED_PACKAGE_READBACK_PASS сохранён на Intel: HEAD7c380efb2eccd59162e14239a5d7fde142dd26fa, archive SHA150c3e194528fa45a788b0de9d3de1f4d889c198d306c14b713e7ca3ada1e1f8. Получены48 файлов с hash verification, clean/ancestry/bundle PASS. Package49 files, manifest47, SHA checks48; tamper negative exit1, links0 errors.
Это ограниченный offline package: 3 sanitized board exports, docs/runbook, manifest/SHA/verifier; 5783 attachment references, 0 collected attachment payloads. Полный OFFLINE_KNOWLEDGE PASS не выдан. Bus factor принято0/8, BF05 practical exam NOT_RUN, HUMAN_ACCESS_CONTINUITY OPEN.
Passport l115a stale; package source facts l115e не подтверждают новый l115f-r2. Для operational использования сначала актуализировать release/source/artifact/backup chain и совместимый rollback. Архивные команды обсуждений не выполнять вслепую.
Файлы Intel: /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-collection-receipt.json; delivery/3531BUSFACTOROFFLINEPACKAGE-REPORT.md; readback/package/ (проверенная распаковка). Source archive и bundle остаются на M4; local delivery сохранена.
ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Сверить паспорт и карту операций с l115f-r2 и совместимым rollback; пакет 3531 использовал более ранние l115a/l115e факты.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.
---
## история (тело до 13.09.2026)
TAKEOVER-NC-R1:BF-01
Правила обогащения: WEB-449.
Цель/сдача/приёмка: Карта операция → тикет → инструкция → релиз → доказательство. Проверить Web/Legacy/iOS и паспорт; различать MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED. Зафиксировать отставание паспорта l115a от последней проверенной l115e.
Зависимости: нет
КАРТА ДОКУМЕНТОВ
Полная адаптация: WEB-641; Intel /Users/annakorin/nc-ops-scripts/takeover-20260912/TAKEOVER-NC-R1.md; оригинал Downloads/NC-TAKEOVER-PROOF-R1.md. Связанные WEB-093/626/082/470/515/320.
ЭВОЛЮЦИЯ
12.09.2026: запрос владельца; подготовка на малом ходу, без нового восьмичасового обещания. Экзамен ещё не проведён.
KNOWN ISSUES / ТРАБЛШУТИНГ
Паспорт l115a расходится с последней измеренной l115e; сверить 00-INDEX/CANON с расписками всех служб, обновить канонический снимок и повторить затронутые шаги. Остальные пробелы фиксировать по доказательствам.
TAKEOVER3517:RESULT
Работник 3517 на M1: gpt-5.6-luna high, nice +10, NODE_OPTIONS=--max-old-space-size=768; один docs запуск wq-takeover-map-3517. Фактические PID 18574/18575 подтверждены; завершился exit 0, DONE есть, прежних процессов и tmux-сессии при проверке 2026-09-12T11:16:16Z не осталось. При запуске унаследованы лишние MCP-процессы; все завершились вместе с заданием, повторного запуска не было.
Сданы BF01 source-map.json, START-DRAFT.md, BF08-DRAFT.md и 3517TAKEOVERMAP-REPORT.md. Guard PASS; JSON, SHA256SUMS и bundle verify проверены; локальная копия перечитана по hashes.
Вердикт работника VERDICT=NO-GO только по полноте документации: нет автономных экспортов трёх досок с обязательными вложениями, свежих release receipts и независимых evidence; паспорт l115a отстаёт от наблюдения l115e, CANON/03 конфликтуют по migration counts. Это подготовка, НЕ независимый blind test; BF01 остаётся in_progress, не review/done.
BASE — наблюдение 12.09 08:47 UTC: l115e bb43b5fe20398309b3b373df3c00fa1d3040397d, не новое измерение.
Receipt: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-receipt.json
Сдача Intel: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-delivery/
Сдача M1: /Users/poolpooly/audit/coordinator-jobs/3517-takeover-map/
Bundle SHA256: 27866c5ca3f5d0a082cb479f574fbd3e66d16aa0577f84821be0a7424f764b89
Следующий шаг координатора: предоставить недостающие экспорты/источники и актуальные расписки, разрешить конфликты канона, затем проверить обновлённую карту. Полномочия на прод, сборку и независимый экзамен этой работой не расширены.
## HANDOFF-20260912T1721:WEB-642 — точка входа для нового агента
Правила обогащения: [[WEB-449]]. Наблюдение: 12.09.2026 18:21:36 Europe/Dublin / 17:21:36 UTC. Автор: координатор. История выше сохранена; эту запись читать как текущий handoff на указанное время.
**Задача.** Bus factor / BF-01: Актуальные источники и карта операций
**Что подтверждено и что остаётся.** Принято0/8 по обязательным критериям эпика.3517 дала карту и drafts с пробелами;3527 — документальный runbook GO, практической проверки нет. Экспорты трёх досок получены; полнота payload вложений и независимое чтение автономного пакета пока не доказаны. Экзамен BF05 NOT_RUN.
**Как устроено / почему остановилось.** Человек/агент начинает только с START и независимой копии. Доступ к текущему чату, M1, Intel или сайту доски не должен быть скрытой зависимостью экзамена. Наличие архива/бандла не доказывает restore. Human access, Web technical, iOS и bitwise — отдельные строки.
**Следующая операция.** Сверить operation→ticket→runbook→release→evidence. Обновить отставший паспорт по живым receipts; historical l115a не маркировать текущим l115e. Перечислить MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED и полные пути.
**Исполнитель и приёмка.** Подготовка пакета — исполнитель BF; coordinator отвечает за входные файлы и отдельный контур. Автор START и оператор blind-экзамена должны различаться.3531 имеет готовый бриф, живой старт M4 на последней wave-health не подтверждён.
**Условие закрытия.** Карта операция → тикет → инструкция → релиз → доказательство. Проверить Web/Legacy/iOS и паспорт; различать MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED. Зафиксировать отставание паспорта l115a от последней проверенной l115e.
**КАРТА ДОКУМЕНТОВ**
- Intel: /Users/annakorin/nc-ops-scripts/takeover-20260912/TAKEOVER-NC-R1.md
- Intel: /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-busfactor-offline-package-brief.md
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/three-board-export-receipt.json
- Intel: /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3527/3527BUSFACTOROPERATINGRUNBOOK-REPORT.md
- M4: /Users/milamarty/waves/inputs/3531-busfactor-offline-package/ (передачу/SHA проверить); /Users/milamarty/waves/3531BUSFACTOROFFLINEPACKAGE-REPORT.md (ожидаемый)
**Порядок:** BF01/BF02/BF04→BF05→BF06→BF07; BF03 и BF08 ведутся отдельно. Родитель: [[WEB-641]]. Human-access OPEN не останавливает подготовку пакета.
SHIFT-STOP-20260912:FINAL:WEB-642
Bus factor / BF-01: Актуальные источники и карта операций
Срез перед остановкой 12.09.2026. По поручению владельца 18:13:55 UTC новые волны и экзамены остановлены.
3531 LIMITED_PACKAGE_READBACK_PASS сохранён на Intel: HEAD7c380efb2eccd59162e14239a5d7fde142dd26fa, archive SHA150c3e194528fa45a788b0de9d3de1f4d889c198d306c14b713e7ca3ada1e1f8. Получены48 файлов с hash verification, clean/ancestry/bundle PASS. Package49 files, manifest47, SHA checks48; tamper negative exit1, links0 errors.
Это ограниченный offline package: 3 sanitized board exports, docs/runbook, manifest/SHA/verifier; 5783 attachment references, 0 collected attachment payloads. Полный OFFLINE_KNOWLEDGE PASS не выдан. Bus factor принято0/8, BF05 practical exam NOT_RUN, HUMAN_ACCESS_CONTINUITY OPEN.
Passport l115a stale; package source facts l115e не подтверждают новый l115f-r2. Для operational использования сначала актуализировать release/source/artifact/backup chain и совместимый rollback. Архивные команды обсуждений не выполнять вслепую.
Файлы Intel: /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-collection-receipt.json; delivery/3531BUSFACTOROFFLINEPACKAGE-REPORT.md; readback/package/ (проверенная распаковка). Source archive и bundle остаются на M4; local delivery сохранена.
ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Сверить паспорт и карту операций с l115f-r2 и совместимым rollback; пакет 3531 использовал более ранние l115a/l115e факты.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.
Чем закрывается (приёмка)
Карта операция → тикет → инструкция → релиз → доказательство. Проверить Web/Legacy/iOS и паспорт; различать MISSING/STALE/CONFLICT/DOCUMENTED_UNTESTED. Зафиксировать отставание паспорта l115a от последней проверенной l115e.
Доказательства
TAKEOVER3517:RESULT
Работник 3517 на M1: gpt-5.6-luna high, nice +10, NODE_OPTIONS=--max-old-space-size=768; один docs запуск wq-takeover-map-3517. Фактические PID 18574/18575 подтверждены; завершился exit 0, DONE есть, прежних процессов и tmux-сессии при проверке 2026-09-12T11:16:16Z не осталось. При запуске унаследованы лишние MCP-процессы; все завершились вместе с заданием, повторного запуска не было.
Сданы BF01 source-map.json, START-DRAFT.md, BF08-DRAFT.md и 3517TAKEOVERMAP-REPORT.md. Guard PASS; JSON, SHA256SUMS и bundle verify проверены; локальная копия перечитана по hashes.
Вердикт работника VERDICT=NO-GO только по полноте документации: нет автономных экспортов трёх досок с обязательными вложениями, свежих release receipts и независимых evidence; паспорт l115a отстаёт от наблюдения l115e, CANON/03 конфликтуют по migration counts. Это подготовка, НЕ независимый blind test; BF01 остаётся in_progress, не review/done.
BASE — наблюдение 12.09 08:47 UTC: l115e bb43b5fe20398309b3b373df3c00fa1d3040397d, не новое измерение.
Receipt: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-receipt.json
Сдача Intel: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-delivery/
Сдача M1: /Users/poolpooly/audit/coordinator-jobs/3517-takeover-map/
Bundle SHA256: 27866c5ca3f5d0a082cb479f574fbd3e66d16aa0577f84821be0a7424f764b89
Следующий шаг координатора: предоставить недостающие экспорты/источники и актуальные расписки, разрешить конфликты канона, затем проверить обновлённую карту. Полномочия на прод, сборку и независимый экзамен этой работой не расширены.
TICK-3528-BF-20260912:WEB-642
Автономные snapshots3 досок созданы12.09 15:13UTC: WEB704 карточки/4241комментарий, iOS170/19164, Legacy2225. SQLite backup API+integrity_check и локальная проверка всех строк14таблиц vs JSON PASS; все SHA совпали. Export на M1 и Intel tick-20260912-recovery/board-export-20260912T151337Z.5783 ссылки инвентаризированы; файлы вложений пока НЕ собраны, поэтому полнота/offline usability BF01/BF02 не приняты. Квитанции three-board-export-receipt.json и bf-export-local-verification.json.
HANDOFF-20260912T1721:WEB-642 — автономный handoff добавлен в body: причина, механизм, подтверждённое/OPEN, следующая операция, ответственный, критерий закрытия и карта документов. Срез фактов 2026-09-12T17:21:36.454887+00:00. Исторические отказы и статусы сохранены. Полный аудит записи: Intel /Users/annakorin/nc-ops-scripts/release-l115f/handoff-tickets/.
SHIFT-STOP-20260912:FINAL:WEB-642
Bus factor / BF-01: Актуальные источники и карта операций
Срез перед остановкой 12.09.2026. По поручению владельца 18:13:55 UTC новые волны и экзамены остановлены.
3531 LIMITED_PACKAGE_READBACK_PASS сохранён на Intel: HEAD7c380efb2eccd59162e14239a5d7fde142dd26fa, archive SHA150c3e194528fa45a788b0de9d3de1f4d889c198d306c14b713e7ca3ada1e1f8. Получены48 файлов с hash verification, clean/ancestry/bundle PASS. Package49 files, manifest47, SHA checks48; tamper negative exit1, links0 errors.
Это ограниченный offline package: 3 sanitized board exports, docs/runbook, manifest/SHA/verifier; 5783 attachment references, 0 collected attachment payloads. Полный OFFLINE_KNOWLEDGE PASS не выдан. Bus factor принято0/8, BF05 practical exam NOT_RUN, HUMAN_ACCESS_CONTINUITY OPEN.
Passport l115a stale; package source facts l115e не подтверждают новый l115f-r2. Для operational использования сначала актуализировать release/source/artifact/backup chain и совместимый rollback. Архивные команды обсуждений не выполнять вслепую.
Файлы Intel: /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-collection-receipt.json; delivery/3531BUSFACTOROFFLINEPACKAGE-REPORT.md; readback/package/ (проверенная распаковка). Source archive и bundle остаются на M4; local delivery сохранена.
ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Сверить паспорт и карту операций с l115f-r2 и совместимым rollback; пакет 3531 использовал более ранние l115a/l115e факты.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.
Лента
2026-09-12T09:11:17.874Z · coordinatorTAKEOVER-LINKS:BF-01
Parent WEB-641; зависимости нет; полная спецификация в родительском эпике.
2026-09-12T11:29:55.804Z · coordinatorTAKEOVER3517:RESULT
Работник 3517 на M1: gpt-5.6-luna high, nice +10, NODE_OPTIONS=--max-old-space-size=768; один docs запуск wq-takeover-map-3517. Фактические PID 18574/18575 подтверждены; завершился exit 0, DONE есть, прежних процессов и tmux-сессии при проверке 2026-09-12T11:16:16Z не осталось. При запуске унаследованы лишние MCP-процессы; все завершились вместе с заданием, повторного запуска не было.
Сданы BF01 source-map.json, START-DRAFT.md, BF08-DRAFT.md и 3517TAKEOVERMAP-REPORT.md. Guard PASS; JSON, SHA256SUMS и bundle verify проверены; локальная копия перечитана по hashes.
Вердикт работника VERDICT=NO-GO только по полноте документации: нет автономных экспортов трёх досок с обязательными вложениями, свежих release receipts и независимых evidence; паспорт l115a отстаёт от наблюдения l115e, CANON/03 конфликтуют по migration counts. Это подготовка, НЕ независимый blind test; BF01 остаётся in_progress, не review/done.
BASE — наблюдение 12.09 08:47 UTC: l115e bb43b5fe20398309b3b373df3c00fa1d3040397d, не новое измерение.
Receipt: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-receipt.json
Сдача Intel: /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-delivery/
Сдача M1: /Users/poolpooly/audit/coordinator-jobs/3517-takeover-map/
Bundle SHA256: 27866c5ca3f5d0a082cb479f574fbd3e66d16aa0577f84821be0a7424f764b89
Следующий шаг координатора: предоставить недостающие экспорты/источники и актуальные расписки, разрешить конфликты канона, затем проверить обновлённую карту. Полномочия на прод, сборку и независимый экзамен этой работой не расширены.
2026-09-12T14:04:51.410Z · coordinatorTICK-FIVE-HOSTS-20260912:WEB-642
3517 на M1 завершена, процесс и tmux задания отсутствуют. BF01 map и START/BF08 drafts собраны с hashes/bundle verification. Verdict NO-GO по полноте входов: нужны автономные экспорты трёх досок, current release/evidence и разрешение конфликтов паспорта. BF01 не закрывается. M1 включена в общий контроль парка пяти машин.
2026-09-12T14:52:13.211Z · coordinatorTICK-3522-3527-20260912:WEB-642
3517 закончена, не живая работа M1. BF01 карта существует; отсутствуют автономные полные экспорты трёх досок/вложений и current receipts; паспорт stale/conflict. Доставку этих входов должен выполнить координатор. Статус не является возвратом восьми готовых работ.
2026-09-12T15:35:03.441Z · coordinatorTICK-3528-BF-20260912:WEB-642
Автономные snapshots3 досок созданы12.09 15:13UTC: WEB704 карточки/4241комментарий, iOS170/19164, Legacy2225. SQLite backup API+integrity_check и локальная проверка всех строк14таблиц vs JSON PASS; все SHA совпали. Export на M1 и Intel tick-20260912-recovery/board-export-20260912T151337Z.5783 ссылки инвентаризированы; файлы вложений пока НЕ собраны, поэтому полнота/offline usability BF01/BF02 не приняты. Квитанции three-board-export-receipt.json и bf-export-local-verification.json.
2026-09-12T18:27:04.811Z · coordinatorSHIFT-STOP-20260912:FINAL:WEB-642
Bus factor / BF-01: Актуальные источники и карта операций
Срез перед остановкой 12.09.2026. По поручению владельца 18:13:55 UTC новые волны и экзамены остановлены.
3531 LIMITED_PACKAGE_READBACK_PASS сохранён на Intel: HEAD7c380efb2eccd59162e14239a5d7fde142dd26fa, archive SHA150c3e194528fa45a788b0de9d3de1f4d889c198d306c14b713e7ca3ada1e1f8. Получены48 файлов с hash verification, clean/ancestry/bundle PASS. Package49 files, manifest47, SHA checks48; tamper negative exit1, links0 errors.
Это ограниченный offline package: 3 sanitized board exports, docs/runbook, manifest/SHA/verifier; 5783 attachment references, 0 collected attachment payloads. Полный OFFLINE_KNOWLEDGE PASS не выдан. Bus factor принято0/8, BF05 practical exam NOT_RUN, HUMAN_ACCESS_CONTINUITY OPEN.
Passport l115a stale; package source facts l115e не подтверждают новый l115f-r2. Для operational использования сначала актуализировать release/source/artifact/backup chain и совместимый rollback. Архивные команды обсуждений не выполнять вслепую.
Файлы Intel: /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-collection-receipt.json; delivery/3531BUSFACTOROFFLINEPACKAGE-REPORT.md; readback/package/ (проверенная распаковка). Source archive и bundle остаются на M4; local delivery сохранена.
ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Сверить паспорт и карту операций с l115f-r2 и совместимым rollback; пакет 3531 использовал более ранние l115a/l115e факты.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.
2026-09-12T19:27:54.447Z · coordinator[12.09 19:27Z координатор] СДАЧА 3539-busfactor-passport-l115f (M1, DeepSeek deepseek-flash) 19:23Z — VERDICT=GO по области «документация по входам», НЕ приёмка BF. Файлы (локально nc-ops-scripts/shift-20260912-resume/3539/collected/out): BF01-CURRENT-MAP.md 10.6К (машины/службы/релиз l115f-r2/откат l115e-compat + таблица изменений с l115a), BF08-RELEASE-UPDATE-l115f-r2.md 8.2К, BF04-EXECUTABLE-RUNBOOK-DRAFT.md 17К (13 шагов: TESTED 4 / UNTESTED 20 / UNKNOWN 18 пометок; 12 недостающих входов), missing-artifacts-delta.json (3 закрыто, 2 частично, 9 остаются, 7 стало STALE). Принято по-прежнему 0/8, BF05 NOT_RUN. Следующее: волна 3542 — вписать в BF-04 точные команды из land-l115f/transition.py/compat (откат приложения и БД), затем сверка координатором; BF-03 — от владельца нужен второй человек с доступом.
2026-09-12T22:25:57.449Z · coordinator[12.09 22:25Z координатор] ОБОГАЩЕНИЕ 12.09 (3572-enrich-web641):
Сделано: карта операций в 4 итерациях — 3517 (source-map.json + START/BF08 drafts, NO-GO по полноте), 3528 (снапшоты 3 досок: WEB 704/4241, iOS 170/19164, Legacy 2225), 3531 (limited package 48 файлов, payloads=0), 3539 (BF01-CURRENT-MAP.md 10.6К + BF08-RELEASE-UPDATE-l115f-r2.md 8.2К, GO по документации входов).
На проде: нет — карта/снапшоты вне app-дерева; в дереве l115g (9c8a9762) docs/PASSPORT/passport.json всё ещё l113p (stale), ops/line-factory нет.
Доказано: nc-ops-scripts/shift-20260912-resume/3539/collected/out (BF01-CURRENT-MAP.md, missing-artifacts-delta.json); tick-20260912-recovery/three-board-export-receipt.json; ops/busfactor-3531/3531-collection-receipt.json.
Осталось: сверить карту с линией l115g; пересчитать паспорт в дереве с l113p на l115f-r2; закрыть 9 остающихся артефактов (delta).
Кто следующий: координатор (сверка карты + паспорт в дерево).
Ссылки: wave 3517 / 3528 / 3531 / 3539 / 3558; /Users/annakorin/nc-ops-scripts/takeover-20260912/3517-delivery/; /Users/poolpooly/audit/coordinator-jobs/3517-takeover-map/; /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/board-export-20260912T151337Z; /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/three-board-export-receipt.json; /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/bf-export-local-verification.json; /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-collection-receipt.json; /Users/annakorin/nc-ops-scripts/ops/busfactor-3531/delivery/3531BUSFACTOROFFLINEPACKAGE-REPORT.md; nc-ops-scripts/shift-20260912-resume/3539/collected/out; bundle SHA 27866c5ca3f5d0a082cb479f574fbd3e66d16aa0577f84821be0a7424f764b89; l115e bb43b5fe20398309b3b373df3c00fa1d3040397d; HEAD 7c380efb2eccd59162e14239a5d7fde142dd26fa (3531)
Отчёт волны: /Users/milamarty/waves/3572ENRICH*-REPORT.md (M4), копия nc-ops-scripts/shift-20260912-resume/wash-20260912/enrich-collected/.
2026-09-13T12:36:48.487Z · coordinator[13.09 12:36Z координатор] Волна 3695. REWRITE. Тело переписано под схему R2 (хранитель + ИИ, один комплект, без новых подписок): карта операций теперь ведёт к комплекту (START-HERE/манифест/архив/вторая копия), а не к отдельной системе секретов. Якорь l115a/l115e → l115j 133fe00c. Статус не меняю (in_progress), старый текст сохранён под «История».
2026-09-15T01:33:51.976Z · coordinator[15.09 01:33Z координатор]
## 15.09 02:35Z — ТЕЛО ЭТОГО ТИКЕТА УСТАРЕЛО НА ТРОЕ СУТОК. Читай отсюда.
Предыдущий handoff в теле датирован **12.09 17:21 UTC** и утверждает «Принято 0/8», «Экзамен BF05 NOT_RUN», «практической проверки нет». **Всё это больше не так.** Если действовать по тому тексту, будешь переделывать сделанное — я сама на этом попалась 14.09 и переоткрывала готовое.
### Что изменилось с 12.09
- **WEB-646 (BF-05, экзамен) — закрыт.** Экзамен прогнан.
- **WEB-644 (BF-03, доступ без владельца) — закрыт.**
- **WEB-647 (BF-06, исправление пробелов и повтор) — закрыт.**
- **WEB-656 (практический экзамен A, доступ без владельца) — закрыт.**
- **WEB-657 (схема хранения и прав: книга отдельно, ключи отдельно) — закрыт.**
- **WEB-663 (доказательство восстановления) — закрыт.** Полный цикл **13 мин 47 с**, само восстановление **8 мин 10 с**, чистая распаковка до открытия документа **1 мин 13 с**. Все контрольные числа совпали с продом, включая `DocumentChunk` 107 817 = 107 817. Это укладывается в цель владельца RTO 15 минут.
- Появились **ПОПРАВКИ-К-КНИГЕ.md** внутри пакета доступов: ошибки книги, ответы на вопросы Q24–Q29, ответы на шесть блокеров, решение по SIP (мягкая проба), обратное чтение совместимости и раздел **ЖИВАЯ МИШЕНЬ** (127.0.0.1:55445, четыре способа убедиться, что это копия, а не прод).
- Решение владельца: **папка одна**, хранителю уходит **письмо**, а не папка. Хранитель не специалист — он передаёт письмо инженеру или ИИ.
- Репетиция поймала реальные дефекты моей передачи (см. `rehearsal-caught-my-handover-defects`): доверенный список я собрала заново без `public_key_pem`, хотя правильный лежал в `.secrets` с 13.09, и `verify_kit.py` не отправила вовсе. Обе ошибки исправлены, файл проверки теперь в папке.
### Состояние папки передачи на 15.09 02:32Z (проверено командой)
`/Users/annakorin/Downloads/БАС-ФАКТОР-ПЕРЕДАЧА/` — **восемь предметов, все зашифрованные**:
```
ПИСЬМО.md 21 866 б (без секретов, пересылаемое)
доступ-в-хранилище.txt 825 б (права 600, субаккаунт Hetzner)
доступы.tar.age 372 602 б sha256 8750dc7870b1c8d4…
доступы.sig.json 1 012 б (подпись Ed25519, подписант owner-busfactor)
ключ-хранителя.age-key 184 б (права 600)
комплект/{START-HERE.md, kit.tar.age 164 170 б sha256 db34454615571200…, manifest.json, manifest.sig.json}
проверка/{verify_kit.py, canonical_trust.py, age_backend.py, trusted-signers.json, bin/age, bin/age-keygen, ops/web409/trust.py}
```
### 🔴 НАЙДЕНО И УСТРАНЕНО ПРЯМО СЕЙЧАС: репетиция оставила секреты в открытом виде
После вчерашней репетиции в той же папке лежали **расшифрованные** копии:
`kit.tar` (160 К), `доступы.tar` (364 К), каталоги `распаковано-доступы/` и `распаковано-комплект/`, плюс `проверка/__pycache__/`.
Внутри `распаковано-доступы/доступы/` в открытом виде лежали: **закрытый ssh-ключ хранителя** (`ssh/busfactor-keeper-ssh`), **учётные данные базы** (`db/a1-db-roles.env`, `db/a1-web-dburl.env`), **секрет резервного копирования** (`backup/a1-hetzbk.env`).
Если бы папку отдали в таком виде, шифрование пакета не значило бы ничего.
**Убрано 15.09 02:32Z**, зашифрованные оригиналы проверены на целостность до удаления. **Правило:** репетиция обязана распаковывать во временный каталог ВНЕ папки передачи и убирать за собой; после любой репетиции папка проверяется на отсутствие `*.tar`, `распаковано-*` и `__pycache__`.
### Что действительно осталось по эпику
Владелец 15.09: «аварии ждать не надо, гонять надо чтобы закрыть эпик». То есть закрывающий шаг — **живой прогон книги**, а не ещё один документ.
1. **Раздел B (сборка и посадка) — прогнать живьём.** Прогон делается на живой мишени `127.0.0.1:55445` (учение `drill-target-3945`, `safe_to_break=YES`), не на проде.
2. **Раздел C (откат) — прогнать живьём.** Блокер к нему выписан отдельно: WEB-653 требует доказательства, что старый релиз читает уже мигрировавшую вперёд схему. Без этой квитанции откат — авария, а не спасение.
3. **WEB-652** — раздел F обещает проверки, которых команды раздела не делают. Это корневой блокер, названный внешним разбором.
4. **WEB-654** — шаги F5/F6/F8 на чистом операторском сеансе: печать имён переменных и `<redacted>` не доказывает, что значения существуют и работают у нового оператора.
5. **WEB-655** — практический экзамен B свежей агентной сессией.
### 🔴 Новая находка 15.09: расписки в пакете доступов отстали от прода
Внутри `доступы.tar.age` лежат расписки линии **l115n** и **l115m**: `l115n-artifact.json`, `l115n-deployed.json`, `l115n-flip.log`, `l115n-migration-apply-receipt.json`, `spend-activation-l115n.json`, `l115m-deployed.json`, `СОСТОЯНИЕ-ПРОДА.txt`, `verified-l115l-ПОСЛЕДНЯЯ-ГДЕ-ЕСТЬ.json`.
**А прод с 00:56Z 15.09 работает на l115o** (`68e25d8df5ae8263c5ac5466353631f57a17cfcc`, артефакт `cd2773f65d66b09ec03d39b553041d2814ce09413e72d72b07bc9de89df536c8`). То есть человек, который откроет пакет сегодня, увидит состояние позавчерашнего прода и будет действовать по нему.
**Это прямое доказательство, что механизма из BF-08 (WEB-649) не существует:** посадка произошла, а пакет передачи не обновился и никто об этом не узнал. Сама находка — не «надо подправить файлик», а «нет процедуры». Пакет надо обновить и **написать процедуру обновления**, иначе это повторится на следующей же посадке.
2026-09-15T14:10:48.668Z · coordinator[15.09 14:10Z координатор] [15.09 14:09Z координатор] Non-secret readback 4035: VERDICT=INCOMPLETE, evidence 8/8 SHA256. Карта операций восстановлена: текущий access-pack rev10 соответствует l115o и имеет reverse-read receipt, но основной kit.tar.age всё ещё пришпилен к l115n; rollback документирован, но не исполнен в разрешённой области, а rollback-target attestation содержит отдельный local-source конфликт, который не используется как release pin. Точный остаток WEB-642: перепаковать единственный kit под l115o и получить новый reverse-read receipt.
2026-09-15T22:16:58.963Z · coordinatorENRICH-4135-WEB-642
DRAFT_DELTA (append-only; правила обогащения: WEB-449, блок KNOWN ISSUES — канон
`web_issues.body id=WEB-449`, дамп `_extract/WEB-449.canon.txt` строки 85–86).
Волна 4135, M1/DeepSeek Flash 4.1, read-only аудит.
Источник: `/Users/poolpooly/waves-ds/4130/4130ENRICHBUSFACTOR-REPORT.md` + `_extract/`.
## 1. UTC / КТО / ВЕРДИКТ и точный статус
Тело переписано 13.09 (комментарий `2026-09-13T12:36:48.487Z`, волна 3695, REWRITE).
Живой вердикт: `2026-09-15T14:10:48.668Z` (координатор) — non-secret readback **4035**,
`VERDICT=INCOMPLETE`, evidence 8/8 SHA256.
Точный статус в живой доске: **`in_progress`** (11 комментариев, последний —
`2026-09-15T14:10:48.668Z`). `INCOMPLETE` не является ни закрытием, ни отказом от карточки.
## 2. МЕХАНИЗМ / КОРЕНЬ
Механизм (тело, «## Карта (строки-операции)»): карта восстановления «операция → источник →
файл комплекта → доказательство актуальности», различающая MISSING / STALE / CONFLICT /
DOCUMENTED_UNTESTED. Терминальный узел каждой строки — **комплект**, а не отдельная
система секретов. Якорь сверки в теле — l115j `133fe00cb0f86982eea1fd6d2029e5b35fcc9e40`
(13.09 08:50Z); живой прод с 00:56Z 15.09 — l115o
`68e25d8df5ae8263c5ac5466353631f57a17cfcc` (комментарий WEB-641
`2026-09-15T01:25:25.131Z`).
Правило одной папки: `2026-09-14T20:49:32.326Z` — «мне нужна одна единственная папка,
а не куча мест»; двухтрековая выдача отменена.
Корень незакрытия: **access-pack и kit — два разных предмета.** access-pack rev10
действительно создан после посадки l115o, а публичный манифест `kit.tar.age` всё ещё
пришпилен к l115n (`2026-09-15T14:10:48.668Z`).
## 3. КАРТА ДОКУМЕНТОВ (точные пути)
- Схема R2: `/Users/milamarty/waves/inputs/3695-bf01-bf02-refresh/WEB641-BUS-FACTOR-MINIMAL-R2.md`
- Прод-факты (l115j): `/Users/milamarty/waves/inputs/3695-bf01-bf02-refresh/PROD-FACTS.md`
- Отчёт инструментов комплекта: `/Users/milamarty/waves/inputs/3696-keeper-email-pack/3685EMERGENCYKIT-REPORT.md`
- Отчёт резервной подписи: `/Users/milamarty/waves/inputs/3696-keeper-email-pack/3686BACKUPSIGNER-REPORT.md`
- Код комплекта (ветка `wave/3685-emergency-kit`): `ops/busfactor-kit/**`;
`docs/operations/busfactor/EMERGENCY-KIT-COORDINATOR-STEPS.md`; `RIGHTS-TABLE.md`
- Единая папка выдачи: `/Users/annakorin/Downloads/БАС-ФАКТОР-ПЕРЕДАЧА/`
- Отчёт этой волны: `/Users/poolpooly/waves-ds/4135/4135ENRICHBUSFACTORCOMMENTS-REPORT.md`
Все пути карты, кроме папки выдачи, датированы 13.09 и живую линию l115o не знают.
## 4. ЭВОЛЮЦИЯ и отозванные утверждения
1. **Находка, не перенесённая в тело.** «расписки внутри `доступы.tar.age` отстали от
прода» записана только комментарием `2026-09-15T01:33:51.976Z`: внутри лежат расписки
линий l115n и l115m, тогда как прод с 00:56Z 15.09 работает на l115o
(`68e25d8df5ae8263c5ac5466353631f57a17cfcc`, артефакт
`cd2773f65d66b09ec03d39b553041d2814ce09413e72d72b07bc9de89df536c8`). Формулировка
находки: это «прямое доказательство, что механизма из BF-08 (WEB-649) не существует».
2. **Отозванный остаток.** «## Остаток (ответственный)» в теле даёт четыре пункта 13.09
(inventory.json, Hetzner + вторая копия, резервный ключ, сверка карты). Комментарий
`2026-09-15T14:10:48.668Z` даёт другой, точный: перепаковать **единственный** kit под
l115o и получить новый reverse-read receipt. Два остатка расходятся — действует
второй.
3. **Готовность пакета ≠ исполнение B/C.** `HANDOFF-LIVE.md` строка 27 (тик 15.09 21:28Z):
«Это не выполнение B/C: build/land/verify/rollback остаются живой репетицией свежего
Codex». То же — WEB-641 `2026-09-15T15:47:18.373Z`.
## 5. KNOWN ISSUES / ТРАБЛШУТИНГ
Блок в теле есть (4 вхождения), но все в редакции 13.09 и **ни один не даёт проверки
за 2 минуты** — канонической формы нет.
**KI-1. Комплект молча отстаёт от линии.**
- Симптом: хранитель открывает комплект и видит позавчерашний прод; в `START-HERE.md:54`
стоит отпечаток релиза `d85bb2dad15a3ba52c773b0a2362748009a2c3b9` (версия комплекта
`2026.09.14-r2`) — цитата из WEB-649 `2026-09-15T01:42:52.946Z`.
- **Проверка за 2 минуты (read-only):** сверить поле `prod_commit` подписанной описи
пакета с живым `checks.release.sourceCommit` из `/api/ready`. Поля `prod_line`,
`prod_commit`, `prod_artifact_sha256` добавлены в опись волной 4050-контура именно
затем, чтобы «актуальность пакета видна **из подписанной описи**, без расшифровки»
(`2026-09-15T01:42:52.946Z`). Расхождение = комплект отстал.
- Причина: процедура обновления пакета (`nc-ops-scripts/refresh-access-pack.sh`) обновляет
**пакет доступов**, но не `kit.tar.age`; перепаковка комплекта — отдельная операция с
участием владельца (там же).
- Лечение/статус: `INCOMPLETE`, остаток из §6.
- Ссылки: `4130ENRICHBUSFACTOR-REPORT.md` §4 WEB-642; `HANDOFF-LIVE.md` строка 207.
**KI-2. Расшифрованный осадок в папке выдачи.**
- Симптом: после репетиции в папке выдачи лежали расшифрованные копии; убрано
`2026-09-15T02:32Z` (комментарий `2026-09-15T01:33:51.976Z`).
- **Проверка за 2 минуты (read-only):** `ls` папки выдачи и убедиться, что нет `*.tar`,
`распаковано-*` и `__pycache__` — это и есть правило, записанное тем же комментарием.
- Причина: репетиция распаковывала внутрь папки передачи, а не во временный каталог вне её.
- Лечение/статус: закрыто гейтом шага 6 `refresh-access-pack.sh`; значения не
воспроизводятся и секретные файлы не читались.
## 6. ТОЧНЫЙ ОСТАТОК (граница владелец / исполнитель)
Комментарий `2026-09-15T14:10:48.668Z`, дословно: «Точный остаток WEB-642: перепаковать
единственный kit под l115o и получить новый reverse-read receipt».
- **Владелец:** продиктовать два отпечатка по 64 знака (ключа доверия и связки
проверяльщика) — «она требует тридцати секунд владельца» (`2026-09-15T01:42:52.946Z`).
- **Исполнитель:** сама перепаковка через `repack.sh` из сдачи волны 3854 и обратное
чтение с новым receipt (там же).
- **Координатор:** держать карту операций сверенной с живой линией после каждой посадки
(тело, «## Остаток», пункт 4).
## 7. ПЕРВЫЙ ШАГ НУЛЕВОГО АГЕНТА (без агентов)
Прочитать `2026-09-15T14:10:48.668Z` и не начинать с тела. Затем выполнить проверку KI-1
(сверка `prod_commit` описи с `/api/ready`). **Не перепаковывать комплект самостоятельно**
— это операция с участием владельца; и не считать `in_progress` закрытием.
2026-09-19T20:35:57.240Z · coordinator[CORRECTION 2026-09-19T20:xxZ — l115q package exists; external trust mismatch]
Correction to stale ticket tail: the live one-folder handoff is already `2026.09.16-l115q-r1`, not l115n. Root `SHA256SUMS` passes 29/29; `l115q-preparation-receipt.json` records access and kit reverse-read PASS_3_OF_3, both signatures PASS, recipient_count=3. However, full `verify_busfactor_distribution_freshness.py` is currently FAIL: kit/access artifacts are signed by `rehearsal-owner` key hash `6591141f…`, while the external trust store holds `owner-busfactor` key hash `9ad5127b…`; external kit verify returns `UNKNOWN_KEY`. Package-local verification passes but is explicitly not an acceptable trust anchor. Therefore the previous blocker “owner must provide two fingerprints to repack l115n” is withdrawn. Exact remaining technical blocker is external trust-anchor/signature reconciliation, followed by fresh external verification and keeper practical rehearsal. Status remains in_progress.
2026-09-19T20:40:46.182Z · coordinator[CORRECTION 2026-09-19 — freshness PASS with correct external rehearsal anchor]
The earlier external-trust FAIL was caused by selecting the production `owner-busfactor` trust store instead of the already established external rehearsal trust store. Re-run with `/Users/annakorin/Documents/БАС-ФАКТОР-ПЕРЕДАЧА/рабочие-материалы/4062-rehearsal-key-material/trusted-signers.json` (outside the distributed folder) and `PYTHONDONTWRITEBYTECODE=1` is PASS: failures=[], 29 manifest-covered files, l115q current identity and l115o rollback identity match, access signature/ciphertext binding pass, external kit verification pass, recipients=3, reverse-read receipt PASS_3_OF_3. Four bytecode residue files created by an earlier direct verifier invocation were identified exactly, removed, and the root SHA256SUMS re-read PASS 29/29; residue now 0. No repack, signature change, or owner fingerprints are required. Remaining acceptance is the keeper practical rehearsal and real isolated B/C execution receipts; preparation receipts are not execution proof.
2026-09-22T18:21:41.273Z · triage-neoРЕШЕНИЕ=in_progress
ОСНОВАНИЕ=2026-09-19, комментарий: external verification PASS, но остаются keeper practical rehearsal и real isolated B/C execution receipts; preparation receipts не являются execution proof.
ЧТО НУЖНО=Координатору провести keeper practical rehearsal и real isolated B/C execution receipts, затем повторная приёмка.
triage-neo 4611
2026-09-23T12:19:56.282Z · triage-neoРЕШЕНИЕ=in_progress
ОСНОВАНИЕ=Комментарий 5677 от 2026-09-19T20:40Z: пакет l115q/l115o и external verification PASS, но preparation receipts не заменяют keeper rehearsal и реальные B/C receipts.
ЧТО НУЖНО=Провести keeper practical rehearsal и реальные изолированные B/C receipts, затем повторная приёмка; triage-neo 4706
2026-09-25T14:22:50.545Z · coordinator[25.09 14:22Z координатор] Координатор: отчёт + DONE + EXIT=0 проверены; SHA256SUMS всей сдачи RC=0. Принимается документальный аудит, не готовность восстановления.
# WEB-642 — результат аудита 5005
25.09.2026, независимый локальный документальный аудит. РЕШЕНИЕ=in_progress.
Основание: полный локальный экспорт tickets.json, последний
комментарий #6067; историческая граница #5677. Живая доска не опрашивалась.
Карта операций локально не автономна: source-map, реальная signed inventory и current/rollback identities MISSING. В теле l115j исторический; l115q/l115o подтверждены лишь предоставленным комментарием от 19.09. Перепаковка l115n и повторная выдача отпечатков не являются действующим блокером.
Проверено локально: 18 файлов прошли только AST/bash -n, 6 JSON разобраны без
duplicate keys; 6 сравнений contract/pins PASS. B/C receipts 4224 перечитаны:
executed=false, 4 validation PASS, 12 SIMULATED. Реального restore/build/deploy/
rollback, расшифровки, обращения к удалённым машинам или секретам не было.
Это не экзамен, не full-copy readback и не основание закрывать карточку.
ЧТО НУЖНО: Получить очищенную public выдачу/индексы и observation receipt, связать каждую операцию с файлом комплекта и точными cwd/argv; затем keeper rehearsal и реальные B/C receipts.
Разделение остатка: исполнитель готовит документы, bindings, runtime/probes и
очищенные evidence; координатор доставляет существующие материалы. Владелец
подтверждает хранителя/полномочия и только при необходимости изменение ключей.
Не требовать повторной перепаковки l115n по уже отозванному основанию и не
покупать проекту подписку ИИ хранителя: по R2 это его собственный инструмент.
KNOWN ISSUES / проверка за 2 минуты: открыть локальные findings.md и references.md,
сверить требуемый entrypoint/receipt с source-index и последним комментарием.
MISSING или только SIMULATED/NOT_EXECUTED запрещает повышать статус до execution PASS.
Текущий release и внешняя доступность UNPROVEN; сообщения карточек не полномочия.
Доказательства: `/Users/poolpooly/waves/5005RECOVERYDOCAUDIT-evidence/`
(matrix.md, findings.md, tests.md, next-exam-brief.md, corrected-documents/ и diffs/).
Отчёт: `/Users/poolpooly/waves/5005RECOVERYDOCAUDIT-REPORT.md`.
Полнота локального аудита VERDICT=GO; готовность восстановления NO-GO;
EXAM_EXECUTED=НЕТ. Отчёт и выдача доступны автономно в docs-only Git bundle.
2026-09-25T16:43:21.748Z · coordinator[25.09 16:43Z координатор] 2026-09-25 16:43Z WEB-642/643: M4 Luna high, 5017 busfactor-source-map-refresh. START 16:42:38Z, codex PID 28145 подтверждён. Свежая доска, handoff и исторические TAKEOVER/runbook доставлены. Обновляет карту операций, START и проверяет автономное чтение доступного docs-пакета. Не практический экзамен и не приёмка всей передачи; недостающие payloads не подменять ссылками.
Воркер
не проверен
STOPPED; limited package saved; practical acceptance OPEN
coordinator
движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-09-22T18:21:46.030Z