Задания и отчёты по актуализации проекта согласно agents/README.md: синхронизация git-состояния, обновление зависимостей, разбор PR #63. Правок workflow ветка не несёт: обновления GitHub Actions доставляются слиянием PR Dependabot #44 и #46, чтобы не применить одно и то же дважды. PR #45 (cosign-installer) не принят — релизный workflow на pull request не выполняется, поэтому зелёные проверки его не покрывают. Также добавлена записка передачи состояния, закоммитить её разрешил владелец. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8.5 KiB
Передача состояния: как продолжить работу в новом чате
Этот файл заменяет переписку. Он написан для того, чтобы новый чат начинался с одного сообщения и не требовал пересказа истории.
Первое сообщение в новом чате
Репозиторий
C:\Users\Ochenstarik\Agent_projects\server-monitor-manager, GitHubochenstarik-ui/server-monitor-manager. Прочитайagents/README.mdиagents/claude/notes/2026-08-18-передача-состояния.md, сверь состояние с GitHub и продолжай как главный агент: проверяешь работу Codex и Antigravity, пишешь им задания, мержишь и выпускаешь релизы.
Больше ничего пересказывать не нужно: доска, задания, отчёты и архив лежат в репозитории.
Где что лежит
| Что | Где |
|---|---|
| Правила работы агентов | agents/README.md |
| Задания агенту | agents/<agent>/inbox/ |
| Отчёты агента | agents/<agent>/done/ |
| Принятые пары «задание — отчёт» | agents/_accepted/ГГГГ-ММ-ДД-имя/ |
| Доска состояния (прежний формат) | agents/_salvage-2026-08-18/smm-deliverables/README.md |
| Архив закрытых заданий | agents/_salvage-2026-08-18/smm-deliverables/Старые задачи/ |
| Инструкция владельцу по серверам | agents/_salvage-2026-08-18/smm-deliverables/smm-cleanup-and-install-2026-08-15.md |
Доску стоит перенести из _salvage в постоянное место — она живая, а не архив.
Состояние на 2026-08-18
main—f8e751c, слит PR #62codex/release-alpha20;- последний релиз —
v0.1.0-alpha.20; - открыты: PR #63
antigravity/console-links(управление Links в консоли), PR #64chore/agents-workspace(эта самая схема папок), плюс dependabot; - ветка
claude/deps-updateсодержит незакоммиченные правки двух workflow и два новых задания вagents/claude/inbox/.
Сожжённые номера версий
alpha.10, alpha.11, alpha.19 — теги созданы, Release pipeline упал,
релизы не опубликованы, номера не переиспользуются.
alpha.19 сожжён при мне и по процедурной дыре, а не по вине исполнителя:
шаг Package bootstrap сверяет DEFAULT_RELEASE_TAG в deploy/smm-setup.sh
с выпускаемым тегом, но весь блок закрыт условием refs/tags/*, поэтому
репетиция через workflow_dispatch идёт по refs/heads/main и эту сверку
пропускает. Репетиция была зелёной, тег упал.
Вывод, который дороже самого случая: репетиция, не покрывающая шаги, исполняемые только на теге, не является репетицией. Проверять это до следующего выпуска.
Рабочие соглашения
Выведены из происшествий, а не из общих соображений.
- Задание содержит только предстоящую работу. Файлы, начинавшиеся с описания уже сделанного, исполнитель принимал за отчёт о выполнении: Codex ответил «задание уже выполнено, PR #58» вместо работы над невыполненной частью. Сделанное живёт на доске, а не в задании.
- Отчёт — раздел в описании PR. Отдельный файл с отчётом результатом не является. Antigravity однажды сдал только такой файл, не создав ни ветки, ни PR.
- Проверять по репозиторию, а не по отчёту. Смотреть диф от базы слияния,
а не от
main: отставшая ветка в обычном дифе выглядит так, будто удаляет чужую работу. - Критерий приёмки должен быть достижим. «Проверка запустилась
автоматически» была недостижима: событие от
GITHUB_TOKENне запускает другие workflow. Это дефект задания, а не исполнителя. - Границы областей прописывать явно. Codex —
deploy/**, релизный пайплайн, проверка релиза. Antigravity —src/**, консоль, тесты Control и Desktop. Пересечение областей ломает параллельную работу. - Зелёный CI не означает работающую машину. Так найдены: отсутствующий cosign, права на каталог mesh, отдача ассетов из ресурсов сборки. Каждый раз тест подставлял временный путь и проходил, а на сервере отказывало.
- Команды владельцу помечать, где выполнять: 🖥 на Windows, 🐧 на сервере. Путаница машин стоила нескольких заходов.
- Долгие загрузки — с индикатором. Молчащий
curl -fsSLна 24 МБ дважды принят за зависание и прерван.
Живая установка
Проверено на настоящих машинах, а не в CI.
- Hub
178.212.13.102(host1885995-3.hostland.pro), Ubuntu 24.04 x86_64, поставлен изv0.1.0-alpha.14; - отпечаток CA:
EB:05:E5:16:42:EE:97:28:C2:E9:EA:6F:3E:48:3C:0C:1C:1E:02:E0:ED:9B:AF:7B:BF:24:2C:19:D4:4B:11:C4; - публичный ключ WireGuard Hub:
AjN8XwPB11bRQa0fO5ljPlAWc0FxU+fxbeUT8AZczHk=; - Node
ai-agent—vm1957808.vds.chsl.one, адрес10.77.0.2, mesh собран, ping 7.6 мс. На этой машине работает 3x-ui и он не пострадал; - свободных серверов больше нет.
tests/acceptance/three-server-mesh.shтребует Hub и три узла: источник и две цели, потому что смысл проверки в том, что к одной цели доступ по Link открыт, а ко второй закрыт. На двух машинах это не проверить; - WSL под узлы не годится: все дистрибутивы WSL2 делят один сетевой стек,
два
smm0с разными адресами не поднять. Проверено экспериментом.
Физическая приёмка — единственный пункт Горизонта 0, не закрываемый кодом.
Что важно знать про продукт
- подпись релиза проверяется настоящим материалом с обеих сторон: установкой
на чистый runner (Linux) и
UpdateService(Windows), автоматически на каждом релизе; - проверка подписи требует исходящего доступа к службам sigstore; в закрытом контуре установка зависнет;
- таблица nftables
inet ochenstarik_smmцепляется только к хукуforwardи только к трафикуsmm0 → smm0. Хукаinputв ней нет, политикаaccept. Поэтому установка на сервер с 3x-ui безопасна — проверено на живой машине; - опубликованный тег неизменяем, ассеты не заменяются: исправление выпускается следующим номером.