diff --git a/personal/projects/balda/execution-broker.md b/personal/projects/balda/execution-broker.md index f7ed4af4..79d4ad99 100644 --- a/personal/projects/balda/execution-broker.md +++ b/personal/projects/balda/execution-broker.md @@ -29,7 +29,7 @@ Docker socket и daemon group удалены из всех coding worker profile ## Проверки - macOS ARM64 и Linux ARM64: полный race/vet; Callee adapter и security checks. -- Реальный Docker/Callee: Human → restart → resume → пять проверенных артефактов → cleanup. +- В обновлённом production-комплекте service run `run-edb2779a58d36fa10be2ebc6346b20bb`: Human → restart Broker/Prism → resume → пять артефактов с проверенными SHA256 → `succeeded`, `cleanup=done`; Task и Story закрыты через Prism. - Реальный Beads/Dolt: Story projection и replay. - Managed plugin lifecycle и native one-shot wait: исходная сессия, restart, новая generation без потери следующего wait. - Source/binary govulncheck: reachable vulnerabilities — 0; история gitleaks чистая. diff --git a/personal/projects/balda/setup.md b/personal/projects/balda/setup.md index f82e3945..a1cf5930 100755 --- a/personal/projects/balda/setup.md +++ b/personal/projects/balda/setup.md @@ -25,7 +25,7 @@ Config bind-mounted в `/workspace/.config/balda` read-only для контей Eagle работает на том же Mac в `balda-mm-eagle`; Compose, config, state и work находятся в `/Users/admin/Docker/balda-mm-eagle/`, service — `eagle`, отдельный home volume — `balda_eagle-home`. Образы обоих инстансов одинаковы. Авторизации Codex раздельные; при обновлении они сохранены. -У обоих включены одинаковые Obsidian, Execution Broker и Prism MCP, одинаковые права runtime и managed plugin `execution-broker` rc.26. Проверены реальные initialize/tools-list: Obsidian — 15, Broker — 21, Prism — 5 инструментов; списки совпадают. Eagle дополнительно имеет `asana-readonly`, URL `http://asana-readonly:3100/mcp` в приватной Docker-сети. Отдельный контейнер `balda-eagle-asana-readonly` не публикует порт на хост. Реальное чтение Asana прошло; все пять операций изменения и запись заметок в файл отклоняются сервером. +У обоих включены одинаковые Obsidian, Execution Broker и Prism MCP, одинаковые права runtime и managed plugin `execution-broker` rc.26. Проверены реальные initialize/tools-list: Obsidian — 15, Broker — 24, Prism — 5 инструментов; списки совпадают. Eagle дополнительно имеет `asana-readonly`, URL `http://asana-readonly:3100/mcp` в приватной Docker-сети. Отдельный контейнер `balda-eagle-asana-readonly` не публикует порт на хост. Реальное чтение Asana прошло; все пять операций изменения и запись заметок в файл отклоняются сервером. В обоих конфигурациях provider `codex_acp`, reasoning `medium`, явный model отсутствует. Последние записи Codex подтверждают `gpt-6.1-sol` у обоих. При выравнивании инструментов настройки основной модели не менялись. `balda.nats.max_store` у обоих — `16gb`. diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index 42084f18..39ae2c5a 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -12,7 +12,7 @@ tags: --- # Virfield — текущее состояние -Актуально на 2026-10-14. Поддерживаемый checkout: `/Users/admin/Developer/virfield`. Ветка `codex/retire-lume-release-hardening` опубликована по разрешению пользователя, current source `624bdfa7a88738809729e6889c679eaf0241eb78`; `main` ещё не обновлён. Установлен `aee89c1`: node resource/cache quotas и source-prefetch. Новый source также содержит HTPC `vms.storage_dir`, строгий Tart clone routing, отказ от неполных inventory snapshots при отмене проверки, native GUI/SSH keychain readiness, постоянный 1920×1080 Tart desktop, SSH banner budget 45 s и macOS 27 ASIF Recovery keep. Установка последнего кандидата ждёт освобождения чужой lease по решению пользователя. GitHub CI пока отложен пользователем; проверки выполняются локально. Старый worktree `virfield-v3` и ветка `codex/virfield-v3-stage1` не являются инструкцией для продолжения работы. +Актуально на 2026-10-14. Поддерживаемый checkout: `/Users/admin/Developer/virfield`. Ветка `codex/retire-lume-release-hardening` опубликована по разрешению пользователя, current source `9a740c0f2a5cf64ccd9fc00cff705ff5abc90d08`; `main` ещё не обновлён. Установлен `aee89c1`: node resource/cache quotas и source-prefetch. Новый source также содержит HTPC `vms.storage_dir`, строгий Tart clone routing, отказ от неполных inventory snapshots при отмене проверки, native GUI/SSH keychain readiness, постоянный 1920×1080 Tart desktop, SSH banner budget 45 s и macOS 27 ASIF Recovery keep. Установка последнего кандидата ждёт освобождения чужой lease по решению пользователя. GitHub CI пока отложен пользователем; проверки выполняются локально. Старый worktree `virfield-v3` и ветка `codex/virfield-v3-stage1` не являются инструкцией для продолжения работы. ## Runtime и deployment @@ -113,8 +113,21 @@ Private evidence: `/private/tmp/virfield-keychain-macos27-standalone-20261014`, 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 не менялись этой проверкой. -### Новый clean candidate: keychain/UI readiness (2026-10-14 16:49 UTC) +### Исторический 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 `/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. +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 ещё не выполнены.