---
title: "AI Agent Run Receipt Template: Fields and Checks."
description: "Use an AI agent run receipt template to record sources, versions, tests, outputs, approvals, effects, errors, and completed, blocked, or no-work status."
canonical: "https://scalewithsearch.com/articles/ai-agent-run-receipt-template"
date: "2026-08-18"
modified: "2026-09-19"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Real estate
  - Real estate
    - [Real estate](https://scalewithsearch.com/for/real-estate)
- Work
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Prepare your six-question brief](https://scalewithsearch.com/work#prepare-your-six-question-brief)
  - Build
    - [Site build, content library with SEO, signal desk](https://scalewithsearch.com/work)
- For your business
  - Trades and home services
    - [Auto body and collision shops](https://scalewithsearch.com/for/auto-body-and-collision-shops)
    - [Foundation and home repair contractors](https://scalewithsearch.com/for/foundation-and-home-repair)
    - [Garage door and fencing contractors](https://scalewithsearch.com/for/garage-door-and-fencing-contractors)
    - [HVAC contractors](https://scalewithsearch.com/for/hvac-contractors)
    - [Janitorial and commercial cleaning companies](https://scalewithsearch.com/for/janitorial-and-commercial-cleaning)
    - [Locksmiths](https://scalewithsearch.com/for/locksmiths)
    - [Moving companies](https://scalewithsearch.com/for/moving-companies)
    - [Pest control companies](https://scalewithsearch.com/for/pest-control-companies)
    - [Plumbing and electrical contractors](https://scalewithsearch.com/for/plumbing-and-electrical-contractors)
    - [Restoration and water or fire damage companies](https://scalewithsearch.com/for/restoration-and-water-fire-damage)
    - [Roofing companies](https://scalewithsearch.com/for/roofing-companies)
    - [Towing companies](https://scalewithsearch.com/for/towing-companies)
    - [Tree services and landscaping companies](https://scalewithsearch.com/for/tree-services-and-landscaping)
    - [Solar installers](https://scalewithsearch.com/for/solar-installation)
    - [General contractors](https://scalewithsearch.com/for/general-contractors-and-construction)
    - [Paving, concrete, and flooring contractors](https://scalewithsearch.com/for/paving)
  - Practices and professional services
    - [Bookkeeping and tax practices](https://scalewithsearch.com/for/bookkeeping-and-tax-practices)
    - [Dental practices](https://scalewithsearch.com/for/dental-practices)
    - [Family and criminal defense law firms](https://scalewithsearch.com/for/family-and-criminal-defense-law-firms)
    - [Med spas and aesthetics practices](https://scalewithsearch.com/for/med-spas-and-aesthetics)
    - [Personal injury law firms](https://scalewithsearch.com/for/personal-injury-law-firms)
    - [Veterinary clinics](https://scalewithsearch.com/for/veterinary-clinics)
    - [Gyms and fitness studios](https://scalewithsearch.com/for/fitness)
    - [Therapy and outpatient health practices](https://scalewithsearch.com/for/therapy-and-outpatient-health)
    - [Medical billing companies](https://scalewithsearch.com/for/medical-billing)
    - [Insurance agencies](https://scalewithsearch.com/for/insurance-agencies)
    - [Financial advisors](https://scalewithsearch.com/for/financial-advisors)
    - [Property management companies](https://scalewithsearch.com/for/property-management)
    - [Recruiting and staffing agencies](https://scalewithsearch.com/for/recruiting-and-staffing)
    - [Architects and interior designers](https://scalewithsearch.com/for/architects-and-interior-designers)
    - [Logistics and supply chain companies](https://scalewithsearch.com/for/logistics-and-supply-chain)
  - Agencies, MSPs, and manufacturing
    - [IT and managed service providers](https://scalewithsearch.com/for/it-and-managed-service-providers)
    - [Machine shops and precision manufacturers](https://scalewithsearch.com/for/machine-shops-and-precision-manufacturing)
    - [Marketing agencies and freelancers](https://scalewithsearch.com/for/marketing-agencies-and-freelancers)
    - [SEO agencies and consultants](https://scalewithsearch.com/for/seo-agencies-and-consultants)
    - [Small manufacturers and fabricators](https://scalewithsearch.com/for/small-manufacturers-and-fabricators)
  - Restaurants, shops, studios, and nonprofits
    - [Restaurants and hospitality businesses](https://scalewithsearch.com/for/restaurants-and-hospitality)
    - [Retail stores and ecommerce sellers](https://scalewithsearch.com/for/retail-and-ecommerce)
    - [Photographers, event planners, and travel agents](https://scalewithsearch.com/for/photographers)
    - [Churches and nonprofits](https://scalewithsearch.com/for/churches-and-nonprofits)
  - [All industries](https://scalewithsearch.com/for/)
- Learn
  - For your office
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Browser calculators](https://scalewithsearch.com/tools/)
  - Start here
    - [How it works](https://scalewithsearch.com/how-it-works)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
    - [Synthetic specimen](https://scalewithsearch.com/specimen/working-session-specimen.zip)
  - Guides
    - [The Complete Guide to Business Memory for AI Agents](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [The Complete Small-Business Guide to AI Agent Governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [The Complete Guide to Leaving Vendor AI Memory](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles by cluster
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - For machines
    - [llms.txt](https://scalewithsearch.com/llms.txt)
    - [llms-full.txt](https://scalewithsearch.com/llms-full.txt)
    - [Machine view](https://scalewithsearch.com/?view=machine)
- Company
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Company
    - [About](https://scalewithsearch.com/about)

# AI Agent Run Receipt Template.

A scheduled agent produces no visible output on Tuesday. The owner cannot tell whether there was no work, a required source was missing, the model failed, or the result was written to the wrong folder.

Silence is not an operating state.

Every meaningful run should leave a receipt. The receipt identifies what ran, what it inspected, what it produced, where it stopped, and what evidence supports the status.

## A receipt is part of the result

The artifact and receipt answer different questions.

The artifact contains the business output. The receipt proves how the run handled the job.

For a weekly account brief, the artifact is the draft. The receipt records the account identifier, source versions, checks, output hash, approval state, and final status.

This extends the operating rule that [the receipt is part of the output](/articles/receipt-is-part-of-the-output). A workflow that writes a good draft but cannot identify its inputs is difficult to inspect or repeat.

NIST's AI RMF Core says documentation can support transparency, human review, and accountability. [NIST AI RMF Core](https://airc.nist.gov/airmf-resources/airmf/5-sec-core/)

Microsoft's agent evaluation checklist uses test cases, acceptance criteria, expected results, and recorded evaluation outcomes. [Microsoft: Agent evaluation checklist](https://learn.microsoft.com/en-us/agents/agent-evaluation/evaluation-checklist)

The template below applies those ideas to one small-business run.

## Inspect `run-receipt.json`

```json
{
  "receipt_version": "1.0",
  "run_id": "weekly-brief-20260818-001",
  "job_id": "weekly-account-brief",
  "account_id": "ACCT-1001",
  "started_at": "2026-08-18T09:00:00-04:00",
  "finished_at": "2026-08-18T09:00:14-04:00",
  "status": "completed",
  "runner": {
    "adapter": "provider-a-v2",
    "model": "recorded-runtime-value",
    "job_version": "2026.08.18.1"
  },
  "sources": [
    {"path": "context.md", "sha256": "..."},
    {"path": "decisions.md", "sha256": "..."},
    {"path": "corrections.md", "sha256": "..."}
  ],
  "checks": [
    {"id": "source-boundary", "result": "pass"},
    {"id": "required-sections", "result": "pass"},
    {"id": "external-send", "result": "not_attempted"}
  ],
  "outputs": [
    {"path": "drafts/weekly-brief.md", "sha256": "..."}
  ],
  "approval": {"required": true, "status": "not_requested"},
  "effects": [],
  "stopping_rule": "DRAFT_COMPLETE",
  "errors": []
}
```

Do not copy secret values into the receipt. Record environment-variable names, credential references, or redacted identifiers when needed.

## Use a small status vocabulary

The literal `status` enum is `completed | no_work | blocked | failed | uncertain`. Use those spellings in validators.

A duplicate is not a sixth status. Record `status: no_work`, `stopping_rule: DUPLICATE_RUN`, and `prior_run_id` when a completed intent is suppressed. Preserve the original receipt and its result.

**Completed** means the job reached its normal stopping point and required artifacts exist.

**No work** means the workflow inspected the defined source and found no eligible item. It names what it checked.

**Blocked** means a required decision, source, identity, or approval is missing.

**Failed** means the run could not complete because a component or validation failed.

**Uncertain** means the workflow cannot prove whether an external effect occurred or which state now exists.

Do not use `success` for a draft-only run if the business result depends on later approval. `completed` is clearer: the assigned preparation completed.

## Record the job and scope

The receipt should identify the job version, account or domain, and input item.

Without those fields, two receipts from similar workflows can be confused. A correct output for `TEST-ACCOUNT-A` is still a failure if the run belonged to `TEST-ACCOUNT-B`.

Use stable internal identifiers. Avoid unnecessary personal data in file names and receipts.

## Record sources with versions

List the files, records, or API objects that governed the result. Include a hash, revision, update timestamp, or stable version where the source supports it.

The receipt need not duplicate source contents. It needs enough information to identify what the run used.

For a search result, record the query, allowed root, returned source identifiers, and retrieval adapter version. For a database record, record the object identifier and observed version without copying private fields.

## Record tests and validation

Checks should have stable identifiers and explicit results.

Examples include:

- account identity resolved;
- allowed source boundary passed;
- required source present;
- no equal-authority conflict;
- required output sections present;
- prohibited claim absent;
- approval state valid;
- duplicate check passed;
- output reopened and hash matched;
- external read-back matched.

Record `not_applicable` when a check does not fit the job. Do not call an unrun test a pass.

## Record outputs and proposed actions

List every file written or record proposed. For files, save the path and hash. For a proposed external action, save the action-preview path and approval identifier.

If the job produces no business artifact, the receipt should explain why. A `no_work` receipt names the inspected queue and eligibility rule. A blocked receipt names the missing object.

The buyer's [build acceptance list](/articles/what-a-build-acceptance-list-contains) should test that these receipts exist for normal, blocked, failed, and no-work fixtures.

## Record effects separately

Do not merge "the request was accepted" with "the intended state exists."

For any approved external effect, record:

- approval ID;
- exact action and destination;
- request identifier;
- provider response;
- read-back method;
- observed resulting state;
- rollback or correction status.

If read-back fails, use `uncertain` or `failed` according to the contract. Do not retry automatically unless duplicate protection and the destination state make the retry safe.

## Record the stopping rule

The receipt should say why the run ended.

Examples:

```text
DRAFT_COMPLETE
NO_ELIGIBLE_ITEM
SOURCE_MISSING
SOURCE_CONFLICT
IDENTITY_AMBIGUOUS
APPROVAL_REQUIRED
APPROVAL_MISMATCH
DUPLICATE_RUN
TOOL_UNAVAILABLE
RESULT_UNCERTAIN
```

The shared [stopping-rule examples](/articles/ai-agent-stopping-rules-examples) use the same `SOURCE_MISSING`, `IDENTITY_AMBIGUOUS`, `APPROVAL_REQUIRED`, and `RESULT_UNCERTAIN` codes.

Stable codes support search, alerts, and trend review. Add a human-readable explanation beside the code when it helps.

## Test the receipt template

Run these fixtures:

1. Normal input creates the artifact and `completed` receipt.
2. Empty eligible queue creates `no_work` with the inspected source.
3. Missing required file creates `blocked` and names the file.
4. Equal-authority conflict creates `blocked` with both references.
5. Tool outage creates `failed` with the component and safe state.
6. Duplicate job preserves the prior receipt and writes `no_work` with `DUPLICATE_RUN` and the prior run ID.
7. External timeout creates `uncertain` until read-back resolves it.
8. Output file is reopened and its recorded hash matches.
9. Receipt contains no secret values.
10. A new operator can locate the artifact from the receipt alone.

The template passes when each fixture produces the expected status and evidence.

## Keep receipts append-only in meaning

Do not silently rewrite a failed receipt into a completed receipt after correction.

Write a new receipt for the rerun and link it to the earlier run ID. Preserve the chain: failed, corrected, retested, completed.

If storage rules require compaction or retention limits, preserve a signed or hashed summary that maintains the decision trail.

Review receipt usefulness with the person who handles failures. Give that person one completed receipt and one blocked receipt without the original chat. They should be able to locate the artifact, identify the controlling sources, explain why the run stopped, and name the next decision owner. If they must ask the builder what a field means, add the definition to the schema documentation. Keep the receipt compact enough to scan during an incident.

## Approval and stopping boundary

The run may write its artifact and receipt inside approved paths. It stops before any external action not covered by the job and a matching approval.

The receipt does not grant authority. A field that says `approved` must refer to a decision from the authorized approval path. The agent cannot approve its own action by writing that value.

Changing the receipt schema, retention policy, audit destination, or alert route needs the system owner's review. Receipts must not become a second store for secrets or excess client data.

## Sources

- [NIST: AI Risk Management Framework](https://www.nist.gov/itl/ai-risk-management-framework)
- [NIST: AI RMF Core](https://airc.nist.gov/airmf-resources/airmf/5-sec-core/)
- [Microsoft: Review the agent evaluation checklist](https://learn.microsoft.com/en-us/agents/agent-evaluation/evaluation-checklist)


## Questions about AI Agent Run Receipt Template

### What evidence should a run receipt capture for finance or administrative work?

A receipt should identify the job, account or domain, source versions, checks, outputs, approval state, stopping rule, effects, read-back result, and errors. It distinguishes the business artifact from the evidence showing how the run handled the job.

### Are you giving agents direct tool/API access?

Record the approval ID, exact action and destination, request identifier, provider response, read-back method, observed state, and rollback or correction status. Do not treat a request accepted by a provider as proof that the intended state exists.

### How do you authorize AI agent actions in production?

Use explicit statuses such as completed, no_work, blocked, failed, and uncertain, with stable stopping codes beside them. The receipt should name what the run inspected and why it stopped, including duplicate, missing-source, approval, conflict, outage, or read-back conditions.

## Related: Testing and Acceptance

- [No Work or Broken Run? Make the AI Agent Prove Which One](/articles/ai-agent-no-work-receipt)
- [The Receipt Is Part of the Output](/articles/receipt-is-part-of-the-output)

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
