What does repo memory give an agent?
- Evidence-backed claims: All assertions link to specific file locations
- Branch inheritance: Child experiments inherit parent’s memory
- Bounded prompts: Summary + TOC keeps context manageable
- Section-based access: Agents can read specific sections on demand
Schema
Core sections
How do I build and read it?
Ensure memory exists
Render for prompts
Get specific section
Bootstrap from existing repo
Update after experiment
max_retries counts repair attempts after the first response. Kapso selects
and reads repository files once, then asks the model to repair only malformed
JSON or an invalid outer schema. Provider, authentication, transport, and
configuration errors are not retried.
The model sees every file whole, with its real line numbers.
Each update sends the complete previous memory to the model. The model
returns only the sections it changed or added, plus an explicit
removed_sections list; every other section is carried over unchanged.
A section whose evidence cites a file the experiment changed must be
returned with refreshed line numbers (or removed), so a stale section
is never carried over. A malformed patch, such as removing a core.*
section or omitting such a section, is an invalid response and goes
through the same repair loop.
What happens when it fails?
RepoMemory is optional enrichment; experiment code and evaluation results are the primary artifacts. Search strategies therefore default to warning when a baseline or per-experiment memory update fails:warnlogs the enrichment error, then still pushes the candidate branch and cleans up the coding agent session.failstill performs branch push and cleanup, then re-raises the original RepoMemory error.- Invalid policy values and negative or non-integer retry counts fail during strategy/workspace setup.
RepoMemoryManager.bootstrap_baseline_model() and
update_after_experiment() always raise if structured-response repair is
exhausted. The warn/fail policy is applied by the search/session lifecycle.
Where is it stored?
RepoMemory is stored at.kapso/repo_memory.json in each repository.
How does it travel between experiments?
When experiments branch from a parent:- Child branch inherits parent’s
.kapso/repo_memory.json - After experiment runs, memory is updated with new understanding
- Memory is committed to the branch
- Future children of this branch inherit the updated memory
How are its claims verified?
Every claim carries a line-number reference —{path, line, description} — into the file it came from. The builder validates the model’s shape (a summary and well-formed sections); it does not re-check the referenced lines, because a line number is a pointer rather than a quotable assertion: the model is trusted as-is, and the quality block records evidence coverage.
How do agents read it?
For Claude Code agent, RepoMemory is accessible via MCP tools:Integration with coding agents
The generic strategy’s implementation prompt opens with the memory’s rendered summary and TOC:repo_memory MCP gate (get_repo_memory_section(section_id="core.architecture")), so the full memory never has to ride in the prompt.
Quality metrics
Related
Coding agents
Experiment lifecycle
pip install leeroo-kapso · Every page as plain text: llms.txt.