Expand description
Rustev’s pure core (spec 002).
A decision definition compiles into an identified plan, or is refused
with a typed reason ([compile]); a plan evaluates deterministically over
a supplied snapshot, a supplied evaluation time and supplied semantic
outputs (evaluate). The result is a proposal, an escalation or an
unresolved outcome, never a grant (spec 001, 3.2).
No I/O, no clock, no environment, no randomness, no async executor, no
unsafe.
Re-exports§
pub use compile::Category;pub use compile::Compiled;pub use compile::LoadError;pub use compile::Refusal;pub use compile::compile;pub use compile::compile_bytes;pub use compile::compile_with;pub use compile::compile_with_sources;pub use compile::compile_with_templates;pub use evaluate::Evaluation;pub use evaluate::FailureContext;pub use evaluate::PendingAcquisition;pub use evaluate::RequestIdentityError;pub use evaluate::SemanticRequest;pub use evaluate::Supplied;
Modules§
- builder
- The typed Rust builder (R-02). It produces the same
Definitionvalue the JSON parser produces, and both go through one compiler, so there is one source of behavior. Operator arguments are the typedOpArgsstructs; nothing is defaulted: every step, input and policy item is stated in full. - calibrate
- Applying a calibration artifact (spec 002, 3.6).
- compile
- The plan compiler (spec 002, 3.9).
- dynamic
- Dynamic questions (spec 019): pure request validation, canonical identity, capability fit, cost admission and response judgment.
- evaluate
- Staged evaluation of a compiled plan (spec 002, 3.7 and 3.10).
- expr
- References, expressions and predicates of registry
rustev.exact/1: typing (compile phase e) and evaluation (spec 002, 3.4 and 3.8). - generation_
eval - Pure post-decision generation (spec 037). The frozen judgment is never an input to output validation, repair, or backstop selection.
- kinds
- Value kinds (spec 002, 3.5). Each is its own type with private fields and
fallible construction; there is no
FromorIntobetween any two, so a score never becomes a probability and a label never acquires mass. - math
expandlnfor every pure path (spec 047).- ops
- The closed exact-operator registries
rustev.exact/1(spec 002, 3.8) andrustev.exact/2(spec 032, 3.5 and 3.6), which addsjoin_keyed@1andmerge_fields@1with everyrustev.exact/1operator unchanged. - seams
- Seam traits (spec 002, 3.1.2, amended by spec 003, 3.2.6; design section
8), declared as signatures over
std::futureonly. The runtime (spec 003) composes them. They are transport-neutral; network implementations live underintegrations/(spec 001, 3.4.3). - sem
- Semantic step values as the core holds them after validation.
- template
- Pure
rustev.template/1language machinery (spec 037, 3.3 and 3.4). This module does not construct contract documents or authorize generation. Callers supply resolved static types and exact values; graph provenance and parameter binding checks belong to the future generation compiler. - unparameterized
- Parse refusals for spec 034 inputs when this build excludes that feature.
- value
- Exact values and their types (spec 002, 3.4 and 3.7.2), strict decoding of snapshot values, and the worst-case canonical size used by budgets.
Functions§
- computed_
party - The computed party of causes (spec 033, 3.5.2) and whether retrying an unresolved request unchanged can succeed (3.6.4). The computed party of causes (spec 033, 3.5.2) and whether retrying an unresolved request unchanged can succeed (3.6.4). The computed party of causes (spec 033, 3.5.2) and whether retrying an unresolved request unchanged can succeed (3.6.4). The computed party of a list of causes under the declared caller-controlled classes (3.5.2): each cause’s party, combined.
- transient
- The computed party of causes (spec 033, 3.5.2) and whether retrying an
unresolved request unchanged can succeed (3.6.4).
The computed party of causes (spec 033, 3.5.2) and whether retrying an
unresolved request unchanged can succeed (3.6.4).
The computed party of causes (spec 033, 3.5.2) and whether retrying an
unresolved request unchanged can succeed (3.6.4).
Whether retrying the same request unchanged can succeed (3.6.4): only for
backend_unavailable,deadline_exceeded, andinvalid_backend_outputfrom a backend whose determinism is notbitwise.