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

This commit is contained in:
Alexey Martemyanov committed 2026-10-23 20:33:01 +06:00
1 parent 4880194b45
commit 1dd01dfd31
1 file changed
+3 -3
+3 -3
View File
@@ -85,7 +85,7 @@ Cold boot двух node VM на htpc выявил ошибки прежней у
Production 2026-10-23 обновлён clean-сборкой коммита `5800007`, подписанной доступным Apple Development сертификатом с прежним Team ID `E3R68ED529`; backup не создавался. Демон перезапущен и обслуживает действующие аренды. Старые временные leases освобождены. Full Disk Access после переподписи и свежие прогоны на всех физических node-хостах ещё требуют отдельной приёмки; Screen Recording/Downloads TCC конкретных приложений требует системного согласия.
**SIP-off исправление внедрено, 2026-10-23:** коммит `4e913d5` делает SIP-disabled обязательным для новых образов и аренд, блокирует SIP-on источники и проверяет фактический `csrutil status` клона до `ready`. Для Monterey 12.7.6/21H1320 подготовлена чистая SIP-off Tart-основа, опубликована в приватном GHCR и закреплена digest `sha256:3733c94473dd603e048b64000db273a63fd0c8e5520d674cede1be9dad78cfee` в production config. Встроенный `image-create` собрал golden `monterey-xcode-13.4.1-sip-off` с Xcode 13.4.1/13F100; квалификация после reboot подтвердила SIP off, unattended Automation Mode и native XCUITest 1/1. Свежая арендованная VM `lease-b88068aa62098d8c02a659f2ab5593f7` повторила `csrutil status: disabled`, `DOES NOT REQUIRE user authentication`, Xcode 13.4.1 и XCUITest 1/1; её cleanup succeeded. Старый SIP-on golden удалён через `image-delete`, запись старого шаблона удалена из production config. Временные импорт и клонированные VM очищены. Для остальных VM/хостов сквозная повторная приёмка ещё не зафиксирована.
**SIP-off исправление внедрено, 2026-10-23:** коммит `4e913d5` делает SIP-disabled обязательным для новых образов и аренд, блокирует SIP-on источники и проверяет фактический `csrutil status` клона до `ready`. Для Monterey 12.7.6/21H1320 подготовлена чистая SIP-off Tart-основа, опубликована в приватном GHCR и закреплена digest `sha256:3733c94473dd603e048b64000db273a63fd0c8e5520d674cede1be9dad78cfee` в production config. Встроенный `image-create` собрал golden `monterey-xcode-13.4.1-sip-off` с Xcode 13.4.1/13F100; квалификация после reboot подтвердила SIP off, unattended Automation Mode и native XCUITest 1/1. Свежая арендованная VM `lease-b88068aa62098d8c02a659f2ab5593f7` повторила `csrutil status: disabled`, `DOES NOT REQUIRE user authentication`, Xcode 13.4.1 и XCUITest 1/1; её cleanup succeeded. Старый SIP-on golden удалён через `image-delete`, запись старого шаблона удалена из production config. Временные импорт и клонированные VM очищены. На htpc свежие Sonoma 14.8.9/Xcode 16.2 и Sequoia 15.8.1/Xcode 26.3 leases прошли SIP-off, unattended Automation Mode и XCUITest 1/1; обе проверочные аренды удалены. mbp2014 Monterey — физический MacBookPro11,1 (`kern.hv_vmm_present=0`), а не VM: SIP показывает custom configuration, консоль была заблокирована и UI smoke завершился `Running Background` (1 failure). Его `ready` подтверждает SSH, не UI; проверочная аренда удалена. Три остальных mbp2014 шаблона помечены `artifact_missing`. Остальные VM/хосты сквозным прогоном ещё не охвачены.
## Цель: самостоятельный инстанс на поддерживаемом оборудовании
@@ -97,8 +97,8 @@ Production 2026-10-23 обновлён clean-сборкой коммита `5800
2. Linux node VM требует вручную установить qcow2 bootstrap и OpenCore, настроить SSH, Podman/KVM/TUN, admin/sudo и профили. Автоматический путь от чистого поддерживаемого Linux-хоста до готового golden отсутствует.
3. Клиенту без virfield CLI приходится вручную создавать SSH-ключ, pinned known_hosts и config. Локальная установка должна создавать и хранить их сама; приватный ключ остаётся на машине владельца.
4. В продуктовой справке и docs использовалось собственное имя узла htpc (удалено из checkout 2026-10-23; выпуск ещё не собран). Runtime не проверял строку htpc, но node startup deadline 45 минут и desktop deadline 5 минут выбраны по замеру одного нашего cold boot. Кроме того, стандартные VM-рецепты и init предполагают гостевой admin с домашним каталогом /Users/admin. Это контракт конкретного профиля образа, а не путь аккаунта владельца на хосте; мастер должен выбирать совместимый профиль и проверять его, а бюджеты и требования к гостю не выводить из нашего оборудования.
5. Monterey на установленном clean release `5800007` проверен через встроенный image-create, квалификацию образа и свежую аренду с native XCUITest 1/1. Холодный node startup и UI readiness на свежих Sonoma/Sequoia Intel и остальных поддерживаемых конфигурациях остаются пунктом приёмки; для независимой установки нужен воспроизводимый релизный пакет.
6. SIP-off критерий для Monterey закрыт: новый digest-pinned источник, golden и fresh lease проверены после reboot, старый SIP-on golden и шаблон удалены. Общее требование «SIP отключён на каждой VM» закреплено в коде, но не проверено сквозным прогоном на каждом node-хосте. Screen Recording/Accessibility/TCC конкретных workload отдельно не подтверждены; SIP-off сам по себе не доказывает их доступность.
5. Monterey на установленном clean release `5800007` проверен через встроенный image-create, квалификацию образа и свежую аренду с native XCUITest 1/1. Свежие Sonoma/Sequoia Intel leases на htpc прошли UI readiness и XCUITest 1/1. Для остальных конфигураций и независимой установки нужен сквозной прогон и воспроизводимый релизный пакет.
6. SIP-off критерий для Monterey закрыт: новый digest-pinned источник, golden и fresh lease проверены после reboot, старый SIP-on golden и шаблон удалены. Общее требование «SIP отключён на каждой VM» закреплено в коде и проверено на свежих Tart Monterey и node VM Sonoma/Sequoia; остальные доступные VM шаблоны ещё требуют сквозной проверки. Физический mbp2014 не является VM. Screen Recording/Accessibility/TCC конкретных workload отдельно не подтверждены; SIP-off сам по себе не доказывает их доступность.
7. Web UI, HTTP API и MCP имеют разные наборы операций. Для одного собственного инстанса допустим owner token; ранее предложенный общий командный RBAC не является блокером этой цели. Требуется полный поддерживаемый локальный цикл через web UI и MCP, включая ясную диагностику и безопасные повторы.
### Порядок исправления и критерии