Open kit · Python standard library · Synthetic data

Catch unsupported AI claims before they leave the workflow.

A runnable starter kit for teams that need more than “looks good.” Test citations, required unknowns, review ownership, release state, and forbidden claims in one local command.

Run in one command

One accepted output. Three failures that must stay failed.

The included Project Cedar fixture is intentionally synthetic. The passing output preserves an unknown, cites allowed sources, names a reviewer, and stops below approval. The mutations inject an unsupported claim, erase an unknown, or pretend a release happened.

python3 evidence_gate.py --all

Proof boundary: a passing gate proves only that the included contract checks passed against the supplied files. It does not prove the source facts are true or that a human approved the work.

Nine deterministic checks

  • Unique source and claim identifiers
  • Every citation resolves to an allowed source
  • Claims match the frozen contract
  • Required unknowns remain visible
  • Forbidden claims are absent
  • A review owner is named
  • Release and external-action states stay bounded

Inside the download

A small contract you can actually adapt.

Contractevidence-contract.json

Required claims, unknowns, review state, and forbidden statements.

Fixturesaccepted-output.json + fixtures/

One accepted output and three damaging negative tests.

Gateevidence_gate.py

Readable Python 3 code with no third-party dependency.

Instructor guideINSTRUCTOR-GUIDE.md

Learning objectives, a 30-minute activity, assessment criteria, answer key, and accessibility notes.

Reuse termsREADME.md · LICENSE.md · CITATION.cff

Adaptation steps, MIT/CC BY 4.0 terms, and citation metadata.

Teach the pattern

Run a bounded evidence-gate activity in 30 minutes.

The instructor guide gives graduate learners and L&D professionals a short sequence for inspecting sources, running the gate, explaining three rejected mutations, and drafting one observable rule for their own learning-content workflow.

Get the 30-minute instructor guide

Participants produce evidence

  • Label sources, contract, output, and retained result
  • Explain an unsupported claim and a preserved unknown
  • Run or explicitly observe the accepted and rejected cases
  • Name the human review and release boundary
  • Draft one workflow-specific rule and damaging mutation

Adapt safely

Change the contract before you change the code.

  1. Freeze the allowed sources.Give each source a stable ID and retain the exact files.
  2. Write observable rules.Turn success, unknowns, approvals, and forbidden actions into explicit fields.
  3. Add a damaging mutation.Prove the gate rejects the failure you most need to prevent.
  4. Keep human review visible.Automation can block release; it cannot impersonate approval.