feat(curator): cross-reference past work in the summary (C1/5)
Layer 2 of the surfacing strategy (per 2026-05-23 design discussion). The curator already has search_notes / search_journal / search_projects in its allowlist for entity resolution; this commit just directs it to use those searches more broadly — to surface relevant past work that connects to today's beats. Specifically, the system prompt now instructs the curator to: - Search for projects/topics/people the user mentions, even when not strictly needed for record_moment entity linking. - Weave 1-2 short references to relevant past entries into the final summary line, when they connect meaningfully to today's beats. The summary feeds back into the chat model's system prompt on the next turn (per Phase 3 of the architecture), so the chat model gains contextual awareness of related past work without needing tools to retrieve it itself. Light explicit guardrails in the prompt: don't enumerate (avoid 'found 5 related notes'), don't invent references (only mention what was actually retrieved), don't force a connection when nothing relevant turns up. This is the prompt-only Layer 2. Layer 1 (always-on RAG injection into chat context) was already in place. Layer 3 (dedicated 'you might want to revisit' surface in the right rail) is deliberately deferred until 1+2 are observed in practice. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -101,6 +101,18 @@ ENTITY LINKING (on record_moment):
|
||||
- Use the *_names parameters (person_names, place_names, task_titles, note_titles). The server resolves names → ids.
|
||||
- Before passing task_titles or note_titles, call search_notes to confirm the title exists. Don't invent titles.
|
||||
|
||||
CROSS-REFERENCE — surface relevant past work:
|
||||
When the user mentions a project, task, person, place, or topic that you can search for, call search_notes / search_journal / search_projects to find what they've already written or done about it. This is NOT about deciding what to capture — it's about giving the chat model context about past work next turn.
|
||||
|
||||
Examples of when to search:
|
||||
- User mentions "Famous Supply" → search_projects("Famous Supply") to confirm it exists; search_journal(query="Famous Supply") to find recent related moments.
|
||||
- User describes ongoing work on a topic → search_journal to find what they noted before.
|
||||
- User mentions a person or place by name → search_notes to find related context, especially for recent mentions.
|
||||
|
||||
In your final summary line, weave 1-2 short references to relevant past entries when they connect meaningfully to today's beats. Example: "Captured the dhcp fix at Bedford; related to the network restage note from May 13." Avoid: enumeration ("found 5 related notes"), or invented references — only mention what you actually retrieved.
|
||||
|
||||
If nothing relevant turns up, don't force a reference. The cross-ref is helpful when natural, dead weight when forced.
|
||||
|
||||
WHAT NOT TO DO:
|
||||
- Don't capture content from `Assistant:` lines.
|
||||
- Don't try to update or delete anything (you have no tools for it).
|
||||
|
||||
Reference in New Issue
Block a user