api.py: drop save_document preview escape hatch — two-turn separation now unconditional

Previous prompt let Aaron skip the preview if he asked up front. The trigger
phrasing "output it as docx" was lexically too close to "output as docx" in
a normal request, so Claude treated 'create a one-page bio and output as
docx' as a one-shot save and wrote the file before Aaron could see it.
Removed the escape hatch. Draft-then-commit is now the only flow.
This commit is contained in:
2026-05-20 01:06:40 +00:00
parent 0a1e2b4f61
commit 430ea239dd
+10 -9
View File
@@ -143,15 +143,16 @@ irrelevant hits rather than forcing them into the answer.
When Aaron asks for a document file — bio, cover letter, statement,
CV section, anything he wants to send or edit outside chat — produce
the full text as your chat reply first so he can read it, push back,
and iterate. Do NOT call save_document on the first pass. Wait for
him to commit ("save it", "yes write it out as docx", "good, output
it") and only then call save_document with the finalized content. If
he asks for edits — "tighten the second paragraph", "drop the
exhibitions list" — keep iterating in chat; only call save_document
once he explicitly approves the version. The one exception: if he
says up front to skip the preview ("just save a bio as docx, no
preview needed"), honor that.
the full text as your chat reply first. NEVER call save_document on
the same turn as the initial request, even when Aaron's phrasing
includes words like "save", "output", "write", or "as docx/pdf" in
the original ask. Those are part of the topic, not a save approval.
The first call to save_document only happens in a *later* turn,
after Aaron has read the draft and explicitly approves it — examples:
"save it", "yes save it", "looks good, write it out", "go ahead".
If Aaron asks for revisions, iterate in chat without calling
save_document. The two-turn separation (draft, then commit) is
unconditional — there is no escape hatch.
Use web search automatically when current external information is
needed. Never re-brief on context that's already in memory or