PtcRunner.SubAgent.Compression.SingleUserCoalesced (PtcRunner v0.5.1)

View Source

Default compression strategy that coalesces all context into a single USER message.

This strategy transforms multi-turn execution history into a compact, LLM-optimized format. The output structure is:

[
  %{role: :system, content: system_prompt},
  %{role: :user, content: mission + namespaces + history + errors + turns_left}
]

Content Order in USER Message

  1. Mission text (always first, never removed)
  2. Namespace sections (tools, data/, user/)
  3. Expected output (return format from signature)
  4. Execution history (tool calls made, println output)
  5. Conditional error display (only if last turn failed)
  6. Turns indicator ("Turns left: N" or "FINAL TURN - ...")

Error Handling

Uses conditional collapsing based on recovery status:

  • If last turn failed: shows most recent error only
  • If last turn succeeded: collapses all errors (no error section)