with one click
recall
// Run explicit Signet recall through the canonical scoped recall path, preserving scores, sources, provenance, supplementary context, and session dedupe metadata.
// Run explicit Signet recall through the canonical scoped recall path, preserving scores, sources, provenance, supplementary context, and session dedupe metadata.
Navigate Signet ontology and knowledge graph state from Codex.
Use Signet-specific recall and source search from Codex without confusing it with Codex native memory.
Save explicit notes into Codex native memory through Signet.
Search Signet transcript/session evidence from Codex.
Diagnose Signet memory, recall, source, session, embedding, and graph issues from runtime truth without bypassing scope or provenance.
Save an explicit scoped memory through Signet. Use only when the user clearly asks to remember something or when a tool/harness must persist an explicit memory row.
| name | recall |
| description | Run explicit Signet recall through the canonical scoped recall path, preserving scores, sources, provenance, supplementary context, and session dedupe metadata. |
| user_invocable | true |
| arg_hint | search query |
| builtin | true |
Use this skill for targeted explicit recall. It is not the same surface as prompt-submit context injection.
Signet's canonical explicit recall endpoint is POST /api/memory/recall.
The CLI, MCP, and hook recall surfaces should stay thin wrappers around that
contract. Recall combines FTS5, prospective hints, vector similarity,
structured path evidence, graph traversal, optional reranking, source-backed
fallbacks, currentness shaping, and session context dedupe where configured.
Do not describe it as a fixed 70/30 vector/BM25 search.
Use /recall when:
Do not use /recall as a ritual before every task. Session-start and
prompt-submit injection already provide lightweight context. Use explicit
recall when there is a concrete retrieval question.
signet recall "<query>"
Useful options:
signet recall "Signet ontology policy" --agent codex --limit 10
signet recall "vim keybindings" --type preference --tags editor
signet recall "OpenMarketUI evaluator health" --project /mnt/work/openmarketui
signet recall "what did we decide about source truth" --aggregate --no-save-aggregate
signet recall "recent Signet failures" --session-key "$SESSION_KEY" --include-recalled
signet recall "ontology" --keyword-query '"ontology" OR "graph"' --json
Options:
--agent <name> filters/authorizes by Signet agent scope--project <path> filters by project--type, --tags, --who, --pinned, --importance-min, --since, and
--until filter memory rows--keyword-query <query> overrides the FTS query while keeping the recall
query intact--aggregate asks Signet to synthesize a bounded answer from recall evidence--aggregate-budget <small|medium|large> caps follow-up recall breadth--no-save-aggregate avoids persisting the aggregate answer--session-key <key> enables context-epoch dedupe--include-recalled returns rows already recalled in the current epoch--json preserves the full response contract for toolingcurl -s http://localhost:3850/api/memory/recall \
-H 'content-type: application/json' \
-d '{
"query": "user preferences for editor",
"limit": 10,
"agentId": "codex",
"sessionKey": "session-uuid",
"includeRecalled": false,
"aggregate": false
}'
The hook route POST /api/hooks/recall is a compatibility wrapper. It applies
hook/session policy and forwards supported filters to the same recall family
contract. Do not add separate retrieval behavior to hook or connector
formatters.
Preserve and show useful metadata. A normal response looks like:
{
"results": [
{
"id": "uuid",
"content": "User prefers vim keybindings.",
"score": 0.92,
"source": "hybrid",
"type": "preference",
"tags": "preference,editor",
"pinned": false,
"importance": 0.9,
"who": "codex",
"project": null,
"created_at": "2026-02-21T10:00:00.000Z",
"supplementary": false,
"already_recalled": false
}
],
"query": "user preferences for editor",
"method": "hybrid",
"meta": {
"totalReturned": 1,
"hasSupplementary": false,
"noHits": false
}
}
Common source values include hybrid, vector, keyword, hint,
structured, traversal, ka_traversal, source_obsidian,
native_memory, constructed, graph, and llm_summary.
Display results with:
supplementary statusalready_recalled when session dedupe is activeDo not flatten recall into anonymous bullets when metadata is present.
Aggregate recall first runs normal recall, may ask the inference router for
bounded follow-up queries, synthesizes one concise answer from unique evidence
rows, and returns aggregate metadata. Saving aggregate answers requires
remember permission; recall-only callers can set saveAggregate: false.
Use aggregate mode when the user asks a broad question over prior memory and a source-backed synthesis is more useful than a ranked list.
/api/memory/recall as the canonical explicit recall contract.agentId, project, visibility policy, and session key deliberately.