[2026-10-18] eagle: personal/plans/balda-remote-agent.md personal/plans/workspace-gateway.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-18 20:11:49 +06:00
1 parent 49f5edf6ac
commit ce51110bd0
2 files changed
+23 -4

No files matched your search

+19
View File
@@ -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.
+4 -4
View File
@@ -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 — связанные, но отдельные пункты общей установки.