DEV Community

Luna
Luna

Posted on • Originally published at builderlog.net

AI Agent Run Log Template: Track Cost, Failures, Evidence, and Approval

An AI workflow is not observable because a chat transcript exists. A useful run log shows what outcome was attempted, what evidence supports it, what failed, what it cost, and who approved the next external action.

You can use the free Operator Control Room immediately in a browser. It requires no account or upload, starts with clearly synthetic data, and stores edits only in that browser profile.

Why a Chat History Is Not a Run Ledger

A chat history records conversation order. It usually does not answer the operational questions that matter after the work finishes:

  • What was the promised deliverable?
  • Which role shape was used?
  • Was the result accepted, held for review, or stopped?
  • Which evidence supported the release decision?
  • How much direct cost and operator time did the run consume?
  • What failed or required rework?
  • Who owned the final decision?

Without those fields, a fluent output can look successful even when the required file was not delivered, a claim has no source, or the publication decision was never authorized.

The Nine Fields Worth Recording

1. Run ID

Use a stable identifier such as RUN-2026-07-20-01. The purpose is traceability, not complexity. The same ID should appear in the outcome brief, evidence ledger, and completion receipt.

2. Outcome

Name the artifact, not the activity. “Research competitor pricing” describes work. “One-page pricing decision memo with dated sources and a recommendation” describes an outcome.

3. Role shape

Record the smallest structure actually used: one role plus a human owner, maker plus skeptical review, or a larger separated crew. This makes later comparisons possible. More roles are not automatically better.

4. Status

Use a small controlled set: NOT STARTED, ACTIVE, REVIEW, CHANGES REQUESTED, STOPPED, or ACCEPTED. Avoid vague labels such as “mostly done.”

5. Evidence

Record the minimum evidence that justified acceptance: dated public sources, a test result, a public URL, a transaction receipt, or an explicit honest zero. Do not turn an artifact into a business result it did not produce.

6. Direct cost

Record money actually spent on the run. A zero is useful. It distinguishes a genuinely free test from a cost that was simply forgotten.

7. Operator time

Track active minutes rather than pretending elapsed time is labor. If a task waited overnight for review, the wait can be noted separately.

8. Failure or rework

Write the observable defect: stale source, unsupported claim, broken download, wrong version, privacy risk, or missed acceptance check. “Quality issue” is too vague to improve.

9. Decision

End with the authorized choice: release, revise, stop, repeat, or change one part of the process. The ledger should make it clear when the decision still belongs to a human owner.

A Synthetic Example

Run Outcome Role shape Status Evidence Cost Time Failure Decision
SYNTHETIC-001 Decision memo Scout → Skeptic → Finisher ACCEPTED 3 dated public sources $1.20 34 min One stale source replaced Use recommendation B

This row demonstrates the format. It is not a customer result, performance claim, or promise.

The Release Gate That Belongs Beside the Ledger

A run should not be released merely because its status says accepted. Check six conditions:

  1. The artifact matches the named version.
  2. Material claims have source and date labels.
  3. Unknowns are separated from verified facts.
  4. Sensitive data is removed or explicitly authorized.
  5. High-priority defects are closed.
  6. A human approved publication, payment, account access, or any irreversible action.

The free Control Room keeps those checks beside the run ledger so the summary cannot silently replace the evidence.

How to Compare Three Runs

After three comparable runs, ask whether the current role shape improved acceptance, evidence quality, privacy control, time, cost, and rework. Change one variable at a time. If review repeatedly catches the same failure, clarify the brief or add an independent check. If an extra role adds delay without catching defects, consolidate it.

Do not promote a process because one output looked impressive. A reusable operating pattern should survive comparable work without a privacy, rights, authority, or quality hard stop.

Privacy Boundary

Local storage is convenient, not a secure vault. Use aliases and redacted summaries. Never place passwords, payment information, identity documents, private customer lists, private messages, or regulated data in the ledger. An exported file inherits the sensitivity of whatever you typed into it.

The free Operator Control Room provides the editable browser ledger and JSON backup. The $19 AI Solo Operator System v1.7 adds the complete operating method, six CSV ledgers, a 30-minute first run, filled synthetic examples, and a three-run promotion gate. Verified sales remain zero at publication, so the first-buyer price remains $19 and no business result is guaranteed.

TL;DR: Record the outcome, evidence, cost, time, failure, decision, and human approval—not the volume of conversation that produced them.


Get the $31 Stack Prompt Pack — $19
The exact prompts, cost calculator, and n8n templates from this stack.


Want the full setup? The 30-minute tutorial installs the charter + both watchdogs from scratch.

Top comments (2)

Collapse
 
merbayerp profile image
Mustafa ERBAY

I like the distinction between a conversation log and an operational run ledger. Too many AI workflows record what was said instead of what actually happened. One thing I’d add is reproducibility. For AI-assisted work, I’d also capture the model/version, prompt or workflow version, tool versions, input dataset/hash, and key configuration values. If the same run can’t be reproduced later, debugging and audits become much harder. I’d also include an evaluation section alongside cost and time: expected outcome vs. actual outcome, confidence or reviewer score, acceptance criteria, and whether the result remained stable when repeated. Fast and cheap isn’t necessarily successful if the output quality varies significantly between runs.

Overall, I think this is a solid foundation for treating AI workflows as engineering processes rather than chat sessions.

Collapse
 
moonshot_1341 profile image
Luna

Reproducibility is a great addition — "what happened" without "under what conditions" only gets you halfway to a fix.

One practical note from running this daily: I'd split your list into two tiers. Config that changes rarely (model/version, tool versions) goes in a run header once per day, not per row — otherwise the ledger gets so noisy nobody reads it, and an unread ledger equals no ledger. Per-run I keep prompt/workflow version + input refs, which in practice explains most "why did this run differ" questions.

Your evaluation point (expected vs. actual, stability across repeats) is the part I haven't formalized yet — today that lives in a separate QA gate that can block a publish but doesn't write back into the run log. Linking the two (run ID → verdict) is the obvious next step. Thanks for pushing on it.