Skip to main content

Session continuity

The system treats chat history as temporary workspace. Active engineering state is kept in a small GitHub Issue called an AI Work Packet.

Why this was needed

The earlier loop consumed tokens and required repeated manual copy/paste. The current loop keeps resumable state in the repository-scoped Work Packet.

One packet per workstream

A repository can have several independent active workstreams. Examples:
A Work Packet is not a project diary. It is a current-state record.

Required identity

Its main sections are:

Packet lifecycle

A new independent workstream gets a new Issue. A new chat window does not. Do not create a central cross-project handoff repository. The product repository is the namespace boundary for its own Work Packets.

Fail-closed resume

Cursor and ChatGPT do not guess when the current workstream is ambiguous. The resolver first determines the repository, then requires the matching active packet. If there are zero or multiple valid matches, it stops and asks for the minimum clarification needed. LAST_VERIFIED_HEAD is advisory only. Current Git state must always be rechecked.

Why GitHub Issue instead of HANDOFF.md

Updating a committed handoff file changes the product source HEAD. For release candidates that require exact-HEAD qualification, that can invalidate evidence. Updating an Issue preserves the qualified source revision.

Conversation handoff

When a chat becomes too long, no special Handoff Issue is created and no giant continuation prompt is required. The active Work Packet is updated, and the next conversation can begin with a short request such as:
The new conversation reloads the active Work Packet and current GitHub state instead of replaying the old chat.
Last modified on September 19, 2026