A template project that records a signed agent action and checks a claim about it offline, with the packages pinned and the conformance Action already in CI.
It is for anyone wiring agent evidence into their own harness, evaluation pipeline or review process who wants a working base to change rather than a blank repository.
Use this template, or clone it and install the pinned packages (Python 3.12 or later):
git clone https://github.com/probityai/evidence-starter && cd evidence-starter
python3 -m venv .venv && .venv/bin/pip install ".[test]".venv/bin/evidence-starter runrecorded /work/result.txt in run
decision: supported (assertion_matches_authenticated_history)
demo.py has two halves. The producer uses agent-evidence-observer: a broker writes one file, signs its history and seals a packet into run/. The consumer uses probity-verify: it reads only those retained bytes and a policy pinning the two public keys, and decides whether a report about the write holds. Run .venv/bin/evidence-starter run-false --claim false (the argument is the new directory it writes, so it must not exist yet) and the same evidence gives contradicted; change a byte of run/history.jsonl and the verifier refuses with exit 2. .venv/bin/python -m pytest checks all three.
| job | what it proves |
|---|---|
demo |
the pins install, the example prints supported, the tests pass, and the README stays one screen |
vectors |
builds the reference verifier pinned in tools/go.mod and replays the agent-evidence-vectors corpus against it with the project's GitHub Action |
To test a verifier of your own, replace the verifier: line in ci.yml. Dependabot keeps the PyPI pins, the Go pin and the Action pin current, together.
Version 0.1.0. The packages are pinned in pyproject.toml, the verifier in tools/go.mod and the vectors Action in ci.yml. Dependabot moves all of them in one weekly pull request, and a test fails if the Action and the verifier name different releases. Keys are generated per run on one host, so every record says witnessScope: PEER: it shows what this broker saw, not what an independent witness saw.
| page | read it for |
|---|---|
| Observer docs | brokered writes, workloads and the witness ledger |
| Brokered file write check | every field of the report, case and policy this example writes |
| Vectors CI guide | Action inputs, outputs and how to read the report |
| Verifier contract | what your verifier must print for the corpus |
Apache-2.0; see LICENSE.