Process artifactReport artifact2026-07-02

Factory Run Schema v1

A specialist factory needs proof folders, not vibes. This schema defines the local run directory, required metrics, and decision vocabulary that every public artifact should eventually satisfy.

Headline Numbers

Evidence class applies to each value: measured = retained evaluation or runtime result; historical = recorded result not freshly reproduced; derived = calculated or decided from records; observed = current artifact state; not-measured = an explicit evidence gap.

Required files

8config, dataset, train log, evals, report, artifact, decisionderived

Decisions

6ship, reject, retry-data, retry-training, retry-eval, parkderived

First-class outputs

5data, training, eval, package, reportderived

Competitive Context

SystemMetricScoreSize / ClassComparable?Readout
posttrainllm factory schemarequired public run files8repo-local contractDirectDefines the minimum evidence bundle each future public model artifact must carry.
Ad hoc model card onlybefore/after reproducibilityweaksingle documentDirectionalUseful for release notes, but insufficient for a factory claim without eval JSON, decision, and blockers.

Direct rows share this artifact's eval setup. Directional rows are useful market context but should not be read as leaderboard claims.

Run folder contract

FilePurposePublic relevance
config.jsonTarget, base, method, thresholdsExplains what was attempted
dataset.jsonSources, rows, filtering, heldoutProvenance
eval-baseline.jsonFrozen baseline resultBefore number
eval-candidate.jsonCandidate resultAfter number
decision.jsonShip/reject/retry callHonest release status

Release Blockers

Live commands do not emit the whole schema automatically

The routed SQL report card is now the canonical rendered example, but training and evaluation commands still require orchestration to assemble every run fragment.

Unblock: Make future train/eval commands emit schema-complete run folders and enforce them with publish-check.

Evidence

Next Release Action

Use the routed SQL report as the canonical example; make live commands emit the same complete contract automatically.