Crucible Knowledge Bases
Crucible keeps a knowledge base as an interlinked org-mode wiki: primary sources (papers, notebooks, data) are distilled by an LLM into concept, summary, comparison and method articles, and a database tracks the concepts, sources, links and derivations between them. Scimax lets you browse and search crucibles from VS Code, and shows the graph around the article you are reading.
Scimax works through the crucible command-line tool, so install it first:
pip install crucible-llm
Scimax uses the CLI's --json output, which needs a recent crucible. If
VS Code does not find crucible on its PATH (for example when it lives in
a virtual environment), set scimax.crucible.command to its full path.
The Crucible Panel
The Crucible panel in the Scimax sidebar lists the crucibles in your
workspace (marked workspace and expanded), then the others in the global
registry (~/.crucible/registry.json), which crucible init adds each new
crucible to. Under each crucible:
Concepts lists the crucible's concepts with their article counts; expand one to see the articles on it.
Concept articles, Summaries, Comparisons and Methods list the articles of each kind by title.
Click an article to open it. A crucible's row has buttons to search it, open
its index (index.org) and sync its database. The panel's title bar has
Search All Crucibles and Refresh.
Searching
Scimax: Search Crucible (cmd:scimax.crucible.search) searches the crucible of the file you are in, the only crucible in the workspace, or one you pick. Scimax: Search All Crucibles (cmd:scimax.crucible.searchAll) searches every registered crucible, and labels each result with the crucible it came from. Results show the article's title, kind and abstract; pick one to open it.
scimax.crucible.searchMode chooses the search: auto (the default) uses
hybrid search when the crucible has embeddings and keyword search otherwise,
fts is keyword search, semantic finds articles by meaning (it needs
crucible embed and ollama), and hybrid combines the two.
scimax.crucible.searchLimit caps the number of results (20).
The Graph Around an Article
In a crucible article, three commands show its neighbours in the knowledge graph. Each lists articles to pick from and opens the one you choose:
| Command | Shows |
|---|---|
| cmd:scimax.crucible.backlinks | Articles that link to this one, with the text around the link |
| cmd:scimax.crucible.related | Related articles, with why (shared concepts, sources, links) |
| cmd:scimax.crucible.history | The articles it was derived from, and those derived from it |
They appear in the command palette only when the active file is in a crucible.
Citations
Crucible articles cite their sources with org-ref links (citep:key), and
the entries live in the crucible's .crucible/references.bib. Opening an
article loads that bibliography, so citation hovers, completion and
navigation work in it (see References).
Keeping the Database Current
Crucible's database is updated by crucible sync. When you save an article
in a crucible wiki, Scimax runs it in the background once your saves pause,
then refreshes the panel, the bibliography and the lint issues; set
scimax.crucible.syncOnSave to false to turn this off. A failed background
sync shows a warning in the status bar (and in the Scimax log), not a pop-up.
Scimax: Sync Crucible Database (cmd:scimax.crucible.sync) runs it for the current crucible (or the one whose sync button you click). Run it after an agent or another program edits articles, since only saves in VS Code trigger the automatic sync.
Lint Issues in the Problems Panel
Scimax shows crucible lint issues in the Problems panel: broken links,
citation keys missing from references.bib, articles without
ARTICLE_TYPE or file tags, wiki files not yet synced, orphan articles and
undigested sources. Each issue is on the file it concerns, at the broken link
or citation when there is one; issues about the crucible as a whole (a
concept with no article of its own) are on its index.org. Errors, warnings
and notes keep crucible's severity.
The issues are checked when you first open an article in a crucible and
after each sync. Scimax: Lint Crucible (cmd:scimax.crucible.lint, also
on a crucible's right-click menu in the panel) checks again and opens the
Problems panel. Set scimax.crucible.showLint to false to hide them.
Commands
| Command | Description |
|---|---|
| cmd:scimax.crucible.search | Search a crucible |
| cmd:scimax.crucible.searchAll | Search all registered crucibles |
| cmd:scimax.crucible.backlinks | Articles that link to the current article |
| cmd:scimax.crucible.related | Articles related to the current article |
| cmd:scimax.crucible.history | Derivation history of the current article |
| cmd:scimax.crucible.openIndex | Open a crucible's index.org |
| cmd:scimax.crucible.sync | Run crucible sync |
| cmd:scimax.crucible.lint | Show crucible lint issues in Problems |
| cmd:scimax.crucible.refresh | Refresh the Crucible panel |
None has a default keybinding.
Settings
| Setting | Default | Description |
|---|---|---|
| scimax.crucible.command | "crucible" | The crucible CLI (full path if not on PATH) |
| scimax.crucible.searchMode | "auto" | auto, fts, semantic or hybrid |
| scimax.crucible.searchLimit | 20 | Most search results shown |
| scimax.crucible.syncOnSave | true | Run crucible sync after saving an article |
| scimax.crucible.showLint | true | Show lint issues in the Problems panel |