Expand description
Paramodel — the central algebra crate.
Everything paramodel models lives here: the parameter algebra
(parameter / domain / constraint / value / validation / expression),
the attribute layer (labels, tags, plugs, sockets, wires), the
element model (Element, Dependency, runtime), and the
trial-as-element-parameterization layer (Trial, Assignments).
The crate was formerly split into paramodel-core and
paramodel-elements, with Trial living in paramodel-trials.
That split cost indirection without buying value — Trial is a
specific parameterization of an element graph over specific
coordinates, which puts it in the same semantic unit as Element.
Downstream specialisation (trial sets, outcomes, plans,
compilation, execution) still lives in sibling crates — this one
is the algebra they’re built on.
Re-exports§
pub use attributes::AttributeError;pub use attributes::Attributed;pub use attributes::Facet;pub use attributes::FacetKey;pub use attributes::FacetValue;pub use attributes::LabelKey;pub use attributes::LabelValue;pub use attributes::Labels;pub use attributes::Plug;pub use attributes::Pluggable;pub use attributes::PortName;pub use attributes::Socket;pub use attributes::TagKey;pub use attributes::TagValue;pub use attributes::Tags;pub use attributes::Tier;pub use attributes::Wire;pub use attributes::WireMatch;pub use attributes::fits;pub use attributes::validate_namespace;pub use attributes::wiring_for;pub use configuration::ConfigEntry;pub use configuration::Configuration;pub use configuration::ExportName;pub use configuration::Exports;pub use configuration::TokenExpr;pub use constraint::BoolConstraint;pub use constraint::Constraint;pub use constraint::DoubleConstraint;pub use constraint::IntConstraint;pub use constraint::SelectionConstraint;pub use constraint::StringConstraint;pub use dependency::Dependency;pub use dependency::RelationshipType;pub use domain::Cardinality;pub use domain::Domain;pub use domain::DomainError;pub use domain::DoubleDomain;pub use domain::IntegerDomain;pub use domain::LabeledEntry;pub use domain::LabeledSelectionResolver;pub use domain::RegexPattern;pub use domain::ResolverId;pub use domain::SelectionDomain;pub use domain::SelectionResolver;pub use domain::SelectionResolverRegistry;pub use domain::StringDomain;pub use element::Element;pub use error::ElementError;pub use error::Error;pub use error::Result;pub use expression::BinOp;pub use expression::BuiltinFn;pub use expression::DerivationError;pub use expression::EvalValue;pub use expression::Expression;pub use expression::Literal;pub use expression::UnOp;pub use expression::ValueBindings;pub use fingerprint::Fingerprint;pub use fingerprint::FingerprintBuilder;pub use ids::TrialId;pub use lifecycle::HealthCheckSpec;pub use lifecycle::LiveStatusSummary;pub use lifecycle::OperationalState;pub use lifecycle::ShutdownSemantics;pub use lifecycle::StateTransition;pub use names::ElementName;pub use names::Name;pub use names::NameError;pub use names::ParameterName;pub use parameter::BooleanParameter;pub use parameter::DerivedParameter;pub use parameter::DoubleParameter;pub use parameter::IntegerParameter;pub use parameter::Parameter;pub use parameter::ParameterError;pub use parameter::SelectionParameter;pub use parameter::StringParameter;pub use runtime::ElementRuntime;pub use runtime::ElementRuntimeRegistry;pub use runtime::MaterializationOutputs;pub use runtime::ResolvedConfiguration;pub use runtime::StateObservation;pub use runtime::StateTransitionListener;pub use runtime::TrialContext;pub use trial::Assignments;pub use trial::TRIAL_TAG;pub use trial::Trial;pub use trial::TrialError;pub use trial::TrialMetadata;pub use types::ElementTypeDescriptor;pub use types::ElementTypeDescriptorRegistry;pub use types::OpenRegistry;pub use types::TypeId;pub use validation::ValidationResult;pub use value::BooleanValue;pub use value::BoundaryKind;pub use value::DoubleValue;pub use value::GeneratorInfo;pub use value::IntegerValue;pub use value::Provenance;pub use value::SelectionItem;pub use value::SelectionValue;pub use value::StringValue;pub use value::Value;pub use value::ValueKind;
Modules§
- attributes
- Labels, tags, plugs, sockets, and wires.
- configuration
- Element configuration and exports.
- constraint
- Declarative constraint algebra.
- dependency
- Typed dependency edges between elements.
- domain
- Parameter domains.
- element
- The
Elementstruct — anchor type of the whole system. - error
- Crate-local error type for
paramodel-elements. - expression
- Expression language for
DerivedParameter. - fingerprint
- BLAKE3 content fingerprints.
- ids
- Machine-generated ULID identifiers.
- lifecycle
- Lifecycle metadata: health-check timing, operational state, and shutdown semantics.
- names
- Validated name newtypes.
- parameter
- Parameters.
- runtime
- The behavioural surface of an element.
- trial
Trial,Assignments,TrialMetadata, and the trial canonical byte encoding.- types
- Element type descriptors and the registry that dispatches by type.
- validation
- Parameter / value validation outcomes.
- value
- Parameter values, provenance, and canonical fingerprints.