Persist Pi sessions by GSD session ID#52
Conversation
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe changes implement session resumption for the PI executor by introducing a new session persistence helper function that derives per-session file paths, modifying the PI execution path to compute and pass the resumption file to the executor, and adding comprehensive test coverage for the session storage behavior. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
What
Daemon Pi task execution passes a stable local Pi session file for each GSD session.
Why
Pi requires
--session <path>to preserve conversation context across spawned task processes. The GSD session ID is the stable local key for that conversation.How
~/.gsd-cloud/pi-sessions/<session-id>.jsonl.pi.Options.ResumeSessionso the Pi CLI runs with--session.Verification
go test ./internal/session -run 'TestPiSessionFileForSessionUsesGSDSessionID|TestActorPiExecutorUsesPersistentSessionFile|TestHandleResultDoesNotPersistPiSyntheticSession'go test ./internal/session ./internal/pigo test ./...Post-merge
Daemon runtime behavior changes require a daemon release tag and release workflow before installed machines receive the fix.
Summary by CodeRabbit
Release Notes
New Features
Tests