istok

Context

Learn how Istok combines durable project knowledge with repository retrieval while keeping task state separate.

Istok helps coding agents work with context that lives beyond a single conversation.

It keeps durable project knowledge, preserves task state, and retrieves relevant repository content so an agent can continue work without depending on chat history alone.

Project context

Project context contains knowledge that should remain useful across tasks and sessions.

Examples include:

  • architectural decisions;
  • repository conventions;
  • implementation constraints;
  • reusable instructions;
  • project-specific notes and knowledge.

This information lives with the Istok project and can evolve independently of any individual task.

Task state

A task keeps the state of a particular piece of work.

That state can include:

  • progress;
  • blockers and dependencies;
  • comments and decisions specific to the task;
  • previous runs;
  • validation results.

When work continues later, an agent can inspect the task and its history before making further changes.

Task state is durable, but it is not copied into a run’s context snapshot.

Repository retrieval

Istok also maintains a local repository index that can retrieve code and documents relevant to the current work.

Repository retrieval can help an agent find:

  • relevant files and text;
  • symbols;
  • relationships between symbols.

The index is maintained as part of the Istok workflow. Agents normally use retrieval through MCP, so you do not need to update the index manually before starting work.

Context when a run begins

When an agent claims a task, Istok prepares the context for that attempt.

The persisted context snapshot contains two kinds of material:

Project context
       +
Repository retrieval

Context snapshot

Run

Project context includes the applicable durable records and enabled project instructions. Repository retrieval contains the code or documents selected for the work.

The task itself remains separate. Its progress, blockers, dependencies, and run history stay attached to the task rather than being copied into the context snapshot.

This distinction lets Istok preserve both:

  • the evolving state of the task;
  • the exact context selected for a particular run.

Context snapshots are immutable

The live project context can change while a task is being worked on.

For example, a project decision may be updated after an earlier run has already started.

That does not rewrite the earlier run’s context snapshot.

Run A
  └── Context snapshot
       └── Project context revision 3

Project context
  └── updated later to revision 4

Run B
  └── can receive the newer project context

Each run therefore keeps the context selected for that attempt, while the project’s live knowledge can continue to evolve.

How the pieces work together

A useful way to think about Istok state is:

Project context
→ reusable knowledge and instructions

Task state
→ progress, blockers, dependencies, and work history

Repository retrieval
→ relevant code and documents

Context snapshot
→ immutable project context + repository retrieval for one run

Together, these pieces let a new session understand both what the project knows and what has already happened with the work.

Manual inspection

Agents normally use project context and repository retrieval through MCP.

The CLI is available when you want to inspect or manage them directly:

Next

Continue with Runs and validation to see how Istok records individual attempts and preserves evidence that the result was checked.