From 7f2c879a51abed145fe785898e2915ed9eb4a2b3 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 16 Oct 2026 15:53:21 +0600 Subject: [PATCH] [2026-10-16] eagle: personal/plans/balda-callee-prism-plan.md personal/projects/balda/execution-broker.md --- personal/plans/balda-callee-prism-plan.md | 2 +- personal/projects/balda/execution-broker.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/personal/plans/balda-callee-prism-plan.md b/personal/plans/balda-callee-prism-plan.md index 7a1952e4..f49387f8 100755 --- a/personal/plans/balda-callee-prism-plan.md +++ b/personal/plans/balda-callee-prism-plan.md @@ -27,7 +27,7 @@ Balda ведёт исходную беседу и durable waits; Broker упра | Область | Условие завершения | | --- | --- | | Recovery после потери хоста | Отдельная гарантия: независимый recovery public key или secret store, off-host escrow и восстановление реальных аккаунтов; рабочие ключи пока не экспортированы. Обычный restart/reuse принят; исправления Virfield/Docker от выбора escrow не зависят | -| Provider failure lifecycle | Реальные expiry/upstream revocation и повторная авторизация на отдельных тестовых identity; рабочую Claude-сессию отзывать запрещено | +| Provider failure lifecycle | Реальные expiry/upstream revocation и повторная авторизация. 2026-10-16 владелец явно разрешил использовать боевые аккаунты Codex, Claude и DeepSeek; отдельных тестовых аккаунтов нет. Прежнее ограничение на рабочую Claude-сессию отменено этим указанием. Проверять по одному провайдеру с подтверждённой возможностью повторного входа; локальный revoke не подменяет upstream revocation | Задачи и их статусы ведутся в локальном Beads/Prism, корневая Story `eb-71b7971ac3fdd03b8ff6b198`. Этот документ задаёт границы приёмки, а не второй backlog. Контракты и команды — в `docs/work-plan.md`, `docs/support.md`, `docs/recovery.md`, `docs/executors.md` репозитория Broker. diff --git a/personal/projects/balda/execution-broker.md b/personal/projects/balda/execution-broker.md index 7bd9a456..2526ba39 100755 --- a/personal/projects/balda/execution-broker.md +++ b/personal/projects/balda/execution-broker.md @@ -60,7 +60,7 @@ Managed lifecycle и native wait restart проверены на развёрн | --- | --- | | Recovery | Выбран порядок: unattended восстановление рабочих ключей из защищённой копии, затем OAuth при неудаче восстановления/refresh. Это отдельная гарантия восстановления после потери хоста/Keychain; обычный restart и повторное использование авторизаций уже проверены. Production escrow ещё не настроен: нужен независимый recovery public key или secret store. Отсутствие escrow не блокирует исправления Virfield/Docker. Подготовлен helper для GPG escrow исходных master keys и безопасного восстановления key-files/Keychain; шесть тестов с синтетическими ключами прошли, включая восстановление encrypted vault, отказ при порче/чужом recipient и запрет замены существующего ключа. Рабочие master keys не экспортировались; production host-loss recovery не принят | | Docker providers | Linux OpenCode/DeepSeek прошёл две полные Story на свежих workers: реальные роли, повторное выполнение quality assertions, SHA256 всех артефактов, restart Broker/issuer, credential checkpoint/reuse, `cleanup=done`, без нового OAuth. Linux Claude также прошёл две полные Story на свежих workers, включая restart Broker/issuer: шесть ролей, независимый повтор unit tests, SHA256 семи артефактов каждого запуска, checkpoint и cleanup подтверждены; новый OAuth не понадобился. Linux Claude прошёл также component-проверку: фактический permission-handler обеих read-only ролей отклонил инъецированные ACP-запросы записи; marker не создан. Expiry/upstream revocation остаются открыты. Linux Codex прошёл две полные Story на свежих workers с `nested-v1`: все шесть ролей, quality, независимые unit tests (4/4 и 3/3), SHA256 артефактов, restart Broker/gateway/issuer, checkpoint/reuse и cleanup. Штатный Codex fallback сохраняет Docker proc masks; отдельные AppArmor/seccomp профили сохраняют non-root, cap-drop, read-only root и no-new-privileges. Реальная попытка записи в read-only workspace отклонена. Исправление `f9ca7c3`, gateway развёрнут с точным worker pin; итоговая Story через production Broker/Prism также прошла все шесть ролей, quality, независимые unit tests (3/3), SHA256 артефактов и cleanup=done. Default Docker policy не поддерживает нужные namespaces. Expiry/upstream revocation остаются отдельными gates. Проверка запрета записи OpenCode прошла на Linux и свежей macOS VM: обе read-only сессии получили прямые ACP-запросы записи, Callee отклонил их, marker отсутствовал; native plan policy не менялась. Это protocol fault injection, а не попытка tool call, выбранная моделью | -| Provider lifecycle | Для macOS Claude не закрыта реальная expiry/upstream revocation; для macOS OpenCode/DeepSeek — upstream revocation; component-проверка фактического ACP-запрета записи обеими read-only ролями прошла на свежей VM с неизменённой native policy. Claude умеет сохранить явный отказ native cache как reauthentication-required и запросить OAuth при следующем admission; это не доказательство реальной provider-приёмки | +| Provider lifecycle | Для macOS Claude не закрыта реальная expiry/upstream revocation; для macOS OpenCode/DeepSeek — upstream revocation; component-проверка фактического ACP-запрета записи обеими read-only ролями прошла на свежей VM с неизменённой native policy. Claude умеет сохранить явный отказ native cache как reauthentication-required и запросить OAuth при следующем admission; это не доказательство реальной provider-приёмки. 2026-10-16 владелец разрешил использовать боевые аккаунты Codex, Claude и DeepSeek вместо отсутствующих тестовых; прежний запрет на отзыв рабочей Claude-сессии отменён. Нужен подтверждённый способ повторного входа перед отзывом | Источник требований — `docs/work-plan.md`. iPad, прикладные UI/PR workflows и права Obsidian принадлежат вызывающему проекту или Balda.