0.3 is a strict superset of 0.2: every field 0.3 adds is optional, so a valid 0.2 document stays valid when its 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_rule and signals (verdicts, scores and late events), slate and preferences (runs compared on one task), rescue (the fallback used when a run ended without acceptance) and receipt (predicted against actual, written by loopmath).
  • Node: vertex (the workflow piece it executes) and gate.
  • Attempt: vertex, round (repair round, from 1), setting (only when it differs from the configuration) and cwd.
  • Cost: tariff, the dated price table used to compute usd.
  • Artifact: vertex, version, supersedes and transfer_tokens.
  • Vocabularies: event types signal_observed, receipt_written and run_finished; artifact kinds commit, merge, issue, repo, diff, verdict and test_record; producer capabilities task, configuration, signals, slate and receipt.
  • Rules: E190 to E195, W196 and W182, each with a pass and a fail file.
  • Namespace: loopmath’s extension namespace becomes dev.loopmath.. The earlier dev.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 artifact edges from the producing attempt to each consumer.
  • Edges: the launch kind (one harness starting another through its command line, distinct from an in-harness spawn), and a required evidence tier on every edge.
  • Attempts: origin, role and phase records, 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.

Privacy