From 4f8115c3b44aed4918c6c963604296d44a04b92b Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sat, 3 Oct 2026 21:20:06 +0600 Subject: [PATCH] [2026-10-03] eagle: personal/projects/virfield.md --- personal/projects/virfield.md | 52 ++++++++++++----------------------- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index fd445363..a9a74560 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-not-release-ready-monterey-plan-recorded +status: candidate-image-ready-clone-pending tags: - virfield - macos @@ -10,43 +10,27 @@ tags: - go - infrastructure --- -# Virfield — актуальный статус 2026-10-03 +# Virfield — статус 2026-10-03 -**Следующее действие:** остановить разработку в этой сессии после commit/push. Не объявлять релиз готовым. +**Следующее действие:** проверить один временный клон Monterey/Xcode после подтверждения удаления этого клона. Исходный образ сохраняется. -## Текущий ответ по релизу +## Состояние -- Репозиторий: рабочая ветка `codex/versioned-images` должна быть запушена после финального cleanup/commit этой сессии. -- Release-ready: нет. `make check` прошел, live runtime обновлялся, но Monterey + Xcode acceptance не закрыта. -- Monterey 12.6 + Xcode 13.4.1: не верифицировано как `image_ready`. -- Default Xcode install: код мигрирован на VirtioFS для macOS 13+ guests, но Monterey 12.x не поддерживает Apple VZ shared directories. +- 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 +## Передача Xcode -- Lume VM стартует. -- SSH в Monterey guest работает. -- `lume run --shared-dir` на Monterey 12.6 не дает `/Volumes/My Shared Files`. -- В guest нет `/sbin/mount_virtiofs` и `/usr/sbin/mount_virtiofs`. -- Live retry для `job-057b0898f3746df8b12fb8b5c4c34c1c` теперь завершается `virtiofs_unsupported`, VM остается stopped, host-side `cp`/`ditto`/`tar`/`scp`/`rsync` процессов нет. +- 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; гостевая проверка подписи прошла. +- XIP занимает ~10 GB. Кэшированный Xcode.app занимает ~17 GB на хосте; несжатый поток файлов составил ~32 GiB. Готовая 80 GB VM занимает на хосте ~49 GiB. +- Новые macOS 11/12 VM с Xcode получают разреженный виртуальный диск 120 GB. Это верхний лимит, а не немедленное выделение 120 GB на хосте. Существующая VM не увеличивалась. -## Что уже сделано в кандидате +## Проверки и ограничения -- Legacy identity mode: `legacy_uuid`, один активный worker на UUID, registry publish для legacy запрещен. -- Xcode download/cache: Apple auth/browser path, XIP SHA/signature/cache validation, host `codesign --deep` убран из cached/downloaded hot path. -- Lume service: stable `virfield-lume -config`, patched Lume `0.5.3-virfield6` required. -- Developer provisioning: macOS 13+ uses native `lume run --shared-dir ` and guest-side `ditto` from `/Volumes/My Shared Files`. -- Monterey guard: macOS < 13 fails fast with `virtiofs_unsupported` before VM mutation. - -## Monterey plan - -1. Add a separate Monterey transport path; do not weaken the macOS 13+ VirtioFS path. -2. First probe NFS live on the existing Monterey VM: host export, guest `mount_nfs`, small file roundtrip, cleanup. -3. If NFS passes, implement bounded host export lifecycle: create private export dir, mount in guest, copy Xcode with `ditto`, unmount, remove export. -4. If NFS fails, implement explicit SSH-copy fallback as a separate Monterey-only contract with progress, cancellation, logs, and cleanup. -5. Run full Monterey 12.6 + Xcode 13.4.1 image build to `image_ready`, then ordinary clone/workload/artifact/cleanup before claiming support. - -## Verification now - -- `make check` passed on 2026-10-03 after the VirtioFS guard and docs updates. -- Repo docs updated: `docs/IMAGE-PIPELINE.md`, `docs/VERIFICATION.md`. -- This note is intentionally current-only; historical details live in Git/docs, not here. +- `make check` прошёл после исправления проверки Swift для Xcode 13 и подготовки теста legacy-клона. +- Во время первой проверки после перезагрузки Lume/Apple Virtualization аварийно завершился при запуске VM; повтор только этапа проверки прошёл. Чистая сборка без ручного восстановления отдельно не подтверждена. +- Живая приёмка клона пока ожидает подтверждения удаления одного временного клона. История и команды проверки — в `docs/VERIFICATION.md`; контракт установки — в `docs/IMAGE-PIPELINE.md`.