Inventory and file kinds

The scan walks the folder, computes a hash for every file and proposes a kind for each. The kind is deduced from the content and never from the extension, because the same .xlsx can be an instrument export, a calculation workbook or an entry sheet. Every classification carries its reason, and a human arbitration is never undone by a rescan.

The scan

The walk is bounded by the allowed roots, like the file explorer. Every file is read for its SHA-256 hash, then submitted to the recognition probes. On a folder of three hundred files the operation runs long enough to be followed from elsewhere: it is published as a background task and stays visible from any panel.

The scan cannot be cancelled. A request cut halfway would leave the descriptor half written, which is harder to recover from than a scan allowed to finish.

The kinds

KindWhat it designates
export-instrumentRaw output from an instrument, often multi-sample.
classeur-calculA sheet carrying formulas, therefore a treatment.
tableau-saisieA sheet of hand-entered values, with no formula.
protocoleOperating procedure, recipe, bench sheet.
documentReport, article, presentation.
observationPhotograph, bench image, field note.
referenceMaterial certificate, standard sheet.
rebutTemporary file, autosave, working copy.
indetermineNo probe concluded. The reason says which one failed and why.

Recognising a protocol

Two independent signatures are tested: a bilingual operating lexicon, and the density of quantities carrying a unit. The second was added after confrontation with real folders, where two protocols contained no verb at all: they are recipes in table form, one column of reagents and one column of volumes.

Legacy formats and libraries

PointBehaviour
Older formats (xls, doc, ppt, mdb, spc, jdx)Recognised and marked obsolescent, so their presence is visible before they become unreadable.
PDF probeIndifferent to the installed engine: pypdf, pdfminer or pdfplumber all do.
docx filesRead straight from the zip, with no extra dependency.
Missing libraryThe probe returns indetermine with its reason instead of raising. The air-gap constraint forbids assuming a package is installed.
A probe that degrades logs once per session. A silent except would make a wiring error indistinguishable from the normal absence of a library.

Reasons

A classification reason is a code with its parameters, never a sentence. The sentence only exists at display time, built from bilingual tables. A campaign scanned in French therefore stays readable in English, adding a language does not force a rescan, and rewording a label does not make already-written descriptors inconsistent. A code unknown to an older version is shown as it is rather than hidden.

Human arbitration

The proposed kind can be corrected. The correction carries the arbitre flag and is indexed on the file hash, not on its path.

SituationEffect on the arbitration
The file is moved or renamedIt keeps its corrected kind: the content has not changed.
The file content changesThe arbitration is lost, and a new proposal is made.
A rescan is runThe campaign and chain blocks are carried over, never recomputed.

Arbitrations are done in batches. The scanner groups files by folder, reason and author so that one decision settles N files: confirming thirty matches one at a time leads to giving up around the twentieth.

Duplicates and versions

Duplicates are detected by hash, not by name. The history keeps the number of revisions and the last ten states, each as a hash and the date at which it stopped being current. The count is made on the hash, not on the modification date, which also changes when a file is opened and saved again without any change.

No content is kept: the history says that a file changed and when, but does not allow going back to an earlier state. This is not a version-control system.

Flag without erasing

An attached file that disappears, a node with no file, an unresolved sample link all stay displayed and marked. Nothing is removed from the descriptor: an unplugged network drive or an absent external disk is not a deletion, and erasing the line would lose the information at the exact moment it is useful.

Opening a file

Opening goes through IsoFind first when an opener exists for that kind, and through the system afterwards. The system route is bounded by the allowed roots and refuses twenty-nine executable extensions: opening a .bat means running it.

Troubleshooting

SymptomLikely cause
Every file in a folder comes back as indetermine.The matching probe degraded for lack of a library. The reason says so, and the journal carries the single line for that session.
A corrected file goes back to its old kind.Its content changed since the arbitration, which is indexed on the hash.
A file appears twice.Two real copies, with two distinct hashes. Identical content would have produced a single entry.
The scan does not start.The folder lies outside the allowed roots.

Related pages