get_index_status
Answer whether the graph is worth trusting right now: how fresh it is, how complete it is, and which parts of it are degraded. Every other tool answers a question about your code; this one answers a question about the index those answers came from.
Read-only.
Input schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
No arguments in single-repo stdio mode. In global mode the tool accepts an optional repo to select one registered repo.
Output
A JSON object covering four things:
- Freshness.
indexed_commit,head_commit, and astalenessblock withbehind_by,is_stale, andworking_tree_dirty. - Size.
counts.nodesandcounts.edges, plus the store'sschema_version. - Phase A / Phase B.
phase_a.state, andphase_bwith an overall state plus a per-language breakdown. A language can bedone,pending,running,failed, orunavailable, and a degraded one carries adetailnaming the remedy. - Semantic. Whether embeddings are
ready,building,disabled, or inerror, whether they are calibrated, and whether the reranker is installed.
is_stale is a tri-state
is_stale can be true, false, or null. null means unknown, not fresh: git was unavailable, nothing has been indexed yet, or the indexed commit no longer resolves. Treating null as "fine" is the mistake the tri-state exists to prevent.
Absence is not health
A language reporting unavailable has not failed. It means no analyzer is installed for it in this repo, so it will never produce semantic edges until one is, and detail says which command fixes that. Distinguishing "broken" from "never ran" is the whole point of the per-language breakdown, because they call for opposite responses.
When to use
- Before trusting an empty result.
get_callersreturning nothing means something different when Phase B for that language isunavailable. - Deciding whether to reindex.
behind_byandworking_tree_dirtytell you whether the graph describes the code you are looking at. - Polling for readiness after
travsr init --semanticon a large repo.
Notes
- Available over both stdio and SSE.
- Reads state only. It takes no lock, so calling it can never interfere with a running
travsr daemon start. - The CLI equivalent is
travsr status, which reports the same underlying state in a form meant for people.