It publishes the sheets it hasn't read.
Every job has a read log. It lists the paper on that job and whether the words are actually in the machine — the sheet, the revision, the day it was read. What it hasn't read sits at the top of that list, by name, with the reason. The second list is what makes the first one worth anything.
04 It tells you what it hasn't read. By name. On your job.
Ninety-one of ninety-four sheets read. Here are the three it hasn't.
This is the whole page in one object. A job, a count, the documents it has read with the revision and the day — and above them, not below them, the ones it hasn't.
91 of 94
Documents on this job, read.
Three are not. They are named below.
M-402 · Supply duct, level 3 · Rev C · filed Aug 9
There is no text in the file. It's a scan of a print, so it goes in the queue to be read by eye. Until that happens, nothing gets answered off it.
M-403 · Supply duct, east side · Rev A · filed Aug 9
Two of three pages came through. Page 2 came back empty. Half a sheet counts as unread — the missing page is exactly where the answer somebody needs tends to be.
E-201 · Power plan · Rev B · filed Jul 2
It failed. The file broke the reader on July 2 and again on July 3. It says the word failed and it stays on this list until somebody fixes it. A document that failed is not quietly dropped out of the ninety-four.
Read — showing 8 of 91
| Document | What it is | Rev | Filed | Read |
|---|---|---|---|---|
| M-501 — Riser details, level 3 | Drawing | C — current | Jun 12 | Jun 12 |
| M-501 — Riser details, level 3 | Drawing | B — superseded | Mar 4 | Mar 4 |
| AHU-3 — air handler submittal, approved as noted | Submittal | 2 | May 30 | May 30 |
| VAV-22 — box schedule and tags | Drawing | A | Apr 2 | Apr 2 |
| FCU-14 — fan coil cut sheet | Cut sheet | — | Apr 18 | Apr 18 |
| Section 23 31 00 — metal ducts | Specification | — | Mar 3 | Mar 3 |
| Hanger detail, marked by hand at the gang box | Photo of a print | — | Aug 6 | Aug 6 · by eye |
| Dispatch, week of Aug 17 | Dispatch PDF | — | Aug 15 | Aug 15 |
The three it hasn't read stay at the top of the log until they are read. They don't sort to the bottom by date, and there is no filter that hides them.
Invented job, invented crew, invented sheet numbers. Nothing here is a real building, a real drawing or a real person. The real log is computed inside your own account off your own documents — this one is drawn by hand for the page, and no number on this site is a live figure out of anybody's job.
What ninety-four counts.
Everything filed to the job. The drawings and the revisions before them, the cut sheets, the submittals, the approved-as-noted returns that came back marked up, the specification sections, the dispatch, the RFI attachments, and the cut sheet a supplier emailed in at 4:40 on a Friday.
A number is only worth something if you know what is in the bottom of it. So the bottom of this one is simple: if it is filed to the job, it is counted. Nothing is left out for being awkward, and nothing is left out for being old.
- Drop a document that failed, so the fraction reads better
- Count a sheet where only some of the pages came through
- Count a photo of a truck as a sheet — that's a photo, and it's filed as one
- Count the same drawing twice because it has two revisions — both are read, both are listed, one is marked current
- Move on its own. The only thing that changes it is a document being read
Old revisions are kept and read. The log says which one is current, and the answers say so too.
What puts a sheet on the short list.
Five reasons that put one there, and a sixth that never does. Each one is printed next to the document — “not read” with no reason under it would be worth about as much as no list at all.
It just got here.
Documents that land during the day are read that night. One that came in at 4:40 shows as in tonight's pass, with the date it arrived. That is not a failure and it isn't dressed up as one.
There's no text in it.
A scan, a photograph of a print taped to a wall, a page somebody ran through a copier in 2019. It goes to the queue to be read by eye, because looking at it is the only honest way to read it.
Only part of it came through.
Pages 1 and 3 have words in them, page 2 is blank. That is unread, and the log says which page is missing. A sheet you half know is more dangerous than one you know you don't.
It failed.
Something in the file broke the reader. It says failed, it says when, and it stays on the list. Nobody has to notice a silence — the count is short and the reason is printed.
It isn't a document.
Somebody uploads a picture of the gang box into the drawings folder. It's filed as a photo, on the right job, with his name on it — and it is not counted as a sheet, because calling it one would make the number bigger and mean less.
And a sixth that never happens.
A document is never off the list because reading it looked hard. There is no bin for the awkward ones, and there is no setting that shortens the list.
Every line carries who said it, or the sheet it came from.
Where nobody said it, it's blank — and it says so.
That sentence has two halves and this page is the second one. The hours, the photos and the day's account carry a person, a date and his own words; you can go read the message they came from. An answer off the prints carries a document, a revision and a page.
Which means the list of documents it can't answer from is part of the same promise. A record whose sources are named has to name the ones it doesn't have, or the naming was decoration.
What the short list sounds like at nine in the morning.
The log isn't a page somebody visits. It's the reason an answer either arrives or doesn't, and it shows up in the thread where the question was asked.
Not read: M-402, M-403, E-201. Open the read log
Nobody pressed anything. The queue ran overnight and the log is different this morning.
Two left, still named, still with their reasons under them. The count went up by one because one document got read — never for any other reason.
The refusal is the part worth putting on a website. Anyone can show you an answer with a citation under it. The question is what the same machine does on the morning it doesn't know.
Why coverage, and not accuracy.
Because one of those two numbers can be checked by the man reading it, and the other one can't.
What coverage is
Two counts and a division. How many documents are filed to your job, and how many of them have been read. Both numbers are lists you can open, and every line in them names a document you already have. If you think the count is wrong, you can find the row that's wrong and say so.
It is computed on your job, off your paper, on the day you look at it. It is not an average of anything, and it does not describe anybody else's building.
We publish the number we can compute exactly, and we publish the part of it we're missing.
What we won't publish
An accuracy percentage. We have not measured one. Putting a figure on a website that nobody measured is the kind of thing this whole product exists to not do, and it would be a strange thing to break on the page about not making things up.
The most credible number anybody in this category publishes is Trunk Tools' “87%” under the label “Verified field accuracy.” It is a real measurement and it's more than most companies will show you. It is also an average across everybody's jobs — which is the one thing it can't be about yours.
Quoted from trunktools.com, checked 22 August 2026.
And “read” is a smaller word than it sounds.
Read means the words on that sheet are in there and can be quoted back to you with the sheet, the revision and the location printed under them. It does not mean the drawing is right, it does not mean somebody checked it against the specification, and it does not mean the sheet agrees with the one next to it. When two documents disagree, it names both and doesn't pick. That is a different promise and it's on the answers page.
What's in the record, per document.
One card per document, the same shape whether it has been read or not. On the three it hasn't read, every line is filled in except the last two — and those say why.
This is the block the office cares about, because it is what an answer's source line is made of. When a question comes back with a sheet under it six months from now, this card is where that sheet reference came from.
All of it comes out any day, in files that open without us →
A new revision doesn't overwrite this card. It makes another one, and this one is marked superseded and kept.
Where it lives, and who sees it.
On the job, not in a menu
The read log is on the job's own page, next to the documents. It isn't a setting, it isn't a report somebody runs, and it isn't a screen you get to by knowing it exists.
Everybody on the job
The apprentice sees the same list as the owner. There is no version of it with the awkward part taken out for the crew and no version with more detail for the office.
It's the same list the machine uses
There is no second, better list inside. What the log says it has read is exactly what it is allowed to answer from — that's why the count moves only when a document gets read.
On a brand new job the log reads zero of zero, and it says that instead of showing you a blank screen that could mean anything. An empty job looks empty on purpose.
What it won't do.
- It won't answer off a sheet on that list. Not a shorter answer, not a hedged one, not one built out of the sheets on either side of it. It names the document and stops.
- It won't put an accuracy figure anywhere. Not on this site, not in the app, not in a sales conversation. We didn't measure one.
- It won't score a document — no confidence percentage next to a sheet, no “high certainty” badge on an answer. Either the words are in it and quotable, or they aren't.
- It won't read anything that isn't the job's paper. Not the machine it runs on, not code, not keys, not anybody's folders, not mail that was never addressed to the job.
- It won't tidy the list. Nothing gets dropped, merged or renamed to make ninety-one look like ninety-four.
The first time it says “I haven't read that sheet” is the morning a foreman stops testing it. Everything it does answer is worth something after that, and it costs one question to find out.
The rest of the limits are in one place, unhedged, with a dated list of what is running today. → What it won't do
What it takes off the day.
- The answer nobody can check. A machine that always answers teaches you to check every answer, which costs more time than asking a person would have.
- The set in the truck that stopped being current in June. If the current sheet has been read, the answer says so. If it hasn't, the log says that instead.
- The folder in somebody's email. A cut sheet that arrived as an attachment is a document on the job, counted in the ninety-four like everything else.
- The argument at the end of the job about which revision the work was hung off. The revisions are all there, dated, and the one that was current is marked.
A list you can check beats a number you can't.
A record you can't check for holes is a record you have to take somebody's word for. We would rather hand you the holes. That is the whole reason this page exists, and it is the reason the count on it is smaller than ninety-four.
See it work.
Every other limit, in one place, with a dated list of what's running today. → What it won't do
And what an answer looks like when the sheet has been read — the revision, the date, the line quoted off the print. → Answers off the prints