Your workspace accumulates knowledge entries: things an agent recorded, lessons distilled from reviews, notes somebody wrote down. Each one is a claim about your code. Whether a claim is still true is not something anyone can tell by reading it — you have to open the files it names and compare.
That needs a checkout, which is why this lives on the Station rather than on the server. Scheduled curation is a Station taking a batch of entries nobody has ever checked, reading the code each one names, and recording whether the claim holds.
It calls exactly the tools an operator calls by hand. It has no extra privilege, and its verdicts are recorded as coming from a scheduled run rather than from a person — because a pass nobody asked for is not the same evidence as a pass somebody chose to make.
Note: Off until you switch it on
Curation is off by default, per project. Nothing turns it on for you, and a Station with it switched on nowhere never starts a pass.
Turning it on
Open the project in the Station's project list. Under the curation section:
| Setting | What it does |
|---|---|
| Curate knowledge on a schedule | The switch. Requires a working directory — a pass reads your code, so it cannot run without a checkout. |
| Every (hours) | How long between passes for this project. Defaults to 24. |
| Entries per batch | How many entries one request takes. Defaults to 10; the server refuses more than 50. |
| Batches per run | How many batches one pass may take before stopping. Defaults to 3. |
The two numbers multiply. At the defaults a pass touches up to 30 entries, and the settings panel shows that figure rather than leaving you to work it out.
What a pass costs
One Claude session per project, per interval, billed to your own account. That is the whole cost model, and it is the reason the ceiling is low by default: a thousand-entry backlog worked down at 30 a day takes about a month, which is deliberate. Raising either number raises what curation costs you, every interval, until you lower it again.
A pass that finds nothing waiting says so and stops. That is a complete outcome, not a failure.
What it may and may not do
A curation pass reads and reports. It may:
- read files in your project
- record a verdict for an entry: the claim holds, does not hold, or names nothing checkable
- restate an entry that is true but badly worded
It may not edit your code, commit, or push. It is excluded from the teardown that rescues a coding agent's unfinished work, so it can never move a branch you were working on.
It also does not make your checkout look busy. A task dispatched to a project while a pass is running is unaffected — the pass does not hold the checkout against real work.
Where a pass runs
Normally in the project's own checkout. If that checkout is mid-work — uncommitted changes, a feature branch, or another session already in it — the pass runs in a separate worktree instead, exactly as a dispatched task would.
Either way, the verdict records the commit the pass actually read. That is what lets a check expire by itself: when the code moves past the commit a claim was verified at, the entry goes back to the queue to be checked again. Nobody has shown the claim wrong at that point — only that nobody has rechecked it since.
Rewritten entries
Where a claim is true but the wording is poor, a pass can restate it. A restated entry returns to unverified and comes back to a later batch.
This is correct rather than wasteful: the verdict was about the old wording. New wording is a new claim, and it has not been checked yet.
An entry recorded as not holding is never reworded. A false claim is retired, not rephrased.
When a pass will not start
The Station logs a reason and tries again at the next interval:
- No working directory. Curation reads your code and cannot run without a checkout.
- No enabled agent. A key is provisioned per enabled agent; an identity with no key authenticates as nobody. A named agent that is switched off on this machine does not count.
- A pass is still running. One at a time per project — a long pass and a short interval would otherwise stack sessions on one checkout.
- HEAD could not be read. A verdict has to name the commit it was formed against, so a pass that cannot determine one does not start.
What this is not
Curation does not replace looking at your own knowledge base, and it is not a prerequisite for anything. Entries can be checked by hand at any time, whether or not this is switched on — the same tools, called by a person instead of a timer.