BastionWeb - O Cockpit de um Stack Agêntico
Console web de operação para uma frota de agentes autônomos — painel de status entre repositórios, sala de controle de execuções SDLC e busca semântica no cérebro da empresa.
Overview
O BastionWeb é onde o sistema inteiro se torna visível. Dezenove repositórios, dezenas de blocos de planejamento, execuções de agentes rodando em paralelo — nada disso é legível a partir de um terminal, e uma planilha de status fica desatualizada no instante em que é escrita. O cockpit lê o estado ao vivo e o renderiza: um painel entre repositórios mostrando o que está aberto, bloqueado e pronto para começar; uma sala de controle para conduzir execuções de SDLC e acompanhá-las em tempo real; um leitor de markdown para o corpus de planejamento; e uma superfície de cérebro para busca semântica sobre tudo o que já foi escrito. Ele é deliberadamente um cliente leve. Todo o estado vive atrás do `bastion serve`, a API do console em Rust, e a aplicação web não guarda nenhuma cópia autoritativa de nada. Essa decisão é o que permite que o cliente de celular, a interface de terminal e este cockpit discordem sobre apresentação enquanto concordam sobre os fatos — e significa que a aplicação web pode ser reconstruída sem migrar dado algum. As superfícies degradam de forma independente, o que importa mais do que parece. A busca no cérebro precisa que a camada de recuperação em Python esteja no ar; o painel, a sala de controle e o leitor precisam apenas do console. Quando a recuperação cai, a superfície de cérebro exibe um estado de erro honesto e o resto do cockpit continua funcionando, em vez de a aplicação inteira falhar porque uma dependência ficou indisponível. A suíte de ponta a ponta é a parte que provou seu valor. Ela estava silenciosamente inexecutável havia semanas — duas entradas de servidor de desenvolvimento disputando o mesmo bloqueio de diretório faziam com que nenhum subconjunto de testes conseguisse iniciar, então quarenta arquivos de especificação não relatavam nada e ainda assim pareciam verdes. Consertar o harness para que a suíte de fato execute trouxe 255 testes de volta ao jogo e revelou imediatamente defeitos que vinham passando despercebidos.
Technical Stack
Frontend
- ▸Next.js 16
- ▸React 19
- ▸TypeScript 5
- ▸Tailwind CSS 4
Dados
- ▸bastion serve (API em Rust)
- ▸Server Components
- ▸Atualizações de execução em streaming
Superfícies
- ▸Painel de status entre repositórios
- ▸Sala de controle SDLC
- ▸Leitor de markdown
- ▸Busca no cérebro
Testes
- ▸Playwright ponta a ponta
- ▸Servidor de teste com build de produção
- ▸Diretório de build isolado
Key Features
O painel de status entre repositórios mostra o que está aberto, bloqueado e pronto para começar a partir do estado ao vivo, não de uma lista mantida à mão
A sala de controle conduz execuções de SDLC e transmite seu progresso enquanto elas rodam
Busca semântica no cérebro da empresa, apoiada pela camada de recuperação em Python
Leitor de markdown para o corpus de planejamento, permitindo ler especificações sem um checkout
Cliente leve por design — todo o estado autoritativo permanece atrás da API do console
As superfícies degradam de forma independente: a busca no cérebro falhar não derruba o painel junto
A suíte de ponta a ponta roda sobre um build de produção, em porta e diretório próprios, para não competir com o servidor de desenvolvimento
Technical Challenges
Renderizar um grafo de dependências entre dezenove repositórios de modo que 'o que posso começar agora' seja respondível de relance
Manter o cliente sem autoridade sobre nada e ainda assim fazê-lo parecer responsivo
Projetar a degradação por superfície para que um backend indisponível não se propague em uma aplicação quebrada
Consertar uma suíte de ponta a ponta que relatava sucesso enquanto executava zero testes