Skip to content

Instantly share code, notes, and snippets.

@possibilities
Created April 7, 2026 20:42
Show Gist options
  • Select an option

  • Save possibilities/5cf4ccba8906c1515ebb87885389c46a to your computer and use it in GitHub Desktop.

Select an option

Save possibilities/5cf4ccba8906c1515ebb87885389c46a to your computer and use it in GitHub Desktop.
Prise fork PR submission plan — next steps for upstream contributions

Prise Fork: PR Submission Plan

2026-04-07

Gate: all 4 open PRs (#106, #110, #112, #114) merge or get positive signal before starting day 1.


Current Queue (waiting on maintainer)

PR Branch Lines Type
#106 fix/zoom-state +210 Bug fix
#110 fix/headless-rpc-crash +22 Bug fix
#112 fix/deserialized-pane-id +264 Bug fix
#114 feat/vaxis-text-input +492 Behavioral change

All feedback addressed. All CI green. 6 PRs already merged upstream.


Day 1: Quick Wins

Three small PRs that are hard to disagree with. Review is trivial — the maintainer can merge each in minutes.

Branch Lines Pitch
fix/listptys-oom-leak +28 Memory safety fix. 1 file. Companion to merged #110 — same area of server.zig. Proper errdefer chains for nested allocations in handleListPtys and handleGetServerInfo.
feat/expose-execute-action +46 Bridge keybind handlers to programmatic access. Pure Lua. Config code and dialog callbacks can fire built-in actions like close_tab without reaching into locals. Was PR #102 (closed by us for cleanup).
feat/expose-theme-api +109 Read-only access to resolved theme colors. No behavior change. Config code styles custom UI to match the active theme instead of hardcoding hex values.

Goal: Keep the review queue flowing. Small diffs build velocity and trust.


Day 2: Session Switching

The big move. Two PRs that tell a story together.

Branch Lines Pitch
feat/detached-session +264 Headless session creation: prise -d -s name. Prepare a session before any terminal connects. Self-contained, clear use case, low controversy.
feat/session-switch-no-exec +703 In-process session switching. Frame as correctness: exec-based switching drops alt-screen, flashes the shell, and loses state. The in-process approach fixes all three. SessionRestorePlan preflights the target before tearing anything down — strictly safer than current behavior. Was PR #104 (closed by us, not rejected).

Open detached-session first — smaller, provides context for why session management matters. Follow with session-switch-no-exec same day.

Session switching pitch notes:

  • Lead with the bugs it fixes, not the features it enables
  • "The current exec path drops alt-screen state and resets the shell" is a bug report
  • SessionRestorePlan is a safety improvement — preflight before teardown
  • Don't mention agent workflows or external orchestration in the PR description
  • Frame generically: "users switching between projects lose their place"

Day 3-4: Session Stack Completion

After session-switch-no-exec gets positive signal.

Branch Lines Gate
feat/keep-attached +227 Positive signal on session-switch-no-exec
feat/nested-session-switch +242 session-switch-no-exec merged or approved

keep-attached is a config option — small, independent. nested-session-switch depends on session-switch-no-exec and adds RPC-triggered switching.


After the Session Stack

Ordered by review cost, interleave small and large.

Next up (medium)

Branch Lines Type
feat/tab-info-api +274 Read-only API
feat/input-forwarding +249 New capability
feature/wrap-focus-movement +133 Behavioral change
feat/tab-bar-state +230 Read-only API
fix/tab-bar-click-regions +204 Behavioral change
feat/tab-name-from-cwd +186 Behavioral change

Big ones (save for clear queue)

Branch Lines Type
feat/rename-tab +1142 New capability
feat/spawn-pty +731 New capability
fix/stale-session-attach +682 Bug fix (large refactor)
fix/crash-context +628 Infrastructure
feat/multi-client-resize-policy +35 New capability (needs design review)
feat/lua-attach-pty +87 New capability (pairs with spawn-pty)

Not for upstream

Branch Lines Reason
feat/test-filter +4 Rejected (PR #113 closed by maintainer)
feat/mmap-screen-dump +499 Experiment
feat/resize-boundary-overlay +30 Experiment (visual approach needs work)

Risk Management

Too many open PRs. If the current 4 haven't moved by day 2, hold the session switching PRs. Don't flood a stalled queue.

Session switching gets pushback. Detached-session stands alone. Keep-attached and nested-switch wait. The core pitch (exec drops state) is hard to argue with — the approach might get design feedback, but the problem statement is solid.

Maintainer goes quiet. Small PRs don't rot. They sit there as evidence of clean, useful contributions. When the maintainer comes back, there's a buffet of easy merges.


Principles

  1. Small PRs move fast. 28 lines reviews faster than 700. Front-load the easy ones.
  2. Frame features as fixes when honest. Session switching fixes real bugs (alt-screen, state loss). Lead with that.
  3. Don't pitch agent infrastructure. Every PR description talks about what prise users get, not what external tooling needs.
  4. Pace the queue. Watch how fast PRs move. Speed up or slow down accordingly.
  5. Each PR stands alone. No "this is part 3 of 7" energy. Every PR is independently useful.

Metadata

cwd: /Users/mike/src/possibilities--prise
session-id: cd826b39-b3cc-4ec1-8a66-17d951387a5f
session-name: possibilities--prise-cd826b39
path: /Users/mike/docs/prise-pr-next-steps.md
cd /Users/mike/src/possibilities--prise && claude --resume cd826b39-b3cc-4ec1-8a66-17d951387a5f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment