Six read-only commands report on a database and the installation: ping,
info, health, metrics, describe, and doctor. Each prints
human-readable output by default and a compact envelope with --json, so the
same command serves both a quick eyeball and a script. None of them writes
anything. Examples use a durable database at ./mydb.
ping — liveness
ping confirms the binary responds and reports its version:
strata ./mydb ping
pong 1.0.0
strata --json ./mydb ping
{"data":{"version":"1.0.0"},"type":"pong"}
info — top-line facts
info prints the essential facts about an open database — branch and space
counts, the default branch, whether it is durable and open, and its storage
target:
strata ./mydb info
{
"branch_count": 1,
"created": false,
"default_branch": "default",
"durable": true,
"open": true,
"space_count": 1,
"target": "durable_local",
"version": "1.0.0"
}
health — subsystem checks
health reports the status of each control-plane subsystem and an overall
status. Everything healthy looks like this:
strata ./mydb health
{
"branch_catalog": "healthy",
"branch_count": 1,
"default_branch": "default",
"identity": "healthy",
"registry": "healthy",
"space_catalog": "healthy",
"status": "healthy"
}
Watch the top-level status: it is the single field to alert on.
metrics — operational facts
metrics reports operational state — control status, durability, open state,
target, and the branch and space counts:
strata ./mydb metrics
{
"branch_count": 1,
"control_status": "healthy",
"durable": true,
"open": true,
"space_count": 1,
"target": "durable_local"
}
describe — full snapshot
describe is the widest view: which capabilities are present, the current and
available branches and spaces, and per-primitive counts. It is the fastest way
to see what a database actually contains:
strata ./mydb describe
{
"branch": "default",
"branches": [
"default"
],
"capabilities": {
"arrow": true,
"event": true,
"graph_core": true,
"inference": true,
"json": true,
"kv": true,
"vector": true,
"vector_index": true
},
"config": {
"created": false,
"default_branch": "default",
"durable": true,
"target": "durable_local"
},
"default_branch": "default",
"primitives": {
"event_count": 0,
"graphs": [],
"json_count": 0,
"kv_count": 2,
"vector_collections": []
},
"spaces": [
"default"
],
"target": "durable_local",
"version": "1.0.0"
}
doctor — installation and database check
doctor checks the installation: the binary version, the Strata home
directory, whether it is on your PATH, the platform, and any issues. With no
target it checks the install alone and exits zero when clean:
strata doctor
{
"binary": "1.0.0",
"database": null,
"home": "~/.strata",
"issues": [],
"path_ok": true,
"platform": "linux-x86_64"
}
Pass a database as the global target — before the doctor verb — to also open
it and report its facts under database:
strata ./mydb doctor
The database object then carries exists, open_ok, path, and the same
info block shown above. doctor exits non-zero when anything in issues
needs attention, which makes it a natural preflight check in scripts and CI.
Next
- Error Handling — decode failures when a check goes red.
- Database Configuration — read a database’s config.
- Agents and MCP — the self-describing surface behind these facts.