# KtoolDocs consumer contract
The crate exposes `ktool_docs(arguments)` and `is_known_ktool(name)`. `ktool_docs` accepts exactly one nonempty string field, `name`, and returns compact JSON containing `name`, `latest_version`, `docs`, `deprecated`, and `replacement`. Matching is exact and case-sensitive. Malformed arguments return `invalid KtoolDocs arguments`; unknown names return `unknown Ktool`.
All 24 active catalog entries remain version `1.0.0`. The RustCode tools are the initial released V1 contract: Create accepts only a new library name; Open and Docs accept a library plus optional published SemVer or unpublished 24-hex selector; Overwrite persistently edits an active source box; Check checks that source; Publish accepts a source box and a new SemVer. Backend-selected Profile authority is never a model argument. No compatibility contract or legacy RustCode recovery is advertised.
The lookup is compiled metadata only. It does not list, search, suggest, authorize, register, inspect state, perform I/O, or prove that a named tool is live.