From 9aea42a57b31d203af86645b27b5868a2a9ac4f0 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sun, 18 Oct 2026 21:07:28 +0600 Subject: [PATCH] [2026-10-18] eagle: personal/plans/balda-remote-agent.md personal/plans/workspace-gateway.md --- personal/plans/balda-remote-agent.md | 6 ++++++ personal/plans/workspace-gateway.md | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/personal/plans/balda-remote-agent.md b/personal/plans/balda-remote-agent.md index 0b41226b..f453a689 100644 --- a/personal/plans/balda-remote-agent.md +++ b/personal/plans/balda-remote-agent.md @@ -9,6 +9,12 @@ ## Актуальный статус 2026-10-18 +Исправления после production feedback закоммичены: Workspace Manager `1076b4f`, SSH Manager `f876d37`. Старые `execution-broker`/`execution-prism` MCP и broker-инструкция удалены из активного конфига; broker plugin отключён без удаления его файлов/ревизий. Оригинальные `prism` и `prism-callee` включены. + +Codex работает с `workspace-write` и дополнительным writable root только для grants получателя. После точного согласия владельца активированы отдельные Docker seccomp/AppArmor profiles для bubblewrap; privileged/SYS_ADMIN не включались. Root grants остаётся operator-owned; пустые защищённые metadata targets позволяют собрать sandbox без права создавать произвольные grants. + +Реальная модель внутри рабочей Balda успешно вызвала `workspace_folders`, `ssh_hosts`, `ssh_identity`, `ssh_config`, `ssh_registrations`, записала файл в `/workspace/work` и в настоящую динамически подключённую RW fixture. Запись вне workspace отвергнута (EROFS), **permission requests: 0**. Подготовка identity/config перенесена в запуск SSH Manager, поэтому их MCP lookup действительно read-only. Подтверждения выдачи/продления доступа и SSH authorize/revoke сохранены. Тестовые маркеры убраны, synthetic grant отозван/отмонтирован. Приёмка: `01a14f89-d937-78a0-b93d-71d70ef48179`, `candidate/model-policy-acceptance.json`, `candidate/review-fixes.json`. Повторяемый тест: `tests/balda_policy_acceptance.py`. Оба Go-проекта: race/vet/build — pass; HTTP health/login — 200. State/home/work тома и backup сохранены. + Workspace Manager (`e99f043`) и SSH Manager (`d9c19ee`) реализованы, проверены и работают как user launchd services на loopback. Владелец явно подтвердил два новых SSH-ключа: настоящий вход из Balda к Mac через обязательный Seatbelt принят; relay shell отвергается. Native SMB backend отзывает открытые FD и истекает независимо от Manager. Все 14 оригинальных Prism Role runtimes прошли `callee doctor` через SSH в совпадающем workspace. Native Beads 1.3.1/Dolt 2.5.0 прошли общие параллельные записи/чтение и гонку claim; из SSH+Seatbelt тот же bd работает через точный Unix socket без wildcard loopback. **Production переключение завершено с явного разрешения владельца на перезапуск.** Balda и Web UI перезапущены 2026-10-18 в 20:13:46 Asia/Bishkek (14:13:46 UTC); активен штатный `ask`, сохранён прежний pool. Из настоящего рабочего контейнера прошли authenticated MCP initialize/list/read вызовы обоих Manager (4 и 6 tools) и SSH-команда через обязательный Seatbelt. `/backoffice/healthz` и `/backoffice/login` — HTTP 200; Mattermost websocket подключился. Сохранены все 49 sessions, 1926 events, 2 users и 87 execution jobs, прежние state/home/work тома. До переключения сделан consistent SQLite backup и копии compose/config в `~/.local/share/balda-workspace/backups/20261018T141324Z`; отчёт `candidate/activation.json`. Коммит приёмки `51a63af`, SSH Manager `d9c19ee`. diff --git a/personal/plans/workspace-gateway.md b/personal/plans/workspace-gateway.md index 737423ff..b3d81fbf 100644 --- a/personal/plans/workspace-gateway.md +++ b/personal/plans/workspace-gateway.md @@ -2,7 +2,8 @@ Обновлено: **2026-10-18**. Проект: `/Users/admin/Developer/workspace-gateway`. -Git: `main`, реализация `00b7e13`; актуальные deployment scripts и приёмка `51a63af` (2026-10-18). Четыре MCP-функции реализованы; принят native SMB3 backend с фактическим отзывом открытых FD на Linux и Mac, независимым истечением срока и динамическим подключением без рестарта получателя. Сервис установлен как user launchd job на `127.0.0.1:17795`; аутентифицированные вызовы из доверенного образа Balda прошли. Production Balda переключена с явного разрешения владельца и перезапущена 2026-10-18 в 20:13:46 Asia/Bishkek: native ask активен, оба Manager проверены из рабочего контейнера, SSH/Seatbelt прошёл, HTTP health/login — 200. State/home/work, прежний pool и все записи БД сохранены; backup сделан до переключения. Полная модельная приёмка ещё ожидает отдельных решений по существующим CLI credentials и OpenCode localhost binding. +Git: `main`, реализация `00b7e13`; актуальные deployment scripts и приёмка `1076b4f` (2026-10-18). Четыре MCP-функции реализованы; принят native SMB3 backend с фактическим отзывом открытых FD на Linux и Mac, независимым истечением срока и динамическим подключением без рестарта получателя. Сервис установлен как user launchd job на `127.0.0.1:17795`; аутентифицированные вызовы из доверенного образа Balda прошли. Production Balda переключена с явного разрешения владельца и перезапущена 2026-10-18 в 20:13:46 Asia/Bishkek: native ask активен, оба Manager проверены из рабочего контейнера, SSH/Seatbelt прошёл, HTTP health/login — 200. State/home/work, прежний pool и все записи БД сохранены; backup сделан до переключения. Полная модельная приёмка ещё ожидает отдельных решений по существующим CLI credentials и OpenCode localhost binding. +Исправления production: Codex `workspace-write` принят реальной моделью в обычном workspace и динамическом RW grant, запись вне разрешённых roots запрещена. Пять безопасных Manager-запросов прошли без approval; изменения прав по-прежнему требуют владельца. Старый broker отключён, оригинальные Prism сохранены. Принятые Docker-профили включены только с точного согласия владельца; privileged/SYS_ADMIN не добавлены. Журнал и повторяемый модельный тест включены в `1076b4f`; SSH Manager — `f876d37`. Общий setup Balda: [[personal/plans/balda-remote-agent]]. ## Назначение и четыре функции