Trust Model
Evidence Approval
Why generated data can’t self-approve.
Synthetic datasets, annotation outputs, and benchmark results stay evidence
until a host validation or approval record exists. Generated data is accepted, recorded, and
used — but it can never manufacture its own authority to gate.
Generated evidence is the most tempting place to launder confidence: a model writes gold answers, a benchmark reports a number, an annotator labels a batch — and suddenly a gate looks justified. EvalGlass closes that path by making approval a separate, host-owned act. The most a generator can do is propose.
The governance rules
| Artifact | What it can claim | What grants authority |
|---|---|---|
| Synthetic dataset | Its status is always proposed — a hopeful declared_status is accepted but never honored. |
A host validation that re-issues the dataset as validated. |
| Annotation import | Counts as an authority input only when it carries a non-empty validation_record. |
The host validation record attached by a reviewer. |
| Benchmark result | Provides BenchmarkEvidence.supports(...) toward a threshold — evidence only. |
A host ApprovedThreshold; asking a benchmark to approve one raises GovernanceError. |
These are not conventions a caller can opt out of — they are enforced in the library.
import_synthetic_dataset(..., declared_status="validated") still returns a
proposed dataset, and
approve_threshold_from_benchmark(...) always raises rather than returning an
approval.
Propose, then a human disposes
Scaffolded gold, synthetic data, and generated rubrics all enter as
informational. Only a host record — a validated dataset, an
approved threshold, a calibrated judge, a signed annotation — turns evidence into gating power.
This is Host Ownership applied to anything a machine produced.