Sua pergunta procede totalmente. Código muda constantemente e a indexação precisa acompanhar, senão vira referência para código fantasma.
O Th0th já resolve isso hoje com detecção automática de staleness: a cada busca, o IndexManager compara os mtimes dos arquivos no disco contra a última indexação. Se detecta mudanças, faz reindexação incremental -- só reprocessa os arquivos alterados, não o projeto inteiro. Índices com mais de 24h também são marcados como stale automaticamente. Após qualquer reindexação, o cache é invalidado e re-aquecido com as queries mais frequentes.
Além disso, adicionei uma atualização recente, que inclui um job de consolidação em background que roda a cada 5 minutos, aplicando decay adaptativo nas memórias (decisões decaem lento, conversas decaem rápido), podando memórias obsoletas e limpando arestas órfãs do Knowledge Graph. O AutoCheckpointer cria snapshots automáticos de tarefas longas a cada N operações, e o Knowledge Graph extrai relações automaticamente sempre que uma nova memória é armazenada.
Estou adicionando melhorias como watch mode com file system watchers e integração com hooks de git para reindexação ainda mais reativa.