Problem
`capture_insight` produces rich free-text knowledge items that accumulate over time. The read side is list-and-filter on category / status / confidence. Agents and operators who want to know "what did we learn about churn analysis last quarter" have no semantic recall path.
Notably the memory layer (`memory_recall`) already has this capability for memory records. Insights are the same shape (text body + entity URNs + metadata) and the same query path should work.
Proposal
Index every approved insight's `insight_text` + `category` + entity URN context. Add a semantic recall command to the knowledge toolkit (`recall_insight query=...`) that mirrors `memory_recall semantic`. Insights and memories may eventually share one ranking surface, but this issue ships the insight side independently.
Depends on
#438 (indexing-job framework). The knowledge insight indexer is a Source on `knowledge_insights`.
Acceptance criteria
- Insights indexed on status transition to approved (already where the workflow signs off).
- `recall_insight query=...` returns the top K relevant insights with score + provenance.
- Recall respects persona visibility (operators only see insights their persona can read).
Out of scope
- Unifying memory_recall and recall_insight into one query. Keep them separate until both prove out.
Problem
`capture_insight` produces rich free-text knowledge items that accumulate over time. The read side is list-and-filter on category / status / confidence. Agents and operators who want to know "what did we learn about churn analysis last quarter" have no semantic recall path.
Notably the memory layer (`memory_recall`) already has this capability for memory records. Insights are the same shape (text body + entity URNs + metadata) and the same query path should work.
Proposal
Index every approved insight's `insight_text` + `category` + entity URN context. Add a semantic recall command to the knowledge toolkit (`recall_insight query=...`) that mirrors `memory_recall semantic`. Insights and memories may eventually share one ranking surface, but this issue ships the insight side independently.
Depends on
#438 (indexing-job framework). The knowledge insight indexer is a Source on `knowledge_insights`.
Acceptance criteria
Out of scope