[2026-10-15] eagle: personal/projects/balda/execution-broker.md personal/projects/personal-os/personal-os-status-2026-10.md personal/projects/virfield.md personal/tech/agents-bridge.md work/projects/cpm-telemetry-data-requirements-2026-10-15.md work/projects/macos-cloud-autofix-plan-2026-10-15.md
This commit is contained in:
1 parent
c2d051e8e5
commit
f1828051d0
6 files changed
+26
-5
No files matched your search
@@ -79,6 +79,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 отсутствуют. Это подтверждение восстановления production snapshot на том же хосте. Отдельная native-проверка перенесла синтетический encrypted vault с macOS ARM64 на физический Linux AMD64: отсутствие и подмена ключа отклоняются без перезаписи ciphertext, отдельный escrow key восстанавливает запись, revoke работает, fresh enrollment в новый vault с новым ключом проходит. Production credentials и Keychain keys в этом тесте не использовались. Он не заменяет escrow или повторную авторизацию реальных аккаунтов после потери хоста.
|
||||
|
||||
Актуальные согласованные state/config backups обоих Balda, exact image/binary hashes и доказательства restart/native/off-host fixture проверок: `state/balda-upstream-hooks-20261015/`. Более ранние state/home backups обоих Balda: `state/balda-upstream-rollout-20261015/`. Рабочие account/config hashes после обновления совпали с исходными. Приватные отчёты проверок основного комплекта: `state/broker-rc32-rollout-20261015/`. Broker hotfix: `state/telegram-timeout-20261015/`, включая консистентный `broker.before.db` с успешными integrity/foreign-key checks и сохранённый Compose для отката. Hotfix прошёл полный `make check`, Linux ARM64 race для Broker/config/HTTP API и govulncheck без достижимых уязвимостей. Release archives rc32 остаются неизменными и содержат исходный `fee5409`; hotfix развёрнут отдельным Broker image. Native Darwin AMD64 proof: `state/balda-pr62-review-20261015/native-darwin-amd64.json`. Проверочный скрипт поддерживает штатный Python 3.8; публичные rc32 archives не перезаписывались. Приватные отчёты не входят в release archives.
|
||||
Актуальные согласованные state/home/config backups обоих Balda и exact image/binary hashes после обновления на чистый upstream `b5f7d5b4`: `state/balda-upstream-merged-20261015/`, итог — `final-verification.json`. Предыдущие backup и restart/native/off-host fixture receipts: `state/balda-upstream-hooks-20261015/`; более ранние state/home backups: `state/balda-upstream-rollout-20261015/`. Рабочие account/config hashes после обновления совпали с исходными. Приватные отчёты проверок основного комплекта: `state/broker-rc32-rollout-20261015/`. Broker hotfix: `state/telegram-timeout-20261015/`, включая консистентный `broker.before.db` с успешными integrity/foreign-key checks и сохранённый Compose для отката. Hotfix прошёл полный `make check`, Linux ARM64 race для Broker/config/HTTP API и govulncheck без достижимых уязвимостей. Release archives rc32 остаются неизменными и содержат исходный `fee5409`; hotfix развёрнут отдельным Broker image. Native Darwin AMD64 proof: `state/balda-pr62-review-20261015/native-darwin-amd64.json`. Проверочный скрипт поддерживает штатный Python 3.8; публичные rc32 archives не перезаписывались. Приватные отчёты не входят в 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`.
|
||||
@@ -58,8 +58,8 @@ confidence: 1
|
||||
- **Чат-транспорт:** Mattermost (сервер на Kraken: `mattermost` + `mm-postgres`). Zulip выводится
|
||||
из эксплуатации ([[personal/plans/zulip-decommission]]). Discord не используется с 2026-05-11.
|
||||
- **Hermes:** профиль `hermes-whale` (Кит) на Mac, Mattermost/Telegram. Профиль Eagle существует, кроны на паузе.
|
||||
- **Balda / Execution Broker** (сверено 2026-10-15): два инстанса Balda на Mac, Mattermost и Codex ACP; Broker rc.32 с отдельным approval hotfix. Развёртывание, реальная беседа с outage/restart, generic tooling, caches и artifact inputs проверены. Принятые provider-конфигурации и остающиеся границы Docker Codex, protected recovery и provider failure lifecycle перечислены в [[personal/projects/balda/execution-broker]]; общей release-ready приёмки ещё нет. Конфигурация: [[personal/projects/balda/setup]].
|
||||
- **Virfield** (сверено 2026-10-14): Tart + SSH nodes, новая hardening-версия исправляет Lume migration и lifecycle defects; текущий кандидат ещё не live принят ([[personal/projects/virfield]]).
|
||||
- **Balda / Execution Broker** (сверено 2026-10-15): два инстанса Balda на чистом upstream `b5f7d5b4`, Mattermost и Codex ACP; Broker rc.32 с approval hotfix. Развёртывание, реальная беседа с outage/restart, generic tooling, caches, artifact inputs и Docker Codex Story/restart/denied-write приняты в проверенном контуре. Открыты повторная Broker/macOS27 приёмка на новом Virfield, protected host-loss recovery и provider failure lifecycle; границы — в [[personal/projects/balda/execution-broker]]. Общей release-ready приёмки ещё нет. Конфигурация: [[personal/projects/balda/setup]].
|
||||
- **Virfield** (сверено 2026-10-15): installed `f60efe3`, host service в Standard; source/pushed docs `0ef5ba2`. Три прежних Broker/macOS27 отказа `guest_keychain_failed`, последний на `614daf5`, подтверждены с cleanup. Новый installed ещё не проходил Broker/macOS27 повторную приёмку; полная release acceptance открыта. Единые текущие версии, частичные native receipts и оставшиеся gates — в [[personal/projects/virfield]].
|
||||
- **Obsidian vault** `~/obsidian/` — жив, синхронизация через git/NAS + Syncthing; MCP — `mcpvault`.
|
||||
|
||||
## Что осталось до пилота
|
||||
|
||||
@@ -12,7 +12,7 @@ tags:
|
||||
---
|
||||
# Virfield — текущее состояние
|
||||
|
||||
Актуально на 2026-10-15: installed code `f60efe3310cd3806c18481b5d22089c421849f8b`, version `0.0.0-browser-transport-trace`, daemon PID65903 после подтверждённой миграции службы в Standard. Source/pushed HEAD `c878c15` — только Verification с актуальными Standard/GUI receipts после установки; guest/browser/SSH код не менялся. Docs/link/diffcheck и pinned Gitleaks231commits PASS; push выполнен с skip ci. Ветка `codex/retire-lume-release-hardening`, clean. Установка выполнена в полностью idle pool с приватным backup, прежними signing/FDA identity, config/keys и всеми семью baseline images/manifests. Archive SHA256 `941da8a267107103918ddc553290419f104148f5bebb7503917b130328265c00`. Exact archive stdio18tools/all4runbooks/resources/status PASS; installed HTTP/freshstdio exact version/all4runbooks/resources/status/anonymous401 PASS1.22sec. Пользователь подтвердил Restart Virfield MCP, но последующий реальный owning-client help всё ещё вернул `Transport closed`; этот gate открыт.
|
||||
Актуально на 2026-10-15: installed code `f60efe3310cd3806c18481b5d22089c421849f8b`, version `0.0.0-browser-transport-trace`, daemon PID65903 после подтверждённой миграции службы в Standard. Source/pushed docs HEAD `0ef5ba2` — актуальные Verification, Operations, Agent Guide и Image Pipeline с границей Broker/macOS27 повторной приёмки; guest/browser/SSH код не менялся. Для `0ef5ba2` docs/link/diffcheck и `go test -race ./internal/mcpadapter ./docs` PASS; pinned Gitleaks231commits — предыдущий receipt для `c878c15`. Ветка `codex/retire-lume-release-hardening`, clean. Установка выполнена в полностью idle pool с приватным backup, прежними signing/FDA identity, config/keys и всеми семью baseline images/manifests. Archive SHA256 `941da8a267107103918ddc553290419f104148f5bebb7503917b130328265c00`. Exact archive stdio18tools/all4runbooks/resources/status PASS; installed HTTP/freshstdio exact version/all4runbooks/resources/status/anonymous401 PASS1.22sec. Пользователь подтвердил Restart Virfield MCP, но последующий реальный owning-client help всё ещё вернул `Transport closed`; этот gate открыт.
|
||||
|
||||
**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 не закрывают.
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
> [!WARNING] Историческая схема Balda
|
||||
> Мост Mac ↔ Kraken снят с эксплуатации 2026-09-29. Команды, контейнеры и статусы ниже относятся к тому периоду.
|
||||
> Текущий запуск: [[personal/projects/balda/setup|Balda — актуальная конфигурация]]. Исполнение и границы приёмки: [[personal/projects/balda/execution-broker|Execution Broker]].
|
||||
|
||||
# agents-bridge — мост Mac ↔ Kraken (FastAPI :8790)
|
||||
|
||||
> Создан 2026-09-26. Компонент Фазы 4 [[personal/plans/balda-mm-phase4-agents]] (шаг 2 ✅).
|
||||
|
||||
@@ -74,6 +74,7 @@ tags:
|
||||
| **новое:** `bg_died_reason`, `base_url_changed` | смерть процесса, очистка при смене baseURL | PR0 |
|
||||
| **новое:** мелкие корзины `app_launch_age` для первых 30 с | гонка на запуске | PR0 |
|
||||
| **новое на stuck:** `stuck_after` | сколько от первого сбоя до stuck | PR0 |
|
||||
| **новое, срочно:** `network_replaced_since_view` (PID Network-процесса при последнем создании view ≠ текущему) | `network_restarted` сравнивает PID с загрузкой *контекста*, не с последним view: порядок восстановить нельзя, поэтому доля реальных «мёртвых worker'ов» в когорте B неизвестна. Рекордер уже вычисляет это (`CPMMessagingDiagnosticsRecorder.swift:285-289`), но только логирует. Предложено 8 октября как «самое дешёвое и самое ценное», **ни в одной ветке не реализовано** | PR0 |
|
||||
| `init_stage` | дошёл ли init до background | #7385 (срочно) |
|
||||
| `cpm_background_ready_{context_load,wake}` | базлайн здоровых загрузок и пробуждений | #7384 |
|
||||
| `background_restart` (причина, исход), `first_load_wait` | эффект фиксов B и A | удержанная ветка |
|
||||
@@ -106,3 +107,19 @@ multiIf(
|
||||
'7_other')
|
||||
-- параметры: network_restarted, context_errors, bg_view_creations, tab_has_ext_scripts, bg_events (decodeURLComponent)
|
||||
```
|
||||
|
||||
## Картины из данных, которые НЕ воспроизведены (сверка с тестами)
|
||||
|
||||
Воспроизведено локально (worktree `alex/cpm-web-extension-remaining-failures` и harness): падение Network-процесса и смерть worker'а (красные на `main`, 5/5 итераций), мид-сессионная первая загрузка (A), error 6 через заморозку нового процесса background на ≥30 с при пробуждении (macOS, корзина 25–35 с), задержка инъекции из-за очистки при смене `baseURL` (macOS, большой кэш, около 10 минут заполнения), медленный старт worker'а на 5 с и 12 с (инъекция занятости).
|
||||
|
||||
Не воспроизведено или воспроизведено только частично:
|
||||
|
||||
| Картина | Статус | Пробел |
|
||||
|---|---|---|
|
||||
| Когорта «Network заменён» | механизм воспроизведён (краш, worker мёртв при том же view) | по данным нельзя сказать, какая доля строк это он: `network_restarted` сравнивается с загрузкой контекста. Заметка 8 октября: механизм объясняет 20–45% «здоровых» stuck |
|
||||
| iOS error 6, главная последовательность `proxy_on>dealloc>view>proxy_on>error_E:6` без `unresponsive`, циклы `error>dealloc>view>proxy_on>error`, `died_crash → error 6` | на macOS воспроизведено заморозкой (цепочка там содержит `unresponsive`); на iPhone 26.7.1 в четырёх сценариях нет; убийство background во время загрузки в harness error 6 не даёт | реальный триггер на iOS неизвестен |
|
||||
| Пробуждение (P1) | только с искусственной занятостью worker'а; органическое пробуждение в тестах проходит | причина реальной медлительности неизвестна |
|
||||
| P5: фон выгружен в момент сбоя (хвост на `dealloc`) | не воспроизведено | неясно, как WebKit выгружает новый view повторно до прихода сообщения |
|
||||
| iOS «нет view» на запуске (восстановление сессии, `load` без view) | не воспроизведено: холодный старт в harness отвечает за миллисекунды; задержка очистки есть только при большом кэше на macOS | гонка запуска на iOS не проверена |
|
||||
| macOS: вкладка без расширения (неверный controller, нет scripts) | не воспроизведено, сценария нет | фиксы привязку вкладки не трогают |
|
||||
| «Здоровый» остаток без смены Network (iOS 12.5%, macOS 22%, и часть пробуждений со старым view) | нет гипотезы | `init_stage`, `bg_view_age` |
|
||||
@@ -54,7 +54,7 @@ Legend: ✅ confirmed by a source, ⚠️ not verified / needs a spike.
|
||||
|
||||
**Personal OS / Executor** (3 attempts, 2026-04…10):
|
||||
- Executor v1 (autonomous LLM orchestrator) → **incident** (wrote to Asana, task data leaked to Discord). Executor v2 (bash runner/analyzer + 5 worker prompts: queued / in_progress / fix_ci / fix_comments / pr_review; state machine `queued→in_progress→pr→complete/abandoned`; no-output watchdog 30 min, hard limit 3 h; lockfile; analyzer filters) was implemented, but the crons are paused.
|
||||
- Cross-cutting lessons: (1) **the deterministic layer worked, the agentic one did not**; (2) an agent must not write to external systems or have an outbound channel carrying work data, and human-in-the-loop is a mandatory gate; (4) weak hardware cannot carry an agent stack; (7) the model provider is config, not architecture; Codex bwrap does not start in Docker; do not proxy subscription OAuth tokens.
|
||||
- Cross-cutting lessons: (1) **the deterministic layer worked, the agentic one did not**; (2) an agent must not write to external systems or have an outbound channel carrying work data, and human-in-the-loop is a mandatory gate; (4) weak hardware cannot carry an agent stack; (7) the model provider is config, not architecture; Codex bwrap failed under the default Docker isolation; the personal Broker later accepted Story/restart/denied-write on its opt-in `nested-v1` host/profile with enforced AppArmor and seccomp (2026-10-15; [[personal/projects/balda/execution-broker]]). That scoped result does not qualify another host or this proposed company flow. Do not proxy subscription OAuth tokens.
|
||||
|
||||
**Test fixes of 2026-10-14** ([[work/projects/macos-tests-worktrees-2026-10-14]]) — a ready quality reference and eval set:
|
||||
- AddressBarTests: root cause = `ensureObjectDeallocated(.interrupt)` sends SIGINT while an object is still alive; two causes (autorelease in `TestRunHelper`, strong `self` in an animation completion). Validation: **main 10/10 FAIL → fix 15/15 PASS**, 7/7 isolated, full Integration ×2.
|
||||
|
||||
Reference in new issue
Block a user