From 10ee63e379884efde5228cb7148042d5ed22c812 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sun, 18 Oct 2026 18:25:19 +0600 Subject: [PATCH] [2026-10-18] eagle: personal/plans/balda-remote-agent.md --- personal/plans/balda-remote-agent.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/personal/plans/balda-remote-agent.md b/personal/plans/balda-remote-agent.md index 6b35eb09..cf9b2b4e 100644 --- a/personal/plans/balda-remote-agent.md +++ b/personal/plans/balda-remote-agent.md @@ -70,3 +70,16 @@ SSH/Seatbelt/ACP и настройка Beads не расширяют четыр Старые `execution-broker`, `execution-prism` и plugin остаются в действующей Balda; очистка новой ветки не удаляла их из deployment. Историческая приёмка прежнего брокера: [[personal/plans/balda-callee-prism-plan]]. + + +## Выполнение 2026-10-18 — промежуточный журнал + +- Создан отдельный Git-проект `/Users/admin/Developer/ssh-manager`, исходники и README записаны. Учёт настроенных оператором хостов/пользователей/проверенных public host keys, отдельная Ed25519-идентичность, `ssh_config`/`known_hosts`, ProxyJump, подтверждение регистрации/удаления управляемой строки authorized_keys через штатный MCP elicitation. Private key не возвращается инструментами; bootstrap credentials остаются у оператора. +- Relay-ключ ограничен штатными OpenSSH options, `/usr/bin/false` запрещает shell, `permitopen` ограничивает переход заданными адресами. Execution до принятой файловой изоляции отвергается. Это каркас подготовки доступа; **production Mac/VM ещё не авторизованы и удалённые реальные агенты не приняты**. +- Существующие пользовательские SSH-ключи и authorized_keys не менялись. Отдельный sshd на loopback-порту с fixture-файлом подтвердил вход по закреплённому ключу, отказ при подмене host key и отказ нового входа после удаления fixture-ключа. Полный ProxyJump и production SSH/ACP остаются открытыми. +- SSH Manager: `go test -race ./...`, `go vet ./...`, сборка — успешно. Настоящий stdio MCP отдал 6 инструментов; отказ через elicitation остановил регистрацию. Локальная HTTP-авторизация и Host allowlist приняты; Colima получила 401 без токена. HTTP-порт подготовки `17796`; 7796 занят прежним Broker. +- Готовый `@anthropic-ai/sandbox-runtime@0.0.80` установлен только в тестовый каталог. Проверка на Mac прошла: разрешённая папка читается/пишется, соседняя закрыта, открытие SSH private key блокируется без чтения его содержимого, ограничения наследуются дочерним shell, SSH-обход блокируется. **Это тестовый профиль, не приёмка Codex/Claude/OpenCode с реальными авторизациями и сетью.** +- Подготовлена отдельная копия конфига Balda: `permissions.mode: ask`, MCP Workspace/SSH Manager, отдельный профиль `workspace-setup` на штатном Codex, существующий pool не изменён. `balda --profile workspace-setup validate` в новом одноразовом контейнере завершился exit 0; provider runtime/модели/каналы не запускались. Это проверка конфигурации, не preflight или сквозной Prism. +- Копия конфига, приватный env новых manager-токенов, оригинальный backup и отчёты находятся в `/Users/admin/Docker/balda-mm-mac/state/workspace-setup-20261018`. Внешние сообщения не отправлялись. Рабочая Balda не переключалась; перезапуск остаётся отдельным подтверждаемым действием после реальной приёмки. +- При автоматической проверке был отклонён тест с передачей manager-токенов в отдельный Python Docker-образ. Его заменили безопасной проверкой: токены остаются в локальных Mac-процессах; контейнер проверяет только достижимость/401 без авторизации. Аутентифицированный вызов из Balda ещё открыт. +- Ближайшая зависимость: полный fixture-тест штатного NFS (`sudo /opt/homebrew/bin/python3 /private/tmp/workspace-setup-20261018/nfs-admin.py test`). Файловый backend, реальный отзыв открытых дескрипторов, согласованные mounts, общий Beads/Dolt и полный Prism/удалённые агенты не заявляются выполненными.