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:
- context for durable project context;
- index, search and graph for repository retrieval.
Next
Continue with Runs and validation to see how Istok records individual attempts and preserves evidence that the result was checked.