Skip to content

Upgrade Pi to 0.81.1 and reconcile proactive-compaction retry ownership #156

Description

@ArneDeutsch

Problem

PiCC currently pins the coordinated Pi packages at 0.80.10. A transient Codex WebSocket failure during proactive compaction can make each physical ctx.compact() call fail because that Pi version does not apply its configured provider retry policy to summarization.

In an observed session, PiCC exhausted its three bounded outer attempts and paused safely. Manual /compact succeeded shortly afterward. The same session had compacted successfully earlier, and its persisted provider diagnostic identified a transport failure after the message stream started rather than malformed state, credentials, hooks, or restoration logic.

Pi 0.81.1 includes the upstream summarization retry change from pi-mono#6901, addressing pi-mono#6647.

Expected behavior

A transient summarization transport drop should retry under one coherent bounded policy and normally complete without requiring manual /compact. Persistent failure should continue to pause safely with actionable recovery and retained transcript state.

Proposed scope

  • Upgrade @earendil-works/pi-coding-agent, @earendil-works/pi-agent-core, @earendil-works/pi-ai, and @earendil-works/pi-tui to at least 0.81.1.
  • Adapt any changed APIs or events.
  • Reconcile Pi's new inner summarization retries with PiCC's three outer compaction attempts so the effective retry budget and delay do not multiply unexpectedly.
  • Add regression coverage for a transient summary transport failure followed by success.
  • Preserve PiCC's fail-closed checkpoint, generation-bound recovery token, manual recovery, and transcript-retention semantics.

Non-goals

  • Implementing a PiCC WebSocket client.
  • Retrying quota, authentication, abort, or deterministic provider failures.
  • Changing proactive compaction thresholds.
  • Exposing private provider diagnostics in transcripts.

🤖 Generated with the implement-feature skill — agent-authored, posted under the maintainer's authenticated gh account, not hand-written.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions