7.6 KiB
Executable File
title, namespace, updated, status, tags
| title | namespace | updated | status | tags | |||||
|---|---|---|---|---|---|---|---|---|---|
| Virfield | personal | 2026-10-14 | release-hardening-in-progress |
|
Virfield — текущее состояние
Актуально на 2026-10-14. Поддерживаемый репозиторий: /Users/admin/Developer/virfield, main; hardening-кандидат 09ad696 в локальной ветке codex/retire-lume-release-hardening пока не установлен и не опубликован. Public GitHub push остановлен автоматическим approval review до явного разрешения пользователя. Старый worktree virfield-v3 и ветка codex/virfield-v3-stage1 не являются инструкцией для продолжения работы.
Runtime и deployment
- Установленный runtime: Tart на Apple Silicon + SSH physical nodes
mbp-2014иhtpc. На HTPC macOS lab VM работают через rootless Podman/QEMU/OpenCore. - Deployment
~/.virfield-v2, config~/.virfield-v2/config.json, state~/.virfield-tart, daemon~/.virfield-v2/bin/virfieldd, API127.0.0.1:7780, launchdai.virfield.virfieldd. - Virfield переключён с Lume на Tart 2026-10-08. В текущем hardening-кандидате удалены Lume backend/factory/wrapper/patch/build/install paths. Неявный legacy runtime и
image_toolsотклоняются. Старые поля профилей читаются только для совместимости журнала; новый Tart builder отклоняет IPSW-рецепты до резервирования build. - Отдельный старый
ai.virfield.lumeвсё ещё зарегистрирован и запущен; его HTTP inventory 2026-10-14 вернул[]. Homebrew Lume отсутствует. Кодовая миграция и отключение этого сервиса — разные действия; сервис ещё не отключён. - Не создавать второй manager/listener, не менять порт и не редактировать SQLite/runtime disks в обход журнала.
Реализованные исправления кандидата
- Один exclusive physical-host lease независимо от VM slots; VM не занимает host slot; node-side atomic host lock и post-wake проверка boot volume.
- Общий sleep hold с reference counting и сохранением чужого hold; при ошибке Podman cleanup overlay и hold сохраняются.
- Node image deletion сохраняет provider/guest identity, защищает backing goldens и проверяет отсутствие контейнера.
- Tart image_create выбирает approved digest-pinned bases из runtime.tart.bases и настроенных templates; default location соответствует конфигу. Base/developer/automation/macOS 27 recipes; generic automation проверяется после reboot.
- Shared resumable Xcode archive store, checksum/quarantine, exact-job Apple sign-in recovery в resolve до VM build.
- Registry resolver принимает Tart flat/ASIF format, image_pull сохраняет pin/provenance. Publish строит новый portable guest с публичным admin/admin, не ставит private golden credentials, sanitizes и подтверждает временный cleanup. Private managed golden не загружается.
- Init/installer используют три бинарника и только сервис Virfield; отдельный private state-dir и optional native browser. CLI config-check проверил действующий config.
- Orchard проходит обязательный per-lease SSH preparer; source-only remote template отклоняется до VM creation. Полноценная remote factory/access и live pool acceptance отсутствуют.
- Pending image build/export резервируют CPU/RAM/disk до dispatch и учитываются вместе с worker leases; для нового macOS 27 base нужен known/declared disk bound. Host IDs не могут совпадать между primary и node inventories.
- Backup включает node management keys и cached probes, отклоняет symlinks в identity tree.
- Go 1.26.9, pinned Staticcheck без замечаний, govulncheck: 0 reachable/imported-package vulnerabilities. Module-only notice openpgp относится к неиспользуемому пакету и не имеет fixed version.
- Удалён источник CI Pillow failure: retired Python image factory/tests и Lume build step. Это исправление workflow, а не результат нового GitHub CI.
Приёмка и релизный статус
Кандидат ещё не принят для релиза. Exact commit 09ad696cacea2ba9cd2245fa76cc599696470d01 прошёл полный make check (docs, 7 Python tests, gofmt/vet/full race), Staticcheck, module verify, Gitleaks (196 commits), govulncheck (0 в используемом коде), действующий config-check и Packer syntax checks. Clean archive/extraction/init/checksums/native signature smoke прошёл: /private/tmp/virfield-release-check-09ad696/virfield-v0.0.0-localcheck-darwin-arm64.tar.gz, SHA-256 f12f2be162cbcfa7688c814a8fcdbb13d17ff028053f878aa27ac1e87e2bbe3c. Это локальная тестовая упаковка, не опубликованный release. Live public Tart manifest resolution также прошёл. Новые live factory/automation/publication и upgrade/clone checks ещё нужны. Установленный config не содержит push registry source; GHCR acceptance требует одобренного operator repository и credentials. Текущие исходники, установленный daemon и published archive нельзя считать одним артефактом.
Ранее принятые срезы сохраняют свои даты:
- Ventura 13.7.4/Xcode 15.2 и Monterey 12.7.6/Xcode 13.4.1: golden qualification и две аренды, 23/23 на каждый golden.
- macos27 27.0/26A428/Xcode 27.0/uitest-27-v1: Broker v1 smoke passed 2026-10-08.
- R1: четыре boot volumes MacBook по очереди; HTPC wake-by-lease (27 с).
- R2: secured Sonoma 14.8.9 и Sequoia 15.8.1 на HTPC, 19/19.
- R3: Screen Sharing VM lease tunnels, 11/11. Physical desktop и browser noVNC не реализованы.
Будущий v3 capability API, grants, node-agent, Access/noVNC, VS Code extension, node quotas и расширенный fleet/hardening остаются roadmap. Опубликованный v2.0.0 — исторический Lume-релиз 2026-09-30.
Каноническая документация
- Operations — config/install/services/recovery.
- Image pipeline — актуальные Tart/node contracts.
- Verification — фактические gates/evidence.
- 3.0 plan — реализованное и оставшееся.
Локальные hardening-изменения пока не опубликованы по main-ссылкам. Старая история: personal/projects/archive/virfield-checkpoints-through-2026-10-08.