lineage
A cadeia de edições por trás de uma memória, da mais antiga para a mais recente. revisions diz quanto um store mudou; esta chamada diz o que aconteceu com um fato.
Compatível com o Tablet 2 e modelos mais novos. Somente leitura. Diferente de
revisions, esta é uma chamada cobrada normalmente, porque retorna conteúdo de memória.Passe o id de qualquer memória da cadeia. As versões substituídas são mantidas em vez de apagadas, então uma busca que retorna apenas o fato atual ainda pode ser rastreada até a origem.
chain = mem.lineage(memory_id=mid)["chain"]
for step in chain:
print(step["changed_at"], step["action"], step["content"])200
{ "memory_id": "m_9", "count": 3, "truncated": false,
"chain": [
{ "memory_id": "m_3", "content": "lives in Seoul",
"created_at": "2026-03-02T…", "changed_at": "2026-06-11T…",
"action": "replaced", "confidence": 0.94,
"superseded_by": "m_7", "is_current": false },
{ "memory_id": "m_7", "content": "moved to Busan", … },
{ "memory_id": "m_9", "content": "Haeundae, specifically",
"changed_at": null, "superseded_by": null, "is_current": true }
] }| Campo | O que faz |
|---|---|
| chain | As versões, da mais antiga para a mais recente. Cada uma carrega os mesmos campos de uma memória, mais os quatro abaixo. |
| changed_at | Quando esta versão foi substituída (RFC3339), ou null enquanto ela ainda está em vigor. |
| action | O que aconteceu neste elo - como a substituição se relacionou com esta versão. |
| confidence | Quanto o motor estava seguro dessa relação, de 0 a 1. |
| is_current | True para a única versão ainda em vigor. Exatamente uma por cadeia. |
| truncated | True quando a cadeia era mais longa do que o serviço percorre. Os passos retornados continuam sendo os mais antigos. |
Para que serve
Dois usos. Depuração: por que uma memória está redigida como está hoje. E permitir que um assistente veja o próprio histórico - um fato corrigido três vezes é um tipo de fato diferente de um escrito uma única vez, e só a cadeia mostra isso.