server-monitor-manager/agents/hermes/inbox/from-smm-deliverables/Старые задачи/smm-hermes-task-review-merge-release-alpha10-2026-08-10.md
Ochenstarik 23eb3f5233 chore(agents): разбор рабочих папок с диска на 2026-08-18
Задания, отчёты и патчи, лежавшие в C:\Users\Ochenstarik\projects и в
домашней папке, перенесены в agents/. Разложено по агентам там, где имя
файла позволяло определить автора; остальное — в _salvage-2026-08-18/
и разбирается вручную.

Патчи в notes/salvage-2026-08-18/ — незакоммиченная работа из брошенных
рабочих копий: она существовала только на диске.

Тяжёлое (релизные архивы, инсталляторы, наборы данных) в репозиторий не
попало: оно лежит рядом, в Agent_projects/_archive и Agent_projects/_data.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 14:19:54 +07:00

7.3 KiB
Raw Permalink Blame History

Hermes: независимая приёмка Queue B, merge и релиз alpha.10

Когда начинать

Начать review после того, как Antigravity откроет PR из antigravity/signed-delivery-queue-b и сообщит о зелёном CI. До этого не редактировать его рабочую ветку и не выпускать новый релиз.

Baseline на момент постановки:

  • main и v0.1.0-alpha.9: 2ca059f;
  • PR #32 и #33 смержены;
  • Release pipeline alpha.9 зелёный;
  • PR #34 repo hygiene открыт отдельно;
  • Queue B PR пока отсутствует.

Часть 1 — независимый review Queue B

Проверить Git и scope

  • Получить свежие refs и убедиться, что ветка основана на актуальном main. Если до review смержен PR #34 или другой PR, потребовать rebase до приёмки.
  • Убедиться, что .github/workflows/** не изменены Antigravity, нет ci_log*.txt, test keys, скачанных binaries и временных release-файлов.
  • Проверить историю: bootstrap-файл менялся только после merge PR #32/#33; правила single-writer и immutable release сохранены.

Проверить Desktop

  • Trust identity/issuer вшиты в production-код и соответствуют linux-release.yml и docs/release-policy.md.
  • Manifest и signature проверяются до показа update action.
  • MSIX hash проверяется после загрузки и до запуска.
  • Все assets связаны с одним tag/release.
  • Alpha/pre-release channel работает явно и тестируемо; stable-only releases/latest не используется как недоказанное решение.
  • Отказ fail closed и попадает в штатную диагностику.
  • Нет пользовательского обхода подписи.
  • Unit tests не выполняют скрытых сетевых вызовов и действительно компилируют production updater.

Проверить bootstrap

  • verify-manifest и тесты имеют одинаковую сигнатуру CLI.
  • Production keyless verification соответствует формату signature, реально опубликованному в alpha.9.
  • Положительный тест использует эквивалентный production trust flow; тестовый ключ не подменяет production identity незаметно.
  • Manifest hash, missing signature/tool, foreign identity, tampering и version mismatch покрыты отрицательными тестами.
  • SMM_ALLOW_UNSIGNED=1 остаётся явным developer-only bypass; default path fail closed.

Независимые проверки

  • Повторить проверку manifest/signature и hashes на неизменяемых assets v0.1.0-alpha.9.
  • Сделать mutation proof: временно поменять expected identity или один manifest hash и показать падение точного теста; временную правку не коммитить.
  • Прогнать actionlint, shellcheck/bash syntax, Desktop suite, Control suite и релевантные acceptance/bootstrap suites.
  • Сверить результаты GitHub CI. Зелёный CI без security-сценариев не считать достаточным.

Если найден блокер — не чинить молча в ветке Antigravity. Остановить merge, дать точное замечание с воспроизведением и дождаться исправления.

Часть 2 — merge

Merge разрешён только если:

  • все критерии Antigravity-задачи фактически выполнены;
  • branch актуальна относительно main;
  • локальные и GitHub gates зелёные;
  • producer/consumer формат cosign доказан на реальном alpha.9;
  • нет незаявленного workflow или release scope.

После merge повторить обязательные suites на merge commit. Не использовать старый CI head как единственное доказательство.

Часть 3 — immutable release v0.1.0-alpha.10

  • Использовать linux-release.yml как единственного публикатора.
  • Если Queue B выявила producer-side gap (certificate/bundle/manifest metadata), исправить его отдельным reviewable PR до тега, с actionlint и тестом producer/consumer contract.
  • Обновить tracked deploy/smm-setup.sh и прочие version sources на v0.1.0-alpha.10 до создания тега.
  • Создать новый tag только на принятом main. Не двигать alpha.8 или alpha.9, не заменять их assets.
  • Дождаться полного release pipeline.
  • Проверить наличие и согласованность:
    • Linux x64/arm64 archives и checksums;
    • Windows MSIX и checksum;
    • SBOM для всех платформ;
    • manifest v2;
    • signature и необходимые verification materials;
    • bootstrap и checksum;
    • smm-setup.sh и checksum.
  • Проверить, что manifest содержит hashes именно опубликованных assets и версии Control/Agent/helper.
  • Проверить подпись с pinned issuer/identity внешней командой, затем пройти consumer verification Desktop/bootstrap.
  • Выполнить smoke update с предыдущего релиза без реального production-развёртывания: корректный пакет принимается, tampered/foreign/missing signature и несовместимые версии отклоняются до установки.

Критерий завершения

  • Queue B смержена только после независимой приёмки.
  • Merge commit имеет зелёные Linux/Windows и security/acceptance gates.
  • v0.1.0-alpha.10 указывает на подтверждённый commit и больше не изменяется.
  • Release pipeline зелёный, полный набор assets опубликован.
  • Desktop и bootstrap проверяют реальные alpha.10 manifest/signature/hash.
  • Отрицательные сценарии доказаны.
  • Старые теги и assets не изменялись.

Итоговый отчёт

Указать:

  • PR Queue B и merge commit;
  • все review findings и как они закрыты;
  • локальные и CI-команды с результатами и ссылками;
  • release workflow run;
  • tag/commit alpha.10;
  • список assets, hashes и результат cosign verification;
  • smoke/negative checks;
  • что не запускалось и почему;
  • известные ограничения и следующий незавершённый этап.