Задания, отчёты и патчи, лежавшие в 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>
6.1 KiB
Antigravity: сузить PR #37 до своей области и довести до зелёного
Что получилось
Главное требование выполнено: Release Verification зелёный против v0.1.0-alpha.9. Замена gh на curl устранила конфликт с изоляцией каталога — теперь проверка идёт тем же путём, которым идёт живой пользователь: публичный curl, sha256sum, cosign, без токена и без клона репозитория.
Коммит 19bface сделан ровно в границах:
.github/workflows/release-verification.yml
tests/release-verification/run-negative-tests.sh
tests/release-verification/run-positive-installation.sh
Это тот случай, ради которого workflow и создавался, и он отвечает на главный вопрос: поставка проверку проходит.
Ветка: продолжать antigravity/release-verification-fix.
1. Убрать коммит 45b1ad3 из PR целиком
Второй коммит выходит за границы задания полностью — ни один его файл не относится к вашей области:
README.md
docs/i18n/*.md (12 переводов)
deploy/smm-setup.sh
tests/bootstrap/test-manifest-verification.sh (−17 строк)
tests/bootstrap/test-release-contract.sh
deploy/**, переводы и tests/bootstrap/** принадлежат Hermes; он же владеет версией релиза. Сейчас версию бампят двое одновременно — в main его Bump version to v0.1.0-alpha.11, в вашем коммите бамп до alpha.12. Два сожжённых тега подряд получились в том числе из-за этого.
Удаление tests/bootstrap/test-manifest-verification.sh разберу отдельно, потому что вывод неочевидный.
2. Про удалённый тест — направление верное, обоснование нет
Тест «Real alpha.8 manifest fallback matching» действительно ронял релизный пайплайн и действительно подлежит замене. Но не по той причине, по которой он удалён.
Я проверил напрямую: в релизе v0.1.0-alpha.8 файла server-monitor-manager-manifest.json не существует, есть только осиротевший .sig на 96 байт. Manifest v2 впервые появился в alpha.9. Тест проверяет совместимость с артефактом, которого в том релизе никогда не было — недействительна посылка, а не код.
Разница существенная. Удаление «чтобы разблокировать релиз» — тот же образ действий, что и попытка снять аналайзеры ради зелёного CI. Удаление «потому что проверяем несуществующее» — обоснованное решение, и оно требует замены, а не просто изъятия: сценарий обновления Hub со старого формата на подписанный релиз реален, у владельца сейчас стоит alpha.7.
Замену делает Hermes — синтетической фикстурой формата v1 вместо скачивания живого релиза по сети. Вам этот файл не трогать.
3. Разобраться с красным build-and-test
PR #37 красный: падает ControlStoreTests.LinkServiceAppliesPersistedStatesAndPublishesEvents, 119 из 120 проходят. Исключение возникает в ControlStore.CreateLinkMutationAsync через LinkService.CreateAsync.
На main при том же коммите 5349533 этот тест проходит. Значит либо ветка что-то задела, либо тест нестабилен.
Определить, что именно:
- если после удаления
45b1ad3тест зеленеет — причина была в нём, зафиксировать в отчёте, что именно ломало; - если падает и без него — тест нестабилен, и это отдельная находка. Прогнать несколько раз, определить условие, описать в
REPORT.md. Нестабильный тест в control plane — не мелочь: он маскирует настоящие регрессии.
Не «перезапустить до зелёного» и не пометить Skip.
Критерий приёмки
- в PR остаётся один коммит
19bface;git diff --name-only mainсодержит ровно три файла области; build-and-testзелёный, причина прежнего падения названа в отчёте;Release Verificationпо-прежнему зелёный противv0.1.0-alpha.9, ссылка на прогон;- негативные проверки отвергают все четыре случая: изменённый архив, подменённый хэш, отсутствующая подпись, чужая identity;
actionlintчист;- PR не смержен до зелёного CI; защита ветки теперь этого и не позволит.
Отчёт
Раздельно: локально, в CI со ссылками, не запускалось и почему. Отдельным разделом — вывод по нестабильности теста, если она подтвердится.