# Artifact Contract This file defines the stable artifact outputs that later phases must produce. ## Goal Judges should be able to find: - raw training outputs - readable plots - summary metrics - baseline comparisons without guessing file names. ## Reserved Output Files Core environment artifacts: - `artifacts/training_traces.json` - `artifacts/train_report.json` - `artifacts/reward_curves.json` - `artifacts/baseline_report.json` Submission-grade training evidence: - `artifacts/loss_curve.json` - `artifacts/loss_curve.png` - `artifacts/reward_curve.png` - `artifacts/training_summary.json` Optional comparison outputs: - `artifacts/baseline_vs_trained.json` - `artifacts/baseline_vs_trained.png` - `artifacts/belief_accuracy_curve.png` ## Required Semantics `loss_curve.json` - x-axis: training step or epoch - y-axis: training loss - include labels or schema keys that make plotting unambiguous `reward_curve.png` - readable axis labels - clear title or caption - if possible, compare baseline and trained runs on the same axes `training_summary.json` - model name - training method - scenario - number of steps / epochs - key metrics - output model path or checkpoint path ## Rules - Do not rename these outputs casually once later phases start depending on them. - Save plots as committed image files, not only notebook cell outputs. - Keep the artifact paths relative to repo root so README links remain stable.