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

This commit is contained in:
Alexey Martemyanov committed 2026-10-18 18:25:19 +06:00
1 parent 63105d5dd5
commit 10ee63e379
1 file changed
+13
+13
View File
@@ -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/удалённые агенты не заявляются выполненными.