[2026-10-14] eagle: personal/projects/virfield.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-14 17:07:08 +06:00
1 parent a817195062
commit ef4cc6dba7
1 file changed
+35 -21
+35 -21
View File
@@ -12,35 +12,49 @@ tags:
---
# Virfield — текущее состояние
Актуально на 2026-10-14. Единственный поддерживаемый источник: `/Users/admin/Developer/virfield`, branch `main`. Worktree `virfield-v3` и ветка `codex/virfield-v3-stage1` больше не являются инструкцией для продолжения работы.
Актуально на 2026-10-14. Поддерживаемый репозиторий: `/Users/admin/Developer/virfield`, `main`; hardening-кандидат пока не установлен. Старый worktree `virfield-v3` и ветка `codex/virfield-v3-stage1` не являются инструкцией для продолжения работы.
## Runtime и deployment
- Живой runtime: Tart на локальном Apple Silicon Mac + SSH-first 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`; API: `127.0.0.1:7780`; launchd label: `ai.virfield.virfieldd`.
- Имя каталога `.virfield-v2` историческое. Virfield переключён с Lume на Tart 2026-10-08. Проверка launchd 2026-10-14 обнаружила оставшийся отдельный `ai.virfield.lume` (приватный tools-бинарник); Homebrew Lume отсутствует. Полное удаление сервиса и Lume backend/factory/build/installer ещё не завершено. Старое утверждение «Lume полностью удалён» было неточным.
- Не создавать второй daemon/listener, не менять порт и не редактировать SQLite/runtime disks в обход журнала.
- Установленный 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`, API `127.0.0.1:7780`, launchd `ai.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 в обход журнала.
## Подтверждённые срезы
## Реализованные исправления кандидата
- Tart Ventura 13.7.4/Xcode 15.2 и Monterey 12.7.6/Xcode 13.4.1: golden build/qualification и две параллельные аренды, по 23/23 проверки.
- Tart `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 passed (27 с).
- Один 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 отсутствуют.
- 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.
## Приёмка и релизный статус
Кандидат **ещё не принят для релиза**. Локальные focused/race tests, binary/browser builds, действующий config-check, Packer syntax checks и live public Tart manifest resolution прошли; полный итоговый release-gate и точная provenance фиксируются в Verification. Новые 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-аренд через loopback lease tunnels, 11/11. Desktop физических хостов и browser noVNC не реализованы.
- R3: Screen Sharing VM lease tunnels, 11/11. Physical desktop и browser noVNC не реализованы.
## Релизный статус
Текущий кандидат **не принят для релиза**. Аудит 2026-10-14 воспроизвёл недостаточную эксклюзивность HTPC host lease, преждевременное снятие общего sleep hold и потерю provider при удалении node image. Tart image_create/registry/Apple download path и installer ещё содержат Lume assumptions; generic automation policy не полностью проверяется. Orchard adapter не имеет полноценной изоляции/forwarding и не принят live.
Локальный make check и сборки прошли; CI текущего SHA падает из-за отсутствия Pillow, Staticcheck — 9 замечаний, govulncheck — 12 stdlib vulnerability records Go 1.26.8 (исправления в 1.26.9). Старые claims «всё зелёное» не являются текущим release evidence. Результаты исправлений записываются в Verification только после проверок.
Будущий v3 capability API, grants, node-agent, Access/noVNC, VS Code extension, node quotas и расширенный fleet/hardening остаются roadmap. Опубликованный v2.0.0 — исторический Lume-релиз 2026-09-30.
## Каноническая документация
- [README](https://github.com/mallexxx/virfield/blob/main/README.md) — вход и граница текущего продукта.
- [Operations](https://github.com/mallexxx/virfield/blob/main/docs/OPERATIONS.md) — installation/config/services/recovery.
- [Image pipeline](https://github.com/mallexxx/virfield/blob/main/docs/IMAGE-PIPELINE.md) — Tart/node images и qualification.
- [Verification](https://github.com/mallexxx/virfield/blob/main/docs/VERIFICATION.md) — актуальное evidence и release gates; локальные изменения hardening ещё не опубликованы.
- [3.0 plan](https://github.com/mallexxx/virfield/blob/main/docs/VIRFIELD-3-PLAN.md) — оставшиеся capabilities/grants, node-agent, Access/noVNC, VS Code extension, fleet/hardening. Roadmap не является списком реализованных функций.
- [Operations](https://github.com/mallexxx/virfield/blob/main/docs/OPERATIONS.md) — config/install/services/recovery.
- [Image pipeline](https://github.com/mallexxx/virfield/blob/main/docs/IMAGE-PIPELINE.md) — актуальные Tart/node contracts.
- [Verification](https://github.com/mallexxx/virfield/blob/main/docs/VERIFICATION.md) — фактические gates/evidence.
- [3.0 plan](https://github.com/mallexxx/virfield/blob/main/docs/VIRFIELD-3-PLAN.md) — реализованное и оставшееся.
Опубликованный `v2.0.0` — исторический Lume-релиз 2026-09-30, не архив текущего Tart-кода. Старая история сохранена в [[personal/projects/archive/virfield-checkpoints-through-2026-10-08]].
Локальные hardening-изменения пока не опубликованы по main-ссылкам. Старая история: [[personal/projects/archive/virfield-checkpoints-through-2026-10-08]].