# Artifact contract

Status: active vNext contract; v2.6 retained for rollback

The active image-only workflow declares `vnext-2026-07-19`. The former generator
and independent evaluator declare `v2.6` and remain available as the rollback
baseline.

Version `v2.6` retains the v2.5 source, claim, design-proof, selection, and final
validation artifacts while hardening finalization around claim-integrity selection
and release-contract checks. The generated runner contains compatibility helpers
for older v2.5 artifacts, but active runs must emit v2.6 metadata.

The contract is enforced at three levels:

1. Workflow YAML declares the version and required stage outputs.
2. The generated runner validates artifact existence, schema-critical fields,
   aliases, and release conditions.
3. Independent final evaluation records a decision and score evidence without
   mutating the generated image.

Historical runs remain immutable. Their observed contract is recorded as
`legacy-unversioned`, `v2.5`, or `v2.6` in `runs/manifest.jsonl`; they are not
silently upgraded.

The promoted `build_week_vnext` workflow does not relabel v2.6 and does not reuse
the historical v3 name. Its config remains in the isolated experiment path to
preserve accepted-run provenance; `PROJECT_STATE.yaml` is the active authority.

Each vNext run contains:

- `input/source.png` and `input/source_metadata.json`;
- `01_perceptual_reconstruction.json`;
- `01_context_metrics.json` and, when repaired,
  `repair_context_metrics.jsonl`;
- `02_concepts.json` and `02_local_references.md`;
- `03_render_program.json`, candidate versions, render logs, and embedded preview;
- ordered independent reviews under `reviews/`;
- content-addressed generated-base metadata under `candidates/`;
- `model_provenance.jsonl` for every GPT-5.6 and optional GPT Image call;
- `05_final_evaluation.json`;
- on acceptance, `final.png`, `comparison.png`, `review_dossier.md`,
  `final_summary.md`, and an accepted `run_manifest.json`;
- on failure, a failed manifest retaining the stage, exception, and budgets used.

`scripts/chartsmith_vnext.py validate-run <run-dir>` requires the accepted
manifest, complete artifact set, valid final image, passing latest review,
passing final release decision, and GPT-5.6 provenance across every core stage
family.
