sysknife_doctor
Diagnose the SysKnife daemon by retrieving brain provider, audit DB path, and audit-chain status. Read-only diagnostic tool safe to use anytime.
Instructions
Diagnose SysKnife: pings the daemon, reports the configured brain provider/model, the audit DB path, and a quick audit-chain status (intact/broken/unknown). Read-only and safe to call without prior sysknife_plan.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| distro | Yes | Detected Linux distribution, e.g. `"Ubuntu 24.04"` or `"Fedora 41"`. Set to `"unknown (<reason>)"` when `/etc/os-release` cannot be read. | |
| warnings | Yes | Non-fatal warnings collected during the diagnostic run. Anything that could not be checked (state, brain config, audit chain, …) adds one entry here so the operator sees what was skipped and why. | |
| brain_model | Yes | Configured brain model identifier. | |
| audit_db_path | Yes | Resolved audit DB path. For Postgres deployments, the literal string `"postgres"` instead of a filesystem path. | |
| daemon_socket | Yes | Resolved daemon socket target as a URI, e.g. `"unix:///run/sysknife/daemon.sock"` or `"vsock://3:7777"`. Accepted verbatim by `SYSKNIFE_SOCKET`. | |
| brain_provider | Yes | Configured brain provider (`"anthropic"`, `"openai"`, `"ollama"`, …). | |
| daemon_reachable | Yes | `true` iff the daemon answered `query_state` within the socket timeout. | |
| audit_chain_status | Yes | `"intact"` | `"broken"` | `"unknown"`. `"unknown"` covers all `CannotVerify` cases (missing key file, unreachable DB, etc.). |