Skip to content
MirrorFirm

What delivery formats, splits and versioning should I agree before a first sample?

Agree JSONL or Parquet files, a JSON Schema and manifest, train and held-out splits, tool definitions and release identifiers so the sample loads into your tooling without rework.

Agree delivery mechanics during scoping so the first sample drops into your tooling without rework.

**Formats.** JSONL is the default for records and tasks because it streams and diffs well. Parquet can be requested for large tables. A schema file in JSON Schema form describes each record type, and a manifest lists files, row counts per file and a version tag.

**Splits.** Tasks can be delivered with a `split` field (`train`, `dev`, `heldout`) and a seed so you can regenerate the assignment. Keep held-out tasks in a separate file and out of any training job.

**Environments.** A simulated environment can be delivered as a container or a service exposing the tool actions over a defined interface. A tool-definition file in your preferred format (function-calling JSON, or an MCP-style tool list) describes names, arguments and return types.

**Versioning.** Each release carries a `release_id`. Tasks and graders reference the release they belong to, so results from two releases are not mixed by accident.

**Licence fields.** The manifest can carry a `licence_scope` note covering permitted uses. The wording of that licence comes from the agreement, not the manifest.

Final choices, including volume and delivery method, are decided in the pilot.

Settling formats, splits and version tags in scoping avoids rework and keeps held-out tasks out of training.

Audience:
Agent developers
Content type:
Integration
Buyer question:
Scope and getting started

Content release: r-a220eb6e099b243b

More on Payment allocation