A record system for AI agents
AppendOnly gives a company a defensible record of what its AI agents actually did, underneath the language the agents use to describe it. Every action leaves evidence the agent cannot edit. Every claim is held to what the evidence supports.
Evidence before language. · by 5R Industries
Most AI adoption stalls at the same question. When the model says it finished, checked, or verified something, how do you know? We answer that structurally rather than by trusting the report.
Each action produces a system-captured evidence record: the file hash, the commit, the process, the test result. A claim above its evidence is downgraded to what the evidence supports. A claim with no evidence is marked as a claim.
The record is append-only and hash-chained, signed daily, stamped by outside witnesses, and anchored on a machine the agent cannot reach. Rewriting history is detected on the next cycle.
A separate model of a different make verifies every record. Disagreement is surfaced, never averaged away. If the verifier goes quiet, that is itself an alert.
Not the agent's summary. The rows the system wrote while the agent worked, each one chained to the row before it. The step below is a requirement turned into a workflow object, with a claim the record caught and a handoff to a fresh session.
| seq | time | actor | verb | target | evidence | level | hash |
|---|---|---|---|---|---|---|---|
| 0412 | 14:02:11 | agent-2 | READ_FILE | requirement.md | sha256 3f9c…a1 | evidenced | 7d06…b1 |
| 0413 | 14:02:19 | agent-2 | SEARCHED | records/ (14 files) | query hash 91e0…44 | evidenced | 52eb…ce |
| 0414 | 14:02:40 | agent-2 | WROTE_FILE | workflow.yaml | sha256 8b21…0e · 2,118 B | evidenced | 2ee1…e6 |
| 0415 | 14:02:41 | agent-2 | COMMITTED | workflow.yaml | commit 9f3f912 · signed | verified | dac6…57 |
| 0416 | 14:03:05 | agent-2 | RAN_TEST | acceptance 1 of 4 | exit 0 · 0.8 s | evidenced | 7805…c5 |
| 0417 | 14:03:09 | agent-2 | RAN_TEST | acceptance 2 of 4 | exit 0 · 1.1 s | evidenced | 00bd…ab |
| 0418 | 14:03:14 | agent-2 | RAN_TEST | acceptance 3 of 4 | exit 0 · 0.9 s | evidenced | 11cf…84 |
| 0419 | 14:03:15 | agent-2 | CLAIMED | "complete and verified" | 3 of 4 tests in record | downgraded | 79e1…cc |
| 0420 | 14:03:16 | verifier | VERIFIED | rows 0412–0419 | second model · agrees | verified | 8e02…19 |
| 0421 | 14:03:16 | observer | FLAGGED | row 0419 | test 4 absent | open | a4c1…7f |
| 0422 | 14:03:20 | system | HANDOFF | agent-2 → agent-3 | state = rows 0001–0421 | verified | c9b3…02 |
| 0423 | 14:04:02 | agent-3 | READ_FILE | _orient.md | sha256 66d1…9a | evidenced | e0f4…5d |
| 0424 | 14:04:31 | agent-3 | RAN_TEST | acceptance 4 of 4 | exit 0 · 1.4 s | evidenced | 3b7a…e8 |
| 0425 | 14:04:33 | observer | CLOSED | flag on row 0419 | 4 of 4 tests in record | verified | 91aa…40 |
| 0426 | 14:05:00 | witness | ANCHORED | day head | stamp · external | verified | f21c…3e |
| 0427 | — | next row | open |
Every session starts empty. The industry's answer is memory: notes, summaries, instruction files. A notebook the agent writes to itself. Nothing checks whether it is true, nothing says when it went stale, and the agent that writes it is the one with the incentive to look finished.
When a session ends here, the next one does not inherit the last agent's account of the work. It inherits the record of what actually happened, and the handoff is itself a recorded, verified event. A fresh session starts cold, reads the record, and continues. That is the difference between memory and a record you can resume from.
On your public work, on hardware we bring. You watch the record fill in as an agent works, hold the anchor, and watch a tamper attempt get caught.
One real workflow, fixed price, six to eight weeks. Delivered running on a machine you control, with its audit record and one measured before-and-after.
The verification layer under the workflows you deliver, priced from what the pilot measured, supported by us.
We build for acquisition, administrative, engineering, and document workflows. The record is of agents and evidence. It is never used to evaluate an individual person. Every person sees every row the record holds about them, and every read of those rows is itself a row.
What a verifiable record of AI-agent work costs, what it saves, and how it works, measured on one company since March 2026.
The first public release is the argument and the measured results: the cost of running one AI chief of staff for 55 days, taken from the session records; the five lines on an income statement where the record changes a number; six industries where those lines are already regulated; and what one deployment can and cannot prove. Every number was measured on 17 September 2026 from the live system.
Read the report (PDF, 7 pages)
Second release, the system as deployed: 12 October 2026. Third release, a case study of one federal proposal run on the record: after the captured run.
Verify this document. Anyone can check that the file above is the one in our record and has not changed since. Its SHA-256 is f5900debd1c191cc1ce288edadefd05fb05ddaad13a2c67846008b6547c142ec. That fingerprint is committed and signed in our record, and the record's head is stamped into a public timestamp service every morning; the stamp for this release and the one-command check are published beside it. The check proves origin and integrity, that these bytes came from our record at that time; it does not vouch for what the document says.
AppendOnly began as an answer to our own problem. Running a company with an AI chief of staff, we needed to trust the record that AI kept. What we built for ourselves is what we now share, and we run our own company on it every working day.
We say two things on day one. The record makes it hard for an agent to describe its work more favourably than the facts, and a change to the past shows by the next morning; it does not stop a determined actor with valid credentials. And sensitive data stays off our machines.