diff --git a/agents/_accepted/2026-08-19-console-links/ACCEPTANCE.md b/agents/_accepted/2026-08-19-console-links/ACCEPTANCE.md new file mode 100644 index 0000000..16e7704 --- /dev/null +++ b/agents/_accepted/2026-08-19-console-links/ACCEPTANCE.md @@ -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 приняты по ссылкам на прогоны. Консоль в браузере не +открывалась, поведение вручную не проверялось. diff --git a/agents/claude/done/2026-08-18-review-pr63-console-links.md b/agents/_accepted/2026-08-19-console-links/review-by-claude.md similarity index 100% rename from agents/claude/done/2026-08-18-review-pr63-console-links.md rename to agents/_accepted/2026-08-19-console-links/review-by-claude.md diff --git a/agents/antigravity/inbox/from-smm-deliverables/smm-antigravity-task-console-links-2026-08-18.md b/agents/_accepted/2026-08-19-console-links/task.md similarity index 100% rename from agents/antigravity/inbox/from-smm-deliverables/smm-antigravity-task-console-links-2026-08-18.md rename to agents/_accepted/2026-08-19-console-links/task.md diff --git a/agents/codex/inbox/2026-08-19-cosign-installer-rehearsal.md b/agents/codex/inbox/2026-08-19-cosign-installer-rehearsal.md new file mode 100644 index 0000000..3e7a9cb --- /dev/null +++ b/agents/codex/inbox/2026-08-19-cosign-installer-rehearsal.md @@ -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 зелёный».