memory-core. Ele transfere sinais fortes de curto prazo para a memória durável, mantendo o processo explicável e passível de revisão.
Dreaming é opcional e vem desativado por padrão.
O que o Dreaming grava
- Estado da máquina em
memory/.dreams/(armazenamento de recuperação, sinais de fase, pontos de verificação de ingestão, bloqueios). - Saída legível por humanos em
DREAMS.md(ou em umdreams.mdexistente) e arquivos opcionais de relatório de fase emmemory/dreaming/<phase>/YYYY-MM-DD.md.
MEMORY.md.
Modelo de fases
O Dreaming executa três fases cooperativas por varredura, nesta ordem: leve -> REM -> profunda. Essas são fases internas de implementação, não modos separados configurados pelo usuário.Fase leve
Fase leve
- Lê o estado recente de recuperação de curto prazo, arquivos diários de memória e transcrições de sessão com dados confidenciais removidos, quando disponíveis.
- Elimina sinais duplicados e prepara linhas candidatas.
- Grava um bloco gerenciado
## Light Sleepquando o armazenamento inclui saída em linha. - Registra sinais de reforço para a classificação profunda posterior.
- Nunca grava em
MEMORY.md.
Fase REM
Fase REM
- Cria resumos temáticos e reflexivos a partir de rastros recentes de curto prazo.
- Grava um bloco gerenciado
## REM Sleepquando o armazenamento inclui saída em linha. - Registra sinais de reforço REM usados pela classificação profunda.
- Nunca grava em
MEMORY.md.
Fase profunda
Fase profunda
- Classifica candidatos com pontuação ponderada e limites mínimos (
minScore,minRecallCounteminUniqueQueriesdevem ser todos atendidos). - Reidrata trechos de arquivos diários ativos antes da gravação, portanto trechos obsoletos ou excluídos são ignorados.
- Acrescenta entradas promovidas a
MEMORY.md. - Grava um resumo
## Deep SleepemDREAMS.mde, opcionalmente, emmemory/dreaming/deep/YYYY-MM-DD.md.
Ingestão de transcrições de sessão
O Dreaming pode ingerir transcrições de sessão com dados confidenciais removidos no corpus do Dreaming. Quando disponíveis, as transcrições alimentam a fase leve junto com sinais diários de memória e rastros de recuperação. Conteúdo pessoal e confidencial é removido antes da ingestão.Diário de sonhos
O Dreaming mantém um Diário de sonhos narrativo emDREAMS.md. Depois que cada fase reúne material suficiente, o memory-core executa, em segundo plano e com melhor esforço, um turno de subagente e acrescenta uma entrada curta ao diário, usando o modelo padrão do runtime, a menos que dreaming.model esteja configurado. Se o modelo configurado estiver indisponível, a execução do diário tentará novamente uma vez com o modelo padrão da sessão; falhas de confiança ou de lista de permissões não serão repetidas e permanecerão visíveis nos logs, em vez de recorrer silenciosamente a uma entrada genérica no diário.
O diário destina-se à leitura humana na interface de sonhos, não serve como fonte de promoção. Os artefatos de diário e de relatório são excluídos da promoção de curto prazo; somente trechos de memória fundamentados podem ser promovidos para
MEMORY.md.Comandos de preenchimento retroativo
Comandos de preenchimento retroativo
memory rem-harness --path ... --groundedmostra uma prévia da saída fundamentada do diário a partir de notas históricasYYYY-MM-DD.md.memory rem-backfill --path ...grava entradas fundamentadas e reversíveis do diário emDREAMS.md.memory rem-backfill --path ... --stage-short-termprepara candidatos duráveis fundamentados no mesmo armazenamento de evidências de curto prazo usado pela fase profunda normal.memory rem-backfill --rollbacke--rollback-short-termremovem esses artefatos preparados de preenchimento retroativo sem alterar entradas comuns do diário nem a recuperação ativa de curto prazo.
Sinais da classificação profunda
A classificação profunda usa seis sinais básicos ponderados, além do reforço das fases:
Ocorrências nas fases leve e REM acrescentam um pequeno reforço reduzido com o tempo, proveniente de
memory/.dreams/phase-signals.json.
Os resultados de testes paralelos podem ser sobrepostos à pontuação básica como sinal de revisão antes de qualquer gravação durável: um teste útil concede ao candidato um pequeno reforço limitado, um teste neutro mantém o candidato adiado e um teste prejudicial o marca como rejeitado naquela avaliação. Esse sinal serve apenas para relatórios — ele pode alterar a ordem dos candidatos ou os metadados de revisão, mas nunca grava em MEMORY.md nem promove um candidato por conta própria.
Cobertura do relatório de teste paralelo de QA
O QA Lab inclui um cenário exclusivo para relatórios destinado a explorar como um futuro teste paralelo do Dreaming poderia revisar uma memória candidata antes da promoção: um agente compara uma resposta de referência com uma resposta que pode usar a memória candidata e, em seguida, grava um relatório local com um veredito, motivo e indicadores de risco. Essa cobertura limita-se ao QA — ela verifica se o artefato de relatório permanece separado deMEMORY.md e se o agente nunca afirma que o candidato foi promovido. Ela não adiciona comportamento de teste paralelo à produção nem altera o mecanismo de promoção da fase profunda.
O executor de testes paralelos do memory-core mantém o mesmo contrato exclusivo para relatórios nos caminhos de código que precisam de um artefato estável. Ele aceita o candidato, o prompt do teste, o resultado de referência, o resultado do candidato, o veredito, o motivo, os indicadores de risco e as referências de evidência; em seguida, grava um relatório com promotion action: report-only. Vereditos úteis correspondem a uma recomendação promote, vereditos neutros correspondem a defer e vereditos prejudiciais correspondem a reject — nenhum deles grava em MEMORY.md nem aplica a promoção da fase profunda.
Agendamento
Quando ativado, omemory-core gerencia automaticamente um trabalho Cron para uma varredura completa do Dreaming, sem duplicações entre o workspace principal do runtime e qualquer workspace de agente configurado, para que a distribuição entre workspaces de subagentes não exclua o DREAMS.md e o estado de memória do agente principal.
Início rápido
- Ativar o Dreaming
- Cadência personalizada de varredura
Comando de barra
/dreaming on e /dreaming off exigem status de proprietário para chamadores de canal ou operator.admin para clientes do Gateway. /dreaming status e /dreaming help são somente leitura.
Fluxo de trabalho da CLI
- Prévia/aplicação da promoção
- Explicar a promoção
- Prévia do ambiente de teste REM
memory promote usa os limites da fase profunda por padrão, a menos que sejam substituídos por flags da CLI.Principais padrões
Todas as configurações ficam emplugins.entries.memory-core.config.dreaming.
boolean
padrão:"false"
Ativa ou desativa a varredura do Dreaming.
string
padrão:"0 3 * * *"
Cadência Cron da varredura completa do Dreaming.
string
Substituição opcional do modelo do subagente do Diário de sonhos. Use um valor canônico
provider/model ao também definir uma lista de permissões allowedModels para o subagente.number
padrão:"160"
Número máximo estimado de tokens preservados de cada trecho de recuperação de curto prazo promovido para
MEMORY.md. A proveniência da classificação permanece visível.A maior parte das políticas de fase, dos limites e do comportamento de armazenamento consiste em detalhes internos de implementação. Consulte a referência de configuração de memória para ver a lista completa de chaves.
Interface de sonhos
Quando ativada, a aba Dreams do Gateway mostra:- estado atual de ativação do Dreaming
- status por fase e presença da varredura gerenciada
- contagens de curto prazo, fundamentadas, de sinais e de itens promovidos hoje
- horário da próxima execução agendada
- um fluxo distinto de cena fundamentada para entradas preparadas de reprodução histórica
- um leitor expansível do Diário de sonhos, fornecido por
doctor.memory.dreamDiary