Skip to content

Official Pi beta testing branch (keep separate from fork main) - #45

Closed
fitchmultz wants to merge 3 commits into
mainfrom
upstream
Closed

fitchmultz wants to merge 3 commits into
mainfrom
upstream

Conversation

@fitchmultz

@fitchmultz fitchmultz commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Official Pi testing branch — do not merge into fork-specific main

This draft tracks the long-lived upstream beta branch for people testing Posthorse with official Pi 0.87.1. The working fork-specific main, installed runtime, user settings, and published npm package remain unchanged. No merge or npm release is requested.

pi install git:github.com/fitchmultz/pi-posthorse@upstream

Restart Pi and start a fresh official session. Update with pi update git:github.com/fitchmultz/pi-posthorse@upstream. Existing fork users must use a separate official Pi profile: Git package identity ignores the branch ref, and installing this source into their existing profile can replace that profile's fork variant.

Supersedes experiment #44, which GitHub closed when its head branch was renamed to upstream.

Changes

  • Delegate automatic threshold/recovery/retry scheduling to official Pi's compaction hook, supplying a bounded handoff and native retain-none boundary without a summarizer request.
  • Read live effective event settings and completed context edits; check both cancellation signals; preserve native manual compaction.
  • Keep explicit successful-batch resets and select the first handoff when several are requested.
  • Correct note-publication symlink/path semantics using the existing fork contract.
  • Retain notes, history, images, paging, reminders, and tool cards. Clearly qualify proactive persisted-settings estimates.
  • Provide branch-specific install/update/remove instructions and CI on upstream pushes.

Deliberate beta limitations

Official Pi must prepare a compaction before its automatic hook runs. With default settings, small overflow/length responses may get no reset, and a second large tool result in the same post-reset assistant/tool-only span can bypass the hook even with a smaller keepRecentTokens value. First/late queued oversized input is also unguarded. Tests reproduce these limits; this branch does not silently change user settings or add an alternative scheduler/input archival subsystem.

Other documented limits: proactive settings can differ from the live host; later turn-end cancellation may still commit an explicit draft; normal compaction presentation wraps the handoff as a summary; raw fork transcripts and fork execution-state migration are unsupported. This is not full fork parity or production qualification.

Verification

  • TypeScript, 38 real official-SDK cases, and 14 renderer cases passed final-revision CI on both the upstream push and this draft PR.
  • Seven reproduced regressions fail against the previous implementation and pass with these changes.
  • Thirty portable notes/history/budget/concurrency checks passed unchanged through the recon adapter.
  • Read-only correctness review and parent diff/hash inspection completed.
  • Actual official 0.87.1 CLI installed the public @upstream source in a clean isolated profile, then pi update advanced its checkout from 9fbc5a6 to 19aa2c1. Removal deleted only that isolated package checkout and its source declaration.
  • The updated configured package (no local -e index.ts override) passed real CLI/Anthropic-adapter loopback checks: explicit reset plus note/history recovery in 3 requests; large-output automatic handoff in 2 requests; current system/tool declarations and raw history preserved; no summary-model requests. No live remote model claim.
  • Installer receipts: /tmp/posthorse-upstream-test-IBLovo/{install-receipt.json,update-receipt.json,remove-receipt.json}. Final runtime receipts: smoke-explicit-1790212464231/receipt.json and smoke-automatic-1790212465071/receipt.json under the same directory.
  • CI: https://github.com/fitchmultz/pi-posthorse/actions/runs/35942027039 and https://github.com/fitchmultz/pi-posthorse/actions/runs/35942030774 .
  • Remote main remains 4e98a7e; both production checkout/runtime are clean. Only upstream advanced.

main now runs on official Pi and the fork from one package, so this beta
branch carries main's tree unchanged.
@fitchmultz

Copy link
Copy Markdown
Owner Author

Superseded by #51, released as pi-posthorse@0.6.0. main now runs on official Pi and the fork from one package, using this branch's official rollover path behind host detection. upstream has been merged forward to main (normal merge, no history rewrite), so existing @upstream installs get 0.6.0 on their next pi update. New installs should use pi install npm:pi-posthorse or the unpinned Git source.

@fitchmultz fitchmultz closed this Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant