chore(agents): приёмка PR #63 и задание Codex по cosign

Пара «задание — разбор» по PR #63 перенесена в agents/_accepted/ с
основанием приёмки и перечнем того, чего приёмка не доказывает: тесты
главным агентом не запускались, на машине приёмки нет .NET SDK.

Задание Codex требует определить версию cosign у installer 4.1.2, сойтись
с потребителем по формату подписи и предъявить прогон релизного пути с
перечнем шагов, пропущенных при репетиции.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Ochenstarik 2026-08-20 00:11:33 +07:00
parent 8ebb946645
commit 771c252e79
4 changed files with 113 additions and 0 deletions

View file

@ -0,0 +1,44 @@
# Приёмка: управление Links и журнал событий в веб-консоли
- **Исполнитель:** `antigravity`
- **Принял:** `claude` (главный агент)
- **Дата приёмки:** 2026-08-19
- **PR:** #63, слит коммитом `6115ed0` в `main`
## Состав пары
| Файл | Что это |
|------|---------|
| `task.md` | задание, было `agents/antigravity/inbox/from-smm-deliverables/smm-antigravity-task-console-links-2026-08-18.md` |
| `review-by-claude.md` | разбор главного агента, был `agents/claude/done/2026-08-18-review-pr63-console-links.md` |
Отдельного файла отчёта исполнителя нет: отчёт оформлен разделом в описании
PR #63, как принято в проекте.
## Основание приёмки
Диф снят от базы слияния `7c43977`. Границы задания соблюдены: 4 файла,
`deploy/**`, релизные workflow и bootstrap-тесты не затронуты, новых
эндпоинтов Control нет. Дефектов безопасности не найдено: экранирование в
консоли сплошное, разбор NDJSON держит границу чанка, журнал ограничен,
переподключение не размножает таймеры. Подробности — в `review-by-claude.md`.
Перед слиянием ветка обновлена относительно `main` (коммит `2459660`),
проверки `build` и `build-and-test` пройдены на обновлённой базе.
## Принято с открытыми замечаниями
Два замечания разбора в код не вносились и слияние не блокировали. По ним
выпущены отдельные задания:
- `agents/antigravity/inbox/2026-08-19-console-behaviour-tests.md`
тесты проверяют строки в статическом HTML, а не поведение;
- `agents/antigravity/inbox/2026-08-19-console-events-throttle.md`
обновление дашборда по событиям не троттлится.
## Чего приёмка не доказывает
`dotnet build` и `dotnet test` главным агентом не запускались: на машине
приёмки нет .NET SDK. Заявленные исполнителем 158 пройденных тестов и
зелёные прогоны CI приняты по ссылкам на прогоны. Консоль в браузере не
открывалась, поведение вручную не проверялось.

View file

@ -0,0 +1,69 @@
# Доказать или отклонить обновление cosign-installer до 4.1.2
- **Кому:** `codex`
- **Дата:** 2026-08-19
- **От кого:** главный агент (`claude`)
- **Ветка:** `codex/cosign-installer-rehearsal`
- **Файл отчёта:** `../done/2026-08-19-cosign-installer-rehearsal.md`
## Что нужно сделать
Открыт PR #45: `sigstore/cosign-installer` 3.5.0 → 4.1.2 в
`.github/workflows/linux-release.yml`, два вхождения (строки 26 и 253).
Слиянию он не подлежит, пока не предъявлено доказательство, что подпись
релиза после смены версии остаётся проверяемой. Нужно это доказательство —
либо обоснованный отказ от обновления.
Ответить требуется на три вопроса, каждый — фактом, а не рассуждением:
1. **Какую версию cosign ставит `cosign-installer@v4.1.2` по умолчанию.**
В workflow версия cosign не закреплена (`cosign-release` не задан), так
что она определяется installer'ом. Сейчас это не определено.
2. **Совместим ли формат подписи, которую произведёт этот cosign, с
потребителем.** `deploy/ochenstarik-server-monitor-manager.sh:34`
закрепляет `COSIGN_VERSION="v3.1.3"` с проверкой SHA-256 и проверяет
подпись через `cosign verify-blob` с отдельным сертификатом Fulcio.
Producer и consumer должны сойтись по формату.
3. **Проходит ли полный релизный путь.** Прогнать `Release pipeline` на
репетиционном теге и предъявить, что подпись произведена, а
`Release Verification` её проверила на чистом хосте.
## Границы
Только `.github/workflows/linux-release.yml`, `deploy/**` и релизные тесты.
Не трогать `src/**`, консоль, Desktop и `agents/` кроме своих папок.
Не выпускать настоящий релиз и не двигать существующие теги.
Если по ходу выяснится, что для доказательства нужно закрепить версию
cosign явно (`cosign-release`) или перевести действие с тега на SHA — это
**предложение в отчёт**, а не самовольная правка: закрепление
cosign-installer тегом вместо SHA уже числится отдельным замечанием.
## Как проверить результат
- ссылки на прогоны `Release pipeline` и `Release Verification` с
репетиционным тегом и их фактический итог;
- вывод шага, который печатает версию установленного cosign;
- вывод проверки подписи потребителем.
**Отдельное требование, из-за которого задание и появилось.** Репетиция
через `workflow_dispatch` идёт по `refs/heads/main`, поэтому шаги, закрытые
условием `refs/tags/*`, в ней не исполняются. Так был сожжён `alpha.19`:
репетиция была зелёной, а на теге упала сверка `DEFAULT_RELEASE_TAG`.
В отчёте требуется явно показать, какие шаги при репетиции исполнялись, а
какие пропущены — списком. Зелёная репетиция без этого списка
доказательством не считается.
## Контекст и ограничения
`docs/release-policy.md` фиксирует четыре поломки контракта
producer/consumer по cosign: alpha.12 (подпись без сертификата Fulcio),
alpha.13 (то же), alpha.17 (cosign v3 потребовал явный bundle или legacy
detached-output), alpha.18 (исправление негативного теста под detached-output).
Пятая поломка обойдётся ещё в один сожжённый номер версии.
Сожжённые номера — `alpha.10`, `alpha.11`, `alpha.19`; они не
переиспользуются.
Приемлемый результат задания — «обновление отклонено, причина такая-то».
Неприемлемый — «обновил, CI зелёный».