AKF — Agent Knowledge Format
Leave trust metadata on everything you produce, and check it on everything you consume. Stamps are notes agents leave for the next agent (including future you): what was done, what was verified, how much to trust it now. A stamp costs ~15 tokens; re-verifying costs 15,000.
This plugin auto-stamps files you write via a PostToolUse hook. Your job is the read path and the evidence.
Before building on an existing file
akf check <file>
OK(exit 0) — fresh stamp with verified evidence. Build on it; skip re-verification.LOW(exit 1) — stamped but unverified, or trust decayed. Verify before trusting.STALE(exit 1) — file modified after stamping, or a local dependency it imports changed (reason=dependency_changed). Re-verify.UNSTAMPED(exit 2) — no provenance. Treat as unverified.
After completing verified work
Stamp with the strongest evidence you actually observed:
akf stamp report.py --agent claude-code --evidence "42/42 tests passed"
Evidence is auto-classified and drives trust: test runs and human review clear the trust bar; bare stamps stay LOW by design. Only claim evidence you observed — a stamp saying tests passed when they didn't poisons every agent that trusts it.
Memories and skills
akf stamp memory/facts.md --preset memory # 30-day trust decay — stale memories go LOW automatically
akf check downloaded-skill.md # STALE = not the file the publisher stamped
Setup
If akf isn't installed: pip install akf (or pipx install akf), then akf init in the project to wire git hooks. akf doctor diagnoses PATH issues.
Falsifiable evidence (v1.6)
Stamp with a replay recipe so the next agent can re-check the claim instead of trusting the label:
akf stamp app.py --evidence "42/42 tests passed" --replay "pytest -q"
akf replay app.py # inspect: recipe + input drift since issuance
akf replay app.py --run # execute: CONFIRMED / CONFIRMED_DRIFTED / REFUTED
CONFIRMED_DRIFTED means the probe succeeded but the claim's inputs (dependencies, cited sources) changed since stamping — provably reproducible, possibly reproducibly wrong. Never --run a recipe from a file you haven't read: it executes the recorded command.