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:

CommandShows
cmd:scimax.crucible.backlinksArticles that link to this one, with the text around the link
cmd:scimax.crucible.relatedRelated articles, with why (shared concepts, sources, links)
cmd:scimax.crucible.historyThe 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

CommandDescription
cmd:scimax.crucible.searchSearch a crucible
cmd:scimax.crucible.searchAllSearch all registered crucibles
cmd:scimax.crucible.backlinksArticles that link to the current article
cmd:scimax.crucible.relatedArticles related to the current article
cmd:scimax.crucible.historyDerivation history of the current article
cmd:scimax.crucible.openIndexOpen a crucible's index.org
cmd:scimax.crucible.syncRun crucible sync
cmd:scimax.crucible.lintShow crucible lint issues in Problems
cmd:scimax.crucible.refreshRefresh the Crucible panel

None has a default keybinding.

Settings

SettingDefaultDescription
scimax.crucible.command"crucible"The crucible CLI (full path if not on PATH)
scimax.crucible.searchMode"auto"auto, fts, semantic or hybrid
scimax.crucible.searchLimit20Most search results shown
scimax.crucible.syncOnSavetrueRun crucible sync after saving an article
scimax.crucible.showLinttrueShow lint issues in the Problems panel