Skip to content

Evidence

The evidence so far.

Tables has been checked on five rendered tables and two phone photographs of printed examples. Here are the results, the mistakes found and the limits of those checks.

Model examples

Recorded 2026-09-10

4 of 5 named synthetic tables exact; unruled adds an empty row. This is five executions on five invented images. It is not an accuracy estimate and no percentage is reported.

Whole-table results against authored truth
Image Exact cells Extra rows / cells Whole table exact Note
Ruled table 12 / 12 0 / 0 Yes Including the space in “Blue folders”.
Unruled table 12 / 12 1 / 3 No One extra empty row after the last data row. All 12 expected cells matched, which does not make the table exact.
Empty cells 12 / 12 0 / 0 Yes Both deliberately empty cells preserved as empty.
Sectioned table 44 / 44 0 / 0 Yes Section headings, dotted rows and a grouped negative amount.
Currency and punctuation 21 / 21 0 / 0 Yes £, €, $, a negative currency amount, commas, decimal points and leading zeroes.

Method

Not yet tested

Phone photographs

Recorded 2026-09-12

Both photographed tables were exact in both runs.

Two phone photographs of printed synthetic tables were cropped with assistance and converted to metadata-free PNGs, without resizing, enhancement or perspective correction. Each PNG was submitted twice to the real local HTTP reader using the unchanged model lock shown below. The results were compared with the original authored cells.

This checks these two prepared photograph inputs. It does not establish accuracy on arbitrary photos or independent human correction. Direct upload of the original JPEGs through the browser was not tested, and no new operating-system network audit was performed. The five rendered examples were also repeated: the unruled render still added an empty row.

The model files these results belong to

Results are only evidence for the exact files they were recorded with. A changed model, preprocessing step or runtime needs fresh inference; re-scoring an old recording is not a new result.

Lock
RapidAI/SLANet-plus-PP-OCRv4-det-PP-OCRv6-rec
SLANet-plus-d57a942a_PP-OCRv4-det-1.4.4_PP-OCRv6-rec-3.9.2
Runtime
RapidTable 3.0.2 and RapidOCR 3.9.2 on CPU, in the Cup's pinned Python 3.13 environment
Size
34,323,737 bytes across four files
Licence
Apache-2.0 upstream (PaddleOCR and RapidAI). That identifies the release terms of the software and models, not an audit of their training sources.
File identities (SHA-256)
structure.onnx
SLANet-plus table structure (PaddleOCR, via OpenDataLab PDF-Extract-Kit 1.0)
d57a942af6a2f57d6a4a0372573c696a2379bf5857c45e2ac69993f3b334514b
detect.onnx
PP-OCRv4 mobile text detector (rapidocr_onnxruntime 1.4.4 archive)
d2a7720d45a54257208b1e13e36a8479894cb74155a5efe29462512d42f49da9
recognise.onnx
PP-OCRv6 small multilingual recogniser (rapidocr 3.9.2 wheel)
6f327246b50388f3c176ae304bd95767ea6dc0c9ae92153ef8cbe210b3c14884
orient.onnx
PP-OCR mobile orientation classifier (rapidocr_onnxruntime 1.4.4 archive)
e47acedf663230f8863ff1ab0e64dd2d82b838fceb5957146dab185a89d6215c

Claims the product makes, and their checks

Confirmed 2026-09-11

Each sentence Tables shows a user is listed with the check behind it and the boundary of that check. “Unchecked” is a visible limit, not a promise. As of 2026-09-11 the deterministic suite is 50 deterministic Python checks, 3 style checks and 32 controlled browser checks. These establish what the software does with recognised text under its documented rules. They say nothing about how often the reader recognises text correctly.

Claims and their checks
Claim as worded Evidence type Check and its boundary Last confirmed
“Nothing calculates or corrects values.” Deterministic Alignment preserves retained recognised literals under changed placement, including signs, zeroes and repeated fragments. Covers retained text under the documented rules, not OCR accuracy. 11 Sep 2026
“Empty cells and literal numbers are preserved into CSV.” Deterministic Python and browser checks assert the complete downloaded CSV string, including quoting, embedded newlines and blank columns. 11 Sep 2026
“Merged or irregular predicted cells are refused, not silently flattened.” Deterministic Refusal of predicted structure; the browser offers another image with no draft or export. Does not prove every merged source image is recognised as such. 11 Sep 2026
“Every edit or structural correction clears the review checkbox.” Deterministic Browser checks show export disabled until review is renewed after cell edits and row or column changes. 11 Sep 2026
“The preview shows exactly the area sent to the local reader.” Deterministic Rotation and crop send the preview pixels and retain the original. Controlled upload pixels, not model accuracy on photographs. 11 Sep 2026
“Your image is not sent to a cloud service.” Actual model under OS isolation Directory-isolation validation with an explicit external-socket denial probe and real model flows under inherited network denial. Unrestricted dependency behaviour is unchecked. 10 Sep 2026
“Normal start, build and use never install packages or download models.” Actual model under OS isolation; deterministic guards Recorded offline build, start and live flow; corrupt or missing assets stay a visible readiness error. 10 Sep 2026
“There is no result history. You choose what to save.” Partial Visible clearing and cancelled-input cleanup are checked. Full absence of history across browser, worker and dependency storage is unchecked; downloaded CSV remains wherever the browser saved it. unchecked as a complete claim

Human use

14 September 2026

I’ve used Tables on 12 everyday tasks and used two exported CSVs afterwards. In a separate seven-task trial, both ordinary Tables exports were exact, but mistakes remained in two prepared correction tasks.

That’s enough for me to keep using and improving it. It doesn’t yet show how well it works for other people, or how reliably they can spot mistakes.

Record sources and dates

Original snapshot taken on 2026-09-11 from cups/tables/docs/tables-comparison.md, docs/tables.md, docs/claims.md and model-lock.json in dogwonder/kettle-cups at 9cbdfc5361afcd04f4a5779aa5ca074c648410d3. The original model and software findings below retain their September 2026 dates. The phone-photo check was added from the local report on 12 September 2026. This page is a reviewed copy; building the site runs no inference.

Photograph report: cups/tables/docs/photo-check-13.md; source base d699171 with photograph fixtures and their truth added locally.

Report SHA-256: 591d8802123219de1b510909657f54ca0e637e7ad85c6dff38ad8b7e9326eb54

Human-use record, 14 September 2026: cups/tables/docs/first-ten.md, cups/tables/docs/practical-use-decision.md and cups/tables/research/tables-use/rehearsal.md (Author pilot observations — 14 September 2026), at 2f88d98521de4eef4aca10b3ceb13165514a0b84.

These are my own tasks and reports, not independent participant sessions. The everyday-task use reports and the separate author pilot are distinct records; they do not establish general time savings or reliable error detection.