Estado transitório do turno corrente. Variáveis derivadas, fragmentos parciais de raciocínio, contexto efêmero.
Memória que dura. Personas que mudam sem deploy.
Quatro camadas com propósito distinto. Nove personas em Markdown puro. Hot-reload em milissegundos. Memória pós-merge enriquece o agente a cada PR fechada.
Quatro propósitos. Quatro TTLs. Um único gerenciador.
Cada camada tem um propósito distinto e um backend apropriado. Nada de armazenar tudo em RAM e esquecer ao reiniciar, nada de enfiar TLS keys no SQLite. Sem segredos em nenhuma camada — toda escrita é assíncrona.
Histórico da sessão. Mensagens, ações, eventos. Persiste entre restarts do CLI e alimenta o contexto do próximo turno.
Fatos de longa duração. Decisões já tomadas, vocabulário próprio do projeto, preferências do operador.
Padrões aprendidos. Sequências de tools que funcionaram para tipos específicos de tarefa, heurísticas de debugging.
Nove personas, todas em Markdown puro. Hot-reload.
Personas não são código — são instruções em Markdown com capacidades declaradas em YAML. Você ajusta comportamento sem tocar Python. Toca o arquivo, o watchdog recarrega em milissegundos, o próximo turno já reflete.
analyst
refina intent — entende o que o usuário realmente quer
architect
refina feature/refactor; decompõe intent em entregáveis
debugger
refina bug — pede repro, isola, propõe hipóteses
developer
executa: edita, testa, comita, empurra
reviewer
audita PR contra critérios reais — SOLID, segurança, completude
discord_developer
executor one-shot disparado por menção em canal Discord
monitor
supervisor 24/7 do cluster — vigias determinísticas, escala para LLM só quando há candidato
monitor_qa
responde perguntas read-only sobre estado do cluster, sem ações
fallback
persona padrão quando nenhuma específica encaixa
Cada PR mergeada vira contexto para a próxima.
Quando o reviewer aprova e merga uma PR, um callback dedicado coleta o que aconteceu — decisões, trade-offs, follow-ups que apareceram — e injeta na memória episódica. O próximo turno do agente, em qualquer estágio, já tem esse contexto disponível.
PR mergeada │ ▼ post-merge callback collect: ├─ resumo do que mudou ├─ argumentos do review (o que foi aceito / rejeitado) ├─ follow-ups detectados (TODOs, débitos) └─ vínculo issue ↔ PR ↔ commits │ ▼ inject episodic memory (próximo turno enriquecido) │ ├─ se follow-up actionable → nova issue derivada └─ se padrão repetível → promoção p/ procedural memory