Skip to content

Check the wiki's health

sb lint looks for loose ends in the wiki: pages nothing links to, links that lead nowhere, concepts that look duplicated. It only reports. It never edits, merges or deletes anything.

Run it

sb lint
unlinked-mention: 1
near-duplicate: 1
Details in wiki/review/Lint.md

With nothing to report it prints No problems found. and exits 0. sb run runs the same check at the end of every run (Lint: 2 issues (see wiki/review/Lint.md)), so you rarely need to run it by hand. It uses no model and takes a moment, even on thousands of pages.

Read the report

The report is a note, wiki/review/Lint.md, and it appears under To review in the daily index. It exists only while there is something to fix, and it is rebuilt on every run. Each section lists up to 50 findings, in the language of the rest of the wiki:

## Unlinked mentions
- [[Hermann Ebbinghaus]] mentions [[Forgetting Curve]] without linking it

## Possible duplicates
- [[Forgetting Curve]] ≈ [[Hermann Ebbinghaus]]

What each kind means, and what to do

Kind (section) Meaning What to do
orphan (Orphan pages) No other page links to this one Link it from a page that should mention it, or ignore it. A brand-new note is an orphan until something links to it
broken-link (Broken links) A [[link]] to a page that does not exist Fix the name, create the page, or remove the link. This is what you see after deleting a note that others linked to
missing-field (Missing fields) A page without title or summary in its frontmatter Add the field. Pages you made by hand usually lack summary
unlinked-mention (Unlinked mentions) A concept's name appears in a page that does not link to it Wrap the name in [[ ]] where it helps you. Multi-word names match ignoring case and accents; a single word matches only exactly as written
near-duplicate (Possible duplicates) Two concepts or entities that look like the same idea: plural or accent variants, singular and plural (Red/Redes), an acronym and its expansion (IA/Inteligencia artificial), a shared alias Decide whether they are the same. If so, keep one page, move what matters from the other, delete it and fix the links; the worker never merges for you. If not, ignore it
missing-concept (Concepts without a page) A glossary term that two or more source notes define, with no concept or entity page of its own Create the page if the idea deserves one, or ignore it

Findings are suggestions, not errors. Fix what you care about and ignore the rest; ignoring them costs nothing, and there is no way to mark a finding "reviewed": it simply shows again until the cause is gone.

Merge suggestions

When a page gets a consolidated summary (below), the worker also looks at which other pages look like the same idea: the same name ignoring case and accents, plural and singular, an acronym and its expansion, or very similar titles. Each such page gets a note in wiki/review/ named <page> - possible merge (<page> - posible fusión in a Spanish vault), listing the others. It appears under To review in the daily index. Nothing is merged for you: if they are the same idea, keep one page, add the other's name as an alias, move what matters, delete the other and fix the links, then delete the note. If they are not, delete the note.

Consolidated summaries

A concept or entity page collects one ## From [[source]] section for each source that mentions it. With several sources, a ## Summary (## Resumen) on top says what the concept is and what the sources add up to; the From sections stay below it as the evidence. It is written by the synthesis model (else the summarize one), from those sections only, never from the sources.

sb consolidate --dry-run
Would write a summary for 2 page(s):
  Agent harness (4 sources)
  Context window (3 sources)
sb consolidate

Without options it summarises the pages with three or more sources and no summary, or two or more new sources since the last one. --all takes every page with two or more sources; --only WORD takes the pages whose title contains the word. There is no cap on this command; one git commit per page.

It is manual on purpose. The nightly run and sb ingest can do it by themselves for the pages they just wrote, up to [run].max_consolidations_per_run, which is 0 (off). The reason is the model: with llama3.2 (3B) the summaries read well but sometimes state a relation between the sources that none of them says. The worker checks each summary before the page changes (80 to 900 characters; no links or HTML; in the notes' language; nothing it states that the sections do not: a quote, a number, a name), retries once, and a second failure leaves the page untouched and writes <page> - summary to review in wiki/review/ with the reasons and the proposal. But a plausible invention passes those checks. So: run sb consolidate and read a few summaries; if they hold up, set max_consolidations_per_run = 5 together with a stronger [llm.synthesize] model.

A page that email helped write is summarised only by [llm.private] or a model on this machine, and its summary is never shown to a cloud model. If the only model that exists sends text out, the page is skipped and listed. sb ask reads a page's summary first. See Safety and privacy.

Contradictions

The worker can also ask the model to flag claims that contradict an existing page. It is off by default, because small models flag tenuous ones. To turn it on, set flag_contradictions = true under [run] and use a stronger model. A flag becomes a note in wiki/review/ and a [!warning] on the page; nothing is changed silently. See Configuration.