WEB board

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

Bus factor / BF-04: Исполнимые сборка, восстановление, посадка и откат

В работе P2 ведёт: — эпик: WEB-641
Суть
TAKEOVER-NC-R1:BF-04
Правила обогащения: WEB-449.

Цель/сдача/приёмка: Переиспользовать действующие runbooks. Для каждого шага роль, cwd, вход, команда, проверка и остановка. Сохранить подпись/schema/paid gates; проверить все службы, данные и файлы. Чистая сборка, доставка артефакта и bitwise proof раздельны.

Зависимости: BF-01
КАРТА ДОКУМЕНТОВ
Полная адаптация: 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 с расписками всех служб, обновить канонический снимок и повторить затронутые шаги. Остальные пробелы фиксировать по доказательствам.

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

**Задача.** Bus factor / BF-04: Исполнимые сборка, восстановление, посадка и откат

**Что подтверждено и что остаётся.** Принято0/8 по обязательным критериям эпика.3517 дала карту и drafts с пробелами;3527 — документальный runbook GO, практической проверки нет. Экспорты трёх досок получены; полнота payload вложений и независимое чтение автономного пакета пока не доказаны. Экзамен BF05 NOT_RUN.

**Как устроено / почему остановилось.** Человек/агент начинает только с START и независимой копии. Доступ к текущему чату, M1, Intel или сайту доски не должен быть скрытой зависимостью экзамена. Наличие архива/бандла не доказывает restore. Human access, Web technical, iOS и bitwise — отдельные строки.

**Следующая операция.** Дополнить готовый3527 runbook фактическим переходом l115e→compat→r2 и границей возврата. Для каждой операции дать роль/cwd/вход/команду/проверку/stop. Проверить скрипты на изолированном контуре до экзамена; документальный GO не равен restore/build/rollback PASS.

**Исполнитель и приёмка.** Подготовка пакета — исполнитель BF; coordinator отвечает за входные файлы и отдельный контур. Автор START и оператор blind-экзамена должны различаться.3531 имеет готовый бриф, живой старт M4 на последней wave-health не подтверждён.

**Условие закрытия.** Переиспользовать действующие runbooks. Для каждого шага роль, cwd, вход, команда, проверка и остановка. Сохранить подпись/schema/paid gates; проверить все службы, данные и файлы. Чистая сборка, доставка артефакта и bitwise proof раздельны.

**КАРТА ДОКУМЕНТОВ**
- 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-645
Bus factor / BF-04: Исполнимые сборка, восстановление, посадка и откат

Срез перед остановкой 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 сохранена.

ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Актуализировать runbook и входы по current source/artifact/backup chain, восполнить O8, затем практический isolated restore/build/test-landing/rollback с receipts.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.

## Актуализация координатора 2026-09-26 12:01Z [refresh-20260926-roles-capacity]
Правила обогащения: WEB-449.

Уточнение статуса для следующего агента:5049 принят только как offline recovery kit. Независимая копия, replay и полная DR репетиция NOT_RUN по последнему подтверждённому handoff; новых доказательств этих испытаний нет. Завершённый kit не равен доказанному восстановлению. В текущих назначениях исполнителя recovery нет. Его приёмка не является обязательным условием запуска CPU ступеней. Следующий ответственный — координатор, отдельное practical execution после проверки ресурсов; не считать это уже запущенной работой.

КАРТА ДОКУМЕНТОВ / доказательства: ноутбук:/Users/annakorin/nc-ops-scripts/HANDOFF-LIVE.md (контроли26.09); см. WEB-470, WEB-655, WEB-648
Чем закрывается (приёмка)
Переиспользовать действующие runbooks. Для каждого шага роль, cwd, вход, команда, проверка и остановка. Сохранить подпись/schema/paid gates; проверить все службы, данные и файлы. Чистая сборка, доставка артефакта и bitwise proof раздельны.
Доказательства

TICK-3528-BF-20260912:WEB-645
3527 BF04 docs получены и сверены: HEAD8b8c87607e6d81fe00a6293876ca5b94299bb244,7 файлов сдачи плюс2 документа. BF04-OPERATING-RUNBOOK.md прочитан полностью;10 операций,18 source path/hash checks, supplied15 inputs. GO относится к подготовке документации; execution DOCUMENTED_UNTESTED. Указаны реальные пробелы land-l115e: нет migrate/rollback, missing activation только warning, indexing backup отсутствует. BF04/BF05 практический экзамен не выполнен;0/8 BF принято. Intel tick-20260912-recovery/3527/documents/,3527-collection-receipt.json.

HANDOFF-20260912T1721:WEB-645 — автономный 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-645
Bus factor / BF-04: Исполнимые сборка, восстановление, посадка и откат

Срез перед остановкой 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 сохранена.

ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Актуализировать runbook и входы по current source/artifact/backup chain, восполнить O8, затем практический isolated restore/build/test-landing/rollback с receipts.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.
Лента
2026-09-12T09:11:17.879Z · coordinator
TAKEOVER-LINKS:BF-04
Parent WEB-641; зависимости WEB-642; полная спецификация в родительском эпике.
2026-09-12T14:52:13.214Z · coordinator
TICK-3522-3527-20260912:WEB-645
3527 RUNNING на свободной M4, Luna high. Guard, exact BASEbb43b5fe2,15 входных SHA и отсутствие дубля подтверждены. Готовится BF04 инструкция по действующим chain/land/hetzbk/standby скриптам; только docs и статическая сверка команд. Практический экзамен и приёмка BF04 не заявлены. Receipt tick-20260912-recovery/3527-dispatch-receipt.json.
2026-09-12T15:35:03.436Z · coordinator
TICK-3528-BF-20260912:WEB-645
3527 BF04 docs получены и сверены: HEAD8b8c87607e6d81fe00a6293876ca5b94299bb244,7 файлов сдачи плюс2 документа. BF04-OPERATING-RUNBOOK.md прочитан полностью;10 операций,18 source path/hash checks, supplied15 inputs. GO относится к подготовке документации; execution DOCUMENTED_UNTESTED. Указаны реальные пробелы land-l115e: нет migrate/rollback, missing activation только warning, indexing backup отсутствует. BF04/BF05 практический экзамен не выполнен;0/8 BF принято. Intel tick-20260912-recovery/3527/documents/,3527-collection-receipt.json.
2026-09-12T18:27:04.824Z · coordinator
SHIFT-STOP-20260912:FINAL:WEB-645
Bus factor / BF-04: Исполнимые сборка, восстановление, посадка и откат

Срез перед остановкой 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 сохранена.

ИНДИВИДУАЛЬНЫЙ ОСТАТОК
Актуализировать runbook и входы по current source/artifact/backup chain, восполнить O8, затем практический isolated restore/build/test-landing/rollback с receipts.
Следующая смена начинает только после возобновления владельцем. Исторический status сохранён; STOPPED означает отсутствие выполняемой работы, не закрытие задачи.
2026-09-12T22:25:57.453Z · coordinator
[12.09 22:25Z координатор] ОБОГАЩЕНИЕ 12.09 (3572-enrich-web641):
Сделано: runbook прошёл путь 3527 (10 операций, DOCUMENTED_UNTESTED) → 3542 v2 (49 шагов, 42 с командой) → 3544 v3 (B22/D7 закрыты) → 3548 v4 (5 MISSING вписаны, gap=1 D3b) → 3556 v5 (53 шага + 8 запретов) + фабрика ops/line-factory (line.json, валидатор 39 негативов, transition/migrations/land параметризованы), 95 тестов.
На проде: нет — ops/line-factory отсутствует в дереве l115g (9c8a9762); прод посажен по старой схеме (kit подстановкой), фабрика в бою не применялась.
Доказано: bundle wave/3556 @ a806b371 на BASE 92f7ae807; nc-ops-scripts/shift-20260912-resume/{3527,3542,3544,3548,3556}/collected.
Осталось: применить фабрику на реальной посадке l115g (координатор); дыра D3b (переключение прода на восстановленный кластер) — UNTESTED, recovery-only; раздел F (11 скриптов) положить в пакет экзамена.
Кто следующий: координатор (посадка фабрикой) → повторный экзамен BF-05 по v5.
Ссылки: wave 3527 / 3542 / 3544 / 3548 / 3556; nc-ops-scripts/tick-20260912-recovery/3527-dispatch-receipt.json; /Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3527/documents/; nc-ops-scripts/shift-20260912-resume/{3542,3544,3548,3556}/collected; bundle wave/3556 @ a806b371; BASE 92f7ae807 (l115f-r2); HEAD 8b8c87607e6d81fe00a6293876ca5b94299bb244 (3527)
Отчёт волны: /Users/milamarty/waves/3572ENRICH*-REPORT.md (M4), копия nc-ops-scripts/shift-20260912-resume/wash-20260912/enrich-collected/.
2026-09-15T01:33:55.109Z · 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-15T22:16:58.993Z · coordinator
ENRICH-4135-WEB-645

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 / КТО / ВЕРДИКТ и точный статус

Собственного вердикта по тикету за 15.09 **нет**. Тело датировано 12.09
(`updated=2026-09-12T18:27:04.821Z`). Последняя запись в потоке — `2026-09-15T01:33:55.109Z`
(координатор), и это **вставка о протухании тела**, общая для WEB-642/643/645/648, а не
работа по BF-04.

Точный статус в живой доске: **`in_progress`** (6 комментариев, последний —
`2026-09-15T01:33:55.109Z`). Статус закрытием не является; вставка о протухании вердиктом
не является.

## 2. МЕХАНИЗМ / КОРЕНЬ

Механизм (тело, «Цель/сдача/приёмка»): **исполнимый runbook** — сборка, восстановление,
посадка, откат — переиспользующий действующие ранбуки. Для каждого шага: роль, `cwd`, вход,
команда, проверка, остановка. Чистая сборка, доставка артефакта и bitwise proof — **раздельные**
строки, не один PASS.

Корень: документальный GO ≠ исполнение. Комментарий `2026-09-13T…` фиксирует: 3527
`BF04-OPERATING-RUNBOOK.md` прочитан полностью, **10 операций, 18 проверок путей/хэшей,
15 входов**; GO относится к подготовке документации, исполнение —
`DOCUMENTED_UNTESTED`. Названы реальные пробелы посадки l115e: нет `migrate/rollback`,
отсутствие активации — только предупреждение, бэкапа индексов нет.

Правило одной папки: `2026-09-14T20:49:32.326Z` — «мне нужна одна единственная папка,
а не куча мест».

## 3. КАРТА ДОКУМЕНТОВ (точные пути)

- Intel: `/Users/annakorin/nc-ops-scripts/takeover-20260912/TAKEOVER-NC-R1.md`
- Бриф пакета: `/Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-busfactor-offline-package-brief.md`
- Отчёт ранбука: `/Users/annakorin/nc-ops-scripts/tick-20260912-recovery/3527/3527BUSFACTOROPERATINGRUNBOOK-REPORT.md`
- Квитанция экспорта трёх досок: `/Users/annakorin/nc-ops-scripts/tick-20260912-recovery/three-board-export-receipt.json`
- Читатель-расписка 3531: `/Users/annakorin/nc-ops-scripts/ops/busfactor-3531/3531-collection-receipt.json`
- M4 (ожидаемый): `/Users/milamarty/waves/3531BUSFACTOROFFLINEPACKAGE-REPORT.md`
- Единая папка выдачи: `/Users/annakorin/Downloads/БАС-ФАКТОР-ПЕРЕДАЧА/`
- Отчёт этой волны: `/Users/poolpooly/waves-ds/4135/4135ENRICHBUSFACTORCOMMENTS-REPORT.md`

Все пути карты датированы 12–13.09. Живой линии l115o `68e25d8df…` в карте нет.

## 4. ЭВОЛЮЦИЯ и отозванные утверждения

Блок «ЭВОЛЮЦИЯ» тела содержит **одну строку 12.09**: «подготовка на малом ходу… Экзамен
ещё не проведён».

Отозвано и не перенесено в тело:
1. «Принято 0/8 по обязательным критериям эпика», «Экзамен BF05 NOT_RUN», «практической
   проверки нет» — **отозвано**: `2026-09-14T23:47:45.842Z` (живой прогон,
   `Document.userId IS NULL` 121 из 3430) и `2026-09-15T13:05:49.045Z`
   (`VERDICT=INCOMPLETE` с точным остатком из 6 шагов).
2. Паспортный ряд l115a/l115e, на котором стоит KNOWN ISSUES тела, **протух дважды**:
   13.09 якорь был l115j `133fe00cb0f86982eea1fd6d2029e5b35fcc9e40`, живой прод с 00:56Z
   15.09 — l115o `68e25d8df5ae8263c5ac5466353631f57a17cfcc`, артефакт
   `cd2773f65d66b09ec03d39b553041d2814ce09413e72d72b07bc9de89df536c8`
   (WEB-641 `2026-09-15T01:25:25.131Z`).
3. Часть пробелов, названных 3527, **закрыта позднее**: раздел D книги выполнен живьём
   на восстановленной копии базы, включая пробную запись с откатом
   (WEB-646 `2026-09-15T00:04:02.664Z`, прогон 7).
4. **Готовность пакета ≠ исполнение B/C.** `HANDOFF-LIVE.md` строка 27 (тик 15.09 21:28Z):
   «Это не выполнение B/C: build/land/verify/rollback остаются живой репетицией свежего
   Codex»; та же граница — WEB-649 `2026-09-15T15:47:17.420Z`.

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

Блок в теле есть, но **сам протух** и проверки за 2 минуты не содержит.

**KI-1. Блок KNOWN ISSUES тикета старше живого прода на две линии.**
- Симптом: читатель ищет расхождение «паспорт l115a против l115e», тогда как ни l115a,
  ни l115e в живом контуре нет; якорь 13.09 — l115j `133fe00c…`, живой прод — l115o
  `68e25d8df…`.
- **Проверка за 2 минуты (read-only):** взять отпечаток линии из блока KNOWN ISSUES тела
  и сверить с живым `checks.release.sourceCommit` из `/api/ready`. Расхождение = блок
  описывает снятую линию. (Форма сверки — канон WEB-449 `2026-09-15T22:05:58.111Z`,
  KNOWN ISSUES №1; источник отпечатка l115o — WEB-641 `2026-09-15T01:25:25.131Z`.)
- Причина: блок KNOWN ISSUES не обновлялся дельтами с 12.09, тогда как канон требует
  «обновлять дельтами при каждом новом круге» (дамп `WEB-449.canon.txt` строка 86).
- Лечение/статус: OPEN; правится этой дельтой, тело не трогается.

**KI-2. Runbook описан, но ни разу не исполнен целиком.**
- Симптом: 10 операций ранбука прочитаны и сверены по путям/хэшам, но реального прогона
  сборка → посадка → откат с расписками нет; исполнение помечено `DOCUMENTED_UNTESTED`.
- **Проверка за 2 минуты (read-only):** найти в материалах карточки расписку полного цикла
  (номер волны + файл) со всеми четырьмя операциями. Найдены только: восстановление
  (WEB-663, полный цикл 13 мин 47 с, само восстановление 8 мин 10 с, чистая распаковка
  1 мин 13 с — WEB-649 `2026-09-15T01:33:57.704Z`) и раздел D книги
  (WEB-646 `2026-09-15T00:04:02.664Z`). Сборка/посадка/откат живьём — **не найдены**.
- Причина: разделы B (сборка и посадка) и C (откат) вынесены в WEB-655 и требуют
  боевого контура; откат дополнительно блокирован WEB-653 (нет квитанции, что старый
  релиз читает уже мигрировавшую вперёд схему — WEB-649 `2026-09-15T01:33:57.704Z`).
- Лечение/статус: OPEN, исполнитель — WEB-655.
- Ссылки: `4130ENRICHBUSFACTOR-REPORT.md` §4 WEB-645 и §5 пункт 6.

## 6. ТОЧНЫЙ ОСТАТОК (граница владелец / исполнитель)

Тело даёт «ИНДИВИДУАЛЬНЫЙ ОСТАТОК» одной строкой 12.09: «актуализировать runbook и входы
по current source/artifact/backup chain, восполнить O8, затем практический isolated
restore/build/test-landing/rollback с receipts». Действующий остаток:

- Актуализировать входы ранбука под живую линию l115o — **исполнитель**.
- Изолированный restore/build/test-landing/rollback с расписками на `safe_to_break`-мишени
  `127.0.0.1:55445` (учение `drill-target-3945`) — **исполнитель**, в рамках WEB-655
  (WEB-649 `2026-09-15T01:33:57.704Z`).
- Квитанция совместимости схемы до разрешения отката — **координатор + владелец БД**
  (WEB-649 §5 пункт 4, WEB-653).
- Разделение строк «чистая сборка», «доставка артефакта», «bitwise proof» сохранить —
  **инвариант**, не пункт остатка (тело, «Условие закрытия»).

## 7. ПЕРВЫЙ ШАГ НУЛЕВОГО АГЕНТА (без агентов)

Прочитать `2026-09-15T01:33:55.109Z` (вставка о протухании) и `2026-09-15T13:05:49.045Z`
(точный остаток эпика) — они старше тела на трое суток. Затем выполнить проверку KI-1
(сверка якоря, два чтения). **Ничего не запускать из архива и не считать документальный
GO исполнением:** `in_progress`, критерий закрытия не выполнен.
2026-09-16T03:11:52.887Z · coordinator
COORD-POSTQA-20260916-WEB645-0307Z

Волна 4164 завершила только документную половину BF-04, WEB-645 остаётся in_progress. Найдено: 5 STALE, 3 MISSING, 1 BLOCKED, 13 UNVERIFIED→OWNER; O8 12 пунктов, 0 execution-proven; three-row separation декларативно потеряна; якорь BASE stale. Restore/build/test-landing/rollback не выполнялись — ими владеет WEB-655. Evidence: /Users/poolpooly/waves-ds/4164/{REPORT.md,receipt.json,SHA256SUMS,DONE}.
2026-09-16T05:31:23.040Z · coordinator
ACTUALIZATION-4164-WEB645-PARTIAL

DeepSeek Flash 4164 закончила read-only актуализацию входов BF-04, но не execution-половину. WEB-645 остаётся `in_progress`.

- exact l115q source/artifact rebinding подтверждено там, где факты были доставлены;
- ни одна строка не получила CURRENT по полной identity; неизвестные значения честно помечены OWNER/BLOCKED, ничего не угадано;
- главный остаток: отсутствует `ops/line-factory/lines/l115q.json`, не привязаны l115q release/run paths, rollback `l115o` artifact/verified receipt;
- в v9 потеряна явная декларация, что clean build, ready artifact и reproducibility — три независимых утверждения; операционно шаги раздельны, декларативно условие потеряно;
- restore/build/test-landing/rollback не запускались;
- `SHA256SUMS` SHA-256 `4d1d6391ec665656e29ae83aab14cce06b06fe6690c64634256deab00ee5950d`, readback PASS;
- report SHA-256 `50c4d2420c5120e1137db8e2435371e22dfd832c972a25c0ed26b7436c935dab`.

Следующий шаг принадлежит подготовке WEB-655: дописать l115q line manifest и три-утверждения, привязать rollback target, затем исполнить isolated restore/build/test-landing/rollback с receipts. Эта сдача не разрешает закрытие WEB-645.
2026-09-19T15:36:32.609Z · coordinator
[BUS FACTOR 4203 AUTHOR ACCEPTED; 4207 INDEPENDENT STARTED 19.09]

4203 author package completed with `NOT_EXECUTED` and `GO_FOR_INDEPENDENT_ACCEPTANCE`; it does not close or execute WEB-641/645/648/655. Coordinator readback: every SHA256SUMS entry PASS, manifest SHA-256 05d5e62ffc64f85daf9139bc30f81ef7edbc55a73c4b56c6c7ebe8a60126422d, fresh fixture suite 40/40 PASS, bash syntax PASS, declared controls 14 and mutation hard-stops 18.

Fresh independent DeepSeek Pro 4207 is now active on M1 in an isolated read-only workspace. Exact input manifest readback PASS. It is limited to deciding `GO_FOR_COORDINATOR_DRY_RUN_ONLY`, `REWORK`, or `INCOMPLETE`; it cannot decrypt, build, land, rollback, use live mode, touch production, or close tickets. It must rerun the author suite and add at least 10 independent behavioral controls plus 8 behavior-changing mutations.

Keep all four tickets in_progress. Next boundary is terminal 4207 + coordinator checksum/readback. Even a GO authorizes only a coordinator-wired real dry-run on the established non-production target; live B/C remains separately gated.
2026-09-19T15:58:36.841Z · coordinator
[BUS FACTOR 4207 REWORK; 4212 STARTED 19.09]

Independent DeepSeek Pro acceptance 4207 completed `REWORK`. Output SHA256SUMS readback PASS; manifest SHA-256 `f51f749b3c3e7ed09a7bf8da4fa7eb663edc8f450af5525927caafffe91c362f`.

Author happy path reproduced 40/40, but independent testing found 9/9 load-bearing mutations silently accepted. The runtime trusts generated `lib/pins.sh` without reconciling it to `pins.json`; this can alter the live-confirmation string, remove compatibility/rollback gates, shrink ports, or reorder gates while still emitting PASS. Additional gaps: package-local trust via final-component symlink, PASS receipts not binding cleanup/no-plaintext/both ports, wrong first-failed-gate ordering, TERM-only child cleanup, weak JSON/type validation.

No dry-run or live exam is authorized and no Bus Factor ticket may close on 4203/4207. Narrow DeepSeek Pro author rework 4212 is active on M1 from exact immutable 4203+4207 inputs; combined input manifest `214aa25d7ff2db6d0502706c89b7a2f4924fa807ed6aa19bd6d17656c705b829`. Status remains `in_progress` until terminal package, coordinator checksum/readback, and a fresh independent acceptance.
2026-09-19T16:27:58.647Z · coordinator
[BUS FACTOR 4212 AUTHOR GO; 4217 INDEPENDENT STARTED 19.09]

DeepSeek Pro author rework 4212 completed `GO_FOR_INDEPENDENT_ACCEPTANCE`. Coordinator readback: root `SHA256SUMS` fully PASS, manifest SHA-256 `9fc71a21eea99d0058fcd0eba2ad45fcc086e6012a79ef83bd3b25d432efffcd`; nested package manifest PASS; 27/27 controls, 9/9 load-bearing mutations, original 4203 suite 40/40. The author explicitly records build/landing/rollback/production/live mode as NOT_EXECUTED.

Fresh independent DeepSeek Pro acceptance 4217 is active on M1 from an immutable coordinator transport manifest `d8b2e592cc73a43799549fdd260ba4c3f8344b64ec452c8a42003bac1caca881` covering 48 files including `4212_DONE`. It must independently reproduce all batteries, run at least 30 controls and 12 mutations, and attack all nine repaired mechanisms. Maximum positive verdict is `GO_FOR_COORDINATOR_DRY_RUN_ONLY`; no decrypt/build/landing/rollback/live practical exam or closure is authorized.
2026-09-19T16:31:48.872Z · coordinator
[DEEPSEEK EXECUTOR BLOCKED 402 19.09 16:28Z]

Executor-level refusal before task completion: `API Error: 402 Insufficient Balance` from `deepseek-v4-pro`. No terminal marker, sealed result package, code verdict, independent verdict, live action, or production evidence was produced. This is not `REWORK` and not a test failure. Existing accepted evidence remains the last valid boundary; status is unchanged. Resume only from the already checksum-verified immutable input after DeepSeek access is restored (or after an explicit routing decision).
2026-09-19T16:38:41.822Z · coordinator
[DEEPSEEK RESTORED; CLEAN RETRIES STARTED 19.09 16:36Z]

Bus Factor independent acceptance resumed in a fresh workspace after confirmed DeepSeek health probe. Immutable transport manifest `d8b2e592cc73a43799549fdd260ba4c3f8344b64ec452c8a42003bac1caca881` re-read PASS, including 4212_DONE. Previous 4217 executor-refusal directory remains untouched. Maximum positive verdict is coordinator dry-run only; no live/practical exam or closure.
2026-09-19T17:07:45.802Z · coordinator
[4220 INDEPENDENT GO; 4224 FIXTURE DRY-RUN COMPLETE 19.09 17:06Z]

4220 independent package full SHA readback PASS, manifest `574bd2e80f4529d882d831d51c5cae6dce2f5efcb8a9db2b1a1a6427c45f745f`; verdict `GO_FOR_COORDINATOR_DRY_RUN_ONLY`. Author reproduction 40/40 tests, 27/27 controls, 9/9 mutations; independent 36/36 controls and 14/14 mutations. Coordinator 4224 then ran only the bundled fixtures: rc=0, B/C receipts `NOT_EXECUTED`, 12 non-validation gates SIMULATED, four pure validation gates PASS, disposable residue 0, receipt manifest readback PASS `37818c9832d99d2a876f5b9e62f110b5ff2d32d3515417220d8617ca436b83fe`. This was NOT the real handover package and is not a practical exam. Real decrypt/build/landing/rollback/production remain NOT_EXECUTED; status stays in_progress.
2026-09-19T17:09:28.006Z · coordinator
[4226 REAL-HANDOVER DRY-RUN BOUNDARY REVIEW STARTED 19.09]

Fresh DeepSeek Pro 4226 is active on M4 from sealed 4220 independent evidence plus coordinator fixture-only 4224 dry-run. Transport manifest `b8225cd597ca2131e86691dcfc180122125903a0aaf1d2d96b5dc54966e89897`, 142 files. It must independently prove default dry-run cannot decrypt, mutate, invoke arbitrary verifier/port templates, or enter live mode; at least 18 controls and 10 mutations. Maximum verdict is `GO_FOR_REAL_HANDOVER_DRY_RUN`, not a practical exam. Real handover dry-run, decrypt/build/landing/rollback/production remain NOT_EXECUTED.
2026-09-19T17:27:21.481Z · coordinator
[4230 REAL IDENTITY DRY-RUN ACCEPTED 19.09]

Coordinator executed only the authorized default `--dry-run` against disposable byte-identical copies of the two real handover identity files. Source handover folder was not modified. Receipt-level acceptance PASS: B/C `NOT_EXECUTED`, `executed=false`, `first_failed_gate=null`; exactly 4 validation gates PASS and 12 gates SIMULATED; commands remained pinned to `line-factory flip` and `transition-l115q.py rollback`; cleanup evidence `workdir_removed=true`, `no_plaintext=true`; identity files unchanged; work residue 0. Dry-run rc=0 was not used as the acceptance signal. Receipt manifest `9058e94ce0e3c80fab919556d6c57e106813e3dcf06cd67c670925c8a9b82380`; retained evidence manifest `3a56f8ebaa51e313f994df423c6d36f7520b159bdd749bdcbe9d3d8453a1edde`. Temporary identity/package/work copies were removed after readback; 19 sealed receipt/evidence files remain in the session scratchpad. Decrypt, kit unpack, build, landing, rollback, production and live practical exam were NOT_EXECUTED. Status remains in_progress; this does not close Bus Factor.
2026-09-19T20:32:06.340Z · coordinator
[4230 EVIDENCE PERSISTED 19.09]

The accepted real-identity dry-run evidence is no longer session-only. Durable readback copy: `/Users/annakorin/nc-ops-scripts/ops/busfactor-4230/retained-evidence/`; `PERSISTED-SHA256SUMS` PASS 31/31, no self-entry, SHA-256 `99a9d703e0ff276ac3c5a30a9ba12ca071ba9c18487b56a156297d0a66a23e31`; secret-signature scan 0. Primary receipt manifest remains `9058e94ce0e3c80fab919556d6c57e106813e3dcf06cd67c670925c8a9b82380`; retained-evidence manifest remains `3a56f8ebaa51e313f994df423c6d36f7520b159bdd749bdcbe9d3d8453a1edde`. Boundary unchanged: 4 validation PASS, 12 SIMULATED, B/C NOT_EXECUTED. Decrypt/build/landing/rollback/live practical exam were not executed; status remains in_progress.
2026-09-22T18:22:00.572Z · triage-m1
РЕШЕНИЕ=in_progress
ОСНОВАНИЕ=Комментарий 5669 от 2026-09-19T20:32:06Z: dry-run принят, но B/C NOT_EXECUTED; decrypt/build/landing/rollback/live practical exam не выполнены.
ЧТО НУЖНО=Через WEB-655 выполнить isolated restore/build/test-landing/rollback на safe_to_break target и приложить receipts полного цикла.
triage-m1 4612
2026-09-23T12:19:56.354Z · triage-neo
РЕШЕНИЕ=in_progress
ОСНОВАНИЕ=Комментарий 5670 от 2026-09-19T20:32Z: real-identity dry-run принят на l115q/l115o, но B/C NOT_EXECUTED и decrypt/build/landing/rollback не выполнены.
ЧТО НУЖНО=Выполнить isolated restore/build/test-landing/rollback на safe_to_break target через WEB-655 и сохранить receipts; triage-neo 4706
2026-09-25T13:56:08.701Z · coordinator
[25.09 13:56Z координатор] 2026-09-25 13:56Z — запущена волна 5005 на M1, Astra xhigh: аудит комплекта WEB-642/643/645/648/655, карта доказательств, исправления инструкций в отдельной копии и исполнимый бриф экзамена. Это не выполнение экзамена. CLI обновлён до 0.157.0, старт и tmux подтверждены.
2026-09-25T14:22:52.257Z · coordinator
[25.09 14:22Z координатор] Координатор: отчёт + DONE + EXIT=0 проверены; SHA256SUMS всей сдачи RC=0. Принимается документальный аудит, не готовность восстановления.

# WEB-645 — результат аудита 5005

25.09.2026, независимый локальный документальный аудит. РЕШЕНИЕ=in_progress.
Основание: полный локальный экспорт tickets.json, последний
комментарий #6072; историческая граница #5669. Живая доска не опрашивалась.

Полная исполнимость не доказана. v9 содержит исторические host paths, неверный порядок D3b и psql-only receipt, не доказывающий old-client/new-schema. Contract 4212 не содержит всех стадий restore/build/write-restart-readback. Подготовлены docs diff с семью полями и раздельными clean-build/artifact/bitwise claims.

Проверено локально: 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 и не основание закрывать карточку.

ЧТО НУЖНО: Технически связать isolated manifest/argv, поставить настоящий old-client probe, offline inputs и runtime. Затем WEB-655 должен предъявить restore/build/test-release/rollback receipts; чтение runbook и bash -n этого не заменяют.

Разделение остатка: исполнитель готовит документы, 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.
Воркер
не проверен 4230:real-identity-dry-run-accepted; live-practical-not-authorized coordinator движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-09-26T12:01:52.113Z