From e7d5b518f342f64e1fac58ba75d2026413fe0d82 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 15 Oct 2026 18:57:57 +0600 Subject: [PATCH] [2026-10-15] eagle: personal/projects/balda/execution-broker.md personal/projects/virfield.md --- personal/projects/balda/execution-broker.md | 2 +- personal/projects/virfield.md | 22 +++++++-------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/personal/projects/balda/execution-broker.md b/personal/projects/balda/execution-broker.md index 866acaf5..4929380a 100755 --- a/personal/projects/balda/execution-broker.md +++ b/personal/projects/balda/execution-broker.md @@ -59,7 +59,7 @@ Managed lifecycle и native wait restart проверены на развёрн | --- | --- | | macOS worker readiness | Две production-попытки после обновления bootstrap остановились на Virfield guest_keychain_failed до выполнения Runner/Callee. Обе VM удалены штатно. Нужны повторная приёмка GUI/SSH Keychain текущего Virfield и итоговая production Story; прежние изолированные успехи этот gate не закрывают | | Recovery | Выбран порядок: unattended восстановление рабочих ключей из защищённой копии, затем OAuth при неудаче восстановления/refresh. Production escrow ещё не настроен: нужен независимый recovery public key или secret store. Подготовлен helper для GPG escrow исходных master keys и безопасного восстановления key-files/Keychain; шесть тестов с синтетическими ключами прошли, включая восстановление encrypted vault, отказ при порче/чужом recipient и запрет замены существующего ключа. Рабочие master keys не экспортировались; production host-loss recovery не принят | -| Docker providers | Linux OpenCode/DeepSeek прошёл две полные Story на свежих workers: реальные роли, повторное выполнение quality assertions, SHA256 всех артефактов, restart Broker/issuer, credential checkpoint/reuse, `cleanup=done`, без нового OAuth. Linux Claude также прошёл две полные Story на свежих workers, включая restart Broker/issuer: шесть ролей, независимый повтор unit tests, SHA256 семи артефактов каждого запуска, checkpoint и cleanup подтверждены; новый OAuth не понадобился. Linux Claude прошёл также component-проверку: фактический permission-handler обеих read-only ролей отклонил инъецированные ACP-запросы записи; marker не создан. Expiry/upstream revocation остаются открыты. Linux Codex блокируется sandbox текущего Docker host: bubblewrap не может создать user namespace при сохранённых cap-drop/read-only/no-new-privileges и default seccomp/AppArmor. Это воспроизведено offline без credentials. Исправления OAuth cache/ACP launcher закоммичены в c5f63ef и проверены на macOS; production macOS bootstrap обновлены, Docker gateway candidate не установлен; Story/reuse/restart ещё не приняты; для Linux OpenCode — upstream revocation. Проверка запрета записи OpenCode прошла на Linux и свежей macOS VM: обе read-only сессии получили прямые ACP-запросы записи, Callee отклонил их, marker отсутствовал; native plan policy не менялась. Это protocol fault injection, а не попытка tool call, выбранная моделью | +| Docker providers | Linux OpenCode/DeepSeek прошёл две полные Story на свежих workers: реальные роли, повторное выполнение quality assertions, SHA256 всех артефактов, restart Broker/issuer, credential checkpoint/reuse, `cleanup=done`, без нового OAuth. Linux Claude также прошёл две полные Story на свежих workers, включая restart Broker/issuer: шесть ролей, независимый повтор unit tests, SHA256 семи артефактов каждого запуска, checkpoint и cleanup подтверждены; новый OAuth не понадобился. Linux Claude прошёл также component-проверку: фактический permission-handler обеих read-only ролей отклонил инъецированные ACP-запросы записи; marker не создан. Expiry/upstream revocation остаются открыты. Linux Codex блокируется sandbox текущего Docker host: bubblewrap не может создать user namespace при сохранённых cap-drop/read-only/no-new-privileges и default seccomp/AppArmor. Это воспроизведено offline без credentials. Отдельная enforce-mode namespace-политика не решила конфликт с Docker proc masks; legacy Landlock в pinned Codex также требует bubblewrap для изоляции app-server sockets. Контроли с отключёнными защитами не приняты. Тестовый профиль удалён, production guards сохранены. Исправления OAuth cache/ACP launcher закоммичены в c5f63ef и проверены на macOS; production macOS bootstrap обновлены, Docker gateway candidate не установлен; Story/reuse/restart ещё не приняты; для Linux OpenCode — upstream revocation. Проверка запрета записи OpenCode прошла на Linux и свежей macOS VM: обе read-only сессии получили прямые ACP-запросы записи, Callee отклонил их, marker отсутствовал; native plan policy не менялась. Это protocol fault injection, а не попытка tool call, выбранная моделью | | Provider lifecycle | Для macOS Claude не закрыта реальная expiry/upstream revocation; для macOS OpenCode/DeepSeek — upstream revocation; component-проверка фактического ACP-запрета записи обеими read-only ролями прошла на свежей VM с неизменённой native policy. Claude умеет сохранить явный отказ native cache как reauthentication-required и запросить OAuth при следующем admission; это не доказательство реальной provider-приёмки | Источник требований — `docs/work-plan.md`. iPad, прикладные UI/PR workflows и права Obsidian принадлежат вызывающему проекту или Balda. diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index 51987ec9..b357a199 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -12,27 +12,19 @@ tags: --- # Virfield — текущее состояние -Актуально на 2026-10-15 12:15 UTC. Source HEAD/pushed `f8b64f5974f451782c56c48182b8dd8e78bd6079`, ветка `codex/retire-lume-release-hardening`, clean. Full local make check (17 Python + Go vet/race), actual shell/JXA regressions, pinned Staticcheck0.7.0 и Gitleaks226 commits PASS. Пакет `0.0.0-console-readiness` собран, archive SHA256 `d5ce80a77f879eab87bd8c4a3bff3d594473efddf9724e0bc0fce9b07ea9bc75`. Все binary hashes/provenance и fresh stdio18tools/all4exactrunbooks/resources/status PASS. Guarded installer `/private/tmp/virfield-install-f8b64f5.py` подготовлен, НЕ выполнялся. +Актуально на 2026-10-15 12:56 UTC. Installed/source HEAD/pushed `f8b64f5974f451782c56c48182b8dd8e78bd6079`, ветка `codex/retire-lume-release-hardening`, version `0.0.0-console-readiness`, daemon PID10755. Guarded idle-only установка выполнена в12:20 UTC: private backup, прежние signing/FDA identity, keys/config и все7 baseline images/manifests сохранены. Archive SHA256 `d5ce80a77f879eab87bd8c4a3bff3d594473efddf9724e0bc0fce9b07ea9bc75`; exact installed HTTP/fresh stdio/all4runbooks/resources/status/anonymous401 PASS1.32sec. Это не acceptance текущего owning MCP: его старый процесс75554 остановлен, transport closed и auto-reconnect не произошёл. Пользователю отправлен отдельный запрос Restart только Virfield MCP; ответа пока нет. -Installed остаётся `750a89671f87e6def64e3c73685c08e9db6900a9` / `0.0.0-observation-recovery`, archive SHA256 `a1989f850152eb15918c5e7ca9edbfc78d1e300d93ace5c128f3dc9b5e44f428`, PID92465. Signing/FDA identity, keys/config и7 manifests сохранены с privatebackup. Installed750 exact HTTP/freshstdio/all4runbooks PASS1.24sec; owning MCP75554 всё ещё2724f94. Fresh archive stdio нового пакета не является installed HTTP/owning acceptance. +Полная release acceptance НЕ пройдена. F8 новая HTPC matrix failed: первая Sonoma b5… получила generic lease_ssh_failed до создания credentials; через≈70sec после ssh_started, точная исходная причина не сохранена. Поздний framebuffer показал Finder и Keyboard Setup Assistant, но это не доказывает причину timeout. Обе собственные b5…/220… released+SSH revocation PASS. Диагностический собственный clone9299… прошёл desktop preflight; trace показал реальное переключение Quartz caller root/waiting→admin/desktop/onConsole/loginDone. Гипотеза о застывшем SSH Quartz context опровергнута. Его дальнейший keychain.log фиксирует GUI agent hang на login-rekey12:43:38→failure12:48:07; VM пока сохранена только для private evidence и последующего разрешённого cleanup. Чужих активных leases на срезе12:55 нет; перед любой установкой всё равно нужен новый полностью idle snapshot. -Наши обе диагностические Sequoia89cb/4bb штатно released исходными durable release keys; SSH listener revocation PASS. Старый STOP-runner94494 завершён, его journal не конфликтует с новыми evidence. Чужая macOS27 lease8bec уже released; на свежем срезе12:15UTC активна новая `lease-dc0a3413cff974daa07cf2df39849eda`, создана12:11:04UTC, ready, expires13:11:04UTC. Её не менять/не release. Установка и рестарт только после полностью idle pool без чужих VM/jobs; срок аренды сам по себе не доказывает cleanup. Automation virfield-lease ACTIVE15min, читает свежий checkpoint/API. +Свежий Samsung Monterey f8 clone475… тоже дошёл до login-rekey и завис на пять минут; исходный runner продолжен с прежними journal/keys, lease штатно released+revoked. Подтверждённый дефект — GUI CLI rekey не завершает вызов. В рабочем дереве готовится замена на native SecKeychainUnlock/ChangePassword с SecKeychainSetUserInteractionAllowed(false) в том же caller: пароль читается только из private identity, fallback только на errSecAuthFailed. Реальные production JXA tests на трёх disposable explicit-path keychains (locked/unlocked/public-base) PASS: wrong password→-25293 за миллисекунды, correct rekey сохраняет existing item, новая password после lock работает, повтор идемпотентен. Реальный host login/default не менялся. Эти изменения ещё не committed/packaged/installed и full CI по ним пока pending. Старый f8 installer нельзя использовать для нового исходника. -Monterey — macOS12.7.6/Xcode13.4.1 (13F100), не macOS13/Ventura. Обе Samsung Monterey на750 прошли native GUI/newSSH WhenUnlocked I/O, новые bootUUID/nonce после реального reboot, actual1920×1080, cross-key rejection, Swift compile/run, workload/artifact/RFB/release/revocation. Journal `virfield-installed-samsung-monterey-750a896-20261015`. Эти receipts не проверяют новый f8 native-console/default policy. Новый iPad-profile repeat storage-blocked:≈100GB free при требовании≈150GB fullgrowth+reserve; reserve/чужие данные не менялись. Прежние iPad receipts сохраняют датированный scope. +Monterey — macOS12.7.6/Xcode13.4.1, не macOS13/Ventura. Samsung Monterey750 ранее прошла2 native GUI/newSSH/reboot1920/Swift/workload/artifact/RFB/release цикла; Tart4a53 ранее8/8 и iPad677/8c имеют датированные receipts. Они не заменяют повтор нового default/console/native-auth policy. iPad internal storage на12:55≈82.7GB free при требовании≈150GB full-growth+reserve; не снижать reserve и не удалять чужие данные. Local Tart clone cross-container пока запрещён штатно. -Обе Sonoma750 завершили native/reboot/workload/artifact/RFB/release, но это не unmodified automatic-start PASS. Первая Aqua LaunchAgent после reboot оставалась runs0/neverexited, pended nondemand spawn=speculative. Один journaled no-k kickstart10:45:23 запустил её и дал свежую proof. Source636/f8 исправляет demand-start, ожидание регистрации/currentboot startup перед worker SSH, сохранение stdin/shared deadline и same-Aqua-session reuse. Live helper читает repo script при каждом probe, поэтому source mix сохранён явно. Новая installed матрица обязательна. +F8 содержит: login default+first search сохранён acrossboots, scoped supplemental keychain; separate auth/native-I/O/UI failures; visible SecurityAgent/KeyboardAssistant и native unlocked console gate; saver idle0 и reset autoLoginUserScreenLocked; demand-start Aqua LaunchAgent/current-boot startup wait; established stream continuity при unverified inventory и отказ новым cached clients. Все эти изменения требуют новой installed native Sonoma/Sequoia/Monterey matrix после native rekey fix. Непроверенные reboot не replay; при failure сохранять bounded private diagnostics и собственный framebuffer до cleanup. Quartz lock flag absent принимается только при valid onConsole/completed login; unknown/locked fail closed. -Sequoia выявила три разных подтверждённых проблемы. (1) All SecItem statuses0/unlocked/valueEqual/Aqua=true, но Keyboard Setup Assistant делал общий ready=false; старый loop ошибочно блокировал уже рабочий login и пробовал fallback. После восстановления I/O/закрытия assistant старый CommCenter password dialog остался. Новый source аутентифицирует old password через password-change API без deliberate login lock, отделяет native auth от UI, не делает fallback после successful rekey/native failure, проверяет visible SecurityAgent. Disposable empty-keychain + actual-shell regressions PASS; отсутствие ApplePS2 mapping само по себе не объявлено единственной причиной. +Factory/private GHCR roundtrip2f23, controller-state restore и signed controller-binary rollback завершены, evidence сохранены; это не VM-disk DR и не весь V3 roadmap. Не повторять20GB registry roundtrip без относящейся к нему причины. Lume12:11 disabled/unloaded/7777closed, rollback files сохранены. Actual root launchd ещёBackground; Standard migration требует отдельного admin/unlock ответа. Browser GUI ждёт явного Mac unlock, CUA до ответа не выполнять. Existing HTPC goldens0444/dir0755 требуют отдельного pending approval на0400/0700; общее продолжение его не заменяет. -(2) Native I/O и отсутствие keychain окон ещё не означали desktop PASS: framebuffer показал lock screen. Actual loginwindow log: screensaver idle lock11:26:33→autoLoginUserScreenLocked=1→kLWLockFromCookieFile11:42:35 при уже отключённых sleep/display sleep. Source отключает general/currentHost saver idle, сбрасывает и проверяет autologin lock flag при credential preparation и требует native on-console/completed-login/unlocked state. Quartz omits lock key when unlocked; первая unshipped strict check это ошибочно отклоняла. Correct predicate/table JXA tests принимают absent/false только при valid console/login; true/malformed/null/off-console/incomplete остаются failures. Неуспешный reboot не replay. - -(3) Второй corrected reboot дал разблокированный Finder, но framebuffer12:00:40 показал Spotlight modal с именем custom virfield-lease keychain. Persistent custom default ещё locked до старта Aqua agent; поздний unlock не убирает queued modal. FINAL f8 source оставляет сохранённый/rekeyed login default+first search acrossboots, scoped keychain supplemental/private/unlocked. Native WhenUnlocked app-style I/O проверяет этот фактический default. Real-shell default/search/missing-login tests PASS. Последний policy ещё НЕ прошёл свежую installed clone/reboot матрицу. GUI-пароли не вводились, SecurityAgent не убивался. Evidence `virfield-installed-htpc-native-750a896-20261015`, subdirs login-auth-regression-reboot, console-policy-regression-r2/r3; оба failed full-desktop receipts сохранены как failures. - -Installed750 исправляет false vm_drift для unavailable host/cached VM без IP и unknown running address: verified identity сохраняется, новые tunnels получают retryable backend_unavailable. Это не доказывает exact trigger старых iPad/a0bc, whose triggering observation не сохранена.750 также сохраняет bounded private partial stdout/stderr и fixed secret-free credential phases на timeout. Source8f/f8 дополнительно сохраняет established streams, блокирует новых cached-listener clients на unverified/stale inventory, проверяет endpoint до/после dial и возвращает прежний port при recovery. RealTCP red/green/fullCI/Staticcheck PASS; в installed750 этого ещё нет. Confirmed stop/missing/known endpoint drift и release/expiry всё ещё revoke. Own cleanup ждёт только typed409 operation_in_progress до dispatch с прежним key/body; unknown replies не replay. - -Датированные Tart8/8, physicalHTPC, controller-state restore, signed binary rollback/forward и private factory/GHCR receipts сохраняют scope; это не VM-disk DR и не весь V3 roadmap. Lume12:11 повторно disabled/unloaded/7777closed, rollback files сохранены. Mount-bound UUID/statfs fix29e убрал повторные diskutil; это не доказательство причины всех timeout под чужим load455/swap38GiB. Actual root launchd ещёBackground; source templateStandard, guarded idle migration prepared, unlock/admin ответа нет и он не выполнялся. Старые taskpolicy эксперименты не постоянный fix и на92465 не применялись. - -Открытые gates: idle install exact f8 + exact HTTP/freshstdio; новая HTPC Sonoma/Sequoia и Monterey native GUI/newSSH/reboot/console/windows/RFB/workload/artifacts matrix; iPad repeat при достаточном месте; rootStandard/admin; owningMCP reconnect; browser GUI после explicit Mac unlock; existing HTPC golden chmod по отдельному approval. Full release acceptance не заявлен. CI только локально, main/tags/release не менялись. Исторические checkpoints ниже не отменяют новые воспроизведённые дефекты и не описывают одновременно текущее состояние. +После завершения, проверки и push текущей readiness работы пользователь поручил внести в поддерживаемый план и реализовывать пять пунктов: non-destructive lease recovery с identity+SSH revalidation/workspace preservation; durable expected/observed drift+tunnel cause; resource admission arithmetic free/reserved/request/reserve; verified golden transfer между storage; optional legacy iOS Rosetta/Ruby/CocoaPods с FFI/Ethon load checks. Запрос сохранён в private checkpoint; sequencing ещё не достигнут, в план не помечено реализованным. Automation virfield-lease ACTIVE15min до подтверждённого завершения расширенной задачи. CI только локально, push только рабочей ветки с skip ci; main/tags/release не менялись. Исторические записи ниже сохраняют свой датированный scope. ## Runtime и deployment