From ce51110bd09645b0ebf8493eef2cd5c9d50d8e4c Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sun, 18 Oct 2026 20:11:49 +0600 Subject: [PATCH] [2026-10-18] eagle: personal/plans/balda-remote-agent.md personal/plans/workspace-gateway.md --- personal/plans/balda-remote-agent.md | 19 +++++++++++++++++++ personal/plans/workspace-gateway.md | 8 ++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/personal/plans/balda-remote-agent.md b/personal/plans/balda-remote-agent.md index 357e5a67..63bd09ac 100644 --- a/personal/plans/balda-remote-agent.md +++ b/personal/plans/balda-remote-agent.md @@ -7,6 +7,14 @@ Проверка: [[personal/projects/balda/ssh-acp-verification-2026-10-18]]. Рабочая установка: [[personal/projects/balda/setup]]. +## Актуальный статус 2026-10-18 + +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 переключение ещё не завершены.** Ожидаются два решения владельца в native input: использование уже настроенных CLI credentials на Mac и выбор для OpenCode v2 (отключить либо разрешить необходимый ему широкий localhost binding). Эти действия отклонила автоматическая проверка без отдельного согласия. Manager-токены remote Mac агентам не передаются: управление grants остаётся у Balda, исполнителю выдаются filesystem и native Beads. Production container ID/start time и config/compose совпадают с baseline. Реальные project Beads databases не мигрировались. + +Подробная приёмка: `/Users/admin/Developer/workspace-gateway/docs/acceptance-2026-10-18.md`; закрытый кандидат: `~/.local/share/balda-workspace/candidate`. Исторический план и промежуточные неуспешные проверки ниже сохранены как журнал. + ## Принятая граница Максимально использовать штатный стек Balda: провайдеры ACP, сессии, управление задачами, MCP, skills и подтверждения. @@ -99,3 +107,14 @@ SSH/Seatbelt/ACP и настройка Beads не расширяют четыр - Подготовлены закрытые candidate config/compose: `~/.local/share/balda-workspace/candidate`; `docker-compose ... config --quiet` прошёл. В нём `ask`, два Manager MCP, одинаковые абсолютные workspace пути и native generic_acp профили Mac Codex/Claude/OpenCode через `ssh -T`. Рабочая Balda пока не перезапущена. - Реальные Codex и Claude ACP на Mac под SRT уже проходят initialize и session/new через этот SSH. Это ещё не подтверждение вызова модели: CLI authorizations запрошены у владельца отдельным native input после отказа автоматической проверки доступа к credentials. OpenCode v2 падает при готовности standalone server; его узкий IPC runtime диагностируется без открытия общего loopback. - Оригинальный Callee с правильным `--agent-root /home/node/.config/callee` успешно отдал весь native Prism graph. Полный модельный Prism lifecycle и общее состояние Beads/Dolt пока не заявляются принятыми. + + +### Итог текущей выполненной части + +- Workspace HEAD `e99f043`, SSH HEAD `d9c19ee`; оба Git working tree чистые. Исходники, tests, scripts и точная приёмка закоммичены. Полная модельная работа не помечена выполненной. +- User jobs `local.balda.workspace-manager`, `local.balda.ssh-manager`, `local.balda.beads-dolt` реально running. Manager listeners только 127.0.0.1:17795/17796, native Dolt только 127.0.0.1:13307 плюс точный Unix socket в agent-home. +- Original Beads/Dolt: Mac и trusted Balda одновременно создали разные задачи в одной fixture DB, оба прочли оба ID; при одновременном claim exit codes 1/0 — ровно один победитель. Metadata — один и тот же оригинальный файл через SMB. Native bd внутри реального SSH+Seatbelt прочитал ту же БД через Unix socket и explicit native credentials file. Свои fixture credentials не дают доступа к реальным проектам; их БД не переинициализировались. +- Broad localhost binding по-прежнему выключен. OpenCode требует отдельного решения владельца. Уже работающие Codex/Claude ACP initialize/session-new не считаются модельной приёмкой; Claude на prompt вернул Authentication required при закрытых существующих CLI credentials. +- Передача Manager bearer tokens Mac была отклонена автоматической проверкой и исключена из схемы. Manager MCP подключены управляющей Balda; remote executors получают approved filesystem и native Beads. Для необходимых Balda HTTP callbacks штатный SRT proxy работает с очищенным NO_PROXY; unauthenticated Mac→Manager probe получил ожидаемый HTTP 401 без раскрытия токенов. +- Собственный synthetic ACP grant после проверок отозван и снят. Привилегированных постоянных mount helpers нет. Исходный Docker Dolt volume сохранён как резерв fixture; рабочий server теперь native Mac, чтобы Beads использовал Unix socket внутри sandbox. +- Кандидат включает original Prism assets с неизменёнными workflow bodies; изменены только native provider settings, убран отвергавшийся runtime pin gpt-5.4, включён ask. Полный runtime doctor всех 14 ролей exit 0. Production restart остаётся финальным отдельным подтверждением после model acceptance. diff --git a/personal/plans/workspace-gateway.md b/personal/plans/workspace-gateway.md index 24d36e47..bca7ed39 100644 --- a/personal/plans/workspace-gateway.md +++ b/personal/plans/workspace-gateway.md @@ -2,7 +2,7 @@ Обновлено: **2026-10-18**. Проект: `/Users/admin/Developer/workspace-gateway`. -Git: `main`, реализация закоммичена: `00b7e13` (2026-10-18). Четыре MCP-функции реализованы; принят native SMB3 backend с фактическим отзывом открытых FD на Linux и Mac, независимым истечением срока и динамическим подключением без рестарта получателя. Сервис установлен как user launchd job на `127.0.0.1:17795`; аутентифицированные вызовы из доверенного образа Balda прошли. Переключение production Balda и полная прикладная приёмка ещё не завершены. +Git: `main`, реализация `00b7e13`; актуальные deployment scripts и приёмка `e99f043` (2026-10-18). Четыре MCP-функции реализованы; принят native SMB3 backend с фактическим отзывом открытых FD на Linux и Mac, независимым истечением срока и динамическим подключением без рестарта получателя. Сервис установлен как user launchd job на `127.0.0.1:17795`; аутентифицированные вызовы из доверенного образа Balda прошли. Переключение production Balda и полная прикладная приёмка ещё не завершены. Общий setup Balda: [[personal/plans/balda-remote-agent]]. ## Назначение и четыре функции @@ -55,15 +55,15 @@ Prism, Callee, Beads, управление задачами и сессиями 4. Я реализую отключение и временный лизинг, сохранение состояния разрешений и обработку истечения срока после перезапуска сервиса; неполученное подтверждение оставляет доступ закрытым. 5. Я проведу приёмку с двумя клиентами: общие файлы, RO/RW, запрет соседних путей и обхода через ссылки, отказ владельца, отзыв, истечение, продление и повторный запуск сервиса. -NFS/SMB или другой backend ещё не выбран: поддержка протокола сама по себе не подтверждает нужные свойства прав и отзыва. +Выбран и принят SMB3 backend: native Samba, mount.cifs Colima и mount_smbfs macOS. Приняты оригинальные файлы, RO/RW, динамические grants, отзыв открытых FD, независимый expiry и реальный отзыв после перезапуска Manager. Подробности — в актуальном журнале ниже. До выбора backend сохраняется ровно этот объём; общая копия всех репозиториев и ослабление изоляции не являются заменой выдаче доступа. ## Что уже проверено и что остаётся - [x] Создан отдельный Git-проект с зафиксированной границей четырёх функций. - [x] Проверена независимая возможность штатного ACP Balda поверх SSH: [[personal/projects/balda/ssh-acp-verification-2026-10-18]]. -- [ ] Выбрана и испытана сетевая файловая система. -- [ ] Реализованы четыре функции, подтверждения и фактическое ограничение доступа. +- [x] Выбрана и испытана сетевая файловая система: native SMB3, Linux и Mac. +- [x] Реализованы четыре функции, native подтверждения, реальный отзыв открытых FD и независимый срок доступа. - [ ] Настроено общее состояние Beads и принята работа реальных агентов через полученный workspace. Доступ к исходникам и доступ к состоянию Beads — связанные, но отдельные пункты общей установки.