Revert context note truncation — preserve full note content

Pinned note: full body restored (truncation is wrong when the user is
explicitly asking about that note's content).
Auto-notes: restored to 2000 chars (800 was too restrictive for useful context).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-18 20:22:48 -05:00
parent 38697f2614
commit 7b02cc5cfd
+3 -9
View File
@@ -289,20 +289,16 @@ async def build_context(
"auto_notes": [], "auto_notes": [],
} }
# Include current note context if provided (cap at 4000 chars — explicitly selected # Include current note context if provided — full body, no truncation
# so more generous, but very long notes would blow up the prefill phase)
if current_note_id: if current_note_id:
note = await get_note(user_id, current_note_id) note = await get_note(user_id, current_note_id)
if note: if note:
context_meta["context_note_id"] = note.id context_meta["context_note_id"] = note.id
context_meta["context_note_title"] = note.title context_meta["context_note_title"] = note.title
body = note.body or ""
truncated = body[:4000]
suffix = "\n[...truncated]" if len(body) > 4000 else ""
system_parts.append( system_parts.append(
f"\n\n--- Current Note ---\n" f"\n\n--- Current Note ---\n"
f"Title: {note.title}\n" f"Title: {note.title}\n"
f"Content:\n{truncated}{suffix}\n" f"Content:\n{note.body}\n"
f"--- End Note ---" f"--- End Note ---"
) )
@@ -318,9 +314,7 @@ async def build_context(
) )
snippets: list[str] = [] snippets: list[str] = []
for n in notes: for n in notes:
# 800 chars keeps context meaningful without bloating the prefill phase. body_preview = n.body[:2000] if n.body else ""
# The user can ask follow-up questions for more detail.
body_preview = n.body[:800] if n.body else ""
snippets.append(f"- {n.title}: {body_preview}") snippets.append(f"- {n.title}: {body_preview}")
context_meta["auto_notes"].append({"id": n.id, "title": n.title}) context_meta["auto_notes"].append({"id": n.id, "title": n.title})
if snippets: if snippets: