Lint: How a Trail Brain Keeps Itself Honest
A brain that is only ever added to gets bigger. One that is linted gets better. What Trail checks, how you set it per brain, and what each setting really does today.
Why a brain needs lint
A Trail brain is not a pile of files. It is a graph of Neurons that a language model wrote and keeps writing, every time a new source arrives. That is what makes it useful — and it is also why it needs a second process watching over it. Pages drift out of date. Sources get replaced. Two documents disagree. A Neuron loses the source that justified it.
Lint is that second process. It reads the brain the way a careful editor would, and it reports what it finds. It never edits the brain on its own: every finding becomes a candidate in the curation queue, the same queue every other change goes through. The model proposes; a person — or a policy the person set — decides.
This article walks through what lint checks, how you control it per brain, and what each setting actually does today.
The checks
Maintenance lint — the housekeeping checks:
- Stale Neurons. A Neuron nobody has touched in 90 days is flagged for a look. Not because old means wrong, but because old and unreviewed is where wrong hides.
- Orphans. A Neuron with no links in or out, and a source that no Neuron cites ("unused source"). Both usually mean something was compiled but never connected.
- Faded heuristics. Rules of thumb whose confidence has dropped enough to deserve a second opinion.
Link check — every wiki link in the brain is resolved, so a renamed or retired page does not leave dead ends behind.
Contradiction lint — the expensive one, and the most valuable. When a Neuron is approved, Trail compares it with the five Neurons most similar to it and asks a language model whether any pair disagrees. If neither page has changed since the last comparison, the model is not asked again. A contradiction becomes a candidate with four possible outcomes for the curator: reconcile the two, retire one, retire the other, or dismiss the finding.
Contradiction lint also runs on a schedule, so pages approved before it was switched on — or pages whose neighbours changed later — still get checked. The scheduled scan works through the Neurons that have gone longest without a check, oldest first, capped at 500 per brain per pass. Every page gets its turn; the cap keeps a large brain's pass inside a predictable time and cost.
A note on an earlier article: "Work That Fits in a Night" described a 60/40 split between recent edits and random older pages. What runs today is the oldest-first rotation described here. Recent edits are still checked at once, by the reactive check on approval.
All contradiction checks run on EU-hosted language models.
Settings, per brain
Everything below lives under Settings for each brain. One brain can be strict while another is relaxed.
Lint policy
Two choices. Trusting (the default): a finding you dismissed stays dismissed. Strict: a dismissed finding can come back if the underlying problem is still there on the next pass. Strict suits brains where a quiet mistake is costly; trusting suits brains where the curator's time is the scarce resource.
Lint schedule and cadence
How often the scheduled pass runs: daily, every 3, 7, 14, 30, 60 or 90 days — or the global default, which is 7 days. Weekly is the recommended setting. The settings page shows the last pass, when the next one is due, and how many findings it produced. A tighter cadence finds things sooner and costs more model calls; the page says so next to the control.
Contradiction lint — on or off
On by default. Switching it off stops both the reactive and the scheduled contradiction checks for that brain, and with them their model cost. Useful for brains where disagreement is expected — a collection of opposing opinions, for example.
Maintenance lint — on or off
On by default. Switching it off skips the stale, orphan and faded checks. The link check and contradiction checks still run.
A new version of the same source becomes canon
When a source you already have comes back changed — a corrected web page, a re-uploaded report — Trail treats the new version as the truth instead of reporting it as a contradiction with itself. Without this, every improvement to a document would create work in the queue. Changes are detected by the content itself, not by a timestamp. The switch is on by default, and it can also be turned off for individual connectors, so a brain that mixes a website sync with manual uploads can treat each the way it should be treated.
Memory fading
Off by default, per brain. When it is on, every Neuron carries a confidence that fades if nobody uses it, is reinforced when it is edited, cited or used in an answer, and is lowered when it is contradicted. Different kinds of knowledge fade at different speeds: concepts and glossary terms slowly (about a year), entities and source summaries faster (about six months), syntheses and answers to questions faster still. You can pin a Neuron to hold it at full confidence. Chat stops drawing on Neurons below a confidence of 0.3. Nothing is deleted: a Neuron that has been replaced is kept and down-weighted, so the history stays readable.
Personas: tool and public
Lint keeps what is in a brain healthy. Personas decide how the brain speaks when something outside Trail asks it. Each brain can have a tool persona and a public persona:
- A system calling Trail with an API key is a tool by default and gets the tool persona — written for software and professionals.
- A caller can ask for
audience: publicto get the public persona — written for end-users, for example on a website. - A caller can narrow its audience, never widen it. An API key can never reach the curator view.
The same audience rules decide which Neurons an answer may draw on: tool callers see tool and public material; public callers see only public material.
How findings reach you
Every finding lands in the curation queue as a candidate, with the evidence attached. Machine-made findings from Trail's own pipelines can be approved automatically when their confidence clears the threshold (0.8 by default); anything created by a person is never auto-approved, and a candidate that would replace an existing Neuron needs a clear margin before it passes on its own. The same finding is never queued twice. New findings can send a notification, so a curator does not have to remember to look.
The point
A knowledge base that is only ever added to gets bigger. One that is also linted gets better: stale pages get a second look, sources that changed become the new truth, disagreements surface instead of hiding, and nothing changes without a decision. Lint is how a Trail brain keeps itself honest — on a schedule you choose.