Skip to content

Core catalogue

The core catalogue is intentionally small. Query DEFAULT_REGISTRY for the current machine-readable definitions.

Canonical node

KeyStatusBoundary
:falandaysreferencevalidated on declared reference trajectories

The registered presets :falandays_tracking, :falandays_pong, and :falandays_wall select task-specific node counts and parameters.

Core tasks

TaskOutcomeFloorCeiling
Trackingtrack_scoreanalytic chance alignment, 0.0perfect alignment, 1.0
Ponghit_ratecalibrated null_random controlanalytic interception maximum, 1.0
Wallnav_scorecalibrated null_random controlanalytic collision-free movement maximum, 1.0

Each task also declares how long a run must be before its outcome means anything. An evaluation whose scored interval falls below minimum_scored_ticks is rejected during plan validation, so check these before writing a horizon and warm-up.

TaskDefault ticksMinimum scored ticksWhy
Tracking20002000track_score averages one sample per tick, and the between-seed spread only falls below the mean past roughly this many scored ticks
Pong72006000Pong emits about one ball event per 305 ticks, so a shorter interval scores too few events to estimate a hit rate
Wall1000200nav_score is a per-tick rate, so its estimate is stable early

The scored interval is horizon - warmup, not horizon. Pass an explicit window to acknowledge a deliberately short diagnostic run.

The exact Pong floor and its provenance live in TaskSpec. Inspect them rather than copying a number into a new protocol:

tracking = BrainlessLab.task_spec(DEFAULT_REGISTRY, :tracking)
pong = BrainlessLab.task_spec(DEFAULT_REGISTRY, :pong)
wall = BrainlessLab.task_spec(DEFAULT_REGISTRY, :wall)
tracking.floor
tracking.ceiling
pong.floor
pong.ceiling
wall.floor
wall.ceiling

Tracking, Pong, and Wall carry :benchmark, :qualification, and :core tags.

The scope-setting Wall measurement is 0.9933 raw and 0.9703 normalised. It is near its analytic ceiling, so Wall checks whether a design clears a competence floor but offers little room to distinguish improvements above canonical Falandays.

Pong now defaults to 7,200 ticks with a 1,200-tick warm-up and 6,000 scored ticks. Ball events arrive about once per 305 ticks. The scored interval therefore contains about 20 events instead of the two or three available under the old 1,000-tick interval.

Frontier task

cartpole_plank_easy carries the :frontier tag but is not a core coordinate. Canonical Falandays measured 10.0 raw and 0.0007 normalised. The task is unsolved by the canonical node and remains floored, so it cannot yet discriminate neural designs. It must not enter the core aggregate unless a design first clears that floor.

Score use

task_outcome(sim) returns the task key, raw value, and normalised value. The normalised value uses the task’s own anchors and can be clamped by its scoring contract. Report the anchor kind and provenance with benchmark results.

The Experimental catalogue lists capabilities outside this compact core.

Source: src/tasks/Tasks.jl, src/core/Registry.jl.