diff --git a/personal/plans/balda-callee-prism-plan.md b/personal/plans/balda-callee-prism-plan.md index 9435f508..32ca58a1 100755 --- a/personal/plans/balda-callee-prism-plan.md +++ b/personal/plans/balda-callee-prism-plan.md @@ -1,11 +1,11 @@ -# Текущее состояние — Balda / Broker — 2026-10-03 21:40 Бишкек +# Текущее состояние — Balda / Broker — 2026-10-03 21:52 Бишкек -Статус: **приёмочный Docker-прогон выполнен, но общий release остаётся NO-GO до проверки автоматической публикации артефактов и сборки точного HEAD PR #12.** Записи ниже — история и могут содержать устаревшие статусы. +Статус: **приёмочный Docker-прогон выполнен; автоматическая публикация исправлена в Broker и конфигурации Balda, но новый end-to-end прогон ещё нужен. Общий release остаётся NO-GO до него и приёмки точного HEAD PR #12.** Записи ниже — история и могут содержать устаревшие статусы. - **Прогон:** `run-fbe2cb459fe2965554402aba1bd5fcd0` стартовал с `a030ce3`, завершился `succeeded`, `cleanup=done`, `quality.passed=true`. Worker создал `4dafb9d` для команды `hi`. В исходном Mattermost треде `jqor5w1qd3n5irizqd1jqued1a` Balda durable outbox хранит два разных отправленных сообщения с provider ID: запрос апрува (event 13) и финал (event 30). Повторы webhook шли с теми же dedupe keys; cleanup (event 31) не создал третий финальный пост. -- **Доставка кода:** после успеха Balda не вызвала `execution_publish_artifacts`. Коммит `4dafb9d` опубликован вручную через проверяющий API Broker в Git-зеркало и чистый локальный `/Users/admin/Developer/go-cli-test`. После публикации `go test ./...` прошёл, `go run . hi` напечатал `hello world!`, `add 2 3` — `5`. Автоматический вызов публикации из Balda остаётся непроверенным/неисправленным. +- **Доставка кода:** после успеха Balda не вызвала `execution_publish_artifacts`. Коммит `4dafb9d` опубликован вручную через проверяющий API Broker в Git-зеркало и чистый локальный `/Users/admin/Developer/go-cli-test`. После публикации `go test ./...` прошёл, `go run . hi` напечатал `hello world!`, `add 2 3` — `5`. Причина пропуска найдена: MCP давал Balda ссылки на артефакты, но требовал недоступный ей SHA из `commit.json`; webhook prompt также не называл публикацию явно. Broker теперь сам проверяет commit/quality/bundle, а `expected_head` в MCP необязателен. Активный Broker обновлён, Balda webhook prompt требует публикацию перед закрытием Story, плагин обновлён до rc.19. Idempotent вызов действующего API без `expected_head` вернул HTTP 200 и прежнюю ревизию `4dafb9d`; новый автоматический end-to-end прогон ещё не проведён. - **PR [#12](https://github.com/baldaworks/balda/pull/12):** открыт, не draft, HEAD `c5186037`, GitHub сообщает `mergeable_state=clean`; 8/8 checks успешны, ревью пока нет. Изменение маршрутизирует header-authenticated webhook по `chat_id`, даёт fallback для отсутствующей/неактивной сессии и receipt после реальной отправки. Активный бинарник Balda содержит `vcs.revision=d094943b` и `vcs.modified=true`, поэтому успешный live-прогон **не доказывает** работу точного HEAD PR #12. Код можно отдавать на ревью; перед merge/release нужна приёмка сборки точного HEAD. -- **Следующий контроль:** проверить публикацию артефактов без ручного API-вызова и повторить уведомления на образе из `c5186037`. PR и Broker-изменения не слиты автоматически. +- **Следующий контроль:** проверить автоматическую публикацию без ручного API-вызова в новом прогоне и повторить уведомления на образе из `c5186037`. PR и Broker-изменения не слиты автоматически. --- diff --git a/personal/projects/balda/balda.md b/personal/projects/balda/balda.md index 1b5e33c9..be49fdb0 100755 --- a/personal/projects/balda/balda.md +++ b/personal/projects/balda/balda.md @@ -1,6 +1,6 @@ # Balda (Валера) — AI Worker Bot -> **Актуальный статус — 2026-10-03.** Mattermost-интеграция PR #8 уже в upstream. [PR #12](https://github.com/baldaworks/balda/pull/12) по маршрутизации webhook открыт на `c5186037`: 8/8 GitHub checks прошли, ревью нет. Код готов к ревью, но точный HEAD ещё не проверен в live (работающий бинарник собран из `d094943b` с локальными изменениями). Приёмочный Broker run `run-fbe2cb459fe2965554402aba1bd5fcd0` прошёл; Mattermost отправил апрув и финал в исходный тред. Результат `4dafb9d` был доставлен в `go-cli-test` вручную через Broker API, потому что Balda не вызвала публикацию артефактов. Общий release — NO-GO. Детали и текущие проверки: [[personal/plans/balda-callee-prism-plan]]. Ниже сохранена историческая документация; старые статусы PR и конфигурации не являются текущими. +> **Актуальный статус — 2026-10-03.** Mattermost-интеграция PR #8 уже в upstream. [PR #12](https://github.com/baldaworks/balda/pull/12) по маршрутизации webhook открыт на `c5186037`: 8/8 GitHub checks прошли, ревью нет. Код готов к ревью, но точный HEAD ещё не проверен в live (работающий бинарник собран из `d094943b` с локальными изменениями). Приёмочный Broker run `run-fbe2cb459fe2965554402aba1bd5fcd0` прошёл; Mattermost отправил апрув и финал в исходный тред. Результат `4dafb9d` был доставлен в `go-cli-test` вручную через Broker API: Balda пропустила автоматическую публикацию. Broker теперь сам проверяет commit/quality/bundle без обязательного SHA от Balda; webhook и плагин rc.19 требуют публикацию до закрытия Story. Новый end-to-end прогон ещё не проведён. Общий release — NO-GO. Детали и текущие проверки: [[personal/plans/balda-callee-prism-plan]]. Ниже сохранена историческая документация; старые статусы PR и конфигурации не являются текущими. Аналог Hermes. Go-сервис: берёт задачи из чата (Telegram или Zulip), запускает AI CLI и отвечает. diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index a9a74560..f18b03fe 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -2,7 +2,7 @@ title: Virfield namespace: personal updated: '2026-10-03' -status: candidate-image-ready-clone-pending +status: candidate-legacy-clone-accepted-clean-build-pending tags: - virfield - macos @@ -12,25 +12,25 @@ tags: --- # Virfield — статус 2026-10-03 -**Следующее действие:** проверить один временный клон Monterey/Xcode после подтверждения удаления этого клона. Исходный образ сохраняется. +**Следующее действие:** провести чистую сборку Monterey/Xcode без ручных восстановлений перед объявлением всего релиза готовым. ## Состояние -- Release-ready: нет. Образ Monterey 12.6 + Xcode 13.4.1 достиг `image_ready`; приёмка клона, workload, выгрузки артефакта и очистки ещё не выполнена. -- Образ: `macos-12.6-xcode-13.4.1`, job `job-057b0898f3746df8b12fb8b5c4c34c1c` завершился успешно 2026-10-03. Проверены Xcode 13.4.1 / 13F100, подпись Apple, первая инициализация, компиляция Swift, SIP, SSH и повторная загрузка. -- Monterey использует явный `legacy_uuid`: APFS зашифрован при выключенном FileVault, один активный worker, публикация в registry запрещена. Исходная VM остановлена. -- Ветка `codex/versioned-images`: изменения ещё в рабочем дереве, commit/push не сделаны. +- Monterey 12.6 + Xcode 13.4.1: образ `image_ready`, временный legacy-клон прошёл загрузку, компиляцию Swift, SSH, выгрузку артефакта и очистку. Тест `TestLiveLeaseSSH` прошёл за 86,99 с 2026-10-03. +- Исходный образ `macos-12.6-xcode-13.4.1` остановлен и сохранён. Временный клон удалён; активных заданий и занятых слотов нет. +- Release-ready: нет. Сборка образа достигла результата после ручных восстановлений; чистая сборка и полный путь Balda/Broker ещё не приняты. +- Ветка `codex/versioned-images`: изменения в рабочем дереве, commit/push не сделаны. -## Передача Xcode +## Установка Xcode и размер диска -- macOS 13+ использует основной путь VirtioFS с проверенным Xcode.app. -- Monterey 12.x не монтирует VirtioFS. Его путь передаёт проверенный XIP по закреплённому SSH и сверяет SHA-1 в госте. -- На существующей 80 GB VM `xip` отказался распаковываться при ~42 GiB свободного места. Фолбэк передал проверенный Xcode.app по SSH без macOS tar metadata; гостевая проверка подписи прошла. +- macOS 13+ использует VirtioFS. Monterey не монтирует VirtioFS; его путь передаёт проверенный XIP по закреплённому SSH и сверяет SHA-1 в госте. +- На существующей 80 GB VM `xip` отказался распаковываться при ~42 GiB свободного места. Фолбэк передал проверенный Xcode.app по SSH без macOS tar metadata; гостевая подпись Apple и точная версия прошли проверку. - XIP занимает ~10 GB. Кэшированный Xcode.app занимает ~17 GB на хосте; несжатый поток файлов составил ~32 GiB. Готовая 80 GB VM занимает на хосте ~49 GiB. -- Новые macOS 11/12 VM с Xcode получают разреженный виртуальный диск 120 GB. Это верхний лимит, а не немедленное выделение 120 GB на хосте. Существующая VM не увеличивалась. +- Новые macOS 11/12 VM с Xcode получают разреженный виртуальный диск 120 GB. Это верхний лимит, не немедленное выделение 120 GB на хосте. Существующая VM не увеличивалась. -## Проверки и ограничения +## Legacy-клон и проверки -- `make check` прошёл после исправления проверки Swift для Xcode 13 и подготовки теста legacy-клона. -- Во время первой проверки после перезагрузки Lume/Apple Virtualization аварийно завершился при запуске VM; повтор только этапа проверки прошёл. Чистая сборка без ручного восстановления отдельно не подтверждена. -- Живая приёмка клона пока ожидает подтверждения удаления одного временного клона. История и команды проверки — в `docs/VERIFICATION.md`; контракт установки — в `docs/IMAGE-PIPELINE.md`. +- `legacy_uuid` допускает APFS encryption at rest при выключенном FileVault и только одного активного worker. Registry publish для этого образа запрещён. +- Первый живой клон не загрузился: Lume поменял `machineIdentifier` и MAC-адрес. Он был удалён. Virfield теперь восстанавливает оба значения из остановленного образа до запуска копии и проверяет наличие скопированного NVRAM. Обычные клоны сохраняют новую идентичность. +- Повторный клон подтвердил Xcode 13.4.1 / 13F100, Swift, SIP, Finder, политику диска, закреплённый SSH, отказ ключу исходного образа, туннель и SCP-артефакт. Второму одновременному legacy worker отказано. После теста исходный образ остался `image_ready`. +- `make check` и `make build` прошли. Подробные результаты — `docs/VERIFICATION.md`; контракт установки — `docs/IMAGE-PIPELINE.md`.