Sentinel
Engines and runtime

Repo state and checkpoints

Repo state is part of the thread model in Sentinel.

That changes a lot about how the app behaves.

The thread is carrying more than chat history. It is also carrying the repo position around the task.

That means the repo is part of the conversation state itself.

What thread repo state can hold

That state can include:

  • active branch
  • project mode
  • worktree path
  • linked pull request state
  • checkpoint anchor message
  • checkpoint cursor
  • latest checkpoint pointer

This is the part that makes the repo feel attached to the thread instead of sitting beside it.

Those fields matter because the app is constantly answering small repo questions during a run:

  • where is this thread working
  • which branch is it tied to
  • is it isolated in a worktree
  • what checkpoint can it roll back to
  • which PR is attached to this line of work

Project mode

Threads can run against:

  • the local project checkout
  • a thread worktree

That gives the app two ways to hold the work:

  • stay on the main checkout when things are simple
  • isolate the thread when the checkout is busy or dirty

Checkpoint model

Checkpoint state is tied to thread history.

A user message can become the anchor for a checkpoint run. The repo state gets captured there, and later the thread can:

  • reset back to that point
  • move the cursor
  • continue from a later checkpoint path

This is how the app lines up conversation history with code state.

The anchor message matters more than it sounds. It gives the checkpoint a real place in the thread instead of turning it into a detached snapshot with no conversational context.

Pull request state

The thread can also carry the last PR tied to the work.

That gives the UI enough state to show:

  • compare links
  • PR metadata
  • PR status in the thread view

So branch, checkpoint, worktree, and PR state all end up traveling together.

Flow

That is the core loop.

On this page