Files
vectorize-io__hindsight/hindsight-clients
Nicolò Boschi e1310d34f9 feat(api,control-plane): recall results carry the attachments behind each fact (#4277)
* feat(api,control-plane): recall results carry the attachments behind each fact

A recall result reported no attachments, so an agent that recalled a fact
derived from a screenshot had no way to show it. The only handle available was
`include.chunks`, and going through the chunk is wrong: a chunk lists every
attachment its text references, so a fact drawn from the prose beside a
screenshot would be shown that screenshot as its evidence.

Recall now returns `attachments[]` on each result, resolved from the per-fact
edge the extractor recorded at retain time — the same edge the memory read
endpoints already return. It is unconditional rather than another `include`
flag: the ids live on `memory_units.attachment_ids`, so a bank that has retained
no attachments pays one indexed read that resolves nothing.

The Recall Analyzer renders them beneath each result, and drops the score
breakdown row in favour of entity and tag chips (the shared facet chips) plus
the occurred/mentioned timestamps — the per-signal scores are a retrieval
debugging concern and are already in the Trace tab. Scores render at four
significant digits with the exact value on hover; fixed decimals would collapse
0.001125 and 0.001004 to the same "0.001", which is why they were unrounded
before. Entities are included by default because that flag gates the entity
names on each result, not just the observations block.

* chore: regenerate the docs-skill OpenAPI reference
2026-09-09 18:37:52 +02:00
..
2025-11-25 19:28:26 +01:00