[2026-09-30] eagle: personal/plans/balda-callee-prism-plan.md
This commit is contained in:
1 parent
66218c3fcf
commit
ad461bca9c
1 file changed
+20
-2
@@ -1,7 +1,7 @@
|
||||
# Balda + Prism/Beads + Execution Broker + Callee + Codex
|
||||
|
||||
> Обновлено: 2026-09-30
|
||||
> Статус: Virfield v2.0.0 опубликован. Этот план описывает целевую интеграцию Balda → Broker → VM → Runner/Callee; сквозная приёмка ещё не подтверждена.
|
||||
> Статус: Virfield v2.0.0 опубликован. Этот план описывает целевую интеграцию Balda → Broker → VM → Runner/Callee; локальная цепочка Balda-container MCP → Broker → Virfield → Callee/Codex прошла полный workflow; Mattermost, remote hosts и публичный релиз ещё не приняты.
|
||||
> Текущий проект и runbook: [[personal/projects/virfield]].
|
||||
|
||||
## 1. Цель
|
||||
@@ -311,6 +311,24 @@ Callee поддерживает `Parallel`, но это fan-out Role visits вн
|
||||
|
||||
Хостовый Virfield API разрешает только операции жизненного цикла VM. Balda и Broker не получают `docker.sock`, пользовательский `~/.ssh` или произвольный shell на Mac.
|
||||
|
||||
### Credential management — обязательный scope (2026-09-30)
|
||||
|
||||
OAuth-вход выполняется один раз при enrollment или при необходимости повторной авторизации у провайдера. Перезапуск или пересоздание VM сам по себе не должен требовать нового входа.
|
||||
|
||||
Владелец provider credentials — отдельный host credential issuer Execution Broker. Virfield управляет VM/SSH leases, но не хранит OAuth пользователя. Balda, Prism/Beads и Callee-события получают только состояние; токены в их сообщения не передаются.
|
||||
|
||||
Обязательные свойства:
|
||||
|
||||
- долговременное зашифрованное хранилище вне VM и Git; на macOS master key находится в Keychain; права 0700/0600, atomic write и fsync;
|
||||
- выдача в конкретный run, repository и agent profile после durable admission; приватный файл в HOME гостя, не в checkout, environment, argv или golden/bootstrap;
|
||||
- одна OAuth identity арендуется одним run одновременно, чтобы VM не конкурировали за refresh token; ownership переживает restart Broker/issuer;
|
||||
- перед release VM обновлённый cache сохраняется обратно через приватный канал только после остановки ролей; блокировка снимается после подтверждённого удаления VM;
|
||||
- local revoke, provider-side revoke как отдельная операция, безопасное восстановление после утраты VM, отсутствие токенов в публичных API/артефактах; TTL Broker не считается upstream revocation.
|
||||
|
||||
Приёмка: новый clone выполняет реальные Codex роли без браузерного login; Broker/issuer переживают restart; checkpoint сохраняется до cleanup; следующий clone использует сохранённую сессию. Отдельно тестируются конфликт владельца, повреждение vault, отказ refresh, revoke и невозможность восстановить отозванный токен поздним checkpoint. Потерянный checkpoint блокирует повторную выдачу до явного восстановления, а не молча использует старый token.
|
||||
|
||||
Реализация и границы текущей версии: `/Users/admin/Developer/execution-broker/docs/credentials.md`. Поддержка автоматического issuer сначала включена для macOS VM; Docker/remotes требуют отдельной приёмки того же жизненного цикла. OAuth может требовать нового входа после provider revoke/refresh rejection; это не штатный шаг каждого запуска VM.
|
||||
|
||||
### Workspace и артефакты
|
||||
|
||||
Текущий recipe Virfield создаёт VM без shared host folders. Код, mutable workspace и Xcode build живут на локальном диске VM; перенос исходников/результатов — через scoped SSH и Git либо `rsync/scp`. Артефакты выгружаются до release lease и получают уникальный путь `run_id/...`.
|
||||
@@ -343,7 +361,7 @@ Callee поддерживает `Parallel`, но это fan-out Role visits вн
|
||||
|
||||
### Требует проверки до production
|
||||
|
||||
- установка и авторизация Codex внутри golden VM;
|
||||
- credential-free установка Codex; отдельное долговременное credential management с выдачей в каждую disposable VM (авторизация в golden image запрещена);
|
||||
- доступность Dolt/Beads из Prism adapter после рестартов;
|
||||
- формат и размер Xcode артефактов;
|
||||
- восстановление Broker после падения во время `waiting_human`;
|
||||
|
||||
Reference in new issue
Block a user