ocp value is changed to 0.3, unless it uses a name that 0.3 defines as an unknown field of its own (for example a string in run.task, which 0.3 defines as an object). 0.2 is not a superset of 0.1: 0.2 requires tier on every edge, so 0.1 documents need loopmath ocp migrate, which writes the 0.3 form and fills what it can infer; see Versioning.
0.3 (2026-09-23)
Adds the whole observation a learner needs to compare runs. Every new field is optional.- Run:
task(what the run attempted, with features and a group chain),configuration(what ran: a workflow shape and a setting per piece, with a canonical id),provenance(how the configuration was chosen),acceptance_ruleandsignals(verdicts, scores and late events),slateandpreferences(runs compared on one task),rescue(the fallback used when a run ended without acceptance) andreceipt(predicted against actual, written by loopmath). - Node:
vertex(the workflow piece it executes) andgate. - Attempt:
vertex,round(repair round, from 1),setting(only when it differs from the configuration) andcwd. - Cost:
tariff, the dated price table used to computeusd. - Artifact:
vertex,version,supersedesandtransfer_tokens. - Vocabularies: event types
signal_observed,receipt_writtenandrun_finished; artifact kindscommit,merge,issue,repo,diff,verdictandtest_record; producer capabilitiestask,configuration,signals,slateandreceipt. - Rules: E190 to E195, W196 and W182, each with a pass and a fail file.
- Namespace: loopmath’s extension namespace becomes
dev.loopmath.. The earlierdev.dagr.stays readable, with a warning, through 0.4.
0.2 (2026-09-01)
Records how work flowed between agents and how each fact is known.- Artifacts: files one attempt wrote and others read, with
artifactedges from the producing attempt to each consumer. - Edges: the
launchkind (one harness starting another through its command line, distinct from an in-harnessspawn), and a required evidencetieron every edge. - Attempts:
origin,roleandphaserecords, each with an evidence tier. - Cost: the 5-minute and 1-hour cache-creation buckets.
- Producer:
capabilities, so a consumer can tell an element the producer does not support from one that is absent.
0.1 (2026-08-30)
The first version: one JSON document per run with nodes and typed edges (dep, fan_in, spawn), a flat list of attempts with model and effort labels and a cause, per-attempt token cost split into uncached input, cached input and output with an optional basis, outcomes with evidence tiers, events, producer identity and a declared privacy profile.