-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
Yuriy Orlov edited this page Aug 27, 2026
·
1 revision
Everything the engine tells you is designed to be actionable. This page decodes the three
surfaces you will actually meet: verdicts on the read path, doctor findings, and exit
codes — plus the handful of situations new installs hit.
kaut stale exits 0 even when docs are stale — a verdict is data. What to do per verdict:
-
stale— sources moved on the main line since the doc's anchor. Runkaut refresh <id>: it hands back the exact changed files (with git status), the sections they hit, and the target commit to re-derive against. Repair, or knowingly read the doc as history. -
branch-advisory— main is clean; your checked-out branch changed bound files. The doc is fine for main-line truth; mind the delta if you are working on that branch. -
broken— a bound source path no longer exists in the anchor tree (renamed file, dead glob). Re-bind the source or re-derive the doc; until then the engine refuses to vouch. -
tampered— the store file differs from the last pipeline commit. Content is withheld, not served. Restore it (git checkout -- <file>inside the store) or land the edit legitimately (kaut index— gate policy applies). This is the injection containment working, not a malfunction. - miss (unknown id) — exit 0, with nearest-id suggestions. A miss is a coverage signal, not a failure.
kaut doctor runs the mechanical integrity battery; exit 1 only on FAIL rows.
-
store-cleanFAIL — uncommitted content in the store (seetamperedabove). -
index-in-syncFAIL — INDEX.md does not match the docs on disk; runkaut index. -
drafts-pendingWARN — the owner has a review queue;kaut reviewlists it. -
store-identity/store-authorsWARN — store git identity or commit authorship differs from the engine's own; informational (authorship is spoofable either way — seeSECURITY.md), worth a look if unexpected. -
pointerfindings — the repo's.kaut.jsondisagrees with derivation; harmless to delete the pointer (derivation resolves the same store) or re-runbootstrap.
Multi-repo: kaut doctor --workspace <name> sweeps every store in the registry.
| Code | Meaning | Typical cause |
|---|---|---|
| 0 | ok | — |
| 1 | validation / doctor failure | contract violation, refused write, FAIL row |
| 2 | store busy | another engine process holds the lock (stale locks self-heal: dead pid + 15 min) |
| 3 | environment missing | not inside a git repository, or the store is not bootstrapped |
-
mapsays "routemap skipped — routes file not found" — the default map globs are stack-conventional; the route collector skips itself on other stacks and the rest still run. Pointmap.routesFile/map.packagesDirat your files inkaut.config.json, trimmap.collectors, or ignore it. - "not a git repository" — every command runs from inside the project repo (store resolution is cwd-based). Also raised when git itself is not on PATH.
-
Write refused ("owner-gated") — the gate is doing its job: queue the update with
kaut draft <id>(CLI) /kaut_draft(MCP); the owner lands it viakaut review. -
MCP tools missing in the harness — the server registers as stdio
node <engine>/mcp.mjs; after changing registration, restart the harness or reconnect MCP. Details:docs/MCP.md. -
Where is my data? —
kaut homeprints the current knowledge-data home and where it came from (env / redirect / default);kaut pathsprints the full resolution for the current repo.
docs/OPERATIONS.md covers the on-disk layout and resolution order in full;
docs/HANDBOOK.md explains every mechanism. Bugs and questions: open an issue (see
CONTRIBUTING.md); suspected vulnerabilities: privately, per SECURITY.md.