Choose an objective
Rows retain qualified repository identity; DPO keeps each member’s identity
separately. Renames preserve identity. Matching names or commits don’t join
different repository lifetimes. Inspect repository skip counts for absent or
conflicting evidence.
Check representation exclusions
Inspectnon_finite_number and unrepresentable_unicode in export skip counts.
Every objective excludes a row if an emitted value contains a non-finite number
or an unpaired surrogate, including nested tool arguments, keys, and metadata.
A DPO or Recovery pair counts once when either side fails. Source content that
the Evidence recipe omits doesn’t exclude the row. Facts and canonical bundles
preserve those values; exports don’t replace them with null or replacement text.
See Training representation.
Prepare the export
SetSEDIMENT_ORG_ID. Direct exports need database and mirror access. Bundle
projections have these requirements:
The canonical Derivation policy defaults
eval_fraction to 0.1.
Run the installed CLI in the configured operator shell. Use private output and
staging directories with enough space. For example:
Export a reviewed bundle
For a reviewed, reproducible workflow, derive once. Then project the same bundle into each per-completion format:sediment target still reads mirrors for Reference patches.
Recovery reads CI Facts and mirrors directly and doesn’t accept --from.
See Run derivations for policy, cohort selection,
inspection, and recomputation.
Inspect the output
The DPO, SFT, diff-SFT, and Recovery exports writedpo.jsonl, sft.jsonl,
diff_sft.jsonl, or recovery.jsonl. If eval_fraction is greater than zero,
the exporter writes <name>.train.jsonl and <name>.eval.jsonl instead.
Writes are atomic. If a projection is empty, the exporter leaves existing
files untouched and prints nothing written. It never truncates an earlier
export. Every run prints row counts and a skipped tally. Each format uses a
closed skip-reason vocabulary, so no ineligible input disappears silently.
The RLVR writer has additional output-directory safeguards. Inspect the RLVR
output before you reuse an RLVR export
directory.
DPO, SFT, and diff-SFT rows keep Sediment evidence under metadata, outside
the trainer inputs. For those rows, metadata.split contains train or
eval. Recovery uses its Sediment-native row envelope. RLVR uses the location
that its target contract defines. Structured provenance contains
policy_version, integer quarantine_revision, and nullable full
policy_digest. Confidence values come from the
Confidence ladder.
The eval split is deterministic per Session
(Eval split).
Validate each row’s canonical schema_id and schema_version before adapting
it. The Schema reference defines fields; the
consumer profile versions the downstream mapping.
Schema, recipe, policy, and database versions identify separate contracts.
Confidence and CI reliability don’t set trainer weights. If you use them for
weighting, define and version that mapping with the Evidence recipe and source.
A Confidence of 0.9 doesn’t mean that 90% of such rows are correct. Before you
treat Confidence as a probability, check it against independent judgments.
Audit the split before training
If you plan to train on an export, run dataset diagnostics with the same Evidence recipes first:sediment report merge-retention
to inspect whether attributed changes survived review and integration. Its
thresholds are sensitivity diagnostics. They don’t enter an Evidence recipe,
Confidence, Reward, or any training row.
If you need to audit individual scored changes, write the canonical rows while
you generate the aggregate report:
split value alone doesn’t prove that the
evaluation set matches a stronger holdout claim.