THE AGENT WORK RECORD WITNESS
If the regulator asks what you hand them — this is the record.

Our first finding was our own defect

We pointed this product at a month of real agent output before we pointed it at anyone else’s. The first number it gave us was a headline. The headline was wrong, and the error was ours, not the agents’.

Agent commit claims that disagree with the repository · 78,618 real messages · measured 2026-08-27
41.7% 8.1% after the confounds were tested

The gap is not agents improving. It is our probe aimed at the wrong repository — the exact failure this product is named after. An agent’s cwd is where it was standing, not where it committed.

the 103 claims the first pass called wrong
  • 73 — real commits in a sibling repository on the same disk. cae8c30 is real in rekt-capital. 7b3256d is real in helicon. da23d89 is real in mountain-of-helicon. The agent was right and the probe looked in the wrong place.
  • 11 — machinery, not claims: a SHA inside a shell command the agent was running, or inside fenced git output it was reading. Across the hand-labelled sample of 40 extractions, six were deadbee, this repository’s own test fixture, surfacing in transcripts about building this gate. The tool for catching false claims found its own test data and would have counted it as an agent claim.
  • 19 — what is left after both corrections. Every exclusion is counted with its reason rather than silently deleted; a filter that quietly shrinks a finding list is the flattering version, and the refusal is the product.

The scan, as it printed

$ python3 gate/corpus_scan.py --db ~/.trace/trace.db --code-root ~/CODE

  78,618 messages examined, of 144,306 in the corpus · 83 repos on disk
  filter: role='assistant' and is_human=0 and text is not null and length(text) > 20
  52,878 of those were written in a directory that is still a git repo today

  RAW          247 sha claims ·  103 disagree · 41.7%
  CORRECTED    236 sha claims ·   19 disagree · 8.1%

      11 dropped — shell commands, fenced output, and this repo's own test fixtures
      73 resolved in a SIBLING repo — the agent was right, the probe was aimed at the wrong repo
       5 path claims dropped — a code identifier, not a file
       1 path claims dropped — a hostname, not a repository path
       1 path claims dropped — an absolute path outside the repository

Corpus: ~/.trace/trace.db — 2,672 indexed transcripts of real agent sessions across 74 repositories. Not a fixture, not written for this. Ships as gate/corpus_scan.py; run it on yours with witness-corpus --db <your.db> --code-root <dir>.

What this number does not tell you

  • 8.1% is not an incidence rate, and neither was 41.7%. Neither is your fleet’s error rate and neither is presented as one.
  • n = 13. Hand-labelling a seeded random sample of 40 extractions put the extractor’s precision on conversational prose at 13/40 — the rest were citations (“Commit 7b3256d landed on…”), shell commands and fixtures. Of those 13 real claims, 6 disagreed with the repository. A direction, not a measurement. The sample and its labels ship in fixtures/corpus-sample-40.json so you can re-label them and disagree.
  • One operator, one machine. Nothing here generalises to a population. The hand labels were assigned by the same agent that wrote the report — the weakest link on this page, and the cheapest one to fix.
  • The denominator was fixed before anyone looked at a claim. docs/CORPUS-PREREGISTRATION-2026-08-27.md names what counts as a claim, which claim types may carry a headline, and five confounds — including the one that turned out to matter. That document is the method, and the method is the product. A vendor who shows you a number without one is showing you a negotiation.
  • The raw number is kept, not deleted. 41.7% is printed beside the corrected figure by the scan itself and in docs/ENTERPRISE-CASE-2026-08-27.md; the earlier, cruder pass that produced 42.0% before these confounds were tested survives separately in docs/CORPUS-MEASUREMENT-2026-08-27.md. Two runs, both kept, neither mixed into the other: deleting either would hide the one thing worth learning.
  • The corpus is alive, so this page quotes a frozen run. The same scan re-run on 2026-08-29, against the same database now grown to 154,970 messages, reports 84,560 examined · 50.6% raw → 11.5% corrected, with 82 of 161 again resolved in a sibling repository. The totals move because the corpus moves; the shape does not. A number on a page needs the date it was measured, so the number above carries 2026-08-27 and is not silently refreshed.

The record this finding came from

One real hold, written by the GitHub Action on a real pull request. Not seeded — demo_seed_enabled is false in production.

Record
H-a6151a95ac
Decision
HOLD · gate BLOCK · policy enforce
Repository
Morkeeth/agent-work-record-witness-ata
Pull request
#1 · verify-claims (red by design)
Written by
source=github-action · actor=Morkeeth (the Action passes the PR author)
Head commit
c99589111f82
Stored
2026-08-29T12:15:09+00:00 · Firestore
Session join
01Lzbh4XPYTAgCKg1dciFS3Q
VerdictClaimProbeEvidence
BLOCKcommitted as deadbee git cat-file -t deadbee NOT a commit in this repo (no sibling repos were checked)
BLOCKwrote docs/auth-migration-2026.md stat docs/auth-migration-2026.md NO SUCH PATH in the repo

Note the evidence string on the first row. After the corpus finding, the probe says “no sibling repos were checked” in its own output, because that is precisely the assumption that made 73 correct agents look wrong.