server-monitor-manager/agents/hermes/inbox/from-smm-deliverables/Старые задачи/smm-hermes-task-alpha11-and-branch-protection-2026-08-11.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

95 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hermes: выпустить alpha.11, починить bootstrap-job релиза, включить защиту ветки
## Состояние
- `main` @ `5349533` «Bump version to v0.1.0-alpha.11»;
- открытых PR нет;
- последний **опубликованный** релиз — `v0.1.0-alpha.9`;
- тег `v0.1.0-alpha.10` создан на `e8f771b`, но **релиз не опубликован**: `Release pipeline` упал в job `bootstrap`;
- Antigravity параллельно доделывает свою часть.
Ветка: `hermes/release-alpha11`.
---
## Часть 1 — починить job `bootstrap` в `Release pipeline` · блокирующее
Прогон по тегу `v0.1.0-alpha.10` (`31420461877`):
```
bootstrap: failure
publish-linux (linux-x64): success
publish-linux (linux-arm64): success
package-windows: success
manifest: skipped
```
В логе видно `PASS: Missing signature rejected`, затем `Process completed with exit code 1`. То есть негативные проверки подписи отработали частично, после чего шаг упал без внятного сообщения.
Следствие: `manifest` пропущен, релиз не создан, тег остался пустым.
Сделать:
1. Найти и исправить причину падения. Молчаливый `exit 1` без диагностики — сам по себе дефект: каждая проверка обязана печатать, что именно не сошлось.
2. Прогнать `Release pipeline` через `workflow_dispatch` на своей ветке до тегирования, чтобы убедиться, что job `bootstrap` проходит.
## Часть 2 — выпустить `v0.1.0-alpha.11`
Тег `v0.1.0-alpha.10` использовать повторно нельзя: `docs/release-policy.md` запрещает переиспользование и пересоздание опубликованных тегов, а тег создан и виден. Версия в исходниках уже поднята до alpha.11 — это правильный выход.
1. После части 1 создать `v0.1.0-alpha.11` и запушить тегом.
2. Убедиться, что в релизе присутствует полный набор: bootstrap и `.sha256`, оба `tar.gz` и `.sha256`, три SBOM, MSIX, `smm-setup.sh` и `.sha256`, `server-monitor-manager-manifest.json` и `.sig`.
3. В `docs/release-policy.md` добавить строку о судьбе `v0.1.0-alpha.10`: тег существует, релиз по нему не публиковался, номер не переиспользуется. Пустой тег без объяснения — источник будущей путаницы.
## Часть 3 — включить защиту ветки `main` · системная причина
`main` не защищён: `GET /branches/main/protection` возвращает 404.
С 10 августа шесть коммитов легли в `main` **напрямую, минуя PR**:
```
5349533 Bump version to v0.1.0-alpha.11
48d096a fix(ci): update release contract, remove backward compat test
e04037a docs: add Debian VM reboot constraint section
bb672a2 docs: sync translations and roadmap
e8f771b Merge branch 'hermes/release-alpha10'
7b322a6 Add release-verification workflow to main
```
До этого всё шло через PR — #32, #33, #35, #36. Результат отхода от правила: два коммита оставили `main` красным на сутки (падал `tests/bootstrap/test-release-contract.sh`), и это заметил не CI-гейт, а внешняя проверка.
Включить на `main`:
- обязательный pull request перед слиянием;
- обязательные проверки статуса: `build-and-test` (Linux) и `build` (Windows) как минимум;
- запрет force-push и удаления ветки;
- обязательная актуальность ветки относительно `main` перед слиянием.
Правило «один PR — одна тема, слияние после зелёного CI» существует с самого начала, но держалось на дисциплине. Оно должно держаться на настройке.
Записать это в `docs/release-policy.md` рядом с правилом неизменяемости тега.
## Часть 4 — проверка предыдущих частей задания
Из прошлого задания подтвердить в отчёте:
- roadmap: подпись manifest отмечена выполненной, физический acceptance остаётся открытым — **проверено, сделано**;
- Debian VM reboot: ограничение записано в документации — **проверено, сделано**;
- слитые ветки удалены — **проверено, осталось 7 из 15, все неслитые**;
- переводы README: в чём именно выражена синхронизация, какие файлы изменены.
---
## Критерий приёмки
- job `bootstrap` в `Release pipeline` проходит; каждая проверка при отказе печатает причину;
- `v0.1.0-alpha.11` опубликован с полным набором ассетов;
- судьба `v0.1.0-alpha.10` зафиксирована в `docs/release-policy.md`;
- `main` защищён: PR обязателен, статусы обязательны, force-push запрещён;
- правило записано в документации;
- `main` зелёный;
- всё, кроме настройки защиты ветки, проходит через PR.
## Отчёт
Раздельно: локально, в CI со ссылками, не запускалось и почему. Для части 3 приложить вывод `gh api repos/.../branches/main/protection` после включения.