[2026-10-15] eagle: family/how-to/vault-git-sync.md personal/how-to/ipad-ios935-build-deploy.md personal/how-to/ipad-vault-sync.md personal/projects/virfield.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-15 09:39:35 +06:00
1 parent 386ce6e9ee
commit 81b902adc7
4 files changed
+18 -7

No files matched your search

+1 -1
View File
@@ -347,4 +347,4 @@ payload = {
## iPad iOS9.3.5 — подключён 2026-10-15
Прямой SSH Git клиент того же TrueNAS bare main, Git2.8.1 от Saurik, отдельный restricted Ed25519 key (только этот repo), persisted TrueNAS user settings. Vault в Documents Edhita/ObsidianVault; task работает от mobile каждые300с и при load. Проверены actual iPad→NAS push и NAS→iPad automatic pull на двух последовательных ticks, Native fixture tests: offline сохранение/retry, conflict остановка без push. Script/last-success/last-result/error logs находятся вне Git vault; core.fileMode=false, auto gc отключён. При конфликте client сохраняет local commit и останавливается до разрешения. Скрипты прочих клиентов не менялись. Полные пути, source/evidence и обслуживание: [[personal/how-to/ipad-vault-sync]].
Прямой SSH Git клиент того же TrueNAS bare main, Git2.8.1 от Saurik, отдельный restricted Ed25519 key (только этот repo), persisted TrueNAS user settings. Vault в Documents Edhita/ObsidianVault; task работает от mobile каждые300с и при load. Проверены actual iPad→NAS push и NAS→iPad automatic pull на двух последовательных ticks. Native fixture tests повторены 2026-10-15: offline сохранение/retry, commit/push конфликтных маркеров с обеими версиями, получение другим clone, продолжение синка и возобновление прерванного merge. Script/last-success/last-result/error logs находятся вне Git vault; core.fileMode=false, auto gc отключён. При конфликте, как на Mac, client коммитит маркеры с пометкой `merge conflict — review needed` и пушит; ручное разрешение не блокирует последующие ticks. Скрипты прочих клиентов не менялись. Полные пути, source/evidence и обслуживание: [[personal/how-to/ipad-vault-sync]].
+1 -1
View File
@@ -219,4 +219,4 @@ Fake-sign verification проверил **49 Mach-O**: все armv7, minimum7.0
## Обновление: vault sync настроен 2026-10-15
После отдельного поручения пользователя настроен native Git2.8.1→TrueNAS bare SSH→launchd300s клиент от mobile, vault в Documents Edhita/ObsidianVault. Dedicated Ed25519 key ограничен exact vault Git operations и persisted в TrueNAS user settings. Actual push iPad→NAS и automatic pull NAS→iPad подтверждены; два последовательных scheduled ticks прошли exit0, позднейший третий также ok. Isolated native tests подтвердили offline сохранение/retry, conflict остановку без push, stale empty lock recovery. Folder виден в Edhita. Это заменяет прежний build-only checkpoint о ненастроенном синке; собственного GitJournal remote эта настройка не касается. Полная актуальная инструкция: [[personal/how-to/ipad-vault-sync]].
После отдельного поручения пользователя настроен native Git2.8.1→TrueNAS bare SSH→launchd300s клиент от mobile, vault в Documents Edhita/ObsidianVault. Dedicated Ed25519 key ограничен exact vault Git operations и persisted в TrueNAS user settings. Actual push iPad→NAS и automatic pull NAS→iPad подтверждены; два последовательных scheduled ticks прошли exit0, позднейший третий также ok. Isolated native tests подтвердили offline сохранение/retry и stale empty lock recovery. Обработка конфликтов приведена к Mac-скрипту 2026-10-15: маркеры с обеими версиями коммитятся с `review needed` и пушатся; следующий синк и возобновление прерванного merge проверены на iPad. Folder виден в Edhita. Это заменяет прежний build-only checkpoint о ненастроенном синке; собственного GitJournal remote эта настройка не касается. Полная актуальная инструкция: [[personal/how-to/ipad-vault-sync]].
+4 -2
View File
@@ -37,7 +37,7 @@ Vault в Documents принадлежит редактору. При удале
2. Local edits коммитятся до обращения к серверу.
3. Fetch main → обычный merge → push без force.
4. При unavailable remote локальные commits сохраняются, процесс возвращает75 и повторяет попытку на следующем tick.
5. При конфликте sync останавливается с кодом4; локальная версия сохранена в Git, conflicting merge не пушится. После ручного разрешения/commit следующий tick продолжит синк.
5. При конфликте поведение такое же, как в Mac `~/scripts/sync-vault-lib.sh`: `git add -A`, commit `iPad: merge conflict — review needed`, затем обычный push. Маркеры конфликта с обеими версиями попадают в заметку; последующие ticks продолжают синк без ожидания ручного разрешения. Уже прерванный merge с unmerged files также коммитится и пушится на следующем запуске.
6. Успех отмечается только после совпадения local HEAD и remote main и отсутствия новых working-tree edits. core.fileMode=false; автоматический gc на маленьком flash отключён.
Внешние изменения открытой заметки могут потребовать Reload/переоткрытия в Edhita. Скрипт не изменяет поведение редактора.
@@ -60,7 +60,9 @@ launchctl list local.ipad.obsidian-vault-sync
launchctl start local.ipad.obsidian-vault-sync
```
Изолированные тесты на настоящем Git2.8/Bash4 iPad прошли: push локальной заметки, pull peer-заметки, сохранение offline edits/retry, остановка на конфликте без изменения remote. Лог на Mac `test-results.log`; fixtures retained `/var/mobile/Library/VaultSync/test-20261014T192932Z-3600`. Первый production manual sync завершился успешно, local/NAS main совпали `9bc1a2847ef2fce0172ecf1f9f6ae87db7c68920`. Production roundtrip и автоматический scheduler проверены; результаты ниже.
Изолированные тесты на настоящем Git2.8/Bash4 iPad повторно прошли 2026-10-15: push локальной заметки, pull peer-заметки, сохранение offline edits/retry, commit/push маркеров с обеими версиями и получение другим clone, продолжение следующего синка, возобновление уже прерванного конфликтного merge. Лог на Mac `test-results-mac-conflicts.log`; fixtures retained `/var/mobile/Library/VaultSync/test-20261015T033520Z-12175`. Прежняя остановка на конфликте заменена поведением Mac-скрипта. Первый production manual sync завершился успешно, local/NAS main совпали `9bc1a2847ef2fce0172ecf1f9f6ae87db7c68920`. Production roundtrip и автоматический scheduler проверены; результаты ниже.
Исправленный script установлен атомарно после тестов; предыдущая версия сохранена на iPad как `sync-vault.sh.before-mac-conflicts-20261015`. Байты установленного файла сверены с host source: SHA256 `6db11b994888e3a523614fe30c56a5066ccceba51b3b1d6c44f3c0c437e0618f`. Запуск через существующий launchd завершился 2026-10-15T03:35:49Z, LastExitStatus0 / last-result ok, working tree чистый, local/NAS main `386ce6e9ee6651072279b6dc9a6eb01baebcfe64`. Evidence на Mac: `mac-conflicts-deploy-verification.log`. Расписание осталось каждые300с.
См. [[personal/how-to/ipad-ios935-build-deploy]].
+12 -3
View File
@@ -1,8 +1,8 @@
---
title: Virfield
namespace: personal
updated: '2026-10-14'
status: release-hardening-waiting-lease
updated: '2026-10-15'
status: release-hardening-live-acceptance
tags:
- virfield
- macos
@@ -12,7 +12,7 @@ tags:
---
# Virfield — текущее состояние
Актуально на 2026-10-15 Asia/Bishkek (2026-10-14 UTC). Поддерживаемый checkout: `/Users/admin/Developer/virfield`, ветка `codex/retire-lume-release-hardening`; `main` ещё не обновлён. После освобождения обеих чужих VM установлен сначала `9a740c0`, затем diagnostic candidate `24512c7fb6fef19b6a3d8af73ccbf35706895803` с backup, прежней signing/FDA identity и сохранением всех семи goldens. Полный локальный CI/Staticcheck diagnostic source прошёл. HTTP/fresh stdio MCP exact-version/all-four-runbooks/resources/status проверены для installed `9a740c0`; ранее подключённый owning client всё ещё отдаёт старый Lume runbook. Live native Monterey acceptance обнаружила сбой display до keychain: фактические 3840×2160, режима 1920×1080 нет. Причина подтверждена кодом Tart: default/`pt` использует Retina-масштаб хоста. Current source/installed candidate `4a53b67ce04fd1adc164750b47e780c4bdde9ea6` задаёт `1920x1080px` во всех factory recipes и клонах. Полный локальный CI/Staticcheck/Gitleaks и clean package прошли, source pushed; два новых клона свежего iPad Monterey прошли native GUI/SSH keychain I/O, actual 1920×1080, настоящий reboot и полный release/tunnel revocation. Оставшиеся configured Tart/HTPC native matrix и private GHCR roundtrip ещё выполняются; весь кандидат пока не release accepted. GitHub CI отложен пользователем; проверки только локально. Старый worktree `virfield-v3` и ветка `codex/virfield-v3-stage1` не являются инструкцией для продолжения работы.
Актуально на 2026-10-15 03:39 UTC. Checkout `/Users/admin/Developer/virfield`, ветка `codex/retire-lume-release-hardening`; current source/installed `2f46faadcce3bf9080b093e1bdab6bf26327a82f`, source pushed, `main` не обновлён. Все прежние чужие leases released, семь goldens сохранены. Installed `4a53b67` прошёл восемь свежих Tart clones (по два iPad Monterey, Samsung Monterey, Ventura, macOS27): native GUI/SSH keychain I/O, actual1920×1080, реальные reboot/new bootUUID, isolation/workload/artifacts/desktop/release/tunnel revocation. Исправлены host Retina scale (`1920x1080px`), native browser для отдельного private state_dir (`8e07015`) и воспроизведённая HTPC inventory race (`2f46faa`). Exact-source full local make check (10 Python tests + Go race), Staticcheck, clean package/install и exact-version HTTP/fresh stdio MCP PASS. Current HTPC concurrent native acceptance выполняется повторно после node race fix; factory/private GHCR и live restore/rollback ещё не приняты. Owning MCP client всё ещё старый; GUI browser launch заблокирован locked Mac, эти gates не пройдены. Existing HTPC golden permission change требует отдельного ответа пользователя; chmod не делался. Кандидат пока не release accepted. GitHub CI отложен пользователем, проверки только локально. Старые датированные checkpoints ниже сохраняют provenance и не являются текущими указаниями. Worktree `virfield-v3`/ветка `codex/virfield-v3-stage1` не являются maintained checkout.
## Runtime и deployment
@@ -206,3 +206,12 @@ Replacement `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea` ready, actual macOS12.7.6/X
Дополнительно найден 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 каталога пока без ответа.