[2026-10-15] eagle: personal/projects/balda/execution-broker.md personal/projects/balda/setup.md personal/projects/virfield.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-15 11:10:41 +06:00
1 parent 9e81b05080
commit 8b11d93227
3 files changed
+10 -10

No files matched your search

+7 -7
View File
@@ -6,8 +6,8 @@
| Компонент | Текущее состояние |
| --- | --- |
| Репозиторий | `/Users/admin/Developer/execution-broker`, `codex/production-readiness`; код работающего комплекта — `fee5409` |
| Broker | `execution-broker:fee5409`, версия `0.1.0-rc.32` |
| Репозиторий | `/Users/admin/Developer/execution-broker`, `codex/production-readiness`; основной комплект `fee5409`, Broker hotfix `8c9c872` |
| Broker | `execution-broker:8c9c872`, версия `0.1.0-rc.32+telegram.8c9c872`, immutable SHA256 pin в Compose |
| Gateway | `execution-broker-gateway:fee5409`, версия `0.1.0-rc.32` |
| Prism | `execution-prism-adapter:fee5409`, версия `0.1.0-rc.32` |
| Smoke worker | `execution-broker-worker:fee5409`; один SHA256 image pin в Broker и gateway |
@@ -17,7 +17,7 @@
| Managed plugin | rc32 у обоих, Enabled=true, Drifted=false; прежние plugin data, revisions и marketplace сохранены |
| Release archives | `0.1.0-rc.32`, source `fee5409`; четыре платформенных архива и plugin в `dist/`, SHA256 проверены |
Docker socket и daemon group отсутствуют у coding workers. Административный доступ к Docker остаётся у gateway. Основные модели, авторизации и история обоих Balda сохранены; сессии не сбрасывались.
Docker socket и daemon group отсутствуют у coding workers. Административный доступ к Docker остаётся у gateway. Основные модели, home volumes и история обоих Balda сохранены; сессии не сбрасывались. Текущая проверка Codex auth: у @balda сервер возвращает `401 token_revoked`, refresh отклонён как `refresh_token_invalidated`; требуется повторный вход владельца. У Eagle models endpoint отвечает HTTP 200.
## Инструменты и артефакты
@@ -35,9 +35,9 @@ Artifact inputs реализованы и развёрнуты через `execu
Generic webhook в текущем Balda запускает изолированное задание. Продолжение исходной сессии использует `balda.state` и `balda.session.wait`; попытка и наблюдатель сохраняются до Start/retry. Потерянный admission восстанавливается через `execution_lookup`, отмена закрывает и поздний идентичный запрос. Прежние callback routes Broker приостановлены; недоставленные cursors сохранены.
Telegram approval bot получает вопрос только для явно выбранных сессий; иначе вопрос принадлежит исходной беседе. Ответ владельца передаётся через bound `execution_respond`; модель не подменяет его. `execution_retry` сохраняет точный task, Story, revision, executor и действительное одобрение; новый scope требует нового решения. Для environment checkpoint используется `execution_reconfigure`; обычный retry таких runs запрещён.
Telegram approval bot получает вопрос только для явно выбранных сессий; иначе вопрос принадлежит исходной беседе. Сообщение сначала отправляется без кнопок, message ID сохраняется в state, затем публикуются controls. Рестарт завершает прерванную публикацию или renewal без повторного callback. Устаревшая копия очищается при callback до сохранения update cursor. Ответ владельца передаётся через bound `execution_respond`; модель не подменяет его. `execution_retry` сохраняет точный task, Story, revision, executor и действительное одобрение; новый scope требует нового решения. Для environment checkpoint используется `execution_reconfigure`; обычный retry таких runs запрещён.
Managed lifecycle и native wait restart проверены на актуальном upstream. Реальный conversational run с моделью и доставкой в исходную беседу остаётся отдельным незавершённым gate. Существующие сессии принимают новый capability snapshot через обычный `/reset`; обновление само их не сбрасывает.
Managed lifecycle и native wait restart проверены на актуальном upstream. Реальный conversational run с моделью и доставкой в исходную беседу остаётся незавершённым gate; сейчас он блокируется отозванной авторизацией Codex у @balda. Существующие сессии принимают новый capability snapshot через обычный `/reset`; обновление само их не сбрасывает.
## Проверки
@@ -55,7 +55,7 @@ Managed lifecycle и native wait restart проверены на актуаль
| Область | Что остаётся |
| --- | --- |
| Balda boundary | Реальный conversational run и outage/restart с видимым результатом в исходной беседе |
| Balda boundary | Восстановить Codex auth у @balda, затем подтвердить conversational run и outage/restart с видимым результатом в исходной беседе |
| Платформы | Native AMD64 acceptance; штатная Linux AMD64 эмуляция остаётся непринятой, отдельный QEMU не заменяет native gate |
| Recovery | Потеря хоста/Keychain не проверена; подтверждён только drained backup/restore на том же хосте |
@@ -75,6 +75,6 @@ docker-compose -f state/deploy/compose.production.json -p execution-broker up -d
Backup перед текущим обновлением: `state/backups/20261015-before-rc32`. Проверены SHA256, 31 SQLite database и inert restore шести компонентов, включая encrypted credential vault. Все три credential identity были освобождены и checkpointed. Restore не запускал сервисы; master keys Keychain в backup отсутствуют. Это подтверждение восстановления на том же хосте.
Отдельные state/home backups обоих Balda: `state/balda-upstream-rollout-20261015/`. Рабочие account/config hashes после обновления совпали с исходными. Приватные отчёты проверок Broker: `state/broker-rc32-rollout-20261015/`; они не входят в release archives.
Отдельные state/home backups обоих Balda: `state/balda-upstream-rollout-20261015/`. Рабочие account/config hashes после обновления совпали с исходными. Приватные отчёты проверок основного комплекта: `state/broker-rc32-rollout-20261015/`. Broker hotfix: `state/telegram-recovery-20261015/`, включая консистентный `broker.before.db` с успешными integrity/foreign-key checks и сохранённый Compose для отката. Hotfix прошёл полный `make check`, Linux ARM64 race для Broker/Telegram/store/HTTP API и govulncheck без достижимых уязвимостей. Release archives rc32 остаются неизменными и содержат исходный `fee5409`; hotfix развёрнут отдельным Broker image. Приватные отчёты не входят в release archives.
Контракты и процедуры: `docs/protocol.md`, `docs/tooling.md`, `docs/environment-changes.md`, `docs/repository-cache.md`, `docs/operations.md`, `docs/telegram-approvals.md`, `docs/recovery.md`, `docs/testing.md`.
+2 -2
View File
@@ -23,7 +23,7 @@ Config bind-mounted в `/workspace/.config/balda` read-only для контей
## Eagle и общие инструменты
Eagle работает на том же Mac в `balda-mm-eagle`; Compose, config, state и work находятся в `/Users/admin/Docker/balda-mm-eagle/`, service — `eagle`, отдельный home volume — `balda_eagle-home`. Образы обоих инстансов одинаковы. Авторизации Codex раздельные; при обновлении они сохранены.
Eagle работает на том же Mac в `balda-mm-eagle`; Compose, config, state и work находятся в `/Users/admin/Docker/balda-mm-eagle/`, service — `eagle`, отдельный home volume — `balda_eagle-home`. Образы обоих инстансов одинаковы. Авторизации Codex раздельные; при обновлении home volumes сохранены. Текущая серверная проверка: у @balda `401 token_revoked`, refresh возвращает `refresh_token_invalidated`; нужен повторный вход владельца. У Eagle models endpoint отвечает HTTP 200. Не копировать auth между разными аккаунтами.
У обоих включены одинаковые Obsidian, Execution Broker и Prism MCP, одинаковые права runtime и managed plugin `execution-broker` rc.32. Проверены реальные initialize/tools-list: Obsidian — 15, Broker — 26, Prism — 5 инструментов; списки совпадают. Eagle дополнительно имеет `asana-readonly`, URL `http://asana-readonly:3100/mcp` в приватной Docker-сети. Отдельный контейнер `balda-eagle-asana-readonly` не публикует порт на хост. Реальное чтение Asana прошло; все пять операций изменения и запись заметок в файл отклоняются сервером.
@@ -59,7 +59,7 @@ Management не сбрасывает существующие сессии. Но
## Codex ACP
Reasoning effort в активном конфиге — `medium`. Авторизация CLI хранится в home volume. Для отдельного headless-входа используется команда из каталога Compose:
Reasoning effort в активном конфиге — `medium`. Авторизация CLI хранится в home volume. Для восстановления существующего @balda: `docker exec -it balda-mm-mac codex login --device-auth`, завершить вход в исходный аккаунт и проверить реальный запрос к провайдеру. `codex login status` подтверждает только наличие локальной авторизации и сам по себе не доказывает действительность токена на сервере. При необходимости перезапустить Balda для перечитывания auth; `/reset` не требуется. Для отдельного headless-входа используется команда из каталога Compose:
```bash
docker-compose run --rm --entrypoint codex balda login --device-auth
+1 -1
View File
@@ -12,7 +12,7 @@ tags:
---
# Virfield — текущее состояние
Актуально на 2026-10-15 04:43 UTC. Checkout `/Users/admin/Developer/virfield`, ветка `codex/retire-lume-release-hardening`; source/installed `2f23ae609a4f650130f5c84835f89931d6e70592`, branch pushed, `main` не обновлён. Все прежние чужие leases released, семь исходных goldens сохранены. Tart native matrix8/8 и controller-state live restore с ещё2Monterey native/reboot cycles PASS. Исправлены Retina scale (1920x1080px), native browser split-state trust, reproduced HTPC inventory race, factory Data-volume capacity check и bounded20min node preparation budget (caller TTL и строгая readiness неизменны). Exact full local CI10Python+Go race, Staticcheck, clean package/install и HTTP/fresh stdio exact-version/all-four-runbooks/resources PASS. Factory-r2 уже built/qualified,2worker clones/workloads/release PASS; fresh portable public-base rebuild/sanitization прошли, GHCR upload в разрешённый private namespace выполняется (~20%), digest/visibility/pull-back ещё не приняты. HTPC native readiness пока не прошла под внешней Steam I/O нагрузкой на том же HDD; нужен повтор новым20min budget после разгрузки. Owning MCP требует ручной reconnect; GUI browser launch ждёт unlock Mac, existing HTPC golden permissions — отдельного согласия. Async questions без ответа, chmod не делался. Controller binary rollback ещё не выполнен. Кандидат пока не release accepted. CI только локально, GitHub CI отложен. Датированные checkpoints ниже сохраняют provenance. Worktree `virfield-v3`/ветка `codex/virfield-v3-stage1` не являются maintained checkout.
Актуально на 2026-10-15 05:11 UTC. Checkout `/Users/admin/Developer/virfield`, ветка `codex/retire-lume-release-hardening`; source/installed `2724f94ed52696e5482ad8431a19d1a62a427e0b`, branch pushed, `main` не обновлён. Все прежние чужие leases released, семь исходных goldens сохранены. Tart native matrix 8/8, controller-state live restore с ещё двумя Monterey native/reboot cycles и signed controller-binary rollback/forward PASS. Factory/private GHCR roundtrip полностью PASS на installed `2f23ae6`: fresh factory, portable public-base rebuild/sanitization, push/private visibility/digest, pull/qualification, четыре clone/workload/release и cleanup с сохранением семи baseline образов. Private tag `release-check-0644cb90dac8`, digest `sha256:a5d42b4e6e48641fba1af7171158de39252e4439d3087c1b019f392223054e73`. Последний кандидат дополнительно закрывает временное раскрытие node qcow2 при Podman conversion: shell/OCI umask 0077, chmod 0400 до publish, scoped staging cleanup; старые файлы не менялись. Archive SHA256 `7cff304d53dd3a59a1aed59fe25907d88495043a66bbb7c3f64ad07813bbe6d4`; exact local make check и HTTP/fresh stdio version/runbooks/resources PASS. Steam закончил обновления, HDD pressure низкий; HTPC native matrix новым 20min prepare budget выполняется, пока не принята. Owning MCP требует ручного reconnect; GUI browser launch ждёт unlock Mac, existing HTPC golden permissions — отдельного согласия. Async questions без ответа, chmod не делался. Кандидат пока не release accepted. CI только локально, GitHub CI отложен. Датированные checkpoints ниже сохраняют provenance. Worktree `virfield-v3`/ветка `codex/virfield-v3-stage1` не являются maintained checkout.
## Runtime и deployment