pub struct DataEntry {
pub lemma_type: LemmaType,
pub bound_value: 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 (type, bound, default) tuple so JSON-native consumers
(TypeScript, Python, …) get stable field names. bound_value holds a spec or
caller-fixed literal; default is only a -> default ... suggestion.
Fields§
§lemma_type: LemmaType§bound_value: Option<LiteralValue>§default: Option<LiteralValue>