ConceptsBackfill
Concepts

Backfill

Stele is most useful on a project that already has history. Backfill seeds the record from what you've already built — the code, the git history, the docs, the issues — so a fresh graph starts full instead of empty. Your own agent does the reading; Stele coordinates it and stores what it finds.

Who does the reading

This is the part to be precise about: Stele doesn't crawl your repo on a server. Backfill runs inside the agent you already use, on your machine. When you start it, your agent takes the role of orchestrator and spawns a wave of focused, cheap-model "missions" — each one reads a different source and reports back what it found. Nothing leaves your machine except the findings you approve.

Honest about what this is

Backfill is an agent-driven flow, not a magic importer. It reads what you point it at, fact-checks its own findings against the code, and asks for your approval before it writes. Facts it can't tie to a source are dropped rather than guessed.

What it reads

Each mission specializes in one source, so the findings come back sourced and specific rather than vague:

  • The code — the structure of the system and the components it breaks into.
  • Git history — the decisions and reversals written into commits over time.
  • Issues & pull requests — the problems that came up and how they were resolved.
  • Documentation — design notes and READMEs already in the repo.
  • Past agent sessions — the reasoning from earlier work with your agents.

How a run goes

You stay in control the whole way. Backfill checks in before it gathers, before it spends on a model tier, and before it writes — so you decide the scope, not it.

your agent
/stele:start
no record here yet. Backfill from this repo? (you approve each step)
# missions read in parallel, then fact-check
· code → 18 components · git → 24 decisions · issues → 11 risks · docs → 6 notes
review the findings, then I'll insert them with their sources.
inserted 59 nodes, linked and sourced ✓

Every node it writes carries its provenance — where the fact came from — so you can trace any backfilled decision back to the commit, issue, or file it was drawn from. From there the record behaves like any other: it's served back on prompts, and it ages and gets verified like knowledge you write by hand.

Run it

Backfill is part of /stele:start — on a project with history, it offers to seed the record as the first step. You can also ask for it directly:

Paste into your agent

Backfill this project into Stele. Read the code, the git history, and the docs, fact-check what you find, and show me the findings before inserting anything.

Start small if you want

On a large repository you can scope the first run to the part you're actively working in, then widen it later. Backfill adds to the record; it never overwrites what's already there.