Problem
recall with type: "handoff" does not reliably surface the most recent handoff. In today's session (2026-04-11), querying for handoffs returned memories from April 4 and April 7, but not the handoff created 30 minutes prior (08:54 today).
Observed behavior
recall with type: "handoff" and query "handoff 2026-04-11 EXP-30 llama.cpp verdict suspended" — returned handoffs from April 4, April 7, April 7 (three old ones). The 08:54 handoff was absent.
recall without type filter and query "session handoff 2026-04-11 08:54" — returned an unrelated memory about the Model Control Center.
recall_session showed the handoff existed in the session list (summary only, no content).
check_memory on the handoff ID returned truncated content (cut off after ~100 chars of the body).
- Only the raw REST API (
GET /api/v1/memories/:id) returned the full handoff content.
Expected behavior
The most recent handoff should be the first result when querying for handoffs, especially within minutes of creation. Handoffs are high-salience (0.95) and explicitly designed to be surfaced by recall_project and type-filtered recall.
Root cause hypotheses
- Recency scoring too weak for type-filtered queries: The spread activation recency bonus may not be weighting recently-created memories strongly enough relative to older memories with more associations/access counts.
- FTS ranking dominance: Older handoffs have richer concept overlap from repeated encoding cycles, so FTS scores them higher despite being stale.
check_memory content truncation: Separate bug — check_memory should return the full content, not truncate it. This forced a workaround through the REST API.
Impact
This is a session-start blocker. The entire point of create_handoff is continuity between sessions. If the most recent handoff doesn't surface on recall, agents waste time hunting for it (as happened today — ~6 recall attempts before resorting to the raw API).
Reproduction
- Create a handoff via
create_handoff
- Wait for encoding (< 1 min)
recall with type: "handoff" and a query matching the handoff content
- Observe that older handoffs rank higher than the one just created
Problem
recallwithtype: "handoff"does not reliably surface the most recent handoff. In today's session (2026-04-11), querying for handoffs returned memories from April 4 and April 7, but not the handoff created 30 minutes prior (08:54 today).Observed behavior
recallwithtype: "handoff"and query"handoff 2026-04-11 EXP-30 llama.cpp verdict suspended"— returned handoffs from April 4, April 7, April 7 (three old ones). The 08:54 handoff was absent.recallwithout type filter and query"session handoff 2026-04-11 08:54"— returned an unrelated memory about the Model Control Center.recall_sessionshowed the handoff existed in the session list (summary only, no content).check_memoryon the handoff ID returned truncated content (cut off after ~100 chars of the body).GET /api/v1/memories/:id) returned the full handoff content.Expected behavior
The most recent handoff should be the first result when querying for handoffs, especially within minutes of creation. Handoffs are high-salience (0.95) and explicitly designed to be surfaced by
recall_projectand type-filtered recall.Root cause hypotheses
check_memorycontent truncation: Separate bug —check_memoryshould return the full content, not truncate it. This forced a workaround through the REST API.Impact
This is a session-start blocker. The entire point of
create_handoffis continuity between sessions. If the most recent handoff doesn't surface on recall, agents waste time hunting for it (as happened today — ~6 recall attempts before resorting to the raw API).Reproduction
create_handoffrecallwithtype: "handoff"and a query matching the handoff content