From faf82d68eecc3a38990744e5ab9122aaccf9cd49 Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Fri, 25 Sep 2026 13:46:42 -0300 Subject: [PATCH] docs: require native Bee UI over hidden Claude process --- README.md | 6 +++-- ROADMAP.md | 8 ++++-- docs/EXECUTION.md | 32 ++++++++++++++++++------ docs/decisions/0018-unified-workspace.md | 28 +++++++++++++++++++++ docs/specs/workspace.md | 7 ++++++ 5 files changed, 70 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 5629503..d410e66 100644 --- a/README.md +++ b/README.md @@ -84,8 +84,10 @@ cargo run --locked -- workspace --claude --project . --state /tmp/bee-claude-sta `/exit` encerra o Claude; `Ctrl+G` abre ajuda da Memory Bee e `Ctrl+C` vai ao Claude. A pasta privada guarda apenas IDs de sessão e códigos de saída, enquanto o Claude mantém a conversa nativa. Este recorte ainda mostra a interface do Claude dentro -da moldura Bee; memória/exportação integrada, perfis isolados e interface de -conversa própria continuam pendentes. Contrato e teclas em +da moldura Bee. **É uma prova experimental, não a tela final desejada:** o Claude +deve rodar invisível e a Memory Bee deve desenhar toda a conversa e as permissões. +Memória/exportação integrada, perfis isolados e interface própria continuam +pendentes. Contrato e teclas em [workspace](docs/specs/workspace.md). O lançamento da experiência completa com Claude e Codex segue condicionado aos aceites do [ADR 0018](docs/decisions/0018-unified-workspace.md). O dashboard anterior permanece disponível. diff --git a/ROADMAP.md b/ROADMAP.md index 041bb8e..9a9ef71 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -55,8 +55,12 @@ atender a esse contrato, registrar a lacuna antes do lançamento conjunto. O mantenedor priorizou a implementação nativa **Claude primeiro**. O PTY com sessão nativa é a primeira entrega desse caminho, disponível como modo experimental; não altera o aceite do lançamento conjunto da experiência completa. O próximo -recorte deve ligar histórico/exportação revisável e ações à sessão Claude, além -de validar o fluxo real de conversa e permissões. O HTML ainda representa o plano +recorte deve desenhar a conversa Claude **inteiramente na TUI da Memory Bee**, +com o processo invisível, eventos estruturados, permissões explícitas, histórico +e exportação revisável. A moldura PTY atual é prova técnica, não a UI aceita. +Verificar também se o transporte programático pode usar a assinatura existente +nesse produto; não presumir essa autorização nem trocar por API paga em silêncio. +O HTML ainda representa o plano visual anterior; este Markdown e o ADR 0018 prevalecem para a sequência. Aceite real: conversa, edição, execução, permitir/negar, interrupção e retomada diff --git a/docs/EXECUTION.md b/docs/EXECUTION.md index ab9f7f3..1e2dbf2 100644 --- a/docs/EXECUTION.md +++ b/docs/EXECUTION.md @@ -28,13 +28,14 @@ de patches e consulta ao Git ficam para a etapa 04. ## Próxima tarefa de produto -**Claude nativo primeiro — próxima entrega de produto.** O mantenedor priorizou -Claude antes de Codex. `workspace --claude` já hospeda a CLI original em PTY, -com sessão nativa, entrada/saída interativa e retomada por ID; é experimental. -Próximo: ensaio humano de conversa, edição, execução, permitir/negar, interrupção -e retomada com assinatura existente; ligar histórico/exportação revisável e ações -da Memory Bee à sessão Claude. O modo atual guarda apenas IDs, não a memória. -Perfis reais, interface de conversa própria e Codex integrado permanecem pendentes. +**Claude invisível na TUI Bee — próxima entrega de produto.** O mantenedor +rejeitou a exibição da tela nativa do Claude. `workspace --claude` hospeda a CLI +em PTY e retoma ID, mas é apenas prova experimental. Próximo: adaptador de eventos +estruturados com Claude em segundo plano, UI Bee de conversa/ações/permissões e +exportação revisável. Testar primeiro com CLI falsa, negando ferramentas sem +decisão explícita. Verificar a fronteira de autenticação para usar assinatura +existente no modo programático antes de habilitá-lo como produto. O modo atual +guarda apenas IDs, não memória; perfis reais e Codex integrado seguem pendentes. O lançamento da experiência completa ainda exige os dois agentes (ADR 0018). **Refinamento visual.** Referência HTML e [plano visual](specs/workspace-visual.md) @@ -653,3 +654,20 @@ escopo da entrega atual nem a próxima tarefa aprovada. - Próximo: executar o roteiro 51 com conversa/permissões reais e vincular a sessão Claude ao histórico/exportação revisável, mantendo origem e omissões explícitas. Lançamento completo com ambos os agentes permanece pendente. + +## Correção de produto — Claude em segundo plano + +- O mantenedor testou o recorte PTY e esclareceu que não quer a tela original + do Claude visível. A interface aceita é totalmente da Memory Bee; o processo + Claude roda em segundo plano. A moldura PTY permanece identificada como prova + técnica, não como visual final. +- Pesquisa nas referências oficiais: `claude -p` oferece fluxo `stream-json`, + eventos parciais, retomada e prompt de permissão via ferramenta MCP. O modo + programático permitiria uma UI própria, mas a orientação de autenticação da + Anthropic não certifica o uso da assinatura em produto terceiro desse tipo. + Nenhuma chamada a modelo foi feita nesta revisão; não há prova de permissões + reais nem decisão de usar API paga. +- Status: direção e critérios atualizados no ADR 0018, roadmap, contrato e + README. Autorrevisão documental; sem revisão independente. Próximo: prova + sintética do adaptador estruturado e da UI Bee, seguida da resolução da + fronteira de assinatura e ensaio real autorizado. diff --git a/docs/decisions/0018-unified-workspace.md b/docs/decisions/0018-unified-workspace.md index 1cc1a40..e8a56f5 100644 --- a/docs/decisions/0018-unified-workspace.md +++ b/docs/decisions/0018-unified-workspace.md @@ -129,3 +129,31 @@ O transporte preserva a interface de permissões do próprio Claude e não exige API paga separada. É um passo concreto para testar assinatura e conversa nativa, mas não comprova uma UI Bee própria para eventos, exportação ou perfis. Essas lacunas, o ensaio humano e a integração Codex permanecem no aceite completo. + +## Interface Claude invisível — correção do mantenedor em 2026-09-25 + +Após testar o recorte PTY, o mantenedor esclareceu que **a tela original do +Claude Code não deve aparecer**. A Memory Bee deve desenhar conversa, ações, +permissões e memória em sua própria TUI; Claude executa em segundo plano. O +`workspace --claude` atual é uma prova experimental do processo, login e sessão +nativa, não a interface de produto desejada. Sua moldura com terminal embutido +deve ser substituída antes de chamar essa experiência de concluída. + +A [CLI oficial](https://code.claude.com/docs/en/cli-reference) oferece modo +`-p` com entrada/saída `stream-json`, eventos parciais, retomada e um MCP tool +para prompts de permissão. Isso torna tecnicamente possível desenhar uma TUI +própria sem mostrar a tela do Claude, desde que o adaptador preserve decisões +explícitas, interrupção, erros e proveniência. Não interpretar ANSI ou raspar +pixels do PTY para inferir permissões: a interface visual não é um protocolo +confiável. O primeiro recorte de implementação deve testar o protocolo com CLI +falsa, mantendo a ação de ferramenta negada por padrão até uma decisão do usuário. + +A [orientação de autenticação da Anthropic](https://code.claude.com/docs/en/legal-and-compliance) +distingue hospedar o binário intacto com login do usuário de encaminhar requisições +por credenciais de assinatura em aplicação de terceiros; para produtos +programáticos recomenda API key ou provedor compatível. A documentação atual +não resolve por si só se o modo `-p` sob a assinatura do usuário atende ao modelo +de produto pretendido. Não prometer essa combinação como suportada nem coletar +tokens. Confirmar a fronteira antes de lançar a TUI própria com assinatura; se +não for permitida, apresentar a limitação ao mantenedor sem substituir +silenciosamente a assinatura por cobrança de API. diff --git a/docs/specs/workspace.md b/docs/specs/workspace.md index 25b711d..31b3007 100644 --- a/docs/specs/workspace.md +++ b/docs/specs/workspace.md @@ -35,6 +35,13 @@ de enviar uma mensagem. Exportação/revisão de memória, isolamento de perfis, decisões em UI própria e integração Codex estão pendentes. O modo não comprova conversa/permissões reais por si só; ver [roteiro manual](../MANUAL_TESTS.md). +**Direção atual:** o mantenedor não quer ver a TUI original do Claude. Este +terminal embutido permanece apenas como recorte experimental. A UI aceita deve +mostrar somente componentes da Memory Bee e receber eventos estruturados do +Claude em segundo plano, inclusive solicitações de permissão. Antes de ligar +assinaturas ao modo programático, resolver o limite de autenticação documentado +no [ADR 0018](../decisions/0018-unified-workspace.md). + ```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