Agents Remember
`Agents Remember` is a Drift-aware repository memory for coding agents in complex codebases. Captures what code can't say on its own! Retrieves memory by path, semantic search, and relationship (code-graph).
Documentação
Agents Remember
Registros verificados por Git do que seus agentes de codificação sabem. Um plano de controle para o que eles fazem.
📖 Documentação atual: https://foxfire1st.github.io/agents-remember/
🤖 Resumo legível por máquina: https://foxfire1st.github.io/agents-remember/llms.txt
Nota: caches e trechos de pesquisa podem exibir uma cópia desatualizada deste README — o site de documentação acima é canônico e está sempre atualizado.
Sumário
- Por que existe
- Recursos principais
- Como é na prática
- Demonstração ao vivo
- Requisitos
- Início rápido
- Executar o painel
- Documentação
- Estrutura do repositório
- Status
- Estabilidade
- Contribuindo
Por que existe
Agentes de codificação modernos podem fazer edições limpas e plausíveis enquanto perdem as regras específicas do projeto que tornam essas edições seguras. Um arquivo de instruções de nível superior pode ajudar, mas ele não reaparece naturalmente quando o agente está no fundo de um arquivo decidindo o que mudar.
Agents Remember resolve isso: a nota correspondente fica acessível no momento da edição — na maioria das vezes pelo próprio caminho em que o agente já está trabalhando — para que as regras do projeto apareçam exatamente quando uma mudança está sendo feita, e não enterradas em um arquivo de nível superior.
Recursos principais
Agents Remember dá aos agentes de codificação memória de projeto que eles podem verificar e na qual podem agir. Ele transforma invariantes locais, regras de nomenclatura, cicatrizes de migração, contratos entre repositórios e fatos do tipo "parece seguro, mas não é" em Markdown versionado ao lado do código, verifica essa memória contra o Git antes do uso e a atualiza somente depois que o trabalho aprovado é integrado.
src/orchestrator/core_editor.py
ar-memory/onboarding/src/orchestrator/core_editor.py.md
- Memória endereçada por caminho: a nota de um arquivo de origem vive em um caminho espelho determinístico, para que um agente que segura um arquivo possa alcançar o contexto certo sem busca, ranqueamento ou adivinhação.
- Atualidade comprovada por Git: notas de arquivo, visões gerais de rotas e catálogos de entidades são verificados contra commits de origem, escopos de rota ou impressões digitais determinísticas antes de serem confiáveis.
- Busca que encontra, não decide: provedores opcionais de memória semântica e grafo de código ajudam a localizar arquivos, chamadores, dependências e conceitos relevantes, mas o Markdown verificado e o código-fonte continuam sendo a verdade.
- Memória que chega junto com o código: repositórios de memória externa usam um ledger
memory.md, worktrees duplos isolados, encerramento de pré-visualização/aplicação e integração tudo-ou-nada para que código e memória permaneçam sincronizados. - Comportamento do agente de propriedade do repositório: cada repositório de memória carrega arquivos
system/para regras de caminho, ferramentas, diretrizes de codificação, fontes de documentação, política de branch e formato de relatório, para que as mesmas regras do projeto sejam carregadas em diferentes harnesses. - Primeira execução pronta para harness: pacotes iniciais para Claude Code, Codex, Cursor, Antigravity, VS Code Copilot, Hermes, Pi.dev e OpenClaw carregam o MCP nativo, skills, hooks, regras e arquivos de instrução que cada harness precisa.
A configuração padrão armazena memória durável no repositório de destino sob ar-memory/. Equipes que precisam de repositórios de memória separados podem usar memória externa sob ar-coordination/memory-repos/ar-<repo>/. Para o tour completo, veja Recursos.
Como é na prática
Um arquivo de origem tem uma nota de onboarding ao lado, alcançada por caminho:
mcp/src/agents_remember/mcp/server.py
ar-memory/onboarding/mcp/src/agents_remember/mcp/server.py.md
No início da tarefa, o agente se orienta e verifica a saúde da memória:
context_packet(repo_id="my-app")
memory_quality_check(request={"mode":"sync", "repo_id":"my-app"})
Ele então lê o arquivo de origem e sua nota de onboarding juntos antes de propor uma mudança. Depois que a mudança é aprovada e integrada, o onboarding é atualizado e reverificado contra o novo commit — para que a nota permaneça fiel ao código.
Demonstração ao vivo
Agents Remember roda sobre si mesmo. O repositório de memória complementar é: https://github.com/Foxfire1st/ar-agents-remember
Esse repositório contém a camada de onboarding ao vivo, para que você possa inspecionar como a memória por caminho, atualizações cientes de drift e onboarding no momento da contribuição funcionam na prática.
Requisitos
Antes do início rápido, certifique-se de que o host tenha:
- uv (para
uvx) ou pip, e Python 3.13 — o pacote suporta>=3.13,<3.14; o desenvolvimento do repositório usa o contrato 3.13.15 verificado e construído a partir do código-fonte documentado no README do MCP. - Git, com
user.name/user.emailconfigurados (commits de memória e worktree precisam de um autor; caso contrário, uma identidade provisória é usada). - Docker em execução, somente se você habilitar os provedores opcionais. O provedor de memória semântica (grepai) também usa um Ollama em Docker e baixa um modelo de embeddings (
nomic-embed-text) na primeira configuração — sem necessidade de instalação de Ollama no host.
Provedores, Docker e Ollama são necessários apenas para os provedores opcionais
com suporte a Docker; a memória central por caminho funciona sem eles. Hooks do Claude Code não
exigem jq; o pacote inicial atual usa um hook em Python. Detalhes completos e
solução de problemas estão no README do pacote MCP.
Início rápido
Este é o caminho curto para um novo workspace. O passo a passo detalhado está em Começando.
Peça ao seu agente para:
-
Copiar o pacote do harness — Escolha o guia do seu harness em docs/install, copie os arquivos iniciais nativos desse harness deste repositório para o workspace e renderize o pacote copiado. O script
render-starteré uma conveniência: ele infere a raiz do workspace a partir da pasta do harness copiado e preenche os placeholders de caminho, repositório e comando de hook do pacote copiado a partir de uma única lista--repocomo--repo my-app shared-lib. Você também pode fazer essas substituições manualmente. Esses pacotes incluem as skills visíveis ao harness, hooks/regras/instruções e modelos de configuração do MCP. -
Conectar o servidor MCP — Registre o MCP do Agents Remember a partir do PyPI com
uvx:uvx agents-remember-mcp@latest --config /absolute/path/to/agents-remember-settings.jsonUse o caminho
agents-remember-settings.jsondo pacote do harness copiado. Em seguida, reinicie o harness uma vez para que ele carregue o servidor MCP, as skills nativas e os hooks/regras/instruções do pacote. -
Onboarding do seu projeto — Invoque a skill copiada
c-13-install-and-onboard. Ela executa ou verificaruntime_install(), pergunta se você quer criar um novo repositório de memória ou usar um existente, inicializa o onboarding quando necessário e inicia a indexação dos provedores quando eles estão habilitados.
Esse é o caminho normal de primeira execução. skills_install() permanece disponível como uma
ferramenta MCP de manutenção/manual, mas os pacotes iniciais já fornecem as
skills iniciais e os arquivos do harness.
Depois disso, o trabalho normal passa pela skill l-01-agent-lifecycles: o chat livre voltado ao desenvolvedor responde à pesquisa inline e, para trabalho comum moldado por função após o sprint durável e a primeira folha existirem, compila o brief canônico do arquiteto e chama dispatch_agent uma vez nesse documento de sprint. Uma tomada de assento de tarefa declarada explicitamente pelo desenvolvedor, em vez disso, tem como alvo a função nomeada em seu documento de tarefa canônico. O lançador sem identidade entrega o controle depois que o brief exato se torna durável; assentos posteriores hospedados no plano usam a mesma ferramenta sob autoridade estrutural de escopo filho. Assentos de backend gerados seguem seus briefs de função. O agente resolve o contexto ativo com c-08-ar-coordination-context-resolver, verifica a qualidade da memória com c-02-memory-quality-control, lê o onboarding relevante ao lado do código e atualiza o onboarding após mudanças aprovadas.
Executar o painel
O painel de controle de missão vem dentro do pacote MCP. Instale a CLI uma vez com uv — última versão estável, sem fixação de versão — e inicie o cockpit de qualquer lugar no seu workspace:
uv tool install agents-remember-mcp
agents-remember dashboard
--config é opcional: a CLI sobe a partir do diretório atual e usa
o .claude/mcp/agents-remember-settings.json mais próximo, ou o --config
registrado em uma entrada .mcp.json agents-remember — o mesmo arquivo de configurações
do qual o servidor MCP inicializa.
Para um painel que sobrevive ao fechamento do terminal, use o modo daemon:
agents-remember dashboard --daemon # detach; state + log under <coordinationRoot>/logs/dashboard/
agents-remember dashboard --status # exit 0 when running, 1 when not
agents-remember dashboard --stop
Ou deixe o servidor MCP supervisioná-lo: defina "dashboard": {"autoStart": true} no
JSON de configurações do MCP e cada inicialização do servidor garante o daemon — adotando um
saudável, iniciando um ausente e reiniciando em caso de incompatibilidade de versão para que uma
atualização seja capturada na próxima sessão
(Referência de configurações).
Fixar uma versão é o caminho de depuração/reprodução, não o padrão: uv tool install 'agents-remember-mcp==3.0.0rc8', ou uso único sem instalar,
uvx --from 'agents-remember-mcp==3.0.0rc8' agents-remember dashboard.
Nota de pré-lançamento (até o 3.0.0 final): o painel atualmente é distribuído em pré-lançamentos
3.0.0rcN, que a resolução de versão padrão ignora. Instale comuv tool install --prerelease allow agents-remember-mcpe registre o servidor MCP com uma fixação explícita deagents-remember-mcp==3.0.0rcNem vez de@latest.
Documentação
- Recursos — o tour concentrado do que Agents Remember oferece aos usuários.
- Começando — uma configuração de primeira execução mais completa.
- Conceitos — unidades de onboarding, raízes de memória, drift e portões de aprovação.
- Arquitetura — runtime, coordenação, memória interna e memória externa.
- Fluxos de trabalho — a skill
l-01-agent-lifecyclese seus modos de construção (saída somente pesquisa / tarefa da skillw-02-light-task-workflow/ série mestre + sub-tarefa leve), e quando usar cada um. - Metodologia de benchmark — como execuções pareadas de
codex exec --jsonsão capturadas e comparadas. - FAQ — princípios de design, objeções e comparações.
- Guia de memória externa — repositórios de memória separados para repositórios de código selecionados.
- Bootstrap consciente de custo — escolhas de modelo e dimensionamento de ondas para bootstrap de repositório com uso intenso de tokens.
- Referência de configurações —
system/settings.jsonda camada de memória e configurações de autoridade do MCP. - Referência de skills — as famílias de skills instaladas.
Estrutura do repositório
agents-remember/
AGENTS.md # source checkout instructions
README.md # public front door
skills/ # canonical skill source tree
scripts/sync-skills.py # sync skills into package/harness copies
scripts/sync-runtime.py # sync runtime assets into package data
scripts/sync-harness.py # generate the nine harness configuration trees
scripts/harness/ # canonical source for those trees
agents-md-files/ # canonical installed AGENTS.md templates
benchmarks/ # canonical optional benchmark package source
providers/ # canonical provider runtime assets
system/defaults/examples/ # canonical scaffold examples
mcp/ # package-local MCP server and services
src/agents_remember/package_data/
runtime/
agents-md-files/ # generated copy of root agents-md-files/
skills/ # generated package copy of root skills/
providers/ # generated copy of root providers/
system/defaults/examples/ # generated copy of root system/defaults/examples/
benchmarks/ # generated copy of root benchmarks/
docs/ # user-facing documentation
Edite as skills na raiz skills/, depois execute python3 scripts/sync-skills.py para
atualizar os dados do pacote MCP e todos os pacotes iniciais dos harnesses. Os hooks de
pre-commit e pre-push executam python3 scripts/sync-skills.py --check.
Edite os ativos de runtime na raiz agents-md-files/, benchmarks/, providers/,
e system/, depois execute python3 scripts/sync-runtime.py para atualizar apenas os dados do pacote
MCP. Os hooks de pre-commit e pre-push executam
python3 scripts/sync-runtime.py --check.
Edite a configuração do harness auto-hospedado na raiz scripts/harness/, depois execute
python3 scripts/sync-harness.py para regenerar as nove árvores .claude/, .codex/,
.cursor/, .github-vscode/, .vscode/, .hermes/, .openclaw/, .pi/ e
.agents/. Os hooks de pre-commit e pre-push executam
python3 scripts/sync-harness.py --check, e mcp/tests/test_sync_harness.py
executa a mesma verificação dentro da suíte.
Os hooks são em camadas, e ambos são wrappers finos sobre .githooks/_gate.sh.
O pre-commit executa a camada rápida sobre o conteúdo staged: as verificações de cópia gerada
acima, mais Ruff, ruff format --check, Pyright e verificações determinísticas do painel.
O pre-push repete essas verificações não relacionadas a testes contra os bytes do checkout atual e
registra os refs enviados. Ele não executa a aceitação. O GitHub executa suas verificações
determinísticas não relacionadas a testes uma vez por pull request, não novamente para cada push de branch. Um
grafo Dagger v0.21.8 fixado reconstrói o candidato Git exato
em um contêiner Ubuntu limpo, instala do zero, executa uma sonda de protocolo Codex real
somente leitura incluída e executa o wrapper de aceitação. Execuções direcionadas do Dagger
acontecem uma vez quando cada fechamento de folha cria seu commit. A integração da folha integra esse commit
certificado exato sem uma nova execução. O Dagger completo executa uma vez quando cada master integra
em super. Validação de PR, marcação e publicação não reexecutam a aceitação. Veja
CONTRIBUTING.md para a tabela de camadas e o contrato de conteúdo staged.
Agents Remember declara que o grafo Dagger em seu diretório de propriedade do repositório
mcp/certification-profile-v1.json, selecionado explicitamente por
repositories.agents-remember.certificationProfile nas configurações de autoridade do MCP. O framework
não descobre um wrapper nem carrega um inventário de comandos/relatórios do Agents Remember. O desenvolvimento comum em Python usa pytest diretamente, sem admissão via Dagger, cobertura,
certificação de repositório ou um grafo de serviço de aplicação autouse:
mcp/.venv/bin/python -m pytest # default unit loop
mcp/.venv/bin/python -m pytest mcp/tests/test_example.py # one changed behavior
mcp/.venv/bin/python -m pytest -m integration # delivery boundary checks
O padrão exclui o marcador integration. Entradas locais, recursos temporários e
dublês de teste explícitos permanecem testes comuns; publicação/recuperação real, escritores concorrentes,
fiação de aplicação e observações de repositório inteiro são executados separadamente. Classes de teste importadas
são exercitadas apenas em seu módulo de definição. Quatro workers são o padrão; use -n=0 para
depuração serial. Os testes usam diretórios descartáveis de home/config/cache e limpam seletores Git herdados,
opt-ins ativos e credenciais. Eles nunca declaram uma identidade de daemon.
A entrega executa ambas as populações juntas (-m "") no ambiente Dagger compartilhado existente.
Apenas o --certify explícito carrega os plugins de certificação retidos e exige admissão genuína
via Dagger. A cobertura de branch combinada alimenta o piso de 90% de linhas alteradas em produção
e o limiar de CRAP existente de 30. Testes e suporte apenas de verificação são excluídos
da pontuação de produção. Cobertura e CRAP não fazem parte do comando unitário comum.
Comandos direcionados diretos de teste unitário/componente Vitest também permanecem disponíveis.
A taxonomia completa de evidências, metadados de ciclo de vida, regra de autoridade de fixtures, comportamento
de seleção/retry de propriedade de dependências, cadência de estresse e contrato de falha causal estão documentados em
docs/design/python-evidence-system.md.
Aceitação leaf/focada é Dagger mode=targeted, enquanto a aceitação única de repositório completo em altitude master
é Dagger mode=full. Ambas exigem um Git
diff-base explícito; a função pública do Dagger recusa uma base vazia em vez de comparar
o candidato à árvore vazia do Git. Execute dagger call quality --help para ver os
modos atuais e o contrato de argumentos. Não há fallback direto via Docker ou host:
um mecanismo Dagger indisponível falha explicitamente.
O grafo recebe um pacote separado de ancestralidade Git mais o código-fonte exatamente como preparado,
nunca a raiz de coordenação ao vivo, credenciais ou socket de contêiner. Seu trace ao vivo e artefatos finais de pytest, cobertura, sonda Codex e resultados substituem os
arquivos correspondentes sob o diretório reports/ do enclave de tarefa.
Dentro do grafo Dagger atestado por nonce, o wrapper ordena trilhos determinísticos baratos antes do
trilho de teste caro: Ruff, formatação, tamanho de arquivo, Pyright, relatórios Radon, depois pytest. CRAP e
cobertura de linhas alteradas pontuam o artefato de cobertura de branch dessa execução por último. Prova de retry exata ou apenas de teste com endereçamento por conteúdo é uma otimização interna do Dagger; qualquer deriva de fonte, configuração, suíte selecionada,
runtime, ambiente ou artefato executa a seleção comum no mesmo grafo. Não há
caminho de retry no host ou fallback. A aceitação de ciclo de vida desabilita a reutilização de prova por padrão com
AR_QUALITY_NO_RETRY=1.
Cada trilho Dagger imprime uma linha de proveniência nomeando sua entrada real, configuração resolvida e contagem de unidades. O hook determinístico de pré-push encaminha separadamente as atualizações de ref do Git e verifica os bytes do checkout atual em caminhos conhecidos por índice; ele não executa testes e nunca reivindica aceitação para o intervalo de commits enviados.
O runtime instalado vive em ar-coordination/ — por padrão <workspace>/ar-coordination/,
dentro do workspace (nunca no seu diretório home) — não no checkout da fonte. A
habilidade c-13-install-and-onboard mostra isso e todos os outros caminhos de instalação como um padrão
primeiro no workspace que você pode aceitar ou substituir:
ar-coordination/
AGENTS.md
skills/
system/
memory-repos/
providers/ # provider runtimes (images, runners, indexes)
benchmarks/ # optional, installed with --include-benchmarks
tasks/
notes/
worktrees/
temp/
Status
Agents Remember está em 3.0.0rc8 e em desenvolvimento ativo. O caminho central — onboarding por caminho, verificações de deriva e atualizações com aprovação — está em uso real e estável o suficiente para confiar. Os contratos públicos listados em Stability são mantidos estáveis entre versões menores e mudam apenas em um bump major; os internos abaixo deles e os provedores opcionais de semântica/relacionamento podem ainda evoluir, então fixe uma versão e leia as notas para sua versão alvo em GitHub Releases — o changelog canônico do repositório — antes de atualizar. O caminho Claude Code é o mais exercitado; outros harnesses são suportados, mas menos testados em batalha.
O arco 3.0: a sessão de trabalho em si agora é observável e direcionável — um ciclo de vida de agente gerenciado pelo sistema com portões de aprovação duráveis e uma camada de eventos/projeção, servido como o cockpit de navegador mission-control diretamente do pacote MCP (agents-remember dashboard; #2, #43). A tag rc significa que a superfície do cockpit ainda está se estabilizando em direção ao contrato final 3.0.0; a arquitetura abaixo dela é a descrita acima.
Estabilidade
Seguindo versionamento semântico desde 1.0.0, estes contratos públicos não mudarão sem um bump de versão major: IDs de habilidades (ex.: as habilidades c-08-ar-coordination-context-resolver e w-02-light-task-workflow), nomes de ferramentas MCP e suas entradas/saídas, o layout ar-coordination/ e ar-memory/, e o esquema de configurações. Módulos internos, internals de provedores e redação de prompts não fazem parte desta promessa e podem mudar em versões menores.
Contribuindo
Contribuições devem tornar a camada de memória mais clara, segura e fácil de aplicar consistentemente. Comece com CONTRIBUTING.md e mantenha as regras centrais intactas: verificação de deriva antes de planejar, aprovação antes de implementar e atualizações de onboarding apenas após mudanças aprovadas.
Agents Remember roda sobre si mesmo, então a melhor maneira de contribuir é com a camada de memória ativa. Baixe ou clone a memória deste projeto em Foxfire1st/ar-agents-remember e use-a como a memória do Agents Remember para seu checkout: você obtém o onboarding por caminho do projeto no momento em que edita, e suas atualizações de onboarding chegam junto com suas mudanças de código — o mesmo loop que este repo pede de cada contribuição.