Sessions#
A session stores the conversation and PacketCode's working context for one project. Sessions can be resumed, renamed and compacted.
Before you start#
- Start PacketCode from the same intended project root.
- Keep the project in Git so file changes can be reviewed independently of the transcript.
Daily use#
- Start
packetcodewith no subcommand for the interactive interface. - Use the session picker to resume an existing conversation.
- Rename long-running sessions so their purpose is recognisable.
- Compact when the context grows large, then verify the summary retained the constraints and unfinished work that matter.
- Use undo only for changes represented in the current session and still available to its change tracking.
Background processes and delegated jobs are not durable execution services. Exiting PacketCode can end active work even though session and job records remain on disk.
Verify#
- Ask the resumed session to state the project root and current objective.
- Compare its answer with
git rev-parse --show-topleveland Git status. - Confirm the intended provider and permission profile are active.
- Run a read-only turn before authorising new changes.
If a transcript is damaged or points at the wrong project, leave it unchanged for diagnosis and start a new named session in the correct directory.
If it does not work#
| Symptom | Check | Recovery |
|---|---|---|
| A resumed session has lost context | Whether it was compacted | Compaction is lossy by design; the session continues, the transcript does not |
| A session cannot be recovered | Whether the data home moved | See Back up PacketCode |
| A tool result says output was withheld | Why it was withheld | See A tool result says output was withheld |
| The session stalls with no error | Whether a provider call is still outstanding | See Collect a diagnostic log |