Skip to content
Rafael Fragoso edited this page Jun 8, 2026 · 2 revisions

FAQ

Is Columbus an AI tool? Does it call an LLM?

No. Columbus contains no LLM. All ranking, the "why relevant" text, and risk hints are deterministic heuristics. It produces context for LLMs; it doesn't use one. See Determinism & Local-Only.

Does my code leave my machine?

No. Columbus is local-only — no network calls and no API keys. Embeddings run on-device (a bundled ONNX model); nothing is shipped to a cloud. It works offline. git is the only hard runtime dependency; the onnxruntime library (bundled in release archives) enables semantic search.

How can results be "never stale"?

Because the database stores metadata, git anchors and embedding vectors only, never code. Every snippet and line range is rebuilt live from the working tree at query time; the vectors are a derived index, not your source. Edit a file and the next show reflects it — even without reindexing. See Never Stale: Live Reconstruction.

Then why index at all?

The index is a fast chart of where things are (symbols, roles, the import graph). It powers discovery and ranking. It can lag the working tree, but that only affects whether brand-new entities are found yet — never the accuracy of a result you get back.

How is this different from embedding / RAG code search?

Columbus does embed — but on-device, and the result is reproducible (a fixed model, same vectors → same ranking). The key differences from typical RAG: nothing ships to a cloud and there's no per-query cost; the snippet and exact line range you get back are reconstructed live from the working tree, so a result is never stale even when the index lags; and vector similarity is re-ranked by transparent heuristics, with a why on every hit.

How is it different from just grepping?

Grep finds text; it doesn't rank, doesn't understand symbols/roles, doesn't give you the dependency graph, and doesn't persist decisions. Columbus returns ranked, symbol-aware context with exact ranges plus durable memory — in one deterministic call. See Searching Effectively.

Does Columbus run or orchestrate my agent?

No. It stores and retrieves; it never drives, gates, or enforces. Orchestration and guardrails live in the agent/plugin layer. See Scope Boundary.

Where is the database stored?

In your OS data dir (e.g. ~/Library/Application Support/columbus on macOS), keyed by project_id — never in your repo. Override with COLUMBUS_DATA_DIR. See Configuration.

Is .columbus.json committed?

No. install adds it to .git/info/exclude, so it stays local-only.

What languages are supported?

TypeScript/TSX, JavaScript/JSX, Python, Go, and Markdown in V1. See Supported Languages.

How do agents use it?

Through skills that teach the agent the CLI, consuming --json / --llm output. See Using Columbus with Your Agent.

Related

Home · Troubleshooting · Scope Boundary

Clone this wiki locally