Results & Artifacts
Everything a job produces lands under this block's artifacts/ directory. This page maps out what is written and where.
Per-job outputs
artifacts/jobs/<job>/
├── result.json # aggregate job stats (rewards, errors, evals)
├── config.yaml # snapshot of the active config at launch
└── <task>/agent/litellm-trajectory.jsonl # one raw trajectory per tasklitellm-trajectory.jsonlis the primary output: the replayable log of one rollout, consumed by thetrainerblock and by SFT conversion.result.jsonaggregates rewards and error stats across all rollouts; it is what the dashboard reads.
This directory is the block's raw_trajectories_dir output (declared in config.yaml → runtime_info.output), consumed downstream by trainer.
SFT data outputs
When conversion runs (automatically when sft_conversion.enabled is true, or manually via scripts/convert_trajectories.sh), it writes:
artifacts/sft_data/<job>/
├── im.jsonl # PangUML v2 intermediate records + TQS metadata
├── lf.json # LLaMA-Factory ShareGPT array
├── lf.stats.json # token/turn/score statistics
└── .convert_sig.json # resolved-input signature for --skip-unchangedThis is the block's sft_data_dir output. See SFT Data for the conversion pipeline.
Run archives
After each run, a snapshot is archived under:
artifacts/archives/run_NNN/
├── metadata.yaml # run id, timestamps, exit status, notes, repo commit ids
├── config.yaml # config as it was at run time
└── scripts/ # copy of the block scriptsThe operator may add session.log or monitor.md, but the archive helper does
not create them automatically.
One entry is appended to artifacts/index.yaml. Use it for run history,
artifacts/jobs/<job>/result.json for live or completed Harbor state, and the
dashboard for the combined view. config.yaml is the run
profile, not a mutable status store; see Status.
Cleaning up
scripts/clean.sh with no flags removes only a run's temporary output — LiteLLM state, logs, launch logs, dashboard/site/, and the dashboard cache. It keeps the uv env, jobs/, tasks/, sft_data/, agent-runtime/, processed_tasks.yaml, and archived runs. --all wipes artifacts/ entirely except git-tracked files, after confirming twice.