Skip to content

Sequences

Each sequence lives in its own folder under specs/, written in our own words. Every spec has the same parts:

File What it is
spec.md The sequence in prose: interface, parameters, behavior, edge instants, validation
task.json The task Muse Spark receives
reference.py An independent model of the behavior (stdlib Python, no engine code) that self-checks against hand-worked checkpoints and writes the vectors
vectors.json The test scenarios a draft must pass. Generated, never hand-edited; CI regenerates them byte for byte
graph.json A hand-built reference block graph

A spec is ready only when its hand-built graph passes every scenario on the pinned engine and each of a list of deliberate mistakes fails at least one scenario. That second check is what makes the vectors strong enough to catch wrong drafts.

Sequence Runs on Scenarios Reference graph Mistakes caught
Chilled-water plant reset BOPTEST office, plant 10 33 blocks 12
Air handler chilled-water requests BOPTEST office, one per air handler 15 18 blocks 22
Duct static pressure reset BOPTEST office, one per floor 6 20 blocks 11
Zone static pressure requests BOPTEST office, one per zone 9 23 blocks 10
Home price response BOPTEST home heat pump 22 33 blocks 21

The four office sequences chain together: zone requests feed each floor’s static pressure reset, and air handler requests feed the plant reset.

Your own sequence can go through the same gate from the workbench, with scenarios you accept instead of a reference model.