diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index a73259fe..38fa1d77 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -7,11 +7,11 @@ tags: [virfield, macos, vm, go, infrastructure] --- # Virfield — текущий статус и продолжение -**Следующее действие:** дождаться завершения существующего `job-057b0898f3746df8b12fb8b5c4c34c1c` (macOS 12.6 / 21G115 + Xcode 13.4.1 / 13F100), затем проверить итоговый golden и обычный клон. Не запускать второй образ и не прерывать этот job. Мониторинг ведёт heartbeat `virfield-xcode` раз в 15 минут; отключить после завершённой проверки. +**Следующее действие:** закрывать release scope вокруг Monterey/Xcode: не ретраить `job-057b0898f3746df8b12fb8b5c4c34c1c` как будто это transient. Зафиксировать, что macOS 12.6 / 21G115 на этом host заблокирована disk gate (`disk_encrypted`) даже при FileVault Off; либо найти поддерживаемый способ получить реально unencrypted System/Data, либо явно исключить Monterey/Xcode 13.4.1 из production-accepted матрицы. Heartbeat `virfield-xcode` удалён как устаревший. -**Текущий результат (2026-10-02 08:16 UTC):** вход на Apple Developer прошёл через native `VirfieldAppleBrowser`; Virfield продолжил точный job. Загрузка Xcode идёт, на 08:16 было 27%, фаза `download_dispatched`. Полная установка, Monterey golden и обычный клон ещё не приняты. Sequoia 15.2 ранее прошла clean GHCR publish → pull-back → два обычных клона/workload → cleanup. +**Текущий результат (2026-10-02 13:40 UTC):** Apple Developer sign-in через native `VirfieldAppleBrowser` прошёл; Xcode 13.4.1 archive скачан, SHA-1 совпал, host-side `xip`/Apple signature path исправлен и прошёл дальше. Setup Assistant Monterey завершился, но disk policy остановил publication: `FileVault=false`, `Encryption=true`, `Locked=false` на System и Data. Image `image-aca7f16a2a59918c661f8c470f3d1b58` quarantined, VM `macos-12.6-xcode-13.4.1` stopped, ordinary clone не выполнялся. Sequoia 15.2 ранее прошла clean GHCR publish → pull-back → два обычных клона/workload → cleanup. -**Статус выпуска:** кандидат не production-ready. Текущий checkout `codex/versioned-images` / `340c6f9` содержит незакоммиченные изменения по аудиту и Apple auth; они ещё не опубликованы. Установлен локальный кандидат с native browser и Broker plugin `execution-broker@0.1.0-rc.15`; `release.json` указывает фактические бинарники и hashes. Установленный Lume service/CLI: patched `0.5.3-virfield4`. Хранение завершённой истории jobs/events — 30 дней в текущем кандидате. +**Статус выпуска:** кандидат не production-ready. Текущий checkout `codex/versioned-images` / `340c6f9` содержит незакоммиченные изменения по аудиту, Apple auth, Balda watches и disk-policy документации; они ещё не опубликованы. Установлен локальный кандидат с native browser и Broker plugin, live image-job notification route доставлял фазу и ошибки в Mattermost. `release.json` указывает фактические бинарники и hashes. Установленный Lume service/CLI обновлялся до patched `0.5.3-virfield6` для headless audio на image setup; проверять фактический runtime по manifest перед claims. Хранение завершённой истории jobs/events — 30 дней в текущем кандидате. | Что | Где проверить | |---|---| @@ -42,7 +42,7 @@ Virfield v2 — Go control plane для golden images и одноразовых | Pull-back | Clean job `job-5c0bf72ab62c50355e7eaf94184013b3` закрепил r2 digest и создал `vf-e2e-sequoia152-r2-20261002`, `image_ready`; System/Data unencrypted/unlocked, SIP/SSH/Finder после reboot прошли | | `macos-27-golden` | Сохранён. Ранее принят полный `uitest-27-v1` с Xcode 27.2 beta / 27B5019j на macOS 27 / 26A428; результаты относятся к указанному в Verification кандидату, не заменяют новые versioned/GHCR проверки | | Monterey 12.6 / 21G115 | Принятого golden нет. При FileVault=false оба тома оставались Encryption=true, обычные клоны не доходили до SSH. Неудачный encrypted golden и его два клона удалены | -| Xcode 13.4.1 / 13F100 | Совместимость подтверждена каталогом; живой job скачивает Apple archive после входа. Установка ещё не принята | +| Xcode 13.4.1 / 13F100 | Authenticated Apple archive downloaded, SHA-1/signature path passed, host-side cache usable. Guest install blocked before Xcode copy by Monterey APFS `disk_encrypted`; установка и clone не приняты | Первый `vf-ghcr-sequoia152` был получен с operator recovery. Новый r2 golden прошёл полностью clean round-trip без ручного восстановления. Два его обычных клона прошли `TestLiveLeaseSSH` за 67.27 s; оба удалены через API, источник и новый golden сохранены. @@ -68,7 +68,7 @@ Virfield MCP зарегистрирован и включён в Codex CLI; по - `image_create` создаёт durable job с точными macOS/Xcode build и security profile; каталог и `image_apple_auth` доступны через MCP. Для неавторизованной загрузки daemon выдаёт одноразовый 15-минутный `deep_link` приложения и HTTP fallback. Balda plugin rc.15 должен показывать прямую кликабельную ссылку и ссылку fallback. - Native `VirfieldAppleBrowser` сразу открывает Apple Developer в WebKit. Вход и 2FA проходят на сайте Apple, без локальной формы пароля. Приложение передаёт daemon только ограниченные download cookies, автоматически закрывает окно после успеха и завершает процесс после закрытия последнего окна. Окно ограничено экраном, меню Edit содержит Cmd+V. -- Реальный вход 2026-10-02 возобновил существующий Xcode job. На 08:16 UTC загрузка 27%. Продолжать наблюдать именно `job-057b0898f3746df8b12fb8b5c4c34c1c`; не пересоздавать ВМ. После `image_ready` проверить macOS/Xcode версии, диск, обычный клон, SSH/workload и cleanup. Если job завершится ошибкой, зафиксировать точную фазу и код и исправить причину перед повтором. +- Реальный вход 2026-10-02 возобновил существующий Xcode job. Он прошёл загрузку и host-side XIP/signature после фикса temp-dir, но остановился на `disk_encrypted` после Monterey Setup Assistant. Не пересоздавать ВМ ради того же результата без новой гипотезы подготовки диска. Если Monterey остаётся в scope, следующий прогон должен проверять именно supported path к `Encryption=false`, а не обход disk gate. - Из аудита остаются release gates: Monterey clone при APFS Encryption=true, отдельные source hardening пункты (Recovery VNC password/port, кеш registry layers, crash recovery длительных мутаций), чистый release artifact и acceptance в Codex/Claude/Balda. Подробный статус — `docs/VERIFICATION.md`. Не ослаблять disk gate и не объявлять любое сочетание macOS/Xcode проверенным только по каталогу. ## 4. Полный оставшийся план