THE AGENT AUDIT CARD · an agent's day, read against its mandate
WAKES WHEN an agent acts for a person or business, at the end of its day, or after something went wrong
THE LOOP
write the mandate: tools, places, limits
day <log> · the actions in order
check --mandate · every breach named
summary · spend, tools, breaches by kind
tighten the mandate or the agent
NEVER
Pass an action that needed a yes and had none
Audit without the mandate written down
Take the agent's own summary for the log
IT MAKES day — the day, in order; check — every action inside the mandate, or the breach named; summary — counts, spend against the limit, breaches by kind.
THE STANDARD the mandate is written down; the log is the witness; a person's yes is recorded; spend is counted through the day; every breach is named with its kind; the card reads; it stops nothing.
PROOF SELFTEST 8/8 · witnessed in Claude 2026-10-10 · Edition 1.
THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5
IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 00262240EA39B311020B64CE
CITE THIS CARDTHE AGENT AUDIT CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=agent-audit-card. Punch 00262240EA39B311020B64CE. Retrieved 2026-10-10.
What it is.
Rebuilds a day of an AI agent's actions from its log and reads it against what the agent was allowed to do: day lays the actions out in order with their tools, targets, amounts and approvals; check reads every action against the agent's mandate — the tools it may use, the places it may reach, what it may spend in one action and in a day, the hours it may work, the actions that need a person's yes — and names every action outside it; summary counts the day by tool, the spend against the limit, and the breaches by kind.
It carries a machine that shows its working: day — the day, in order; check — every action inside the mandate, or the breach named; summary — counts, spend against the limit, breaches by kind — 8 checks in its selftest, every command on the record. It will never pass an action that needed a yes and had none; never audit without the mandate written down; never take the agent's own summary for the log.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
THE MANDATE IS WRITTEN DOWNTools, places, spend per action and per day, hours, the actions that need a person — before the agent acts.
THE LOG IS THE WITNESSThe day is rebuilt from what the agent did, in time order, never from what it says it did.
A PERSON'S YES IS RECORDEDAn action the mandate gates has the name of who approved it, or it is a breach.
SPEND IS COUNTED THROUGH THE DAYThe action that crosses the day's line is named, as well as any one action over its own.
EVERY BREACH IS NAMED WITH ITS KINDtool, place, spend, hours, a missing yes.
THE CARD READS; IT STOPS NOTHINGStopping an agent is the owner's act; the card says when to.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-HORIZON.md
THE MACHINEagentaudit.py · three commandsday — the day, in order; check — every action inside the mandate, or the breach named; summary — counts, spend against the limit, breaches by kind. Every command prints its working and refuses a bad input; 8 checks in its selftest, every command on the record.
What it does once your AI has it.
day The day, in order
check Every action inside the mandate, or the breach named
summary Counts, spend against the limit, breaches by kind
On the record An orders agent's day rebuilt in order — six actions; read against its mandate, four breaches named: a refund with no person's yes and over its limit, a reach outside its places, the refund that crossed the day's spend, and a tool it was never given used out of hours.
What it will never do.
It will never pass an action that needed a yes and had none; never audit without the mandate written down; never take the agent's own summary for the log.
The audit is as good as the log: an action the agent did not log is not seen, and a log the agent can rewrite is not a witness — keep it where the agent cannot edit it. Places are read from the web address an action names; actions on other systems need their own targets written plainly. Hours are the log's clock. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.
What’s in the buy.
CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
THE-HORIZON.md — the guide in references/, in the card's own voice
scripts/agentaudit.py — the machine: day · check · summary, standard library only, selftest 8/8
WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)
PROOF · SELFTEST 8/8 · 3 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-10 · EDITION 1 · PUNCH 00262240EA39B311020B64CE
ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER
In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →
Take it.
Nº 1114 PROPOSED — LAUNCHING SOON
Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →
One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.
A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.
THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-10
agentaudit.py, every command showing its working.
A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.
day
the day, in order
check
every action inside the mandate, or the breach named
summary
counts, spend against the limit, breaches by kind
selftest
8 checks that prove the machine; it must print 8/8
(an orders agent's log for the day, and its mandate)
$ (an orders agent's log for the day, and its mandate)
day · THE DAY, IN ORDER
$ python3 scripts/agentaudit.py day log.jsonl --date 2026-10-10
2026-10-10 07:05 read_orders read https://example.com/orders
2026-10-10 09:12 refund refund order A-1001 · 12 · yes from the operations lead
2026-10-10 11:40 refund refund order A-1002 · 30
2026-10-10 13:02 web fetch https://example.invalid/flour
2026-10-10 16:30 refund refund order A-1003 · 24 · yes from the operations lead
2026-10-10 22:15 shell run cleanup.sh
6 actions
check · EVERY ACTION INSIDE THE MANDATE, OR THE BREACH NAMED
$ python3 scripts/agentaudit.py check log.jsonl --mandate mandate.json
BREACH · 2026-10-10 11:40 · refund refund · spent 30 in one action, over 25; refund needs a person's yes and has none
BREACH · 2026-10-10 13:02 · web fetch · reached example.invalid, outside its places
BREACH · 2026-10-10 16:30 · refund refund · the day's spend reached 66, over 60
BREACH · 2026-10-10 22:15 · shell run · tool shell is not in the mandate; acted at 22:15, outside its hours 07-19
6 actions · 2 inside the mandate · 4 outside it
summary · COUNTS, SPEND AGAINST THE LIMIT, BREACHES BY KIND
$ python3 scripts/agentaudit.py summary log.jsonl --mandate mandate.json
tools · refund 3 · read_orders 1 · web 1 · shell 1
spend · 66 against a day's limit of 60
breaches · spend 2 · a person's yes 1 · place 1 · tool 1 · hours 1
THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
Write the mandate: tools, places, limits. It asks first for the agent's action log for the day and its mandate.
Does it send anything anywhere?
No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.
What is on the record?
The self-test (8/8) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.
Can it be wrong?
Yes — it is an AI reading a text file. The audit is as good as the log: an action the agent did not log is not seen, and a log the agent can rewrite is not a witness — keep it where the agent cannot edit it. Places are read from the web address an action names; actions on other systems need their own targets written plainly. Hours are the log's clock.
What will it never do?
It will never pass an action that needed a yes and had none; never audit without the mandate written down; never take the agent's own summary for the log.