SA Strategic Agent Grounded on your own records
The conversion layer

Six digital formats, scanned paper page by page —
and a written status for everything else

Before a question can be answered, the file has to be readable. This page lists exactly which formats the conversion layer reads today, how a scanned page is read on your own machine with a confidence figure recorded against it, and what happens to the file types it cannot open yet. Nothing is skipped without a reason being written down.

Read, or reported

6Digital formats read today
35,633Scanned pages read on-device in the proving run, zero egress
53,776Readable documents out of 56,687 files
787Legacy .doc and .xls files with no reader yet

It reads plain text, Markdown, CSV, Excel workbooks, Word documents and PDFs that carry a text layer. A PDF without one is a scan, and a scan goes to a second lane that reads it page by page and writes down how sure it was about each page. Anything else is recorded, not lost.

The digital formats

six kinds, counted

The list is short on purpose. Each of these has a reader that was run over the founder's own archive of 56,687 files, and each comes out as a Markdown copy naming its source path, the method that read it and the status it was given.

FormatHow it is readWhat comes out
.txt .mdDirect readThe text, as it was
.csvDirect readRows as text
.xlsxWorkbook opened, each sheet walkedRows as text, sheet by sheet
.docxNative reader, with a fallback that unpacks the file's own XMLParagraphs and tables
.pdf with a text layerText layer extractedThe text, page order kept
.pdf without oneNot read here — tagged ocr-candidateA row in the manifest, handed to the OCR lane

A spreadsheet becomes rows of text: enough to find a figure and cite the row it sits on, not a working workbook. That is the right shape, because the engine never recalculates what it reads — ordinary code does the sums. A Word document keeps its paragraphs and tables, not its fonts or tracked changes. The copy is for finding and quoting; the original stays where it was, untouched.

What is not in the table matters as much. Legacy .doc and .xls — the older Office formats — have no reader in the product today, and 787 of them in the proving corpus are waiting for one. They are in the manifest with a status. They are not searchable.

Scanned paper, page by page

the OCR lane

The decision is made per file and the reading is done per page. A PDF with little or no text on its opening pages is a scan: it is tagged ocr-candidate and left for the second lane, which takes its worklist from the manifest rather than walking the folder again. An earlier version built the whole scan list in memory first, ran out of memory, restarted and never wrote a row. Driving it from the manifest fixed that, and lets the two lanes stop and resume independently.

For each page, a local OCR engine reads the image and records a mean confidence for what it read. Pages under the threshold are the hard tail; a stronger local engine can be turned on to re-read them. A cloud engine also exists and is off by default: switching it on needs both an explicit flag and credentials, and before a single page goes anywhere it prints a banner naming the provider and the exact number of pages that would leave the machine. Without that flag, nothing leaves.

In the proving run the OCR lane read 7,996 documents and 35,633 pages, local-only, with zero egress — both counts. The engine and confidence for every page is written into the derived document's provenance, so a poor page is recorded as poor, not smoothed over, and when an answer is later quoted from it the confidence travels with the citation.

What the scan queue looks like today

Honestly: uneven. The Corporate Archive's scans have been read — that is where the 35,633 pages come from. The SIG tree, the founder's drilling company, has 883 scanned candidates tagged and 0 of them read. Photographed documents — a phone picture of a ticket — are media-only: counted, kept, not searchable. Nothing on this site says scanned paper is searchable until the queue is worked through.

What it does with everything else

recorded, not skipped

A file the reader does not recognise, one that is corrupt, one that opens cleanly and is empty, one the listing names but the disk does not hold — each is an expected input, not an error. Each gets a status: empty, media-only, skipped-large, skipped:<ErrorType>, or one of the extract-failed statuses. The run does not stop; the row is written. Group the manifest by status and you see, in one list, everything that did not come through and why. The whole vocabulary is published.

Junk is filtered before any of this. The hidden lock stubs Office leaves beside an open document, desktop metadata files, thumbnail caches — these are recognised on the walk and never reach a reader. That sounds trivial. It was not: on one run, those stubs failing and being retried on every restart were the largest single cause of a manifest that reported three and a half times more work than had been done.

What it does not read

Legacy .doc and .xls: 787 files, no reader. Photographs of paper: media-only, not searchable. Scans in the SIG tree: 883 tagged, 0 read. Files a cloud drive lists but has not kept on the disk: 962, reported as absent rather than quietly passed over. And nothing filed after 2026-07-22 is in any of the proving corpora. Each is a count, not an estimate, and each is on the record with what would close it.

Where to go next

three pages
Why this comes first

The filing cabinet

Conversion has to happen before any question can be answered. The proving run, the numbers, and why a readable archive is worth having on its own.

Open ▸
The other half of this page

What it cannot read

Plain words on the gaps: photographs, old Office formats, the scan queue, and files a drive lists but does not hold.

Open ▸
Every file, one status

The manifest

The status vocabulary in full, what a person does about each, and the counting rule learnt the hard way.

Open ▸