Skip to content

System map

BrainlessLab separates behaviour from the protocol that studies behaviour.

runtime
NodeSpec + TaskSpec + body + InteractionCycle
→ CompositionSpec
→ Reservoir + embodied agent(s) + Environment
→ SimResult
research
CompositionSpec + EvaluationSpec
→ EvaluationTarget
→ operation plan
→ typed result
→ record
named EvaluationTargets + operation plans
→ ExperimentSpec

Runtime objects

NodeSpec describes a registered node builder and its declared parameters. A Reservoir contains the node population, wiring, and dynamic state.

A body gives receptor and effector channels their sensorimotor meaning. A TaskSpec provides setup, ports, defaults, an optional outcome, and score anchors.

CompositionSpec selects the node, task, body, node count, parameters, and interaction timing. simulate runs one composition and returns a SimResult.

Research objects

EvaluationSpec defines independent blocks, trials, horizons, warm-up, construction, reset, random streams, and aggregation. EvaluationTarget names one composition under one evaluation protocol.

An operation plan profiles, sweeps, ablates, evolves, or benchmarks targets. Each operation writes the same record structure.

ExperimentSpec groups named conditions and operation plans around one versioned question. It records evidence state and limitations. It is not another runner.

Where to go next

Source: src/core/, src/operations/, src/records/.