Files
obsidian-vault/personal/projects/virfield.md
T

332 lines
98 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Virfield
namespace: personal
updated: '2026-10-15'
status: release-hardening-live-acceptance
tags:
- virfield
- macos
- vm
- go
- infrastructure
---
# 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 resource arithmetic проверяется в source, ещё не установлен.
**Реализовано и проверено:** 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.
**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 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` дошёл до approval и ожидает решения владельца в Telegram. Driver не отвечает Human автоматически. Journal `/private/tmp/virfield-broker-codex-sparse-20261016/journal.json`; два новых stdlib Python-файла в disposable checkout, без push.
**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 сохранены.
**Полная приемка НЕ завершена.** Открыты фактическая owning-MCP acceptance (пользователь сейчас не может Restart), production full Codex Story/denied-write/credential lifecycle, F1/F2/F5 и оставшиеся maintained-plan hardening gates. F4 и iPad repeat приняты; F3 source implementation/tests в работе, не installed acceptance. Canonical private checkpoint `/private/tmp/virfield-release-current-state.json`. Automation PAUSED по прежнему «Затем стоп»; работа продолжается по прямому поручению, новое расписание не создавалось.
## Предыдущие checkpoints (история)
Актуально на 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 открыт.
**Решение пользователя: стандартный 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 и не принимают ещё не написанную новую.
**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`):
| Broker run | Virfield lease | Prepare job |
|---|---|---|
| `run-dc75eb681c4904bd8eb8b63724bd2167` | `lease-1c9ad2e1aceabd1b85fa09c0ce447957` | `job-bc177eacf7567da60e1d61ff985b45ac` |
| `run-11679cafb6343eb9a3441f76102da1b8` | `lease-953db09f6cba9cf1691111677c18a3d5` | `job-1ae47c9da445d21a062b616e493be634` |
| `run-ae9fbbc53d72768b3b7badfa520b857e` | `lease-7dd853011bb35e29697c7c5f892adb9f` | `job-145b89390a13bd71cf1355ea3d55d986` |
Последний 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 также без ответа.