User guide#

Eleven pages working through the library one topic at a time. Each is carried by a concrete application, so the mechanism being introduced has something real to act on.

The pages build on each other in order, but each declares its own space and can be read on its own. Every card lists the names its page introduces. A name is introduced on exactly one page, and later pages use it without re-explaining it.

01 Declaring a space

Scalar types, modifiers, priors and charts. What a resolved ParamDef contains. Carried by a simulated annealing schedule.

Declaring a space
02 Sampling and validation

Drawing configurations, checking them, and the difference between a value being in range and a configuration being feasible.

Sampling and validation
03 Conditionality and structure

Conditional parameters, alternatives that carry payloads, and grouping without a discriminator, and how each changes the shape of a configuration. Carried by a genetic algorithm’s operators.

Conditionality and structure
04 Constraints and feasibility

The four verbs, margins, and reading a constraint report without re-deriving polarity. Boolean and arithmetic expressions, including queries over subsets and permutations. Carried by a flow chemistry rig.

Constraints and feasibility
05 Lifts and aggregates

Repeating a parameter with static and parameter-driven counts, instance paths, and the aggregates that range over a list. Carried by a memetic pipeline.

Lifts and aggregates
06 Custom types and properties

The custom-type protocol, property-driven counts, and types that validate without generating. Carried by a device interconnect topology.

Custom types and properties
07 Program types

The two built-in opaque types: structural AST validation, checked arity, and per-field opacity.

Program types
08 Structural operations

Reshaping a space after it is built, by pinning a parameter, removing one, carving out a subtree, adding to it, or rewriting every parameter. Each returns a new immutable Space.

Structural operations
09 Partial configs and driver loops

Defaults and their cascade, the five kinds of remaining domain, the incremental fill loop, and positional vectors. Carried by a pump configurator.

Partial configs and driver loops
10 Diagnostics and DataFrames

Columnar output and the dtype each kind takes, sampling diagnostics, and the Unknown-swallowing that a post-rejection sample hides.

Diagnostics and DataFrames
11 Identity and solver hand-off

Serialization, fingerprint scopes, observation identity, and the three shapes a solver integration takes.

Identity, serialization and solver hand-off