datumline-agent-guard
An independent verifier for AI agent work. An agent says a job is COMPLETED; agent-guard checks the artifacts it claims to have produced and returns a verdict. A completion claim with a missing artifact is reported as FALSE_DONE, not as a pass.
Standard library only, no dependencies. It imports nothing from the runtime it audits, so it can contradict that runtime.
Install
pip install datumline-agent-guard
CLI
agent-guard manifest.json # human-readable receipt
agent-guard manifest.json --json # machine-readable receipt
Exit code is 0 only on VERIFIED; every other verdict exits 1 (bad input exits 2), so it can gate CI or an agent loop.
Manifest
{
"job": "WO-123",
"claimed_status": "COMPLETED",
"artifacts": [
{"type": "file", "path": "out/report.md", "min_bytes": 200, "must_contain": ["## Findings"]},
{"type": "json", "path": "out/feed.json", "required_keys": ["last_marked", "entries"]},
{"type": "url", "url": "https://example.com/feed.json", "status": 200, "must_contain": ["last_marked"]},
{"type": "file", "path": "out/data.parquet", "sha256": "<hex>"}
]
}
Relative paths resolve against the current working directory.
Verdicts
| Verdict | Meaning |
|---|---|
VERIFIED |
every artifact is present and passes every check |
FAILED |
an artifact is present but fails a check, or is absent without a completion claim |
FALSE_DONE |
claimed_status is COMPLETED / COMPLETE / DONE / VERIFIED and at least one artifact is absent |
UNVERIFIABLE |
the manifest asserts no artifacts; fail-closed, never green |
Library
from datumline_agent_guard import verify, verify_file
receipt = verify({"claimed_status": "COMPLETED", "artifacts": [{"type": "file", "path": "out/report.md"}]})
if receipt["verdict"] != "VERIFIED":
raise SystemExit(receipt["verdict"])
LangChain
pip install "datumline-agent-guard[langchain]"
from datumline_agent_guard.langchain_tool import AgentGuardTool
tool = AgentGuardTool() # name: agent_guard_verify
tool.invoke({"manifest": {"claimed_status": "COMPLETED", "artifacts": [{"type": "file", "path": "out/report.md"}]}})
# -> JSON receipt; anything other than "verdict": "VERIFIED" means not done
Give it to an agent as a tool, or call it yourself before accepting the agent's "done". It also takes manifest_path instead of manifest. It passes LangChain's standard tool tests (langchain-tests). Requires Python 3.10+; the core package needs only 3.9 and has no dependencies.
Related
The same verifier ships inside the free, MIT-licensed Receipted Operator Claude Code plugin, which adds a receipt ledger, truthful statuses and a hook that refuses unreceipted "done". Datumline also publishes paid method kits at datumlinehq.gumroad.com.
License
MIT
Metadata
Release files for datumline-agent-guard 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datumline_agent_guard-0.1.0.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datumline_agent_guard-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / datumline_agent_guard-0.1.0.tar.gz
| Download URL | datumline_agent_guard-0.1.0.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8aaeb9e43d77f520b6314178b99c6d97ed4bbb5d371282072555533849848ee
|
|
BLAKE2b-256 checksum How to use checksums |
a29ee5b0fa6b78720211a381f0e80559da356af6318e51e74f03003a6b1d5530
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logRelease files / datumline_agent_guard-0.1.0-py3-none-any.whl
| Download URL | datumline_agent_guard-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
863ac1b204273a3bc3243ea893c7743295f8f5213148421cc5ff08fe3e97b633
|
|
BLAKE2b-256 checksum How to use checksums |
b56f6a699eead23edef63847c6e2d5d32a0b2bcbc1dbf07d16960f6304b8ac2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency log