pub struct DataEntry {
pub lemma_type: LemmaType,
pub prefilled: Option<LiteralValue>,
pub supplied: Option<LiteralValue>,
pub default: Option<LiteralValue>,
}Expand description
A spec’s public interface: its data (inputs) and rules (outputs) with full structured type information.
Built from an ExecutionPlan via ExecutionPlan::schema (all data and
rules) or ExecutionPlan::schema_for_rules (scoped to specific rules and
only the data they need).
Shared by the HTTP server, the CLI, the MCP server, WASM, and any other
consumer. Carries the real LemmaType and LiteralValue so consumers
can work at whatever fidelity they need — structured types for input forms,
or Display for plain text.
This is the IO contract consumers can rely on:
data: required/provided inputs with full type constraintsrules: produced outputs with full result types
For cross-spec composition, planning validates that referenced specs satisfy
this contract. Plan hashes are complementary: they lock full behavior.
One data input in a SpecSchema.
A named struct instead of a tuple so JSON-native consumers (TypeScript, Python, …)
get stable field names. prefilled is a spec literal or literal with binding;
supplied is caller overlay when building schema; default is a -> default ...
suggestion only.
Fields§
§lemma_type: LemmaType§prefilled: Option<LiteralValue>§supplied: Option<LiteralValue>§default: Option<LiteralValue>