You're using AI to develop, test, and ship code. But how do you track what came from where — and who looked at what?

A year ago, "did a human verify this?" had an obvious answer. Now it's the question your customers, your auditors, and your future self are going to ask. Honest Cheetah is built to answer it.

The problem nobody's tooling was built for

Every tool you use assumes the thing that just stopped being true: that a person did the work.

An agent writes the code. An agent writes the tests. An agent runs the tests and reports green. A developer glances at the pull request — maybe — and merges. The commit says it was authored by that developer. The test run says it passed. Everything looks exactly like it did two years ago.

Except now you can't tell the difference between "a senior engineer tested this on the staging environment against the release build" and "an agent said it was fine." Both produce a green checkmark. Both look like verification. Only one of them is.

Git doesn't help. Authorship in Git is self-reported metadata. Agents commit under human identities. History gets rewritten. A signed commit proves someone had the key — not that a person wrote the code, and definitely not that anyone tested it.

What a chain of custody actually means

In a courtroom, evidence is only as good as the record of who handled it, when, and how. Software verification is about to be held to the same standard.

A chain of custody for software answers four questions about every claim that something works:

Who verified it?

A named human? An automated pipeline? An AI agent? All three are legitimate. They are not the same thing, and the record should say which.

How firsthand was it?

Did they run it themselves and watch it work? Or are they reporting what something else told them? Testimony has degrees. So does verification.

Against what, exactly?

Which build. Which commit. Which environment. "It passed" without a build number is a rumor about a version that may not be the one you shipped.

Can the record be trusted?

If the person — or the agent — reporting the result can also edit the record of the result, you don't have a record. You have a claim.

How Honest Cheetah records it

A completed test run with three results labelled Secondhand, Firsthand, and Hearsay, each bound to a GitHub Actions run
One completed run, three results, three different answers to "who tested this?" — all styled the same.

The tester enters the claim. The server records who made it. For every result, the tester records who performed the test — a person, an agent, or an automation, by name — the outcome, and notes. Honest Cheetah then stamps who recorded that result, when, and through which channel. The client can't supply those three values. It can't forge them.

On the page it reads "Performed by meridian-e2e nightly (Automation) · recorded by Benjamin Day via Session · Sep 9, 2026, 4:56 PM." The first half is what the tester said. The second half is what the system knows about who said it.

Runs are bound to builds. When a run starts, the tester picks what it's about: a specific GitHub Actions workflow run (repo, branch, commit, run id), a pull request, or a typed-in environment or address. "It passed" always says what it passed on — or says plainly that it doesn't.

Completed runs are immutable. Nobody edits a finished run — not the tester, not the admin, not the agent. A correction is its own run, with one result, that says why and points back at the result it supersedes. The original stays on its run, dimmed and labelled Superseded, exactly where it was. Two halves, both visible, forever.

A correction run showing the Correction badge and the reason for the correction
The correction: its own run, with the reason.
The original run with the corrected result dimmed and labelled Superseded
The original: still there, marked Superseded.

The labels are derived, not declared. From the stored facts, Honest Cheetah computes two plain-language labels for every result at read time. Nobody picks their own label. The record does.

Who did the testing, and how do we know?
Firsthand
A human did it and recorded it themselves, in their own session.
Secondhand
A human did it, but someone else recorded it.
Corroborated
An agent or automation did it, and a named human reviewed the result.
Hearsay
An agent or automation did it, and nobody has reviewed it.
Unattributed
No one is recorded as having performed it.
What build is this result about?
Substantiated
Bound to a specific GitHub Actions workflow run.
Preliminary
Bound to a pull request.
Declared
The tester typed what they tested against — an environment or an address.
Unsubstantiated
Not attached to anything.

Firsthand, Secondhand, and Corroborated count as human-verified. Hearsay and Unattributed do not. That one sentence is the product's whole position on AI-run tests, and it's enforced in the schema, not in a setting.

"Hearsay" is not an insult

A test result labeled Hearsay isn't an error. It's a fact.

Most of your verification is going to be hearsay, and that's fine — you can't have a human personally re-run every test on every build. The point isn't to eliminate it. The point is to know which of your green checkmarks are which, so that when it matters — the release, the audit, the incident review — you can tell the difference between "verified" and "vibes."

Look at the badges in the screenshot above. Hearsay, Firsthand, Substantiated — same size, same grey, same font. None of them is red. None of them is a warning. Honest Cheetah presents provenance deadpan. The words carry the judgment, and you're smart enough to draw your own conclusions.

And when a person does look, that fact should survive. Every Hearsay result has an I verified this button. Click it, and a named human reviewer is recorded and the label becomes Corroborated. One click is all it takes to turn "the nightly suite said so" into "the nightly suite said so, and I checked."

Who this is for

If you're a five-person team shipping a side project, you'll probably never open the provenance view — and that's fine; the trial will show you the metrics and forecasting that matter more day to day.

If you're the person who has to sign your name to a release — for a customer, a regulator, an insurer, or a board — this is the part of the product built for you. As agents take over more of the writing and the testing, "who actually looked at this?" stops being a philosophical question and becomes the one you'll be asked under oath. Better to have the answer already written down.

See the test features How it fits into Honest Cheetah for GitHub