handles_kinds it, and it determines the JSON Schema the expert’s free-text reply is structured into. The canonical schemas live in spec/schemas/kinds/*.json in the repository.
Built-in kinds
glossary.definition
For defining a term. Structured shape:
freeform.answer
For any other question. Structured shape:
Structuring behavior
When an expert replies, ShoulderTap (with an LLM configured) extracts the structured form and a confidence score. The rawanswer is always preserved. If extraction fails or confidence is below 0.3, structured is null but answer still holds the expert’s exact words — a consumer should always be prepared to fall back to answer. Without an LLM configured, structured is always null and the raw reply passes through verbatim.
Custom kinds
A consumer can register its own kind with a custom JSON Schema at registration time, via thekind_schemas field on ConsumerRegistration. A custom schema for a kind takes precedence over a built-in of the same name, so you can also override how a built-in kind is captured for your consumer.