Développeurs

lineage

La chaîne des modifications derrière un souvenir, de la plus ancienne à la plus récente. revisions indique l'ampleur des changements d'un store ; celui-ci indique ce qui est arrivé à un fait précis.

Pris en charge à partir de Tablet 2. Lecture seule. Contrairement à revisions, il s'agit d'un appel facturé normalement, car il renvoie du contenu de souvenirs.

Passez l'id de n'importe quel souvenir de la chaîne. Les versions remplacées sont conservées et non supprimées : une recherche qui ne renvoie que le fait courant reste donc traçable jusqu'à son origine.

chain = mem.lineage(memory_id=mid)["chain"]
for step in chain:
    print(step["changed_at"], step["action"], step["content"])
const { chain } = await mem.lineage(undefined, mid);
for (const step of chain) {
  console.log(step.changed_at, step.action, step.content);
}
let r = mem.lineage(None, mid).await?;
for step in r["chain"].as_array().unwrap_or(&vec![]) {
    println!("{} {} {}", step["changed_at"], step["action"], step["content"]);
}
curl -X POST https://api.wontopos.com/api/v1/memory/lineage \
  -H "X-API-Key: $WOS_KEY" -H "Content-Type: application/json" \
  -d '{"user_id":"alice","memory_id":"m_9"}'
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 }
  ] }
ChampCe qu'il fait
chainLes versions, de la plus ancienne à la plus récente. Chacune porte les mêmes champs qu'un souvenir, plus les quatre ci-dessous.
changed_atDate à laquelle cette version a été remplacée (RFC3339), ou null tant qu'elle est encore en vigueur.
actionCe qui s'est passé à ce maillon - la relation entre le remplacement et cette version.
confidenceLe degré de certitude du moteur quant à cette relation, de 0 à 1.
is_currentVrai pour la seule version encore en vigueur. Exactement une par chaîne.
truncatedVrai lorsque la chaîne était plus longue que ce que le service parcourt. Les étapes renvoyées restent les plus anciennes.

À quoi cela sert

Deux usages. Le débogage : comprendre pourquoi un souvenir se lit ainsi aujourd'hui. Et permettre à un assistant de consulter son propre historique : un fait corrigé trois fois n'est pas de même nature qu'un fait écrit une seule fois, et seule la chaîne le montre.