# 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 25 active catalog entries remain version `1.0.0`. RustCode and WebCode each expose Create, Docs, Open, Overwrite, Check, and Publish. Create is only for a brand-new library family; Docs and Open accept optional published SemVer or unpublished 24-hex selectors; 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.
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.