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

This commit is contained in:
Alexey Martemyanov committed 2026-10-14 20:14:49 +06:00
1 parent 1e27550017
commit 28744a6d9f
1 file changed
+1 -3
+1 -3
View File
@@ -61,10 +61,8 @@ Node VM quotas реализованы и установлены в `aee89c1`: CP
Сессия Claude Code (worktree `apple-browsers.git/fix-macos-ui-test-failures`) держит `lease-6fde5d2f33c234f2e885583fb6a8fd34` (`macos27`, TTL до 2026-10-15 13:20 UTC) для воспроизведения UI-тестов — это и есть «чужая» аренда из раздела выше. Найденные блокеры:
- **Lethal-trifecta hook:** после первого чтения Asana все MCP-инструменты Virfield блокируются до конца сессии. Аренду, ssh-config и туннели нужно получить *до* Asana; `vm_release` из такой сессии невозможен — освобождать вручную или по TTL.
- **`vm_tunnel` (ssh и desktop) → `backend_unavailable` «tart state is unavailable or stale»** сразу после того, как lease стал `ready` (job `prepare` succeeded 13:21). Позже API показал `needs_attention`/`vm_drift`, хотя VM работает и SSH по прямому IP отвечает.
- **SSH сразу после boot:** первые подключения дают «Connection timed out during banner exchange» при живом ping/порте 22; нужен `ConnectTimeout` ≥ 40. Sandbox Claude Code блокирует 192.168.64.0/24 — прямой SSH только вне sandbox (туннель не работал).
- **Нет общего каталога (VMShare) в Tart lease:** worktree и DerivedData копируются rsync по тому же абсолютному пути (`/Users/admin/...`, гостевой пользователь тоже `admin`), чтобы pre-actions схемы работали без правок.
- **SSH сразу после boot:** первые подключения дают «Connection timed out during banner exchange» при живом ping/порте 22; нужен `ConnectTimeout` ≥ 40.- **Нет общего каталога (VMShare) в Tart lease:** worktree и DerivedData копируются rsync по тому же абсолютному пути (`/Users/admin/...`, гостевой пользователь тоже `admin`), чтобы pre-actions схемы работали без правок.
- **Схема `macOS UI Tests CI` не собирает приложение** (CI скачивает notarized Review app): нужно отдельно собрать `macOS Browser Review` и `macOS tests-server` в ту же DerivedData.
- **Keychain в golden:** login keychain заблокирован в GUI-сессии → `DuckDuckGo Review` падает в `Database.init()` (fatalError при регистрации value transformers — ключ шифрования из keychain). CI-аналог (`fastlane create_keychain_ui_tests`: DefaultKeychain/`default`, default + unlock) через SSH не помогает: разблокировка действует только в audit session SSH, а в GUI SecurityAgent показывает модальный запрос пароля и блокирует запуск. `launchctl asuser` → «Operation not permitted»; `osascript … Terminal do script` → AppleEvent timeout из-за модального окна. Рабочий обход: `open /tmp/unlock-kc.command` (скрипт с `security unlock-keychain` выполняется в GUI-сессии через LaunchServices). Предложение: рецепт `uitest-27-v1` должен готовить разблокированный default keychain в GUI-сессии.
- Хост собирает Xcode 27.1, в госте Xcode 27.0 (`test-without-building`) — совместимость проверяется.