structuredCheckpointPrompt top-level constant
String
const structuredCheckpointPrompt
Instruction tail for the structured-compaction checkpoint LLM call (pass 2). The checkpoint text must list every covered expand id and carry open user requests verbatim (issue
Source: prompts/compaction/structured_checkpoint.md.
Implementation
const structuredCheckpointPrompt =
'Write a checkpoint of the conversation above. It replaces a range of\nrecords in the agent\'s context, so it must let the agent continue the work\nwithout the replaced records.\n\nRules:\n- Start with a `covers:` line listing EXACTLY the expand ids given in the\n `<covers>` block, verbatim, comma-separated. Every replaced segment must\n stay reachable through that line — never drop an id.\n- If an `<open-user-requests>` block is present, carry each listed request\n VERBATIM at the top of the checkpoint, under a `open asks:` heading.\n- Keep decisions, conclusions, final answers, error causes, and file paths\n the agent still needs. Preserve important tool outputs (test verdicts,\n command results, error traces) with what produced them.\n- Preserve epistemic status: uncertainty qualifiers ("may", "suspect",\n "unconfirmed") stay verbatim with their claims — never detach or upgrade a\n hedge. Tag unevidenced claims [assumed] or [hearsay: source]; [verified]\n marks a claim a kept tool result shows. Every conclusion keeps one line of\n its why, or the marker "unverified — re-verify" when the evidence is\n dropped.\n- Timeless content only: never record ephemeral, second-person, or\n time-scoped statements ("your last tool call\'s result was dropped", "you\n just ran X") — harness notes about dropped or trimmed context are one-time\n delivery events, not facts; record only the durable outcome. Durable\n temporal wording ("the last release was v1.0.492") is fine.\n- Keep it dense prose or tight bullets; no preamble, no restating these\n instructions.';