diff --git a/personal/projects/archive/virfield-release-cleanup-2026-10-16/index.md b/personal/projects/archive/virfield-release-cleanup-2026-10-16/index.md index 4c084154..2552306d 100755 --- a/personal/projects/archive/virfield-release-cleanup-2026-10-16/index.md +++ b/personal/projects/archive/virfield-release-cleanup-2026-10-16/index.md @@ -33,3 +33,5 @@ - [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/superpowers/specs/2026-10-08-desktop-r3-design.md|docs/superpowers/specs/2026-10-08-desktop-r3-design.md]] - [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/superpowers/specs/2026-10-08-hackintosh-nodes-r2-design.md|docs/superpowers/specs/2026-10-08-hackintosh-nodes-r2-design.md]] - [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/superpowers/specs/2026-10-08-remote-nodes-r1-design.md|docs/superpowers/specs/2026-10-08-remote-nodes-r1-design.md]] + +Также сохранена и проверена исходная проектная заметка: [[personal/projects/archive/virfield-release-cleanup-2026-10-16/project-note-before-cleanup]]. diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index 90970cb8..9c9fced3 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -1,339 +1,41 @@ ---- -title: Virfield -namespace: personal -updated: '2026-10-15' -status: release-hardening-live-acceptance -tags: - - virfield - - macos - - vm - - go - - infrastructure ---- -# Virfield — текущее состояние +# Virfield -Актуальный checkpoint 2026-10-16: установлен и запушен код `a45655ff78d5b124ed938ef6ea244ba84a819d72`, версия `0.0.0-local-golden-sparse`, daemon PID81129. Ветка `codex/retire-lume-release-hardening`; main/tags/release не менялись, push проверенных результатов разрешён пользователем на сессию. Archive SHA256 `010c278a61ef211b252b3e0cee67ca67ea3627729b191d00b86dde6af65910d6`. Signing/FDA, config/keys, schema8 и все8 baseline manifests сохранены. Local CI/race, Staticcheck0.7.0, Govulncheck1.6.0/0reachable, Gitleaks8.30.1/tree+239commits, Linux cross-build, archive MCP PASS. Exact installed HTTP/freshstdio/all4runbooks/resources/status/anonymous401 PASS0.853sec. F4 исправлен и принят: source44805877760bytes, destination44794757120bytes при logical120000000000bytes; полные hashes до/после двух native/reboot/workload/release циклов совпали, source/privateidentity/8baseline неизменны. Принятый новый golden сохранён девятым. Journal `/private/tmp/virfield-local-golden-sparse-live-20261016/journal.json`, final `verified-transfer-native-accepted`. Не replay завершённые installer/driver. Фактический owning MCP всё ещё PID66295 со старым executable inode; config path верный. Пользователь сейчас не может Restart; gate открыт, adapters не убивались. F3 `a2aab208f74e320e8343d2a2a0d41a2cd8da8231` проверен/запушен/упакован; archive SHA256 `7c51880aca65673d8e7cd0736f418779406be1521d87d38118fe14aa9f39a3d1`, exact fresh stdio19tools/all4packagedrunbooks/resources PASS. F2 `89344ef84ab30e728dd40ca4c877cb5feaab0903` также проверен и запушен: bounded typed drift/endpoint/backend/listener/stream diagnostics,32/kind/lease, restart/cleanup persistence, privacy/EOF/race tests; fullCI, finalaffectedAPI/MCP, Staticcheck/Govulncheck0reachable/Gitleaks241commits PASS. F2+F3 ещё не установлены; их код включён в проверенный256d18f, production schema8→10 update ждёт отдельного разрешения. Story уже failed, worker штатно released по исходному TTL; OAuthidentity остаётся fenced. +Релизная очистка исходников запушена: `aaf953d78d90768596afb99384ff0bb8e7764509`, ветка `codex/retire-lume-release-hardening`. Слияние в main ожидает окончания финального Linux CI и проверки распакованного архива. План и приёмка ведутся здесь; в репозитории остаются инструкции. -**Source checkpoint F1/F2/F3/F5:** `256d18fa67f5ab9e1b21191701a98f99faafae6e` проверен и запушен в `codex/retire-lume-release-hardening`, checkout clean. Финальный пакет `0.0.0-legacy-ios-native`, archive SHA256 `eb06d121db54c4a5559d7985001748976e35e423d9db682840be017f18190a01`; exactsource/binaryhashes/freshstdio20tools/toolchain+proofschemas/4runbooks/resources/status PASS. F1 readonly revalidation сохраняет VM/workspace/keys/TTL с existing caller proof и runtime/image/SSH/OS/SIP/desktop checks; F2 typed bounded diagnostics; F3 shared exact admission arithmetic. Дополнительная source-only POSIX transfer-lock regression доказана external contender RED/GREEN, исправлена188f166. F5 source исправлен по настоящим VM failures: permissions/markerlast/privatebuildlog+boundedtail, правильный lipo input order, общий realMachO helper, явный UTF8env. FullCI/race/realLipo+locale regressions/static/security/Linux/RubySec/Gitleaks staged+244history PASS. Старые87955e4/dab2c33/188f166 archives для установки superseded. +## Принятая установленная версия -**F5 module/workload prevalidation PASS:** Ruby3.3.12/OpenSSL3.5.9/LibYAML0.2.5/CocoaPods1.16.2/FFI1.17.4/Ethon0.18.0 и44lockedsourcegems реально построены в ownMonterey12.7.6/Xcode13.4.1. Current verifier bytes staged privately against unchanged built tools: настоящий frozen CocoaPods armv7 compile/link PASS до и после actualreboot/newbootUUID; nativeAqua/newSSH WhenUnlocked I/O/1920/adminadmin/workspace&keyretention/crosskey/RFB/artifactexport/release/revocation PASS. Первый62525e fixture после lipo error экспортирован/удален; второйfdcab19 после locale fix/verifier-only continuation полностью пройден и штатно released. Все9golden manifests неизменны. Исходный immutable toolchain/marker не перезаписывался ради приемки. Это module/workload evidence на stablea456, НЕ factory/newdaemon acceptance. Journal `/private/tmp/virfield-legacy-ios-prevalidation-lipo-20261016/journal.json`, continuation `/private/tmp/virfield-legacy-ios-native-continuation-20261016.py` completed0; не replay. +Установленная версия: `0.0.0-acceptance-runbooks`, source `8bfff9f59cab918877d060437a1ad190905a5040`, schema 10. Принят текущий VM/MCP/Broker-контур, а не вся целевая архитектура 3.0. Релизная очистка не переустанавливает production и не меняет девять исходных образов. -**Deployment gate:** installed остается a45655f/schema8/PID81129. Poolused0/jobs0/9imagesready подтвержден послеcleanup. Автоматический reviewer отклонил production schema8→10/restart как требующие отдельного разрешения. Новый exact256d18f one-shot installer подготовлен `/private/tmp/virfield-install-legacy-ios-native-20261016.py`, НЕ выполнялся: privateverified8→10backup + retained7snapshot,9image manifests,config/token/VM+nodeSSHhashes/signingFDA/idlechecks. Запрос188 устарел; отправлен конкретный новый запрос256 и последующих checkedpatches тойжеветки наschema10 в приемочнойсессии. Отдельно запрошены BrokerDarwinfix/OAuth revoke-reset послеbackup/freshuserlogin/одинновыйStoryсTelegram. Никакого OAuth reset или deployment без ответа нет. +Пройдены Tart/native GUI и отдельный SSH, реальные перезагрузки, ключевая изоляция, Xcode/Swift, экспорт артефактов, SSH/desktop и подтверждённый release/revocation. HTPC Sonoma/Sequoia прошли полные циклы. Проверены factory/private GHCR roundtrip, sparse golden transfer, revalidation существующей VM, durable diagnostics, admission/wait/resume и однобайтовая граница node image cache. Legacy iOS профиль прошёл свежую factory/worker квалификацию с armv7 compile/link. -**Реализовано и проверено:** random VM-account rotation удалена, новые аккаунты `admin/admin`; стандартный пароль не меняется. Известный legacy пароль переводится в стандартный только внутри нового disposable clone; source credentials/golden не перезаписываются, unknown login-keychain не сбрасывается. Samsung Monterey12.7.6/Xcode13.4.1 на0f8:2/2полных nativeGUI/newSSH/standard-password до-после actualreboot/newUUID/1920/workspace checksum/Swift compile-run/artifact/RFB/cross-key/release/revocation PASS. Новый exact macOS27 `uitest-27-v1` golden квалифицирован с actualreboot/native/Xcode27.0(27A266a); наa1a6 его2/2полныхworkercycles со standard-password/nativeGUI/newSSH/reboot/1920/Swift/workspace/artifact/RFB/release PASS. Кандидат `image-f11d9a1ee2991eada08c4f734c33df6d`, template/name `release-check-macos27-standard-v1` retained stopped/image_ready. Все исходные7 manifests сохранены. Старый macos27 golden всё ещё отклоняет login-copy auth(-25293); его own8d99fixture released после bounded evidence, причина исторического пароля/повреждения не установлена. Успех freshgolden не объявлен исправлением старых items. +Текущий владелец MCP принят: 20 инструментов, четыре точные темы/ресурса, полный рабочий цикл. Полный off-host disk/config/NVRAM DR и signed package rollback/forward приняты; собственные fixture-копии очищены. Огромный speech-dispatcher.log и его резервная копия удалены после исправления конфигурации, финальный soak прошёл. -**ASIF defect доказан и исправлен:** старый runtime кэшировал disk_bytes0 при неизменномconfig, хотя freshstopped `tart get` давал140GB. A1a6 кэширует только положительный размер; zero/absent red→green и positive-cache reuse tests PASS. Новый public-base factory на установленномa1a6 реально наблюдалzero→140000000000bytes безрестарта daemon, прошёл qualification и2полныхnative/reboot/workload/artifact/RFBworkercycles; собственныеfactory/workers удалены, исходные8manifests совпали. Журналы `/private/tmp/virfield-standard-uitest-macos27-20261015/journal.json` и `/private/tmp/virfield-inventory-factory-a1a6bd9-20261015/journal.json`; не replaybuild/reboot/driver. Прежний security-v1 factory0f8 был успешно квалифицирован, затем sourceunknown-size отказ до workerallocation, после чего временный factory удалён; это не registry roundtrip. +Production Codex Story `run-12f093299e237f03a7bb9b70327efcc5` принят независимой проверкой: фактический reviewer `os.open` получил EPERM/errno 1 и exit 0; четыре теста, два новых файла, hashes и отсутствие probe подтверждены. Worker штатно released, credential больше никем не удерживается, Prism завершён. Предыдущие неудачные запуски не считаются доказательством этого результата. -**Production Broker/Prism candidate script-only: PASS.** Поддерживаемый per-run `image_id` выбрал новый UI-test кандидат через реальные production Broker/Prism MCP в Balda network; default template/config не менялись. Run `run-059b42d6cdc515123aa7dc3e973f96bb`; exact Story binding/keys в `/private/tmp/virfield-broker-candidate-xctest-a1a6bd9-20261015/journal.json`. Actual bootstrap/Callee/XCTest:1test/0fail, `.xcresult`, artifactSHA256, Storycomplete и cleanupdone PASS; providers/Human/chatmessages не запускались. Это не fullCodexStory/denied-write/credential settlement acceptance. После точного согласия пользователя стандартный `macos27` переключён на новый принятый golden; старый golden и все8 manifests сохранены, duplicate candidate template удалён, daemon87631. Затем default production Broker/Prism без per-run image override прошёл actualXCTest1/0, xcresult, artifactSHA256, Storycomplete и cleanupdone: run `run-fac6b0cde10fec26450dc38c4694d5ff`, journal `/private/tmp/virfield-broker-default-xctest-a1a6bd9-20261015/journal.json`. Full Codex Story/denied-write ещё открыты. Пользователь разрешил запуск и Telegram-запрос; production run `run-de5f0928d21f97428502519aab3438d1` реально завершил specify/design/breakdown, но owner Human не ответил. Доставка/кнопки подтверждены, options истекли19:44:08UTC; автоматических Human responses/refresh не было. В исходный deadline21:12:19.550636UTC run стал failed/approval: terminal `process_group_unsettled`, detail `operation not permitted`; cleanup остается pending/`credential_state_lost: provider process outcome is not confirmed stopped`. Собственная Virfield lease `lease-faea902b1f37565ea8b084038f75b127` затем штатно released по TTL21:17:19.451128UTC, VMgone/poolused0 подтверждено. OAuthidentity остается fenced; старый неопределенный cache не переиспользовать, revoke/reset/re-enroll не выполнялись. Driver9925 завершился1 послеboundedwait; НЕ replay. Artifactlist пустой, reviewer/implementer/verifier не запускались — Story НЕ принята. +Точный receipt с hashes и границами: [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/acceptance/2026-10-16.json]]. Исходный подробный журнал: [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/VERIFICATION.md]]. Прежняя проектная заметка сохранена целиком: [[personal/projects/archive/virfield-release-cleanup-2026-10-16/project-note-before-cleanup]]. -Darwin research: первичный Apple XNU `killpg1` исключает zombie и возвращаетEPERM при нуле signalable members. Собственная deterministic zombie-only группа с проверенными UID/PPID/PGID реально далаEPERM дляsignal0/SIGKILL. Реальный Brokerregression RED воспроизвел falseunsettled; в отдельной `/private/tmp/virfield-broker-process-group-fix-20261016` (upstream4a8319a) подготовлен минимальный fix: DarwinEPERM разрешается только после независимого успешного observation без executablemembers; live/unknown остаются failclosed. FullRunnerRace GREEN13.233sec. Patch `/private/tmp/virfield-broker-darwin-pgrp-fix-20261016.patch`; исходный Brokercheckout/production не менялись. Точный состав исходной группы в момент21:12 не сохранен, поэтому zombie не объявлен доказанной исторической причиной. Safe terminal/retry receipt `/private/tmp/virfield-story-cleanup-failure-events-20261016.json`. +## Релизная очистка -**HTPC blocker и рост лога устранены (2026-10-16).** Исходный `/run/user/1000/speech-dispatcher/log/speech-dispatcher.log`3357126656bytes заполнил tmpfs и блокировал Podman metadata при свободном HDD; own Sequoia9a9partial штатно resolved/released, clone не replay. Сначала exact log был сохранен на HDD, SHA256 `90664f48489073a9f2e2b587433ebabeed337dff3f8b6af3e6af0895d0d6840d` сверен перед truncate. Повторный рост исследован по прямому поручению пользователя: 1687960строк `LINE here` занимали155685558из155836077bytes(99.9%),38запусков. Установленный speech-dispatcher0.12.1-6.fc44 и upstream output_get_voices содержат debugdump всех LIST VOICES на уровне1; waitpid shutdown errors не причина объема. Создан private user config на основе текущего distribution config: изменены только LogLevel3→0 и LogDir→`~/.local/state/speech-dispatcher/log` внеPodman tmpfs; /etc config, TTS/modules/autospawn сохранены. Три свежих default spd-say -O/autospawn/espeak-ng/natural idle exit PASS, новые логи0bytes. По явному указанию «снеси его, включая его бэкап» удалены original155836077bytes и backup3357126656bytes, суммарно3512962733bytes; провереныinode/owner/noopenFD, backupdirectory удалён. Дополнительный defaultautospawn+espeak-ng LIST VOICES послеудаления PASS14806tablelines, originalpath не recreated, новые логи0bytes. Независимая проверка через 133сек: старый лог и каталог бэкапа отсутствуют, все4новых файла0bytes, Podman info PASS, runroot free3357126656bytes. Receipt `/private/tmp/virfield-htpc-speech-log-final-20261016.json`, node `virfield/diagnostics/speech-log-fix-20261016/report.json`; речевойтекст не сохранялся, audibleTTS не тестировался. Fresh standard-policy Sequoia2/2 **и Sonoma2/2** наa1a6 полностью PASS(nativeGUI/newSSH/adminadmin/reboot/newUUID/1920/workspace/workload/artifact/RFB/crosskey/release/revocation), все4workersreleased. Root `/private/tmp/virfield-htpc-standard-after-runroot-a1a6bd9-20261015`. Успешные новые циклы не устанавливают причину исторического Sonoma1200sec stall. Первый F4 transfer job `job-b610b65830c57353f079229d30de7295` завершился, но acceptance отклонён из-за allocation106.4GB; ownedcopy штатно удалён durablejob `job-c118887cc056917a94363a9126a684d4`. Исправленный a45655f transfer `job-bae1394eea3855fd52ab9b24dc16c58e`, новый image `image-445bf1f13caf092c5afa9f594c8f3f86` прошли hashes, sparseallocation и2полных iPadMonterey циклов; source и8baseline сохранены. +Сохранены 31 исходник документации, JSON/patch и прежняя проектная заметка; содержимое каждого проверено обратным чтением. [[personal/projects/archive/virfield-release-cleanup-2026-10-16/index|Индекс архива]]. В репозитории удалены планы, приёмочные receipts, исторические копии, неиспользуемые Broker patches и старый Lume reference. -**Полная приемка НЕ завершена.** F4/iPad accepted; current source256d18f checked/pushed/packaged, F5 module/native/reboot/armv7 prevalidated. Установка schema10/новые daemon live F1/F2/F3 и exact F5 factory/remaining hardening gates требуют production approval; actual owningMCP stale — пользователь сейчас не может Restart. Full CodexStory failed/processgroup, oldworker TTLreleased; issuer подтверждает owned=true/revoked=false/checkpointed=false, старый cache не reuse. Darwinfix package подготовлен из точно deployedc5f63ef с заменой только execution-runner:77entries, прочиеbytes/types/modes/links неизменны; fullRunnerRace13.249sec PASS, artifact `/private/tmp/virfield-broker-c5f63ef-darwin-pgrp-20261016.tar.gz`, SHA256 `6f7e48479f61fcbef29c289408860dfe635b2d71bdd437f8b4cb63787a3c92a4`. Brokercheckout/production/identity не менялись. Два актуальных разрешения pending. Canonicalcheckpoint `/private/tmp/virfield-release-current-state.json`. Automation PAUSED; новое расписание не создавалось. +README и шесть руководств содержат команды, требования и ограничения без истории прогонов и личных deployment-примеров. Убрана персональная signing identity; fixture-узлы, IP и MAC заменены синтетическими данными. Гостевой admin/home, канонический Go module/repository URL, upstream pins и legal notices сохранены как контракты проекта. MCP сохраняет 20 инструментов и четыре прежние темы; `verification` теперь отдаёт инструкции проверки окружения из ENVIRONMENT.md. -## Предыдущие checkpoints (история) +Применён anti-slop editing: https://github.com/elithrar/dotfiles/blob/main/.agents/skills/anti-slop/SKILL.md. Прочитаны SKILL.md и references/tells.md; убраны повторения, служебные рассказы о ходе работы и канцелярит, команды и технические ограничения сохранены. -Актуально на 2026-10-15: installed code `f60efe3310cd3806c18481b5d22089c421849f8b`, version `0.0.0-browser-transport-trace`, daemon PID65903 после подтверждённой миграции службы в Standard. Source/pushed docs HEAD `ea0ba06d68139feaf314101a18ef4484801707b3`, ветка `codex/retire-lume-release-hardening`, clean. Актуализированы все поддерживаемые repo runbooks и план; прежний Verification сохранён без потери evidence в датированном архиве. Для документационного коммита: 27 Markdown files /97 local links, diffcheck, `go test -race ./internal/mcpadapter ./docs` PASS; pinned Gitleaks8.30.1 —233commits/no leaks. Это docs-only revision: установленный f60 по-прежнему содержит прежние embedded runbooks и гостевую password rotation. Установка сохранила private backup, signing/FDA identity, config/keys и семь baseline images/manifests; archive SHA256 `941da8a267107103918ddc553290419f104148f5bebb7503917b130328265c00`. Exact archive stdio и installed HTTP/freshstdio version/all4runbooks/resources/status/anonymous401 PASS; post-Standard smoke0.18sec. Реальный owning-client help повторно возвращает `Transport closed`, несмотря на подтверждённый Restart; этот gate открыт. +Проверки нашли и исправили две ошибки: Darwin-only statfs попадал в Linux build; дерево лицензий THIRD_PARTY_NOTICES с versioned Go source мешало go vet/list после распаковки. Statfs и реальные mount-тесты разделены по платформам, Linux отказывает local Tart; notices перемещены в _THIRD_PARTY_NOTICES, который Go пропускает. Регрессионный тест воспроизводит старую ошибку и проходит с исправлением. Его фиксированный tar-fixture работает и на Python 3.11; production packaging требует Python 3.12+. -**Решение пользователя: стандартный VM account `admin/admin`, без автоматической случайной смены пароля.** Удаление rotation явно поручено, но ещё не реализовано ни в source, ни в installed f60. Это первый пункт актуального плана; старые goldens могут всё ещё содержать generated credentials. Сохраняются независимые caller/management SSH keys, fresh host keys/pins, key-only SSH и cross-key rejection. Существующие login-keychain items, workspace и protected goldens не удаляются/не перезаписываются; совместимый переход старых образов должен быть отдельно проверен. Старые PASS относятся к старой password policy и не принимают ещё не написанную новую. +macOS make check/build/Staticcheck прошли; настоящий read-only volume probe двух смонтированных хранилищ прошёл с одним diskutil lookup на серию из 20 capacity refresh. Linux amd64 commands и тесты скомпилированы; полный Linux arm64 CI выполняется в отдельном локальном Colima-контейнере на Go 1.26.9. Финальная распаковка/проверка архива выполняется отдельно. -**Broker/macOS27: открыта повторная приёмка.** Три production-попытки 2026-10-15 завершились `guest_keychain_failed` до bootstrap и запуска provider roles; последний проверенный installed был `614daf5`. Все три lease штатно released, Broker cleanup=done. Позднейшие `f60efe3` и миграция службы в Standard ещё не проверены через этот Broker/macOS27 путь. Общий код ошибки не устанавливает конкретную причину в GUI/SSH native I/O или состоянии консоли. Границы доказательств и критерии закрытия — в [Virfield Verification](https://github.com/mallexxx/virfield/blob/codex/retire-lume-release-hardening/docs/VERIFICATION.md#broker-macos27-reacceptance); точные operational references хранятся только в этой приватной карточке и private Broker evidence. Нужны свежая native GUI/new SSH/console qualification, production Story, явный Codex denied-write, независимые тесты, artifacts/checkpoint/release; успехи других OS/profile этот gate не закрывают. +## Ограничения и дальнейший план -Приватные ссылки инцидента (подтверждены read-only Virfield API; все prepare jobs после cleanup — `canceled`, исходный error code сохранён, все lease — `released`): +Следующие задачи не входят в принятую установленную VM/MCP/Broker-приёмку и не объявляются реализованными: -| Broker run | Virfield lease | Prepare job | -|---|---|---| -| `run-dc75eb681c4904bd8eb8b63724bd2167` | `lease-1c9ad2e1aceabd1b85fa09c0ce447957` | `job-bc177eacf7567da60e1d61ff985b45ac` | -| `run-11679cafb6343eb9a3441f76102da1b8` | `lease-953db09f6cba9cf1691111677c18a3d5` | `job-1ae47c9da445d21a062b616e493be634` | -| `run-ae9fbbc53d72768b3b7badfa520b857e` | `lease-7dd853011bb35e29697c7c5f892adb9f` | `job-145b89390a13bd71cf1355ea3d55d986` | +- Проверить Apple-authorized download свежим входом и реальный VS Code editor / DuckDuckGo application debugging; generic installed LLDB-DAP уже проверен. +- Установить причину прежнего guest-kernel stall: 2002-stackshot diagnostic её не воспроизвёл. Поздние успешные циклы не доказывают причинное исправление. +- Развивать Orchard и другие провайдеры отдельными проверенными сценариями; mixed-primary scheduling, libvirt/Vetu и лицензируемые провайдеры остаются отдельным объёмом. +- Реализовать signed node-agent, WoL relay/power intents, grants/connectors и physical-host/browser desktop при отдельном приоритете. +- Развивать /api/v3 capability selection, Target/EnvironmentProfile/ConnectionGrant, short-lived access, VS Code extension и linked Console/Broker flows. +- Расширить crash/host-loss/partition/full-disk matrix, metrics/alerts, signed promotion/revocation. +- Отдельно опубликовать исходное Broker reviewer исправление в репозитории Broker. Локальная source-ветка/worktree не удалялась очисткой Virfield; patch сохранён в [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/acceptance/broker-reviewer-readonly.patch]]. Production correction уже применена и проверена. -Последний prepare job создан 2026-10-15 14:34:14 UTC на installed `614daf59cbabe2a56085e7c188ffca0e212b3f2d`. Последующий install `f60efe3` — checkpoint 14:48 UTC; по read-only Broker journal после него macOS-запусков пока нет. Точный GUI/SSH/console подэтап трёх отказов по сохранившимся публичным событиям не установлен. - -Полная release acceptance **не пройдена**. На installed f60 +Standard HTPC Sequoia прошла **2/2 полных** native Aqua/new SSH WhenUnlocked I/O, реальных reboot/new UUID/nonces, actual1920×1080/unlocked/no dialogs, pinned SSH/RFB before-after, workload/artifact hash/cross-key/release/revocation циклов. Оба own fixtures удалены. Samsung Monterey614daf5 и новый public-base Ventura factory614 сохранили свои2/2 полных native/reboot/workload receipts; Monterey дополнительно exactXcode13.4.1/13F100+Swift compile/run. Собственные factory/workers удалены, семь baseline manifests сохранены, registry push не повторялся. Новая standard-password policy пока не реализована и этими PASS не принята. - -Историческая первая614 HTPC Sonoma прошла native GUI/new SSH/1920/unlocked/no-dialog checks до reboot, включая validated current-password cache refresh. Тот verifier прервал один60sec read-only reconnect до общего20min deadline; это не был исчерпанный reboot gate. Исправлен только private verifier: повторяет read-only reconnect в исходном общем бюджете, никогда reboot. Последующий f60 Sonoma действительно исчерпал полный1200sec budget — отдельный открытый дефект ниже. - -Отдельная историческая614 HTPC-пара9d8c/7570 FAILED inherited-desktop preflight до создания worker credentials; original desktop.log показывает60sec command timeout, позднейшие read-only CLI/console отвечали. Точный подэтап/причина не установлены. Оба fixtures released исходными durable keys, bounded evidence сохранены. На f60 после Standard initial probes Sonoma/Sequoia прошли за123.66/152.68ms; старый timeout не воспроизвёлся, причинная связь со Standard не доказана. - -**Sonoma f60: FAIL после одного reboot dispatch и полного1200sec бюджета.** Новый boot UUID не получен, guest SSH banner отсутствовал даже через HTPC loopback, при этом QEMU/container оставались running; конкретная причина stall не установлена. Native GUI/newSSH/display до reboot PASS. Собственная `lease-ea2c1fae75020ef8f99c1a9b0e324dda` затем released исходным journal key, SSH и зарегистрированный desktop listener отозваны. Журнал `/private/tmp/virfield-htpc-transport-diagnostic-f60efe3-20261015/journal.json`; bounded logs и failed framebuffer сохранены. Sequoia f60 обе полные проверки завершила PASS, журналы `virfield-htpc-sequoia-diagnostic-f60efe3-20261015` и `virfield-htpc-sequoia-second-f60efe3-20261015`. - -**macOS27 f60: два standalone FAIL native login authentication.** GUI agent exit65/login-rekey, current/previous/user candidates — native copy-unlock `-25293`; display passed, readiness/workload не прошли. В retained diagnostic VM все пять независимых native auth/item-preservation fixtures прошли, но copy оригинального login отвергала все исследованные известные candidates. Guest identity совпала с controller/source credentials; шесть image credential files/backups содержат один исходный secret. Это не доказательство конкретного исторического password mismatch либо corruption и не Broker Story acceptance. Оригинальные items/default/search/bytes сохранены; reset и полная выгрузка keychain на host не выполнялись. Обе own leases `lease-b1f28375d03161cd57d908f854d5e8d5` и `lease-0d8301218eee761cae8e09cdf42a1a1f` released/revoked после bounded logs/native statuses/frames. Evidence `virfield-macos27-native-f60efe3-20261015` и `virfield-macos27-auth-diagnostic-f60efe3-20261015`. Последующий API snapshot:0/2, worker leases/jobs нет, семь image-ready records сохранены. - -Пользователь подтвердил Mac unlock. Installed Apple browser реально открыл окно и обработал Safari URL handoff с синтетической ссылкой; загрузилась настоящая Apple Sign In page. Никаких account credentials не вводилось, реального ожидающего Apple-auth download нет; тестовое окно и вкладка закрыты. Найден layout defect: длинный URL вытесняет Continue. В новых исходниках адрес вынесен в отдельную ограниченную строку. Также исправлен compiler target: старый Mach-O требовал26 вопреки plist13, новый build явно использует plist minimum и otool показывает13.0. Это compiler/metadata proof, не live hostmacOS13 acceptance; Новый installed f60 GUI layout визуально проверен: адрес в отдельной ограниченной строке, Continue/Back/Restart видимы; свежий процесс обработал Safari URL handoff и загрузил Apple Sign In. Continue с синтетической недействительной ссылкой показал понятный expired-link отказ; credentials не вводились, authenticated download не проверен. Собственные тестовые app/tab закрыты. - -Browser fixes и private fixed-DesktopProbe SSH trace входят в clean/pushed/installed f60efe3. Три real stalled-SSH fixtures и forwarded-timeout regressions, full localCI17Python+Govet/fullrace, pinnedStaticcheck0.7.0, Gitleaks229commits PASS. Archive SHA256 `941da8a267107103918ddc553290419f104148f5bebb7503917b130328265c00`; exact archive stdio PASS, installed HTTP/freshstdio exactversion/all4runbooks/resources/status/anonymous401 PASS1.22sec. Установка уже была выполнена; финальный private installer postcheck ошибочно требовалavailable от удалённого собственного catalog template. Read-only resume проверил staged/installed signed hashes, прежнюю Teamidentity, config values и все7 baseline manifests, без повторного deployment/restart. Receipt в upgrades/*-f60efe3/installed.json; sourcefixedGUI visual QA после запуска свежего installed процесса PASS. - -Предыдущий installed03b0d23 не прошёл обе Sonoma и Monterey: native login-rekey возвращал-25293; все собственные fixtures released+revoked. Поздний diagnostic trace подтвердил быстрый exit65 Aqua agent, затем лишние пять минут ожидания installer. Прежний wait НЕ доказывал зависание CLI/native API. Отдельный trace опроверг stale Quartz hypothesis: SSH caller следует за реальным root/waiting→admin/desktop login. Исходная причина раннего Sonoma SSH preflight и исторического vm_drift пока не установлена. - -Причина воспроизведённого Monterey keychain отказа исследована на собственной VM: original login keychain сообщал unlocked(flags7), но correct-password native authentication и SecItemAdd давали-25293. Credentials совпадали с controller/image; production caller работал на isolated keychain внутри того же гостя. Приватная on-disk копия original аутентифицировалась current password; direct rekey original не работал. Один native lock/unlock с уже проверенным паролем за58ms восстановил authentication/native add-read-delete. Это подтверждает несогласованное cached состояние и рабочий refresh, без заявления о всех внутренних механизмах macOS или причине каждого исторического сбоя. Существующие items не удалялись. - -614daf5 разрешает один refresh original только после независимой проверки пароля на временной owner-only копии; неверные candidates original не блокируют. Копия удаляется в finally; ошибка refresh не разрешает перебор другого секрета. Раздельные native I/O и unobstructed/unlocked console gates сохраняются. Добавлены private candidate/substage/status и exact scope/boot/mode/nonce exit receipt, чтобы installer быстро видел завершившийся agent и игнорировал stale failures. Полный локальный make check17Python+Govet/fullrace, pinnedStaticcheck0.7.0, Gitleaks228commits PASS. Пять production-native auth cases, включая injected stale cache с реальными copy/refresh/item-preservation APIs, PASS. Host login/default и protected goldens не менялись. - -Diagnostic d263 отдельно прошла source-staged повторную account rotation, item preservation, full native Aqua I/O/unlocked console/no visible assistants/1920×1080; второй rotation cache fault не воспроизвёл. Это НЕ installed acceptance. Exact fixture released исходным journal/release key после сохранения logs и post-repair screenshot: `/private/tmp/virfield-monterey-auth-channel-03b0d23-20261015`. Collector-only import/Ref ошибки не считаются backend defect. Ни один reboot после неизвестного outcome не повторяется вслепую. - -Monterey — macOS12.7.6/Xcode13.4.1, не macOS13/Ventura. Старые Samsung750 2/2, Tart4a53 8/8 и iPad677/8c receipts сохраняют только свой датированный scope. Новый iPad repeat блокирует internal storage: на13:52≈75.7GB free при требовании≈150GB full-growth+reserve. Reserve не снижается, чужие данные не удаляются; local Tart cross-container clone пока запрещён. - -Factory/private GHCR roundtrip2f23, controller-state restore и signed controller-binary rollback завершены; evidence сохранены. Это не VM-disk DR и не весь V3 roadmap. Lume повторно проверен14:07 UTC: disabled/unloaded/7777closed; rollback files сохранены. Пользователь выполнил одобренную Standard migration. Внешняя проверка подтвердила ровно одно изменение plist — ProcessType Background→Standard, свежий daemon PID65903, прежние signed hashes/config/keys/7 baseline images; API healthy и pool idle. Post-migration exact installed HTTP/freshstdio/version/all4runbooks/status/anonymous401 PASS0.18sec. Receipt `/private/tmp/virfield-standard-migration-external-verification-20261015.json`. GUI f60 layout/URLhandoff/Applepage после свежего запуска PASS; реальный authenticated download отдельно не проверен. Existing HTPC goldens0444/dir0755 оставлены без изменений. Предложение0400/0700 — опциональный hardening, пользователь его не одобрил; для работы VM оно не требуется и не исправляет keychain/reboot. Это не причина незавершённой функциональной приёмки. - -## Актуальный порядок работ и пять новых пунктов - -[Поддерживаемый repo-план](https://github.com/mallexxx/virfield/blob/codex/retire-lume-release-hardening/docs/VIRFIELD-3-PLAN.md) полностью обновлён по последнему прямому поручению пользователя; пять пунктов уже внесены, прежнее «sequencing ещё не достигнут» более не действует. Порядок: (1) убрать random account rotation, сохранить `admin/admin` и данные старых образов; (2) диагностировать/исправить macOS27 keychain и Sonoma reboot; (3) local CI/clean exact package/idle install и новая native provider matrix; (4) actual owning MCP и production Broker macos27; (5) дальнейшая реализация feedback. Verified local transfer можно сделать раньше как dependency storage-constrained iPad repeat. - -| Пункт | Текущий пробел | Критерий готовности | -|---|---|---| -| F1: восстановление lease без удаления VM | transient inventory уже сохраняется, но confirmed vm_drift не возвращается ready; operator resolve означает cleanup | Durable exact-lease revalidation identity/provenance/pinned SSH с сохранением VM/workspace/keys/deadline; без Prepare/clone/password rotation; отказ для expired/released/foreign/mismatched/in-flight; workspace hash сохраняется через реальный drift/recovery | -| F2: drift/tunnel diagnostics | warning частично пишет expected/observed, durable event generic и endpoints очищаются; close reason отсутствует | Сохранять expected/observed IP/state/port/time/backend error до перехода; отдельные причины pause/resume/listener close/stream EOF/release/expiry/drift/shutdown/I/O; bounded redacted evidence после cleanup/restart. Историческую причину не выдумывать | -| F3: ресурсный отказ с расчётом | status содержит limits/reserved/free, но disk/node/cache errors не объясняют все слагаемые | Snapshot по host/storage: free, reserved growth, requested full potential size, reserve/headroom, failed constraint; bytes+GB/GiB; CPU/RAM/cache/unknown metrics, consistent CLI/MCP/Console. Причина прежнего отказа при251GB без contemporaneous snapshot не установлена | -| F4: перенос verified golden между storage | Tart cross-container acquire пока запрещён; registry не является переносом managed golden | Journaled destination copy/new identity с capacity/hash/provenance/OS/toolchain checks и atomic registration; source сохраняется, interrupted copy quarantined; реальный Monterey/Xcode transfer и native/reboot/workload/artifact/release; source delete только по отдельному разрешению, без upload private golden | -| F5: optional legacy iOS profile | успешные ручные armv7 builds не являются reusable profile | Opt-in Monterey12.7.6/Xcode13.4.1, Rosetta только AppleSilicon, pinned compatible Ruby/CocoaPods/architecture, actual FFI/Ethon native load и representative armv7 build/lockfiles | - -Все пять — **planned, не implemented**. Полный V3 (Orchard live pool, node-agent/grants/APIv3/extension/noVNC/другие providers, soak/VM-disk DR/package-client rollback) отделён от текущей функциональности и её релизной приёмки. Automation virfield-lease остаётся ACTIVE15min; CI только локально, push только рабочей ветки с skip ci, main/tags/release не менялись. История ниже сохраняет только свой датированный scope. - -## 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`, 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` отключён (launchctl disable + bootout) 2026-10-14 после проверки пустого inventory. Служба отсутствует в загруженных system services, порт 7777 закрыт. Plist/бинарники сохранены для отката; 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. - -## Исторические checkpoints приёмки (2026-10-14 — 2026-10-15) - -Следующие абзацы сохраняют состояние ранних кандидатов и старых пакетов на дату их проверок. Актуальный installed и открытые gates указаны в начале заметки; последующие датированные PASS по GHCR/restore/rollback заменяют ранние pending, а не противоречат им. - -Кандидат **ещё не принят для релиза**. Установка `09ad696` сохранила signing identity/Team ID E3R68ED529 и все пять image-ready записей. Шесть последовательных Tart clones (по два Ventura/Monterey/macOS 27) прошли SSH/host-key изоляцию, OS/build/SIP, desktop, artifact export и release. External SSD не допускает два диска полного размера с сохранением резерва; concurrent acceptance будет выполняться на отдельном временном внутреннем контейнере. 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 также прошёл. Factory/GHCR roundtrip в работе: отдельный temporary Tart container и push source настроены, разрешён новый private `mallexxx/virfield-hardening-acceptance`. Первый cold Packer build завершился EOF; после проверки отсутствия процессов/VM его собственная запись удалена через journaled recovery. Установленный `aee89c1` prefetches source в retryable resolve и отключает implicit pruning. Factory golden `image-5387f340da4ae093162383c18449c592` rebuilt/qualified, generic automation прошёл post-reboot проверку; два последовательных клона прошли SSH/cross-key/host-key isolation, exact OS/build/SIP, desktop и artifact export, затем оба released. Private GHCR publication требует idle pool и пока не запускалась; полный roundtrip не принят. Текущие исходники, установленный daemon и published archive нельзя считать одним артефактом. - -Installed MCP прошёл HTTP и fresh stdio discovery/help/status с 18 tools, HTTP 401 без авторизации и ещё два полных fresh stdio acquire/replay → SSH/workload/artifact/desktop → release цикла на собственных factory-клонах. Оба дополнительных клона удалены. Live discovery gate исправлен: проверяет обязательные имена вместо устаревшего hardcoded count 17. Source MCP metadata теперь соответствует Tart/node budgets, approved bases и unlocked APFS/FileVault policy. Ventura `TestLiveLeaseSSH` прошёл exact Xcode 15.2/15C500b, Swift workload, SCP, cross-key/image-key rejection, desktop/tunnel revocation, cleanup и рестарт daemon с сохранением lease SSH identity. Signed installed archive `aee89c1`: SHA-256 `2313602b2c380e5e74640c47ee6ad50d9c10d750f856a0949833a4489803cf35`; хеши трёх подписанных бинарников сохранены в `~/.virfield-v2/upgrades/20261014-aee89c1/installed.json`. Полный локальный make check, Staticcheck, Gitleaks и регрессионные race-тесты нового inventory fix прошли. Clean archive exact source `8a297748eac5035fa0f0453aa51e11e9cb77d4e4`: `/private/tmp/virfield-release-candidate-20261014/virfield-v0.0.0-candidate-darwin-arm64.tar.gz`, SHA-256 `e2efde0214c7f4967528308b850575baac4a464e4e6c86425e871e11b8879488`; extraction, все binary checksums, native browser signature и действующий config-check проверены. Idle-only installer `/private/tmp/virfield-install-8a29774.py` подготовлен, не запускался; включает три бинарника и актуальный native Apple browser, rollback backup и повторную проверку свободного pool. Fresh MCP из этого clean archive прошёл discovery/help/status и проверку исправленных metadata. - -macOS 27 lease `lease-6fde5d2f33c234f2e885583fb6a8fd34` штатно released по прямому разрешению пользователя «27ю вм можно отпускать» (2026-10-15 Asia/Bishkek). Cleanup `job-3168397fcd2d6cf4bc821abe7dead124` succeeded; VM `vf-6fde5d2f33c234f2e885583fb6a8fd34` подтверждённо отсутствует, все семь image-ready records/manifest identities сохранены. Прежняя iPad lease `lease-327bb8e4a3a06b7d5ac8e527c57d1907` также released её владельцем. Новая iPad Monterey lease `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea` тоже released владельцем; пользователь подтвердил «Вторая вм отпущена, можешь продолжать». Idle pool 0/2 проверен до установки `9a740c0` и diagnostic `24512c7`; сохранены все семь goldens. Heartbeat `virfield-lease` ACTIVE каждые 15 минут; пользователь разрешил однократное продолжение установки/live/factory/private GHCR/локального CI/docs/push, после завершения она отключится. Чужие ресурсы сохраняем. Canceled-inventory fix теперь установлен; причина drift старых рабочих leases не установлена. - -Offline restore `backup-5cdef526c555f6a53ed5f565c6e2edaf` в отдельный private каталог прошёл: 18 файлов, SQLite integrity, пять active image identities/credentials/verification, тот же node management key, новый operator token и config-check. Restored daemon не запускался; live restore/rollback остаются gates. - -Ранее принятые срезы сохраняют свои даты: - -- 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 не реализованы. - -Node VM quotas реализованы и установлены в `aee89c1`: CPU/RAM/full disk reservations, pending image builds, cache cap, qcow2/storage probes и post-wake clone/start/commit checks. Live probe корректно отказал в 100 GiB VM на home NVMe с 99 GiB free и reserve 20 GiB. HTPC deployment config уже переключён на private storage root HDD `/run/media/system/Data/virfield/runtime`. После Wake API свежий available probe подтверждает около 2.87 TB free, CPU budget 8, RAM 24 GiB и cache cap 512 GiB; старый asleep cached probe относился к NVMe. Новый live node suite ещё нужен; права существующих HTPC goldens не менялись без отдельного разрешения. Read-only namei подтвердил 0444 у двух старых secured qcow2/OpenCore файлов и traversable directories; migration к 0400 остаётся permission/release gate. Будущий v3 capability API, grants, node-agent, Access/noVNC, VS Code extension и расширенный fleet/hardening остаются roadmap. Опубликованный v2.0.0 — исторический Lume-релиз 2026-09-30. - -## DDG macOS UI tests: проверенные проблемы и исправления (2026-10-14) - -Историческая рабочая lease `lease-6fde5d2f33c234f2e885583fb6a8fd34` сессии Claude Code (`apple-browsers.git/fix-macos-ui-test-failures`) уже released по разрешению пользователя. Следующие результаты относятся к source-проверке `624bdfa7a88738809729e6889c679eaf0241eb78`; текущая installed acceptance более нового кандидата выполняется отдельно. - -- **Locked keychain — ранний source624 smoke, не финальная готовность.** DDG CI вызывает `create_keychain_ui_tests` в `macOS/fastlane/Fastfile`: DefaultKeychain/`default`, default + unlock, timeout 54000, без lock on sleep. DDG EncryptionKeyStore хранит encryption key через native generic-password SecItemAdd с WhenUnlocked. GUI и каждое SSH-подключение имеют отдельную Security audit session, поэтому разблокировка только одного контекста недостаточна. Кандидат готовит private per-image/lease default keychain через Aqua LaunchAgent и разблокирует его непосредственно перед каждой исходной SSH-командой через VM-only ForceCommand. Native запись/чтение/сравнение данных/удаление проверяются в обоих контекстах, после reboot — с новым boot UUID и nonce. Публичный/пустой пароль не используется. -- **Ранний login/ScopedBookmarkAgent smoke — superseded новыми регрессиями выше.** Одной смены default keychain оказалось мало: OS service продолжает обращаться к login и оставляет модальный password dialog над браузером. Новый preparer сохраняет его items, меняет пароль на текущий private VM password, проверяет native доступ после lock/unlock новым паролем и сохраняет login в search list. Старый image password не остаётся в worker identity. Ручное убийство SecurityAgent не является частью нового readiness. -- **Дисплей — исправлен в source.** Старый установленный golden отдаёт 1024×768 pt / 2048×1536 px и список преимущественно 4:3 режимов; workaround владельца на нём — 1920×1440 1x. Новые Tart recipes/clones задают 1920×1080 logical и запрещают refit окна. Host-side hint сам по себе недостаточен: Aqua agent выбирает native режим через CGBeginDisplayConfiguration → CGConfigureDisplayWithDisplayMode → CGCompleteDisplayConfiguration(permanently). Временный CGDisplaySetDisplayMode откатывается при выходе процесса. Новые isolated factory и worker подтвердили actual GUI frame 1920×1080 после reboot. -- **SSH banner после boot — исправлен в source:** 45 секунд в daemon handshake и generated CLI config; timeout до выполнения команд классифицируется как retryable connection failure. Host pin/auth failures не повторяются. Regression test прошёл. -- **macOS 27 factory / ASIF — дополнительно найден и исправлен:** отсутствие recovery_partition выбирало Packer default deletion, оставляя открытый/заблокированный ASIF file и вызывая Virtualization.framework startup failure. Все macOS 27 recipes теперь явно keep Recovery. Полный новый source resolve → Packer build → qualify/reboot → stop прошёл. -- **vm_tunnel backend_unavailable / vm_drift — installation gate остаётся.** Прямой SSH рабочей lease отвечает, API считает её needs_attention. Canceled inventory regression исправлен в source и проверен тестами; это не доказывает единственную причину drift этой конкретной чужой lease. Повтор live tunnel acceptance нужен после безопасной установки. -- **VMShare отсутствует по текущему контракту:** checkout и DerivedData копируются pinned SSH/SCP/rsync с сохранением путей, нужных pre-actions. Общий host каталог автоматически не монтируется. -- **macOS UI Tests CI ожидает prebuilt products.** CI скачивает notarized Review app; для локального запуска нужны отдельно собранные macOS Browser Review и macOS tests-server. Сам VM manager не угадывает build scheme. -- **Xcode 27.1 products → guest Xcode 27.0:** два реальных запуска DownloadsUITests.testDownloadFinishesThenPopupIsShown прошли (1 test / 0 failures каждый), включая browser startup и Settings/General clicks. Второй запуск выполнен после source guest agent/reboot без ручного unlock. Это single-test smoke, а не приёмка всей UI-suite или всех minor version сочетаний. - -Дополнительная приёмка: Ventura native GUI key I/O/reboot; macOS 27 native GUI и SSH key I/O/reboot; source macOS 27 factory; два source Prepare-клона нового factory golden с SSH identity isolation, login rekey и real worker reboot — PASS. SCP upload/download с SSH bridge — PASS. Все четыре isolated VM этой проверки подтверждённо удалены; две неудачные old-daemon factory записи удалены через exact-name journaled recovery после проверки отсутствия процессов/VM. Production goldens и чужие leases не менялись. - -Private evidence: `/private/tmp/virfield-keychain-macos27-standalone-20261014`, factory image `image-3ded21740aa5ee237b85aac1fc8bbe52`, source recipe SHA-256 `38a47b46c05c906e3b104d7c6a9d83479047213deaf3002b93f2e2af6debd6ae`. Exported DDG xcresult archive `ddg-final-xcresult.zip`, SHA-256 `cfe8100c567effaed5271f8b32f819b372ea2a22f65c7794e2013a0351555b76`. Local make check (docs, Python, vet, full race), Staticcheck и Gitleaks прошли. GitHub CI не использовался как acceptance. - -## Каноническая документация - -- [Operations](https://github.com/mallexxx/virfield/blob/codex/retire-lume-release-hardening/docs/OPERATIONS.md) — config/install/services/recovery. -- [Image pipeline](https://github.com/mallexxx/virfield/blob/codex/retire-lume-release-hardening/docs/IMAGE-PIPELINE.md) — актуальные Tart/node contracts. -- [Verification](https://github.com/mallexxx/virfield/blob/codex/retire-lume-release-hardening/docs/VERIFICATION.md) — фактические gates/evidence. -- [3.0 plan](https://github.com/mallexxx/virfield/blob/codex/retire-lume-release-hardening/docs/VIRFIELD-3-PLAN.md) — реализованное и оставшееся. - -Ссылки ведут на опубликованную hardening-ветку; `main` ещё не обновлён. Старая история: [[personal/projects/archive/virfield-checkpoints-through-2026-10-08]]. - -## iPad Markdown editors: Monterey build (2026-10-14) - -Работа: [[personal/how-to/ipad-ios935-build-deploy]]. Цель — сборка открытых редакторов на `monterey-xcode-13.4.1`, armv7/iOS 9.3.5, fake sign и установка на подключённый iPad mini 1. - -Наблюдения этой сессии: - -- В 21:53–21:56 (Asia/Bishkek) admission сначала был занят 2/2: чужой `lease-6fde5d2f33c234f2e885583fb6a8fd34` и quarantined image `image-2ec1111415abc0c1e1e66a8e293b14db` / job `job-9f321bedd55313ed859c8eaa9844c3ce` (`image_command_failed`). Чужие записи и VM не менялись. Позднее статус показал освобождение image reservation и один свободный слот. -- Первый `vm_acquire` для Monterey с default storage вернул `resource_exhausted`: `No eligible clone storage has enough free disk for reserved VM growth and host safety reserve: samsung-tart`. При этом status показывал `capacity.available=1` и около 251 GB физически свободного места на Samsung; admission дополнительно учитывает полные reservations и safety reserve. Это ограничение ресурса, не доказанный дефект. -- Новый запрос с явным `destination_location=release-check` принят: lease `lease-9e65ca2f956c0f061eb3ac021d9f6b6f`, prepare job `job-ee57f1c483518f251f1bcd095621e6e9`, VM `vf-9e65ca2f956c0f061eb3ac021d9f6b6f`. Тело и idempotency key сохранены в `~/Developer/ipad-editors/virfield-acquire-release-check.json`. -- Job через ~2 секунды перешёл в `needs_attention`, phase `clone_dispatched`, error `clone_outcome_unknown`; lease — `quarantined`, `clone_confirmed=false`. Events 840–842 не сохраняют исходную ошибку backend, только общий текст `Runtime create did not return confirmed success. Automatic replay and deletion are blocked.` -- Установленный Operations runbook прямо предупреждает: `Local Tart cannot clone a local golden across TART_HOME containers; do not configure a cross-container fallback for such templates.` Исходники `internal/tart/client.go:414–422` отклоняют такой cross-container clone ДО вызова Tart. Здесь golden находится в `samsung-tart`, а выбран destination `release-check`; это соответствует запрещённому пути. Controller (`internal/control/controller.go:1050–1063`) превращает любое Clone error в неоднозначный outcome и quarantine. Следствие: детерминированный preflight rejection занимает reservation и требует operator recovery, а исходная причина не видна в job/events. Это найденная проблема интерфейса admission/диагностики, не исправленная в этой сессии. -- Повтор acquire, resolve/release и обход journal не выполнялись. Для восстановления нужен exact-name operator resolve после подтверждения отсутствия операции, с отдельным подтверждением пользователя: команда recovery может навсегда удалить собственную VM. Чужая работа не затрагивается. - -В этом начальном checkpoint сборка ещё не запускалась и готового Monterey lease не было. Тогда TTL quarantined lease был до 2026-10-15 00:58:14 Asia/Bishkek; истечение TTL само по себе не доказывает cleanup. Эта аренда позднее штатно released после разрешённого recovery; новая Monterey прошла rebuild и уже используется для сборок (см. проверку ниже). - -### Recovery approval review, 2026-10-14 22:18 Asia/Bishkek - -После пользовательского «Да» выполнены повторные read-only status/job проверки: собственный lease по-прежнему quarantined, job needs_attention, runtime inventory не содержит собственной VM; никаких running/queued операций для неё нет. Попытка штатного CLI resolve с exact lease/VM и CONFIRM-NO-OPERATION-IN-FLIGHT остановлена automatic approval review ДО запуска команды. Reason: transcript does not contain a clear user approval for this exact irreversible lease deletion. Recovery не выполнен, slot reservation остаётся. Нужен однозначный ответ пользователя с разрешением удалить только `lease-9e65ca2f956c0f061eb3ac021d9f6b6f` / `vf-9e65ca2f956c0f061eb3ac021d9f6b6f`. Это approval blocker, не новый сбой Virfield backend. - -### Recovery и новый образ, 2026-10-14 22:30 Asia/Bishkek - -После явного ответа пользователя «Разрешаю recovery и удаление указанной VM» повторно проверен остановленный prepare job, затем выполнен штатный exact-target CLI `resolve`. Cleanup `job-1fe239f3064566b2a4b3f75ebce13813` завершился `succeeded` в 16:29:45 UTC. Предыдущий approval blocker снят; освобождена только собственная аренда Monterey. Работающая macOS 27 VM `vf-6fde5d2f33c234f2e885583fb6a8fd34` не менялась. - -Чтобы избежать cross-container clone, запущен новый `image_create` непосредственно в `release-check`: template/VM `ipad-editors-monterey-xcode-1341-20261014`, image `image-f8c888fcafbd1a2df2a3b9a02821685d`, job `job-076452fa609adc3e6d4093a8e047a693`. Exact profile: macOS 12.7.6/21H1320, Xcode 13.4.1/13F100, SIP enabled, тот же approved digest-pinned Tart upstream. Образ пока строится; это не подтверждение готовности worker или успешной сборки приложения. - -### Cross-container admission fix: source versus installed (2026-10-14) - -Monterey rejection выше относится к установленному `aee89c1`. В опубликованном source `624bdfa` проверка `Controller.cloneLocationCandidates` возвращает `invalid_request` при explicit wrong container для local Tart golden ДО reservation/job; `TestLocalTartGoldenRejectsWrongStorageBeforeReservation` проверяет отсутствие записанной lease. Без явного destination несовместимые default/fallback locations также отфильтровываются. Это уже исправлено в source, установка ещё ждёт освобождения рабочей macOS 27 lease. Cross-container golden copy не реализован; новый image в нужном container — допустимый отдельный workflow. Чужая iPad-сессия и её journal не менялись этой проверкой. - -### Исторический checkpoint: keychain/UI package (2026-10-14 16:49 UTC; superseded by 9a740c0) - -Published source `624bdfa7a88738809729e6889c679eaf0241eb78`, branch `codex/retire-lume-release-hardening`; clean worktree и remote branch совпадают. Package этого checkpoint `/private/tmp/virfield-release-keychain-624bdfa-20261014/virfield-v0.0.0-keychain-candidate-darwin-arm64.tar.gz`, SHA-256 `be29654ef02f4ab6cd747b1815c2a72532717aaf2d423a2a4d8a93e4013634bb`. Проверены extraction, все manifest binary hashes, native browser signature и deployment config-check. Idle-only installer `/private/tmp/virfield-install-624bdfa.py` подготовлен, не запускался; прежний installer/archive `8a29774` — исторический срез. Установлен по-прежнему `aee89c1`. На 16:49 UTC рабочая macOS 27 VM всё ещё running, её lease needs_attention; также работает отдельный image build `job-076452fa609adc3e6d4093a8e047a693` чужой iPad-сессии. Установка требует idle pool и ждёт выбранного пользователем освобождения рабочей lease. Полный GHCR roundtrip/node acceptance/live restore остаются release gates. - -Fresh stdio MCP из clean package `624bdfa` также прошёл initialize/discovery (18 tools), актуальный embedded runbook, read-only status и проверку новых native GUI/SSH keychain + 1920×1080 descriptions. Во время smoke VM/lease mutations не выполнялись. - -### Текущий candidate и разрешённое продолжение (2026-10-14 17:19:56 UTC) - -Current published source `9a740c0f2a5cf64ccd9fc00cff705ff5abc90d08`, clean checkout и remote `codex/retire-lume-release-hardening` совпадают. Последний clean package: `/private/tmp/virfield-release-readiness-9a740c0-20261014/virfield-v0.0.0-readiness-candidate-darwin-arm64.tar.gz`, SHA-256 `065413f0ea81bef181230227c91ac0446ab5c040ca1dc66522eb1d0d51ae9182`. Extraction, все шесть manifest binary hashes, native browser signature и действующий config-check — PASS. Idle-only installer `/private/tmp/virfield-install-9a740c0.py` подготовлен, не запускался. Архивы/установщики прежних commits — исторические; старый installer не соответствует новому HEAD. - -- Полный локальный make check: docs (26 файлов / 65 links), 9 Python tests, gofmt/vet/full Go race — PASS. Pinned Staticcheck v0.7.0 и Gitleaks v8.30.1 current tree — PASS. GitHub CI не использовался как acceptance. -- Найден отдельный stale MCP client: уже подключённый процесс отдаёт старые Lume instructions, хотя установленный daemon использует Tart. Existing stdio processes стартовали до замен executable и сохраняют старый код/docs в памяти. Новый live MCP gate проверяет точную package version и все четыре embedded runbooks/resources against exact source; negative fixtures со старой version и stale runbook отклоняются. Fresh stdio нового package (version `0.0.0-readiness-candidate`, 18 tools, все четыре runbooks/resources, status Tart/HTPC) — PASS. Приёмка уже подключённых owning clients после их безопасного reconnect ещё нужна; чужие MCP процессы не завершались. -- Acceptance journal теперь заменяется атомарно с fsync; failure до replacement сохраняет последний полный replay record. Body сохранён как точная JSON-копия отправленного запроса и не меняется при последующем изменении caller object; несовпадающий replay отклоняется до dispatch. Regression tests — PASS. -- GHCR read-only preflight: configured account `mallexxx` подтверждён, token имеет `write:packages`; acceptance package пока 404 и preflight tag `registry_not_found`. Ничего не опубликовано. Подготовлен `/private/tmp/virfield-release-roundtrip.py`: требует exact installed commit/hashes и свободный pool, создаёт новые factory/pull names и уникальный tag, проверяет private visibility/digest, выполняет по два sequential clone/workload/artifact/release, удаляет только собственные goldens и сверяет исходный image baseline. Requests/IDs сохраняются; частичная clone pair требует проверки сохранённых identity/lease IDs. Runner ещё не запускался. -- На последней read-only проверке pool занят 2/2: `lease-6fde5d2f33c234f2e885583fb6a8fd34` (`needs_attention`, VM running) и рабочая iPad lease `lease-327bb8e4a3a06b7d5ac8e527c57d1907` (`ready`). Active jobs отсутствуют: Monterey image build уже завершился. Установлен по-прежнему `aee89c1`; foreign leases/VM не изменены. Lume override `disabled`, system service отсутствует, порт 7777 закрыт — повторно подтверждено. -- Пользователь явно разрешил однократное фоновое продолжение «Продолжай доделывать до готовности». Existing heartbeat `virfield-lease` обновлена, ACTIVE каждые 15 минут; после освобождения чужих VM/jobs продолжает установку актуального кандидата, live Tart/node/MCP, factory/private GHCR, локальные CI, документацию и source push, затем отключается. Пока pool занят, установки и рестарта нет. Это согласие не закрывает отдельный ещё ожидающий approval вопрос о правах существующих HTPC goldens. - -Candidate остаётся не release-accepted до installed/live gates. Full private GHCR roundtrip, node acceptance, current-client reconnect и live restore/rollback ещё не выполнены. - -### Monterey: проверка причины и результата rebuild (2026-10-14 17:43:03 UTC) - -Проверена именно Monterey/Xcode 13.4.1 из iPad-сессии. macOS здесь 12.7.6 / 21H1320; 13.4.1 / 13F100 — версия Xcode. - -- Исходный `resource_exhausted` на Samsung объясняется full disk reservations и safety reserve; свободный VM slot не гарантирует достаточно зарезервированного места для ещё одного диска. -- Исходная cross-container lease `lease-9e65ca2f956c0f061eb3ac021d9f6b6f` клонировала local golden из `samsung-tart` в `release-check`. Tart backend детерминированно отклоняет этот путь до вызова clone; установленный `aee89c1` принял destination в admission, затем скрыл исходную причину за `clone_outcome_unknown` и quarantine. После разрешённого exact-target recovery эта lease `released`, её prepare job `canceled`; активной reservation больше нет. -- Новый image `image-f8c888fcafbd1a2df2a3b9a02821685d` / template `ipad-editors-monterey-xcode-1341-20261014` построен непосредственно в `release-check`. Build job `job-076452fa609adc3e6d4093a8e047a693` succeeded в 17:09:43 UTC. Qualification `~/.virfield-tart/images/image-f8c888fcafbd1a2df2a3b9a02821685d/verification.json` подтверждает точные OS/build/Xcode, SIP enabled, desktop и FileVault off/unlocked APFS; upstream остаётся `ghcr.io/cirruslabs/macos-monterey-vanilla@sha256:4bc904cf8f2447dfa6e6fb9a5eb70eba14196dd0f4236d30fc92aff9c2391842`. Recipe SHA-256 `c68480032289a6b8d9891765915509e8abdbd1fc5e4c39149256e27e38adcdd6`. -- Новая рабочая lease `lease-327bb8e4a3a06b7d5ac8e527c57d1907` ready и использует этот image. Сессия «Найти редактор Markdown для iPad» реально собрала Notepad Example и iVim для armv7 и экспортировала products. Локально проверены export/package verification records, а `~/Developer/ipad-editors/exported-editors/iVim-upstream/build.log` содержит `** BUILD SUCCEEDED **`, `ARCHS=armv7` и SDK iPhoneOS15.5. Это подтверждает работоспособность нового worker; успех всего iPad workload/всех приложений здесь не заявляется. -- Rebuild в правильном контейнере обходит исходный ошибочный маршрут, а не устанавливает fix в daemon. Published source `9a740c0` уже проверяет incompatible local Tart destination до reservation и возвращает `invalid_request`; regression и полный make check проходили. В production всё ещё `aee89c1`, поэтому старый admission-дефект может повториться до ожидаемой безопасной установки. -- Native GUI/SSH keychain readiness нового кандидата на Monterey после установки остаётся отдельной live-проверкой. Текущие успешные сборки с disabled Apple signing не заменяют эту приёмку; действующая lease агента для неё не изменялась. - -### iPad workload: CocoaPods и новый vm_drift (2026-10-14 18:08 UTC / 2026-10-15 Asia/Bishkek) - -На ready Monterey `lease-327bb8e4a3a06b7d5ac8e527c57d1907` реально собраны Notepad Example и официальный iVim 1.40. .app, revisions, toolchain и полные build logs экспортированы на Mac; оба armv7 IPA fake-signed SHA1, установлены на физический iPad2,5 / iOS 9.3.5 через USB, процессы и UI подтверждены screenshots. Процедура: [[personal/how-to/ipad-ios935-build-deploy]]. SSH iPad отдельно настроен запрошенным пользователем `ssh-copy-id`; это другой сервер/ключ, не SSH Virfield. - -Проблемы гостевого toolchain, встреченные в этой VM (не доказанные ошибки Virfield backend): - -- System Ruby 2.6.10 universal.arm64e на Monterey падает Bus Error в FFI/Ethon, как с FFI 1.15.5, так и 1.17.3. Причина на уровне ABI/PAC не установлена; воспроизведение на require Ethon подтверждено. Рабочий обход — отдельный `.gems-x64` / x86_64 Ruby/CocoaPods 1.11.3 через Rosetta. Native gems не удалялись. Rosetta installation завершилась successfully; warning installKBytes не помешал `arch -x86_64` smoke check. Helpers сохранены в `~/Developer/ipad-editors/setup-cocoapods*-on-monterey.sh`. -- Историческая Edhita требует old lockfile metadata: `pod install --deployment` возвращает changes for Bootstrap/Megrim/github-markdown-css checksums, repo aliases и CocoaPods 1.6.1 → 1.11.3. Host helper теперь допускает metadata migration, но проверяет точное равенство before/after массива PODS. Новый helper не успел попасть в guest из-за drift. -- Flutter 2.10.5/Dart 2.16.2 x64 реально запустился; его git version-check завис на fetch/HTTP2 EOF. Используется `--no-version-check`. Pub resolution GitJournal остановился на публично недоступном GitJournal/ext_storage (404), host fallback опубликованного 1.0.3 ещё не проверен в guest. - -**Новый infrastructure blocker:** event 865 `lease.drift` в 2026-10-14T17:57:04.260529Z перевёл собственную Monterey VM `vf-327bb8e4a3a06b7d5ac8e527c57d1907` из ready в needs_attention, code vm_drift, message `Ready VM identity, address or running state changed; release the lease`. IP/SSH port очищены в lease, manager закрыл tunnel `127.0.0.1:60131`. SCP изменений и SSH сборки завершились banner timeout / connection reset, pub-get connection closed. Эти переносы не считать выполненными. - -Read-only status в 18:08:52 UTC снова показывает ту же VM running, IP **192.168.64.251**, SSH available true — адрес соответствует прежнему ready worker. Pool 2/2; вторая, чужая VM macOS27 не менялась. Job preparation собственного worker succeeded; новые queued/running Virfield jobs отсутствовали. Edhita/GitJournal compile завершённым не считается. - -Исследование источников установленного `aee89c1`: Tart `inspect` оставляет VM.IP пустым при любом error `tart ip --wait 0`, не возвращая lookup error; Controller считает две подряд несовпадающие runtime observations drift и необратимо сбрасывает ready/tunnel. Current source добавляет проверку canceled ctx и отбрасывает такой refresh. Это подтверждённый механизм возможного ложного drift, **но точный ipErr/observation в момент event 865 не записан**, поэтому конкретная первопричина данного события не доказана. Восстановившийся running/IP snapshot не возвращает lease в ready. - -Installed Operations допускает для needs_attention штатный exact-target recovery с cleanup; не предусмотрено re-adopt ready существующей VM. Direct-IP SSH, изменение SQLite, restart чужого daemon или direct Tart manipulation не выполнялись. Новое удаление `vf-327bb8…` требует отдельного разрешения пользователя: разрешение на старую `vf-9e65…` не распространяется на эту VM. Запрошено 2026-10-15; готовые IPA уже сохранены локально, исходники/SDK воспроизводимы. Golden `ipad-editors-monterey-xcode-1341-20261014` остаётся image_ready и доступен для замены worker после разрешённого cleanup. - -### Monterey: новый vm_drift (2026-10-14 18:08 UTC) - -Heartbeat обнаружила изменение после предыдущей проверки: `lease-327bb8e4a3a06b7d5ac8e527c57d1907` перешла из ready в needs_attention в 17:57:04 UTC, error `vm_drift`. В свежем inventory её VM `vf-327bb8e4a3a06b7d5ac8e527c57d1907` всё ещё running, IP `192.168.64.251`, SSHAvailable true. Lease IP после перехода очищен. Это не отменяет фактические успешные build/export выше, но текущая API-readiness уже не ready. Причина конкретного drift не установлена; в прочитанных daemon diagnostics за 17:56–17:58 UTC записей нет. Source canceled-inventory fix пока не установлен, его наличие не доказывает причину этого случая. - -Pool занят 2/2, active jobs нет; рабочая macOS 27 lease также не released. Ни foreign lease, ни VM, ни их tunnels/keys не изменялись этой проверкой. Установка и рестарт сохраняют ожидание согласно решению пользователя; heartbeat остаётся активной. - -### Разрешённый recovery второй Monterey VM, 2026-10-14 18:15 UTC - -Пользователь явно ответил «Разрешаю recovery и удаление этой VM Monterey». Exact-target CLI resolve для `lease-327bb8e4a3a06b7d5ac8e527c57d1907` / `vf-327bb8e4a3a06b7d5ac8e527c57d1907`, idempotency `ipad-editors-recover-20261015-327bb8e4`, завершился cleanup job `job-5cb66a109f395c15cd51633ab858bee7` succeeded в 18:15:12.999253 UTC; lease released. Старый blocker снят. Replacement acquire принят с новым caller key и сохранённым запросом `~/Developer/ipad-editors/virfield-acquire-replacement.json`: lease `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea`, prepare `job-b47d43f833f4bc28e4ec880f8fa40b00`, тот же ready golden в release-check. Worker пока готовится; чужая macOS27 не менялась. - -### Разрешённый release macOS 27 и новый pool blocker (2026-10-14 18:23 UTC) - -Exact-target release `lease-6fde5d2f33c234f2e885583fb6a8fd34` / `vf-6fde5d2f33c234f2e885583fb6a8fd34` выполнен по явному разрешению пользователя. Durable idempotency request сохранён до dispatch; cleanup `job-3168397fcd2d6cf4bc821abe7dead124` succeeded. Проверены released state, отсутствие VM в inventory, сохранение исходных семи images/manifest hashes и состояния чужой Monterey на момент завершения. Private evidence: `/private/tmp/virfield-authorized-macos27-release-20261015/journal.json`. - -Позже старая Monterey `lease-327bb8e4a3a06b7d5ac8e527c57d1907` released владельцем, а новая `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea` уже ready с 18:15:57 UTC; тот же template `ipad-editors-monterey-xcode-1341-20261014`, location `release-check`. Pool остаётся 1/2 occupied. Installer `9a740c0` не запускался, binaries/config/daemon не заменялись. Проверенное разрешение касается только macOS 27; текущую Monterey оставляем владельцу. - -### Replacement worker: Edhita deploy и GitJournal compatibility (2026-10-15) - -Replacement `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea` ready, actual macOS12.7.6/Xcode13.4.1 verified; IP192.168.64.252, pinned loopback tunnel55530. x86_64 CocoaPods preparation succeeded. Edhita build `20261015T001900Z` BUILD SUCCEEDED; PODS arrays before/after identical. Export, armv7/minimumOS checks, SHA1 fake sign, USB install and detached launch passed; screenshot shows Documents browser/Editor/Browser/Dual. Это третий успешно установленный редактор; процесс задокументирован в iPad how-to. - -Оставшиеся ошибки GitJournal относятся к upstream dependencies, не Virfield: public ext_storage fork unavailable, Firebase8 plugin minimum iOS10 при Runner9, downgrade Firebase6 конфликтует quiver2 с dart-git/quiver3, незакреплённые git HEAD refs обновляются до Dart3 при изменении resolution. Final local compatibility patch закрепляет четыре git deps исходными resolved-ref, использует опубликованный ext_storage1.0.3 и отключает optional Firebase analytics с удалением отсутствующего GoogleService-Info plist resource. `pub get` прошёл 8.8s, CocoaPods/native compile ещё идёт. Markdown/Git code не удалялся. Точный diff сохраняется в checkout; launch/Git sync пока не проверены. - -### iPad workload завершён; Monterey released (2026-10-14 18:51 UTC) - -На replacement завершена и GitJournal armv7 build. Final compatibility дополнительно закрепляет platform3.1.0/photo_view0.13.0 для Flutter2.10/Dart2.16 и генерирует пустой локальный Sentry config через reviewed upstream setup_env.dart. BUILD SUCCEEDED,49 Mach-O armv7/minimum≤9.3.5, SHA1 fake sign, USB install Complete/exit0 и detached launch/отображённый onboarding UI проверены. Таким образом четыре варианта реально установлены и запущены: Edhita2.3.0, Notepad Example, upstream iVim1.40 и GitJournal1.76+local compatibility patch. Full holzschu fork требует отсутствующих armv7 зависимостей и не установлен. Реальный vault/Git remote sync отдельно не настраивался. Полная процедура и ограничения — [[personal/how-to/ipad-ios935-build-deploy]]. - -Пользователь явно поручил «Monterrey релизь если больше не нужен». До удаления экспортированы .app/IPA, metadata, exact source diffs/lockfiles, build logs и diagnostics/Gemfile.lock на Mac. Штатный vm_release exact `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea`, key `ipad-editors-release-20261015-9c1a94ff`, cleanup job `job-efbdecc8f058d3b33ab55a2e03c2b448` succeeded в 18:51:19.492842 UTC. Lease released, runtime VM vf-9c1a94ff… отсутствует. Новый golden image-f8c888… image_ready сохранён. Никакой чужой lease этим агентом не освобождалась; daemon/journal/source installation не менялись. - - -## Installed Monterey native acceptance — 2026-10-14 19:37 UTC - -`4a53b67ce04fd1adc164750b47e780c4bdde9ea6` установлен в idle pool с private backup, прежней Developer/FDA identity и сохранением всех семи goldens. Archive `virfield-v0.0.0-pixel-display-darwin-arm64.tar.gz`, SHA-256 `a71ceaf53dae64c2c91545cdfcff5749c656ba69677411fb154c3a3e6e301f19`; полный make check/Staticcheck/Gitleaks (206 commits) PASS, branch pushed. HTTP и fresh stdio exact-version/all-four-runbooks/resources/status smoke PASS для `0.0.0-pixel-display`. - -Два новых disposable clones именно свежего `ipad-editors-monterey-xcode-1341-20261014` (`lease-ef13cff121fecbc93f3a43a12b915702`, `lease-990032a673fa5826a2efa6396c271294`) прошли native WhenUnlocked add/read/data comparison/delete отдельно в Aqua и новом SSH до/после настоящего reboot с новым boot UUID/nonce; actual GUI 1920×1080, exact OS/build/SIP, разные SSH host keys и cross-key rejection, artifact export, RFB desktop, подтверждённый release и отказ обоих tunnels после release. Оба own VM удалены, iPad golden сохранён. Private evidence `/private/tmp/virfield-installed-monterey-pixel-4a53b67-20261015/journal.json`. - -Это закрывает воспроизведённый display-before-keychain defect свежего Monterey. Старый Samsung Monterey, Ventura, macOS 27 и HTPC native matrix ещё выполняются отдельно; current connected MCP по-прежнему возвращает исторический Lume runbook, owning-client reconnect не принят. Factory/private GHCR roundtrip ещё не запускался. Это не acceptance всей DDG UI-suite или всего v3 roadmap. - - -## Installed Tart matrix — 2026-10-14 19:48 UTC - -Все четыре configured Tart profiles приняты на installed `4a53b67`: fresh iPad Monterey, Samsung Monterey, Ventura/Xcode15.2 и macOS27. По два свежих клона на каждый профиль (8/8). Каждый прошёл native GUI/новый SSH WhenUnlocked I/O до/после реального reboot с новым boot UUID/nonce и сохранённым pinned host key; actual GUI1920×1080, exact OS/build/SIP, cross-key rejection, разные host keys, artifact export, RFB desktop, штатный release и SSH/desktop revocation. Все own VM отсутствуют; семь goldens сохранены. Journals `/private/tmp/virfield-installed-monterey-pixel-4a53b67-20261015` и `/private/tmp/virfield-installed-tart-native-4a53b67-20261015`. - -Дополнительно найден native Apple browser defect: trustedOrigin требовал `state_dir == deployment`, что несовместимо с действующим separate state `~/.virfield-tart`. Исправление source `8e07015cde200a41fee6b490da97a44437803d7f` разрешает отдельный private owner state, проверяет владельца/права deployment/config/state, отвергает config/state symlink и не-loopback/подменённый origin. Реальный compiled Swift trust check на текущем config PASS; boundary regression tests, full make check (10 Python tests + Go race) PASS, source pushed. New exact package `virfield-v0.0.0-browser-state-darwin-arm64.tar.gz`, SHA256 `63c697126d63d3be3160ce57848d0338d2dfd1fe04a2ebbd267e105103b510e6`; установка выполняется после Tart cleanup. VM code/guest script этого коммита идентичны принятому `4a53b67`. - -Lume повторно подтверждён disabled/unloaded, port7777closed. HTPC secured goldens всё ещё0444; отдельный permission question пользователю остаётся pending, chmod не выполнялся. Live HTPC native matrix, portable private GHCR roundtrip, current owning MCP reconnect и live restore/rollback остаются gates. - - -## HTPC inventory race — 2026-10-15 03:39 UTC - -Первая concurrent native matrix installed8e получила vm_missing сразу после confirmed clone. Только собственные lease-f760d6dc6090dd47cd10a5dd2669588f и lease-c8dd5ae4e8bf8cf8532f7634a8c73500 штатно released; отдельный native SSH probe подтвердил отсутствие обеих папок и Podman containers. Private journal `/private/tmp/virfield-installed-htpc-native-8e07015-20261015`. - -Причина воспроизведена детерминированным тестом: node mutation отмечала cache changed до команды; concurrent Observe успевал снять флаг и закэшировать отсутствие ещё не созданной VM. Новый source повторно инвалидирует cache после любого outcome, а Control ждёт snapshot, начатый после clone completion. Red/green regression tests, full local CI, Staticcheck PASS. Source2f46faadcce3bf9080b093e1bdab6bf26327a82f pushed и установлен с private backup, прежней signing/FDA identity и сохранением7goldens. Archive `virfield-v0.0.0-node-inventory-darwin-arm64.tar.gz`, SHA256 `1a94f247c9f0f57b10011b022dc580ac10401b4859805686ef9e59b26b4c4450`, PID6332. HTTP/fresh stdio exact-version/all-four-runbooks/resources/status PASS для0.0.0-node-inventory. Повторная матрица `/private/tmp/virfield-installed-htpc-native-2f46faa-20261015` выполняется, результаты пока не приняты. Host Wake API дал fresh available03:38UTC, private HDD root сохранён. - -Попытка native browser GUI smoke застала locked Mac и не завершилась проверкой; GUI launch не принят. Повтор CUA откладывается до явной разблокировки. Native compiled Swift trust check на actual split deployment/state и URL-scheme registration прошли ранее. Owning MCP reconnect остаётся отдельным gate. Существующие secured HTPC goldens0444 не менялись; async question на0400 файлов/0700 каталога пока без ответа. - - -## HTPC HDD boot / внешний Steam I/O — 2026-10-15 04:01 UTC - -Повтор2f46faa прошёл clone/start после race fix, но оба concurrent Sonoma не достигли SSH к10-минутному deadline. Guest framebuffer показывал macOS boot (без kernel panic); I/O pressure full около44%. Оба own fixtures9687…/925a… released, native папки/containers absent. Новый source/installed ab9a2ad92ed2b97ca7714e800a6fa1261edaee5f задаёт DISK_CACHE=writeback/DISK_IO=threads (guest flushes enabled). Full CI/Staticcheck PASS; Gitleaks209 commits clean, fresh govulncheck0reachable/imported (module-only unused openpgp notice остаётся). Archive SHA256935fce3268e115e9ea496dc1209bc18c56ceb7100c25bd36b610b9692faef192; private backup/signing identity/7goldens сохранены. HTTP/fresh stdio exact-version/all-four-runbooks/resources/status PASS. - -Активная новая matrix `/private/tmp/virfield-installed-htpc-native-ab9a2ad-20261015`: собственные lease-81111c749a09dafe75ab4886809f5b0b и lease-783b910082aef60af102b947f3034e4e. Внешний Steam PID12980 создаёт около42MB read и42MB write за2сек, имеет62FD на том же VM HDD; content log подтверждает AppID766570 staging33,619,622,671bytes с09:39local. Это реальная общая I/O нагрузка; Steam не менялся. Новые QEMU env writeback/threads и NOCOW storage/data подтверждены, но улучшение boot и native node acceptance пока не доказаны. Evidence `external-io-blocker.json` в private matrix root. Нужен повтор после разгрузки HDD; не ослаблять keychain/readiness. - -Owning MCP PID65967 установлен через единственный новый API socket от текущего законченного read-only status request. Только этот старый adapter остановлен; остальные не менялись. Auto-reconnect не сработал (Transport closed), вручную переподключить Virfield MCP должен текущий client. Async request на unlock Mac + reconnect и отдельный permission question на0400/0700 остаются без ответа. - - -## Controller-state live restore PASS — 2026-10-15 04:11 UTC - -Installed ab9a2ad, backup24b8cc75c691697893d48d44c6163bfb. Private copied SQLite/images/node management identity + new owner token запущены через existing launchd service на том же listener после атомарной смены config и SIGTERM; sudo bootout до этого не прошёл и ничего не изменил. Один manager/listener. Старый owner token отклонён401, exact HTTP/fresh stdio MCP PASS,7image identities/manifest сохранены. Два own Monterey clones a523fc64…/cd09f148… прошли native Aqua/SSH I/O, реальный reboot, display/workload/artifact/desktop/release/revocation. Read-only SQLite comparison доказал, что их records только в restored copy, original journal не менялся. Byte-exact original config/state возвращены, оба VM удалены. Evidence `/private/tmp/virfield-live-restore-drill-20261015/report.json` passed и `state-isolation-evidence.json`. Runtime disks не копировались; это controller-state restore, не VM-disk disaster recovery. - -## Factory capacity fix / GHCR roundtrip in progress — 2026-10-15 04:43 UTC - -Первый own factory image-b3dba0ef… failed до публикации: diskutilresize120GB successful, immediate rootdf14GB, grow script exit66. Packer/process/native VM absent подтверждены; private logs сохранены в `/private/tmp/virfield-release-roundtrip-20261014/failed-factory-attempt1`, exact-name journaled recovery delete job-eafb8752… succeeded. Новый логический attempt2 имеет отдельный durable key; исходные replay records сохранены, tag ещё не использовался. - -Source/installed2f23ae609a4f650130f5c84835f89931d6e70592: capacity проверяется на writable Data, до30сек после одного resize, реальная нехватка/invalidstats fail closed. Regression fixtures stale-root/delayed/full/invalid PASS, full localCI/Staticcheck PASS, branch pushed. Node prepare20min основан на историческом9min HDD cold boot до новых keychain checks; caller lease TTL и primary10min unchanged. Archive `virfield-v0.0.0-capacity-readiness-darwin-arm64.tar.gz`, SHA2569defb127d54a06c722d403e02ce90b2b427b2597613d51145d6eba2b81de60a1, installedPID88439, private backup/signing/FDA/7goldens preserved. Exact installed MCP version0.0.0-capacity-readiness/all4runbooks/resources PASS. - -Factory-r2 image-9b543d55… /job-007f3937… built/qualified/stopped: writable Data87,827,148KiB free (check0), subsequent rootdf тоже обновлён. Это подтверждает исправленный capacity gate; уникальный механизм initial stale root df отдельно не доказан. Два worker clones43b88366…/a9fb0d78… прошли SSH/key isolation, exact OS/build/SIP, workload/artifact/desktop/release. Portable publication image-92b7abe44ddaa89b910af025cce0e863 /job-3e83652b… построена заново из pinned public base, qualified и sanitized, private managed golden не клонировался для upload. Push в `mallexxx/virfield-hardening-acceptance:release-check-0644cb90dac8` выполняется (~20%); manifest/digest/private visibility/pull-back/workload/cleanup ещё не приняты. Durable journal `/private/tmp/virfield-release-roundtrip-20261014/journal.json`, planned pull `release-check-pull-0644cb90dac8`. При неизвестном исходе не менять replay keys и не повторять push вслепую. - - -## Factory/private GHCR и controller rollback PASS — 2026-10-15 05:12 UTC - -Factory roundtrip завершён на installed `2f23ae6`: fresh public-base factory-r2/qualification и два worker workloads; отдельный новый portable public-base build с public bootstrap credentials и sanitization; push в разрешённый private `mallexxx/virfield-hardening-acceptance:release-check-0644cb90dac8`, verified private visibility, digest `sha256:a5d42b4e6e48641fba1af7171158de39252e4439d3087c1b019f392223054e73` (21,460,835,255 descriptor bytes); pull/qualification, ещё два clone/workload/artifact/desktop/release. Собственные factory/pull goldens удалены через journaled jobs; семь baseline IDs/manifests сохранены. Private managed golden не загружался. Durable evidence `/private/tmp/virfield-release-roundtrip-20261014/journal.json`, `passed:true`; registry artifact сохранён как evidence. Законченный roundtrip не повторять без относящихся к нему изменений. - -Source/installed `2724f94ed52696e5482ad8431a19d1a62a427e0b`, version `0.0.0-node-image-privacy`, archive SHA256 `7cff304d53dd3a59a1aed59fe25907d88495043a66bbb7c3f64ad07813bbe6d4`. Реальная empty Podman conversion воспроизвела mode0644 несмотря на внешний umask; OCI `--umask 0077` даёт0600. Исправление задаёт оба umask, применяет0400 до publish, отказывает при неоднозначном staging и удаляет только свой exact staging. Existing HTPC secured goldens0444 не менялись; отдельный approval остаётся pending. Exact full local make check, Staticcheck0.7.0, Govulncheck1.6.0 (0reachable/imported, один unused module-only openpgp notice) и Gitleaks211commits PASS. Signed install/private backup/FDA identity/7goldens сохранены, HTTP/fresh stdio exact-version/all-four-runbooks/resources/status PASS. - -Signed controller-binary rollback `2724 -> 2f23 -> 2724` PASS через один existing launchd service/listener; версии, свежиеPID, hash, исходныйconfig и7образов проверены. Первый probe остановился на transient startup inventory; inspect/resume принял уже запущенный старый controller и вернул новый без повторного rollback. Receipt `/private/tmp/virfield-controller-rollback-drill-2724f94-20261015/report.json` passed. Это controller-binary drill, не весь package/client rollback и не VM-disk DR. - -Steam завершил staging, HDD pressure до запуска новых VM почти0. Текущая HTPC matrix `/private/tmp/virfield-installed-htpc-native-2724f94-20261015` выполняется с20min prepare budget, own Sonoma leases `lease-ae6f4954e787d989c0d35d3264bd8b7a` и `lease-b236c8eb2ef310a66f42b00d6e3a3036`,8CPU/16GiB/200GiB reservations; native acceptance пока не принята. Lume повторно disabled/unloaded/7777closed. Manual owning MCP reconnect, unlockMac/nativebrowserGUI и exact existinggolden permissions approval по-прежнему без ответа. - - -## HTPC: уточнение timeout и зависший warm reboot — 2026-10-15 05:57 UTC - -Установлен/pushed edcb756, archive SHA25682b7f7199948ba117a58a4e5067f4b12c56ab7811919038f2eadda7f8a0f80c1, version0.0.0-gui-observation. Exact local CI/Staticcheck/package/install/HTTP/fresh stdio all4runbooks/resources PASS. Оба concurrent Sonoma первоначально ready, один за304.6sec. После reboot первый verify снова failed с пустым output до native proof. Важное уточнение предыдущей записи: наличие startup proof76sec после boot и failure~2sec раньше не доказывает, что сработал именно60sec startup guard; существовал ещё30sec console-login guard. Исторический scope не заменяем предположением. Source теперь различает эти ошибки и bounded120sec console wait; реальный shell-block regression delayed login40 observations red на старом30 и green на120, absent console fail-closed. - -Следующий собственный diagnostic pair `lease-2537a3600bbb6adc2993526e88cffc62` / `lease-bc896a94e0345ba4f044cc17c5aa3ac3` достиг ready. Первый real guest reboot остался без новогоSSH/boot UUID, framebuffer сохранил часы до reboot. QEMU CPU активны, disk idle длится минуты; это не принятый reboot. Runner65766 был SIGSTOP до короткого harness cleanup, затем SIGTERM+SIGCONT завершён после сохранения evidence. Никакого второго reboot/reset не было. Обе exact leases затем released через исходный private journal и durable release keys. Root `/private/tmp/virfield-htpc-console-diagnostic-edcb756-20261015`, `runner-handoff.json`, framebuffer и journal. Новые foreign ресурсы не трогались. - -HTPC CPU i7-6700K, все CPU constant_tsc+nonstop_tsc, active clocksource tsc, VMX tsc_scaling absent. Actual QEMU Skylake-Client-v4 не получает invtsc. Pinned /run/proc.sh ошибочно ориентируется на tsc_scaling; upstream correction https://github.com/qemus/qemu/pull/1513 подтверждает отдельный capability defect. Source даёт +invtsc только по стабильным host signals на всех CPU, иначе -invtsc; heterogeneity/missing flags/non-TSC tests PASS. Это ещё не доказательство причины именно нашего stall; требуется live A/B. - -На framebuffer найден блокирующий Keyboard Setup Assistant. Реальный IORegistry QEMU USB Keyboard vendor1575/product1/country0, preference имел только Apple virtual65535-1452-0. Source добавляет только QEMU ANSI40, сохраняет остальные mappings, закрывает assistant в own VM и не принимает GUI ready с запущенным assistant. Actual defaults на disposable plist подтвердил integer40. Native node/UI/reboot matrix этим source ещё не пройдена. Все семь goldens сохранены; existing0444/0755 permissions pending отдельного approval. Manual owning MCP reconnect/unlockMac также без ответа. +Детальные прежние планы сохранены в [[personal/projects/archive/virfield-release-cleanup-2026-10-16/docs/VIRFIELD-3-PLAN.md]] и архиве superpowers. Их старые pending-статусы не заменяют результаты выше. Автоматизация остаётся на паузе по указанию пользователя.