pipeline_version_ocrpipeline_version_contentpipeline_version_llm
Version zero
Version0 means the pipeline has never completed successfully for that
document. A failed LLM request therefore remains at 0. A valid
low-confidence response is still a completed classification: Suchi adds the
needs-review tag and records the current LLM revision without applying its
uncertain metadata.
A later successful classification at or above the configured threshold clears
an earlier classifier-owned needs-review assignment if the new result does not
request that tag. It does not remove manual, rule-assigned, imported, or legacy
tags without recorded classifier ownership. A changed title alone does not
establish confidence; failed requests and low-confidence results retain the tag.
This distinction matters when the LLM is first enabled. Existing version-zero
documents are not automatically presented as outdated LLM results because
they have no prior LLM result to upgrade. Select the documents in Documents
and use Rescan when you want to classify them.
Automatic proposals
On boot, Suchi compares stored revisions with the binary’s current revisions. Detection, eligibility and documentless approval runs are scoped independently to each filing system. Global pipeline/OCR/LLM configuration does not make a proposal or--system S02 rescan apply to another system.
When previously processed results are older, it opens one admin approval per
affected pipeline and system.
For LLM classification, automatic proposals only include documents with a
successful earlier revision (pipeline_version_llm >= 1). Enabling the LLM or
changing its endpoint, model, key, timeout, threshold, or egress setting does
not create a proposal. Those configuration changes require an explicit
selected rescan.
Password-protected PDFs waiting for decryption are also excluded. A rescan
cannot advance them while the password gate is closed; supplying a password
already re-enqueues the document through the current pipeline.
The proposal in Approvals names the improved processing step and matching
document count, without displaying internal revision numbers. Its actions are:
- Rescan all N: enqueue every matching document.
- Try 20 first: enqueue up to 20 random matches. This only appears when more than 20 documents match.
- Dismiss: close this proposal without enqueuing work.
approve_all, approve_sample, and
dismiss; the web app presents human labels. Rescans use the same durable
post-ingest path as new uploads, so a process interruption does not lose the
work.
Dismissed proposals stay closed for that pipeline’s target revision across
restarts. Startup honors saved dismissals and closes duplicate proposals left
by older builds; explicitly approved work still runs. A later code revision
can create a new proposal, and other pipelines are unaffected.
If another rescan brings the matching count to zero,
the detector cancels the obsolete open proposal on the next boot.
Explicit rescans
Camera-image fixes correct EXIF orientation and the page density of image-derived PDFs, and retry difficult QR codes when local ZBar is available. They retain content revision2; existing revision-2 documents need an explicit selected rescan.
OCR revision 2 adds one sparse-text retry for empty pages and a
confidence-filtered sparse supplement for raster images in the lightweight
engine. The existing approval path offers older OCR results for rescan.
Original images remain available even when an earlier
installation stored invalid derived bytes or skipped conversion. Select affected
images in Documents and choose Rescan, or accept the relevant proposal, to
regenerate their archive and indexed text from the immutable original. Upgrading
alone does not repair previously processed images.
Use the Documents selection controls for ordinary operator-driven rescans. The
CLI provides narrower filters and dry runs:
--stale llm includes version-zero
documents. This is intentional because the command is an explicit operator
decision.