From c334c658275d4d71530fbd122e50dd91ffe6f722 Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Fri, 25 Sep 2026 11:16:06 -0300 Subject: [PATCH] docs: clarify workspace over authenticated CLIs --- README.md | 5 ++-- ROADMAP.md | 15 +++++++++-- docs/EXECUTION.md | 23 +++++++++++++--- docs/decisions/0018-unified-workspace.md | 34 ++++++++++++++++++++++-- docs/specs/workspace.md | 7 +++++ 5 files changed, 74 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6d3fcad..f886184 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,9 @@ cargo run --locked -- workspace --demo --project . --once --no-color ``` Contrato e teclas em [workspace](docs/specs/workspace.md). A direção aprovada usa -assinaturas existentes e lançamento real conjunto de Claude e Codex; integração -real e isolamento continuam pendentes ([ADR 0018](docs/decisions/0018-unified-workspace.md)). +os logins dos CLIs oficiais como processos locais, com lançamento real conjunto +de Claude e Codex; integração real e isolamento continuam pendentes +([ADR 0018](docs/decisions/0018-unified-workspace.md)). O dashboard anterior permanece disponível. ## Desenvolvimento diff --git a/ROADMAP.md b/ROADMAP.md index 0e265e5..1b578da 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -35,11 +35,22 @@ por trás, assinaturas existentes e lançamento conjunto. Isso amplia as etapas 1. Protótipo funcional com os dois agentes simulados, menus, streaming, permissões, erro, persistência e exportação: implementado como `workspace --demo`. 2. Prova real por agente/assinatura, incluindo dois perfis isolados: pendente; - integração Claude com assinatura ainda não confirmada para este produto. + hospedar o binário Claude Code original com login do usuário é um caminho + documentado, mas o controle da conversa pela nossa TUI ainda não foi provado. 3. Experiência integrada aos dois harnesses, histórico e exportação: pendente. 4. Troca real entre agentes/contas com revisão e preservação da origem: pendente. 5. Lançamento conjunto após todos os aceites, sem substituir o requisito por - API paga separada ou terminal nativo incorporado: pendente. + API paga separada: pendente. + +A Memory Bee deve iniciar os CLIs oficiais como processos locais e atuar como +interface e memória sobre eles. O usuário autentica cada CLI pelo fluxo próprio +do fornecedor; a Memory Bee não coleta, copia ou gerencia tokens. Para Codex, o +App Server oferece eventos estruturados. Para Claude, testar primeiro o binário +original hospedado em PTY; avaliar quanto da interface própria pode ser dirigido +pelas interfaces documentadas da CLI sem presumir que `-p`/Agent SDK autoriza o +uso da assinatura em um produto de terceiros. A prova deve preservar permissões +reais, interrupção, retomada e exportação. Se a interface estruturada Claude não +atender a esse contrato, registrar a lacuna antes do lançamento conjunto. Aceite real: conversa, edição, execução, permitir/negar, interrupção e retomada com cada harness; isolamento de dois perfis; exportar após falha/limite; recuperar diff --git a/docs/EXECUTION.md b/docs/EXECUTION.md index 92d8373..a1fc6db 100644 --- a/docs/EXECUTION.md +++ b/docs/EXECUTION.md @@ -40,10 +40,11 @@ animações próprias. 2026-09-25 substitui a prioridade anterior da cena animada: interface permanente Memory Bee, assinaturas existentes e lançamento real somente com Claude e Codex. Primeiro recorte `workspace --demo` implementado; não declarar programação real. -Próximo: confirmar a integração Claude elegível e fazer prova controlada de ambos -os harnesses (conversa, edição, execução, permissões, interrupção, retomada e dois -perfis isolados). Protocolo Codex experimental existe, sem conexão à TUI nem -validação real. Não copiar credenciais globais, não substituir assinatura por API +Próximo: provar a hospedagem do CLI Claude original autenticado pelo próprio +usuário e fazer prova controlada de ambos os processos (conversa, edição, +execução, permissões, interrupção, retomada e dois perfis isolados). Protocolo +Codex experimental existe, sem conexão à TUI nem +validação real. Não copiar credenciais, não substituir assinatura por API paga e não lançar só um provedor. Ver ADR 0018 e contrato `specs/workspace.md`. Cena, exportação de código pela TUI e worktree na interface continuam pendentes. @@ -622,3 +623,17 @@ escopo da entrega atual nem a próxima tarefa aprovada. essa implementação. O artifact externo é temporário; o HTML versionado mantém a referência local. - Publicação e verificações remotas vinculadas ao [PR #20](https://github.com/lippdev/memory-bee/pull/20). + +## Esclarecimento — TUI sobre os CLIs oficiais + +- O mantenedor esclareceu que o login ocorre no Claude Code e no Codex originais. + A Memory Bee será uma interface e camada de memória sobre processos locais, + sem capturar ou gerir credenciais. ADR 0018 e roadmap atualizados. +- Documentação oficial consultada: Anthropic permite login do usuário no binário + Claude Code intacto mesmo hospedado por outro produto; Codex App Server tem + interface para cliente próprio e conta gerenciada pelo Codex. Isso não valida + ainda a TUI real nem libera uso de `-p`/Agent SDK com assinatura como premissa. +- Status: revisão documental concluída; prova dos dois processos pendente. + Autorrevisão; nenhuma revisão independente ou chamada a modelo nesta revisão. +- Próximo: ensaio controlado com os CLIs oficiais em ambiente explícito, cobrindo + conversa, eventos, permissões e interrupção antes de integrar à tela. diff --git a/docs/decisions/0018-unified-workspace.md b/docs/decisions/0018-unified-workspace.md index 5189e4b..f13c0f8 100644 --- a/docs/decisions/0018-unified-workspace.md +++ b/docs/decisions/0018-unified-workspace.md @@ -14,7 +14,8 @@ uma CLI com TUI, sem exigir IDE, editor, servidor remoto ou API paga separada. Manter Rust/ratatui e preservar o dashboard existente. Entregar primeiro `workspace --demo`, sempre identificado como simulação, com adaptador determinístico para cada agente. O comando sem `--demo` recusa antes de criar estado. Não integrar -um terminal nativo nem ativar apenas Codex como substituto silencioso do requisito. +um terminal nativo como única experiência nem ativar apenas Codex como substituto +silencioso do requisito. ## Separação e armazenamento @@ -53,7 +54,7 @@ Fontes consultadas em 2026-09-25: em aplicação própria. Essa distinção não comprova a viabilidade da nossa TUI. Apenas versão local `Claude Code 2.1.282` conferida, sem login ou inferência. -Não há evidência de aprovação/integração Claude com assinatura para este produto. +Não há evidência de integração Claude com assinatura para este produto. Nenhuma credencial foi copiada e nenhuma chamada a modelo foi feita. Não escolher API com cobrança separada como alternativa, pois contradiz a escolha do mantenedor. @@ -82,3 +83,32 @@ campo. A mascote representa cada ação por animação, símbolo e texto; não s permissões ou evidência de execução. O [plano visual](../specs/workspace-visual.md) separa protótipo, renderizador Rust e integração real. Essa frente pode avançar com eventos simulados sem certificar nem desbloquear lançamento real. + +## Esclarecimento da arquitetura de login — 2026-09-25 + +O mantenedor esclareceu que o usuário faz login nos CLIs oficiais antes de usar +a Memory Bee. A TUI inicia e acompanha os processos locais de Claude Code e +Codex; não oferece login próprio, lê arquivos de token nem intermedeia credenciais. +O controle de autenticação e renovação permanece com cada fornecedor. O objetivo +é renderizar conversa, ações e memória na TUI da Memory Bee sobre esses processos. + +A [documentação da Anthropic](https://code.claude.com/docs/en/legal-and-compliance) +permite ao usuário entrar no binário Claude Code original com a própria assinatura, +inclusive quando hospedado por outro produto, sob as condições ali descritas. +Isso corrige a leitura anterior de que a aprovação para login de terceiros seria +necessária para simplesmente hospedar o binário intacto. A mesma documentação +restringe oferecer login claude.ai próprio ou encaminhar requisições com tokens +da assinatura; essa distinção continua relevante para `-p`/Agent SDK. A +[CLI Claude](https://code.claude.com/docs/en/cli-reference) documenta sessão +interativa, retomada e saída estruturada no modo print, mas não comprova aqui +aprovações interativas e paridade total em uma TUI própria. Testar os limites +antes de escolher o transporte do adaptador Claude. + +O [Codex App Server](https://learn.chatgpt.com/docs/app-server) é a interface +documentada para clientes próprios, com eventos, aprovações e estado de conta. +Iniciar esse processo a partir da instalação local deve permitir usar o login +que o Codex gerencia, sujeito à prova no ambiente do usuário. Não criar fluxo +de tokens externos na Memory Bee. Um terminal incorporado pode ser um transporte +ou um escape para interações nativas, mas não substitui sozinho o aceite da +conversa unificada e da exportação. Nenhum login ou modelo foi acionado nesta +revisão documental. diff --git a/docs/specs/workspace.md b/docs/specs/workspace.md index f2ba5f6..20a4fbd 100644 --- a/docs/specs/workspace.md +++ b/docs/specs/workspace.md @@ -4,6 +4,13 @@ Contrato do primeiro recorte do [ADR 0018](../decisions/0018-unified-workspace.m Não é programação real. Claude/Codex, ferramentas, mudanças e permissões são simulados, sem processos de provedores, rede ou edição do projeto. +Para a versão real, a TUI deverá hospedar os CLIs oficiais como processos locais. +O usuário autentica cada um pelo seu próprio fluxo. A Memory Bee não lê nem +armazena tokens; associa sessões, eventos e exportações ao processo e ao perfil +selecionado. App Server é o transporte candidato para Codex; para Claude, testar +o binário original em PTY e verificar se a CLI permite uma conversa própria com +permissões fiéis. O transporte Claude ainda não está decidido nem implementado. + ```sh cargo run --locked -- workspace --demo --project . --state /tmp/bee-demo-state cargo run --locked -- workspace --demo --project . --agent codex --once --width 60 --height 20 --no-color