WAKES WHEN someone debugs an agent that loops, stalls or never finishes, or sets it a budget
THE LOOP
log every step: call, result, final
trace.py read · one run, every flag
fix in the harness, not only the prompt
budget · steps, time, tokens; exit 1 over
stats · the long tail across runs
NEVER
Trust a statistic before reading ten traces
Fix a loop by asking the model nicely
Count a silent run as a success
IT MAKES new — an example trace showing the shape, with a loop and an ignored error; read — the timeline and the flags for one run; stats — across runs: steps, time, tokens, finish rate, errors by tool, the long tail; budget — within budget or not; exit 1 on a breach.
THE STANDARD the trace is the truth, not the summary; a loop is a signal the result is not reaching the model; limits live in the harness; silence is failure; measure tools alone; keep the traces.
PROOF SELFTEST 14/14 · witnessed in Claude 2026-10-09 · 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 · A5F00EB3F416B4E0AA7AA4F0
CITE THIS CARDTHE TRACE CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=trace-card. Punch A5F00EB3F416B4E0AA7AA4F0. Retrieved 2026-10-10.
What it is.
Reads the trace of an AI agent run — every tool call, result, message and final answer — and names what went wrong: the same call repeated with the same arguments, a failed call retried unchanged, failures in a row, a run that never answered, one step that took half the time; checks a run against a budget of steps, time and tokens; and reports across a folder of runs the median and long tail of steps, time and tokens, the finish rate and errors by tool.
It carries a machine that shows its working: new — an example trace showing the shape, with a loop and an ignored error; read — the timeline and the flags for one run; stats — across runs: steps, time, tokens, finish rate, errors by tool, the long tail; budget — within budget or not; exit 1 on a breach — 14 checks in its selftest, every command on the record. It will never trust a statistic before reading ten traces; never fix a loop by asking the model nicely; never count a silent run as a success.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
THE TRACE IS THE TRUTH, NOT THE SUMMARYRead the steps; a run that "worked" with three retries is a run that is about to stop working.
A LOOP IS A SIGNAL THE RESULT IS NOT REACHING THE MODELFix the plumbing before the prompt.
LIMITS LIVE IN THE HARNESSA prompt can ask the model to stop; only the harness can make it.
SILENCE IS FAILUREA run with no final answer is counted as one, never dropped from the rate.
MEASURE TOOLS ALONEThe long tail is usually a tool, and tools are measured without the model in the way.
KEEP THE TRACESThe next change is compared against the last thousand runs, not a memory of them.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/READING-A-TRACE.md
THE MACHINEtrace.py · four commandsnew — an example trace showing the shape, with a loop and an ignored error; read — the timeline and the flags for one run; stats — across runs: steps, time, tokens, finish rate, errors by tool, the long tail; budget — within budget or not; exit 1 on a breach. Every command prints its working and refuses a bad input; 14 checks in its selftest, every command on the record.
What it does once your AI has it.
new An example trace showing the shape, with a loop and an ignored error
read The timeline and the flags for one run
stats Across runs: steps, time, tokens, finish rate, errors by tool, the long tail
budget Within budget or not; exit 1 on a breach
On the record The example run read step by step — a loop, a retry storm, a failed call repeated unchanged, no final answer — and found over its time budget; then twenty runs together: eighteen finished, two did not, errors counted by tool and the long tail named.
What it will never do.
It will never trust a statistic before reading ten traces; never fix a loop by asking the model nicely; never count a silent run as a success.
It reads what the trace recorded; a tool that lies in its result or a step that was never logged is invisible to it. Whether the final answer was right is THE EVAL CARD's question. Percentiles on fewer than ten runs mean little. 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
READING-A-TRACE.md — the guide in references/, in the card's own voice
scripts/trace.py — the machine: new · read · stats · budget, standard library only, selftest 14/14
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 14/14 · 4 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-09 · EDITION 1 · PUNCH A5F00EB3F416B4E0AA7AA4F0
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º 833 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-09
trace.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.
new
an example trace showing the shape, with a loop and an ignored error
read
the timeline and the flags for one run
stats
across runs: steps, time, tokens, finish rate, errors by tool, the long tail
budget
within budget or not; exit 1 on a breach
selftest
14 checks that prove the machine; it must print 14/14
new · AN EXAMPLE TRACE SHOWING THE SHAPE, WITH A LOOP AND AN IGNORED ERROR
$ python3 scripts/trace.py new run-01.jsonl
example trace written · run-01.jsonl · 10 steps, with a loop, an ignored error and no final answer — replace it with a real run
read · THE TIMELINE AND THE FLAGS FOR ONE RUN
$ python3 scripts/trace.py read run-01.jsonl
TRACE · run-01.jsonl · 10 steps · 4 tool calls · 18,950 ms · 435 tokens · NO FINAL ANSWER
1 message 900 ms 120 tok … I will look up the order, then the refund policy.
2 tool_call 300 ms 40 tok → orders.get {"id": "A-1001"}
3 tool_result 5000 ms tok ← orders.get ERROR timeout
4 tool_call 300 ms 40 tok → orders.get {"id": "A-1001"}
5 tool_result 5000 ms tok ← orders.get ERROR timeout
6 tool_call 300 ms 40 tok → orders.get {"id": "A-1001"}
7 tool_result 5000 ms tok ← orders.get ERROR timeout
8 tool_call 250 ms 35 tok → policy.search {"q": "refund window"}
9 tool_result 800 ms tok ← policy.search ok
10 message 1100 ms 160 tok … The order service is not answering; I will tell the customer what the
FLAG · LOOP orders.get called 3 times with the same arguments {"id": "A-1001"}
FLAG · REPEAT-AFTER-ERROR orders.get failed and was called again with the same arguments
FLAG · RETRY-STORM 3 failures in a row
FLAG · NO-FINAL the run never gave a final answer
budget · WITHIN BUDGET OR NOT; EXIT 1 ON A BREACH
$ python3 scripts/trace.py budget run-01.jsonl --steps 25 --ms 10000 --tokens 40000
BUDGET · run-01.jsonl · steps 10 · 18,950 ms · 435 tokens
OVER-BUDGET · time 18950 ms > 10000
stats · ACROSS RUNS: STEPS, TIME, TOKENS, FINISH RATE, ERRORS BY TOOL, THE LONG TAIL
$ python3 scripts/trace.py stats runs
TRACES · 20 runs in runs
steps median 4 · p90 4 · max 10
time median 2,150 ms · p90 2,150 ms · max 18,950 ms
tokens median 210 · p90 210 · max 435
finished 18/20
errors by tool · orders.get 6
flags · LOOP in 2 run(s) · REPEAT-AFTER-ERROR in 2 run(s) · RETRY-STORM in 2 run(s) · NO-FINAL in 2 run(s)
LONG TAIL · 2 run(s) past the p90 of 4 steps: r18.jsonl (10), r19.jsonl (10)
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?
Log every step: call, result, final. It asks first for the traces as one JSON step a line (tool_call, tool_result, message, final, with ms and tokens where known), and the budget the run is meant to keep.
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 (14/14) 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. It reads what the trace recorded; a tool that lies in its result or a step that was never logged is invisible to it. Whether the final answer was right is THE EVAL CARD's question. Percentiles on fewer than ten runs mean little.
What will it never do?
It will never trust a statistic before reading ten traces; never fix a loop by asking the model nicely; never count a silent run as a success.