From 4c45872ea16ea2318f4bea7c9dba277f47a8bfb6 Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Fri, 25 Sep 2026 11:04:42 -0300 Subject: [PATCH 1/2] docs: define workspace visual plan and action animations --- ROADMAP.md | 9 + docs/EXECUTION.md | 31 + docs/MANUAL_TESTS.md | 15 + docs/decisions/0018-unified-workspace.md | 9 + docs/prototypes/workspace.html | 1381 ++++++++++++++++++++++ docs/specs/workspace-visual.md | 52 + 6 files changed, 1497 insertions(+) create mode 100644 docs/prototypes/workspace.html create mode 100644 docs/specs/workspace-visual.md diff --git a/ROADMAP.md b/ROADMAP.md index 3331577..0e265e5 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -252,3 +252,12 @@ Fora do MVP: IDE própria, servidor compartilhado obrigatório, memória organiz - [ai-memory](https://github.com/akitaonrails/ai-memory): memória contínua, handoffs e exportação. Foram consultados código e documentação. Não houve validação em execução desses projetos. Antes de reutilizar código, verificar a licença e o comportamento da versão escolhida. Diferenciais são hipóteses a validar, não alegações de exclusividade. + +## Refinamento visual autorizado — 2026-09-25 + +O mantenedor aprovou a abelha à direita do campo com contorno amarelo e animações +por ação, preservando a Clareira original. O [plano visual](docs/specs/workspace-visual.md) +define entregas: referência HTML, renderizador Rust, conexão à demo e eventos +reais. A frente visual pode avançar independentemente da prova dos harnesses; +o lançamento conjunto continua condicionado ao ADR 0018. O HTML de roadmap +não incorpora este refinamento; esta seção Markdown é a referência vigente. diff --git a/docs/EXECUTION.md b/docs/EXECUTION.md index cdf4b0d..f6a7a52 100644 --- a/docs/EXECUTION.md +++ b/docs/EXECUTION.md @@ -28,6 +28,14 @@ de patches e consulta ao Git ficam para a etapa 04. ## Próxima tarefa de produto +**Refinamento visual — próxima entrega local.** A orientação mais recente do +mantenedor autoriza a frente visual em paralelo à prova dos harnesses. Referência +HTML e [plano visual](specs/workspace-visual.md) concluídos; próximo recorte: +renderizador Rust com abelha à direita do campo amarelo e estados por ação, +seguido da conexão aos eventos da demo. Não iniciar esse porte na entrega +restrita ao protótipo/plano. Exportação e troca de agente ainda precisam de +animações próprias. + **TUI unificada — prova de integração com assinaturas.** A orientação de 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. @@ -590,3 +598,26 @@ escopo da entrega atual nem a próxima tarefa aprovada. - Ensaios humanos 46–49 pendentes; não substituídos por testes automatizados. - Próximo passo: prova de integração descrita no topo. O plano completo permanece em andamento; integração Claude com assinatura depende de confirmação externa. + + +## Workspace — referência visual e plano por ação + +- Status: concluído o recorte de referência HTML e planejamento. Retomada da + sessão interrompida por limite de uso, preservando suas alterações locais. +- Protótipo versionado em `docs/prototypes/workspace.html`: Clareira preservada, + conversa linear, campo amarelo e abelha à direita. Estados de pensamento, + leitura, edição, execução, permissão, conclusão, negação, interrupção, erro e + sono. Exportação e troca com animação própria continuam planejadas. +- Plano em `specs/workspace-visual.md`; roadmap e ADR 0018 registram a frente + visual independente da prova de integração, sem mudar o lançamento conjunto. +- Validação nesta retomada: sintaxe JavaScript via `node --check`; automação em + nova página Orca confirmou posição à direita e sequência pensar → ler → editar + → permissão → executar → concluir, negação, interrupção sem sucesso atrasado, + erro e quadro estável com movimento reduzido. Links relativos e + `git diff --check` conferidos. Nenhum código Rust alterado. +- Autorrevisão de escopo, callbacks invalidados por turno e rótulos de simulação; + nenhuma revisão independente. Ensaio humano 50 permanece pendente, assim como + compatibilidade de terminal, renderizador Rust e integração/autenticação real. +- Próximo passo: renderizador Rust conforme plano visual; esta entrega não inicia + essa implementação. O artifact externo é temporário; o HTML versionado mantém + a referência local. diff --git a/docs/MANUAL_TESTS.md b/docs/MANUAL_TESTS.md index c464ac8..31ef354 100644 --- a/docs/MANUAL_TESTS.md +++ b/docs/MANUAL_TESTS.md @@ -824,3 +824,18 @@ e dois perfis sem mistura. Não interpretar a demo como evidência desses aceite | 47: perfis fictícios, contexto, reinício e crash | Pendente | — | | 48: exportação revisada com proveniência e omissões | Pendente | — | | 49: terminal, acessibilidade e recusa de modo real | Pendente | — | + +## 50. Artifact visual e abelha no campo (ensaio humano pendente) + +```sh +open docs/prototypes/workspace.html +``` + +Abrir conversa e enviar tarefa sintética. Esperado: abelha à direita do campo +amarelo; pensar → ler → editar → aguardar permissão. Permitir mostra execução +simulada e depois check; negar pousa sem executar. Interromper durante execução +não pode produzir sucesso atrasado. Enviar `[erro]` mostra falha preservando o +histórico. Após inatividade, digitar acorda. Conferir movimento desligado, sem +cor, tema claro/escuro, larguras 140/100/60/40 e janela estreita. A cena inicial +continua disponível. Nenhum teste, arquivo ou agente real é executado pelo HTML. +Esse roteiro não valida o renderizador Rust, ainda pendente. diff --git a/docs/decisions/0018-unified-workspace.md b/docs/decisions/0018-unified-workspace.md index 5780b20..5189e4b 100644 --- a/docs/decisions/0018-unified-workspace.md +++ b/docs/decisions/0018-unified-workspace.md @@ -73,3 +73,12 @@ I/O de persistência/exportação é síncrono; a demo não certifica responsivi sob disco lento. Uma sessão ativa por pasta de estado, não trava global de checkout para um futuro motor real. Colmeia estática, projeto explícito e tema não persistido. Autorrevisão e testes sintéticos não substituem ensaio humano ou prova real. + +## Refinamento visual — 2026-09-25 + +O mantenedor aprovou preservar a Clareira da Colmeia e aproximar a organização da +conversa do Claude Code, com identidade amarela própria e abelha à direita do +campo. A mascote representa cada ação por animação, símbolo e texto; não substitui +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. diff --git a/docs/prototypes/workspace.html b/docs/prototypes/workspace.html new file mode 100644 index 0000000..7726789 --- /dev/null +++ b/docs/prototypes/workspace.html @@ -0,0 +1,1381 @@ + + +Memory Bee · Clareira da Colmeia e conversa + + +
+
+
⬢Memory Bee · design aprovado + conversa unificada
+

Clareira da Colmeia

+

A clareira original está de volta: a árvore, a colmeia dos projetos e a abelha que leva o contexto de um favo para outro. Selecione um projeto e abra a conversa — a mesma identidade acompanha o trabalho. Protótipo visual com dados sintéticos; não chama modelos.

+
+ +
+
+ $ memory-bee · clareira / workspace · simulação + 140×40 · 30 fps · 24 bits +
+ +
+ +
+ +
+ +
+
+ Terminal +
+ + + + +
+
+
+ Paleta +
+ + + +
+
+
+ Cor +
+ + + +
+
+
+ Glifos +
+ + +
+
+
+ Movimento +
+ + +
+
+
+ Teclas +
+ + + + + + + + + + + + + +
+
+
+ +
+
+

O que a cena conta

+
+
gominho
Um por repositório descoberto. A colmeia cresce a partir do galho, como um favo de verdade, na ordem em que os projetos aparecem.
+
mel
O nível dentro do gominho é o contexto acumulado: quanto mais sessões e pacotes, mais cheio. Cada depósito da abelha faz o nível pulsar.
+
aceso
O projeto selecionado tem o contorno claro e um halo no fundo das células. ← e → trocam de gominho e a abelha voa até ele.
+
atenção
Sessão parcial ou ambígua faz o contorno piscar e a abelha parar com um ? em braille.
+
abelha
Sem pedido, ela patrulha as flores, pega pólen e leva para o gominho aceso. Vinte segundos sem tecla e ela dorme no alto da colmeia.
+
+
+
+

Como o terminal chega lá

+
+
meio-bloco
Colmeia, abelha, árvore e flores são pixel art com ▀ e ▄, duas cores por célula.
+
braille
Grama, sol, estrelas, vagalumes e pólen usam os 2×4 pontos de cada caractere. O balanço da grama anda em fração de célula.
+
brilho
O gominho aceso tinge o fundo das células vizinhas em degradê. No fim de tarde, a abelha ganha uma sombra suave no céu.
+
256
Sem COLORTERM=truecolor, as cores são aproximadas para a paleta de 256 cores.
+
NO_COLOR
Uma cor só. Gominhos vazios ficam ocos e o estado continua legível pelos símbolos ●, ◐ e ▲.
+
estreito
Abaixo de 80 colunas, um painel por vez. Abaixo de 60 colunas ou 20 linhas, a cena sai e o cabeçalho mostra só a contagem.
+
reduzido
Um quadro fixo com a abelha pousada no gominho aceso, também por --no-animation ou MEMORY_BEE_REDUCED_MOTION=1.
+
+
+
+

Cena, sprites, paletas e animações reaproveitados do HTML original “Clareira da Colmeia”. A conversa tem fluxo linear, marcadores de terminal e campo com contorno amarelo. A abelha acompanha o campo de digitação: a abelha voa, coleta pólen durante o turno, pede permissão com ?, comemora a conclusão e dorme após inatividade. Movimento reduzido mantém poses fixas. Esta é a proposta visual: a TUI Rust atual ainda não renderiza a cena animada. Perfis, respostas, aprovações e alterações aqui são fictícios; baixar a prévia não gera um pacote verificado da CLI. Recarregar apaga as interações desta página.

+
+ +

+ + + diff --git a/docs/specs/workspace-visual.md b/docs/specs/workspace-visual.md new file mode 100644 index 0000000..11f18a6 --- /dev/null +++ b/docs/specs/workspace-visual.md @@ -0,0 +1,52 @@ +# Plano visual do workspace + +Direção aprovada pelo mantenedor em 2026-09-25. Preserva a Clareira da Colmeia +(ADR 0015), seus sprites e cores. Conversa linear inspirada na organização do +Claude Code: mensagens e ferramentas no histórico, campo com contorno amarelo, +abelha à direita do campo e identificação do agente/perfil abaixo. A mascote +não ocupa uma coluna do histórico nem substitui mensagens de estado. + +[Protótipo local](../prototypes/workspace.html) · +[Artifact compartilhado](https://share.onorca.dev/a/pNllOVQr_SZU). +O HTML é uma demonstração com dados sintéticos; não é a implementação Rust. + +## Vocabulário de ações + +| Ação | Animação e sinal legível | Estado da demonstração | +|---|---|---| +| Pronta | Voo leve junto ao campo | Implementado | +| Pensando | Asas lentas e reticências | Implementado | +| Lendo/buscando | Movimento lateral e linhas de documento | Implementado | +| Editando | Movimento vertical curto, pólen e sinal + | Implementado | +| Executando/testando | Asas rápidas e símbolo de terminal | Implementado | +| Aguardando permissão | Voo contido e interrogação; decisão explícita | Implementado | +| Concluído | Pólen e check temporário | Implementado | +| Negado/interrompido | Pouso com − ou quadrado | Implementado | +| Erro | Pouso com exclamação e histórico preservado | Implementado | +| Inativa | Dorme; digitar acorda | Implementado | +| Exportando | Transporta pólen até uma célula | Planejado | +| Trocando agente/perfil | Travessia curta entre duas células | Planejado | + +## Entregas e aceite + +1. **Referência visual e plano:** artifact com abelha à direita, estados de + conversa e contorno amarelo; preservar a cena inicial. Esta entrega. +2. **Renderizador Rust:** sprites em células e máquina de estados independente + do provedor. Testar precedência, cancelamento e animação desligada. +3. **Conexão à demo TUI:** ligar aos eventos existentes, incluindo exportação e + troca. Verificar teclado, rolagem, entrada multilinha e terminal estreito. +4. **Eventos reais:** conectar os mesmos estados aos dois adaptadores quando + validados conforme ADR 0018. Não deduzir sucesso pelo tempo decorrido. + +Permissão tem prioridade sobre atividade. Interrupção invalida callbacks do +turno anterior; erro não termina em sucesso automático. Ferramenta desconhecida +usa atividade genérica. Operações simultâneas mostram contagem/resumo textual, +sem alternância rápida da mascote. A animação não executa nem aprova operações. + +Movimento reduzido mantém pose estática, símbolo e texto. Sem cor mantém sinais +legíveis. Estado textual muda somente nas transições, sem anúncios a cada frame. +Em largura insuficiente, reduzir a mascote a um símbolo antes de sacrificar o +campo ou suas teclas. Evitar flashes e não apresentar porcentagens inventadas. + +Validação humana do terminal e integração real permanecem pendentes. Aprovar o +artifact não certifica compatibilidade de terminal ou autenticação dos agentes. From 13c92dd31624c361c5b23cf19650e0e8f680d73f Mon Sep 17 00:00:00 2001 From: Filipe Moreira Date: Fri, 25 Sep 2026 11:05:04 -0300 Subject: [PATCH 2/2] docs: link visual plan delivery to PR 20 --- docs/EXECUTION.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/EXECUTION.md b/docs/EXECUTION.md index f6a7a52..92d8373 100644 --- a/docs/EXECUTION.md +++ b/docs/EXECUTION.md @@ -621,3 +621,4 @@ escopo da entrega atual nem a próxima tarefa aprovada. - Próximo passo: renderizador Rust conforme plano visual; esta entrega não inicia 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).