Directories
¶
| Path | Synopsis |
|---|---|
|
core
|
|
|
api
Package api owns the JSON HTTP surface — endpoints under /api/*.
|
Package api owns the JSON HTTP surface — endpoints under /api/*. |
|
approvals
Package approvals is suchi's state-machine engine for routing docs through review/approval chains, sign-offs with deadlines, and timeout-driven escalation.
|
Package approvals is suchi's state-machine engine for routing docs through review/approval chains, sign-offs with deadlines, and timeout-driven escalation. |
|
archivelock
Package archivelock prevents multiple processes from opening one Suchi archive.
|
Package archivelock prevents multiple processes from opening one Suchi archive. |
|
asn
Package asn validates archive serial numbers and their external QR labels.
|
Package asn validates archive serial numbers and their external QR labels. |
|
audit
Package audit writes append-only audit_events rows.
|
Package audit writes append-only audit_events rows. |
|
auth
Package auth is the authenticator chain.
|
Package auth is the authenticator chain. |
|
authz
Package authz owns the decision layer: "may this user do X to this object?" The interface lives here so wiring stays boring, and so downstream builds can swap the implementation without touching handlers.
|
Package authz owns the decision layer: "may this user do X to this object?" The interface lives here so wiring stays boring, and so downstream builds can swap the implementation without touching handlers. |
|
automations
Archive classification applies high-confidence filing metadata from similar documents when enabled by policy, retaining other candidates for review.
|
Archive classification applies high-confidence filing metadata from similar documents when enabled by policy, retaining other candidates for review. |
|
backup
Package backup owns the periodic VACUUM INTO snapshot loop.
|
Package backup owns the periodic VACUUM INTO snapshot loop. |
|
blob
Package blob is the content-addressed store.
|
Package blob is the content-addressed store. |
|
config
Package config is the env-var-first config loader.
|
Package config is the env-var-first config loader. |
|
crypto
Package crypto is the small AEAD envelope suchi uses to seal operator-supplied secrets (password-manager style) before they land in SQLite.
|
Package crypto is the small AEAD envelope suchi uses to seal operator-supplied secrets (password-manager style) before they land in SQLite. |
|
customfield
Package customfield is the per-type dispatch layer for document_custom_field_values.
|
Package customfield is the per-type dispatch layer for document_custom_field_values. |
|
db
Package db is suchi's SQLite bootstrap.
|
Package db is suchi's SQLite bootstrap. |
|
db/compatibility
Package compatibility embeds frozen pre-stable database migrations.
|
Package compatibility embeds frozen pre-stable database migrations. |
|
db/migrations
Package migrations embeds the active stable schema and prepares it for use.
|
Package migrations embeds the active stable schema and prepares it for use. |
|
documentstate
Package documentstate binds inferred proposals to durable source and field generations.
|
Package documentstate binds inferred proposals to durable source and field generations. |
|
emailaccounts
Package emailaccounts is the CRUD + secret-sealing surface for the `email_accounts` table.
|
Package emailaccounts is the CRUD + secret-sealing surface for the `email_accounts` table. |
|
gc
Package gc is the blob mark-and-sweep for the CAS.
|
Package gc is the blob mark-and-sweep for the CAS. |
|
httpx
Package httpx is the HTTP layer glue: middleware stack, security headers, request-id, auth wiring, rate limiting.
|
Package httpx is the HTTP layer glue: middleware stack, security headers, request-id, auth wiring, rate limiting. |
|
i18n
Package i18n loads the server-rendered UI string catalogs.
|
Package i18n loads the server-rendered UI string catalogs. |
|
importer/bundle
Package bundle imports an export bundle from an existing DMS.
|
Package bundle imports an export bundle from an existing DMS. |
|
ingest
Package ingest contains the small contracts shared by ingest producers.
|
Package ingest contains the small contracts shared by ingest producers. |
|
ingest/emailwatch
Package emailwatch is the third canonical ingest path (design principle 9): IMAP polling for "forward it, forget it" archival.
|
Package emailwatch is the third canonical ingest path (design principle 9): IMAP polling for "forward it, forget it" archival. |
|
ingest/emailwatch/oauth
Package oauth wraps Microsoft's MSAL-Go PublicClient for the IMAP device-code flow.
|
Package oauth wraps Microsoft's MSAL-Go PublicClient for the IMAP device-code flow. |
|
ingest/fswatch
Package fswatch is the read-only filesystem-watching ingest producer.
|
Package fswatch is the read-only filesystem-watching ingest producer. |
|
ingest/sidecar
Package sidecar is the JSON sidecar spec every ingest producer (fs-watch, email-ingest, third-party scanners, cron scripts) can target.
|
Package sidecar is the JSON sidecar spec every ingest producer (fs-watch, email-ingest, third-party scanners, cron scripts) can target. |
|
intelligence
Package intelligence defines validated, reviewable facts extracted from documents.
|
Package intelligence defines validated, reviewable facts extracted from documents. |
|
jd
Package jd owns the Johnny.Decimal taxonomy: the neutral first-boot baseline, the built-in presets, and the inbox-category invariant.
|
Package jd owns the Johnny.Decimal taxonomy: the neutral first-boot baseline, the built-in presets, and the inbox-category invariant. |
|
jd/importer
Package importer owns preview and atomic application of validated taxonomies.
|
Package importer owns preview and atomic application of validated taxonomies. |
|
jd/presetfile
Package presetfile validates raw HuML and TOML taxonomy files before normalizing them into the application's filing tree.
|
Package presetfile validates raw HuML and TOML taxonomy files before normalizing them into the application's filing tree. |
|
jd/systems
Package systems owns filing-system identity and entry, independently of the taxonomy tree and document permissions.
|
Package systems owns filing-system identity and entry, independently of the taxonomy tree and document permissions. |
|
jobs
Package jobs is the durable outbox dispatcher.
|
Package jobs is the durable outbox dispatcher. |
|
logx
Package logx configures the process-wide slog handler.
|
Package logx configures the process-wide slog handler. |
|
mimeutil
Package mimeutil owns Suchi's document MIME registry.
|
Package mimeutil owns Suchi's document MIME registry. |
|
netutil
Package netutil contains shared network-boundary checks.
|
Package netutil contains shared network-boundary checks. |
|
pipeline/anydoc
Package anydoc extracts EPUB and office documents through the anydoc CLI.
|
Package anydoc extracts EPUB and office documents through the anydoc CLI. |
|
pipeline/barcode
Package barcode extracts QR, DataMatrix, and Aztec values from images.
|
Package barcode extracts QR, DataMatrix, and Aztec values from images. |
|
pipeline/djvu
Package djvu extracts text from DjVu files via djvutxt (from djvulibre-bin on Debian).
|
Package djvu extracts text from DjVu files via djvutxt (from djvulibre-bin on Debian). |
|
pipeline/docsplit
Package docsplit plans opt-in PDF splitting from legacy disposable separator sheets or retained archive-serial-number QR labels.
|
Package docsplit plans opt-in PDF splitting from legacy disposable separator sheets or retained archive-serial-number QR labels. |
|
pipeline/eml
Package eml parses RFC 5322 email messages (message/rfc822) for the ingest pipeline.
|
Package eml parses RFC 5322 email messages (message/rfc822) for the ingest pipeline. |
|
pipeline/imgpdf
Package imgpdf wraps raster images in a PDF so the standard OCR path can extract text.
|
Package imgpdf wraps raster images in a PDF so the standard OCR path can extract text. |
|
pipeline/msg
Package msg converts Outlook .msg files to RFC 822 bytes via msgconvert.
|
Package msg converts Outlook .msg files to RFC 822 bytes via msgconvert. |
|
pipeline/ocrmypdf
Package ocrmypdf wraps the ocrmypdf CLI for the ingest pipeline.
|
Package ocrmypdf wraps the ocrmypdf CLI for the ingest pipeline. |
|
pipeline/pageanalyze
Package pageanalyze rasterizes a PDF's pages to greyscale and computes a per-page whiteness score.
|
Package pageanalyze rasterizes a PDF's pages to greyscale and computes a per-page whiteness score. |
|
pipeline/pdfinspector
Package pdfinspector routes a PDF between the "text-native shortcut" and the "scanned → OCR" paths.
|
Package pdfinspector routes a PDF between the "text-native shortcut" and the "scanned → OCR" paths. |
|
pipeline/pipeconfig
Package pipeconfig holds tiny helpers that read pipeline knobs from the process environment.
|
Package pipeconfig holds tiny helpers that read pipeline knobs from the process environment. |
|
pipeline/pipefile
Package pipefile holds small filesystem helpers shared by pipeline stages.
|
Package pipefile holds small filesystem helpers shared by pipeline stages. |
|
pipeline/postingest
Package postingest runs extraction, classification, and rendering after a document lands.
|
Package postingest runs extraction, classification, and rendering after a document lands. |
|
pipeline/preconsume
Package preconsume runs an optional operator script before built-in ingest.
|
Package preconsume runs an optional operator script before built-in ingest. |
|
pipeline/qpdf
Package qpdf is the PDF normalization pre-step.
|
Package qpdf is the PDF normalization pre-step. |
|
pipeline/tessocr
Package tessocr is the lightweight OCR path: pdftoppm rasterizes each page to a PGM, tesseract reads it back as text, we concatenate.
|
Package tessocr is the lightweight OCR path: pdftoppm rasterizes each page to a PGM, tesseract reads it back as text, we concatenate. |
|
pipeline/zugferd
Package zugferd extracts structured invoice data from ZUGFeRD / Factur-X / XRechnung PDF/A-3 files.
|
Package zugferd extracts structured invoice data from ZUGFeRD / Factur-X / XRechnung PDF/A-3 files. |
|
render/index
Package index projects the current tree-only taxonomy snapshot into a managed HuML file.
|
Package index projects the current tree-only taxonomy snapshot into a managed HuML file. |
|
render/paths
Package paths renders bounded storage-path templates.
|
Package paths renders bounded storage-path templates. |
|
render/view
Package view is the rendered-view projection: the human-browsable file tree at $DATA_DIR/rendered/...
|
Package view is the rendered-view projection: the human-browsable file tree at $DATA_DIR/rendered/... |
|
sandbox
Package sandbox is the shared subprocess-invocation wrapper.
|
Package sandbox is the shared subprocess-invocation wrapper. |
|
settings
Package settings is a thin typed wrapper over the settings key-value table.
|
Package settings is a thin typed wrapper over the settings key-value table. |
|
slug
Package slug provides canonical slugs for taxonomy rows.
|
Package slug provides canonical slugs for taxonomy rows. |
|
taxonomy
Package taxonomy is admin tooling over tags and correspondents.
|
Package taxonomy is admin tooling over tags and correspondents. |
|
trash
Package trash owns permanent document deletion and fixed retention.
|
Package trash owns permanent document deletion and fixed retention. |
|
ui
Package ui is the small browser-side glue the SPA depends on: form-based cookie login, first-boot bootstrap, direct-URL blob serving (preview + download), and a static /assets mount for the login/bootstrap chrome.
|
Package ui is the small browser-side glue the SPA depends on: form-based cookie login, first-boot bootstrap, direct-URL blob serving (preview + download), and a static /assets mount for the login/bootstrap chrome. |
|
uiassets
Package uiassets verifies that generated frontend assets match their sources.
|
Package uiassets verifies that generated frontend assets match their sources. |
|
distro
|
|
|
app
Package app assembles the compiled Suchi server.
|
Package app assembles the compiled Suchi server. |
|
cmd/suchi
command
Command suchi is the single-binary entry point.
|
Command suchi is the single-binary entry point. |
|
demo
Demo-mode reset ticker removes expired visitor records, never CAS bytes.
|
Demo-mode reset ticker removes expired visitor records, never CAS bytes. |
|
hack
|
|
|
asnfixture
command
Command asnfixture writes a deterministic feeder-scan PDF with two retained ASN QR marker pages.
|
Command asnfixture writes a deterministic feeder-scan PDF with two retained ASN QR marker pages. |
|
ui-assets
command
|
|
|
plugin-api
module
|
|
|
plugins
|
|
|
llm-classifier
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later |
|
local-auth
Package localauth is the built-in Authenticator plugin.
|
Package localauth is the built-in Authenticator plugin. |
|
oidc
Package oidcauth is the generic OpenID Connect authenticator plugin.
|
Package oidcauth is the generic OpenID Connect authenticator plugin. |
Click to show internal directories.
Click to hide internal directories.