nora documents covers the full library CRUD surface: uploads (single file, large file, whole folder), external-URL registration, metadata patches (regulatory dates for time-aware retrieval), chunk inspection, tagging, supersede, and delete.
Command groups
- Read:
list,get,chunks,chunk-text,extracted-text - Ingest:
upload,upload-large,upload-folder,create-external - Mutate:
tag,update,supersede,delete - KG grafting:
extract-structure
Read
list
--tag narrows to one library folder. --json for scriptable output.
get
chunks
--preview caps at ~200 chars (or --preview-len <N>). --q runs a free-text filter inside chunk text.
chunk-text
extracted-text
null when extraction hasn’t run yet.
Ingest
upload: inline
--mime optional (defaults to application/octet-stream). --name optional (defaults to the file’s basename). --tags stamps folder tags on the row.
upload-large: S3 presigned
NORA_S3_BUCKET configured (otherwise a clear error). Use this above ~45 MB.
upload-folder: batch
--presigned forces the S3 path (useful when the tenant restricts inline payloads or the network prefers direct S3 PUT). Prints a progress line per file and a summary at the end. Idempotent per file: rerun to catch up after a mid-batch failure.
create-external: reference an URL
storage_kind='external'). Nora references the URL. It does not copy the bytes.
Mutate
tag
--add and --remove are optional (at least one required).
update: patch metadata
--set-<field> to set, --clear-<field> to null it, omit to leave alone.
Fields:
--set-name / --clear-...--set-published-at <YYYY-MM-DD>: publication date.--set-effective-at <YYYY-MM-DD>: valid-from date (feeds G1as_ofretrieval).--set-effective-until <YYYY-MM-DD>: valid-until (exclusive). Old contracts still match earlieras_ofvalues; NULL / cleared = still current.--set-issuer <text>: who issued the doc.--set-revision <text>: version label.
effective_at / effective_until pair is what makes time-aware retrieval work. Set them on regulated / dated documents so as_of queries land on the right version.
supersede
version_misrank retrieval fix (loop-spec §F.2). --restore reverses it.
Prefer supersede over delete: reversible, keeps the audit trail.
delete
KG grafting
extract-structure
--kg-instance to mint a fresh KG named after the document.
Recipes
Bulk-ingest a Dropbox export
Move a set of docs from one folder to another
Backfill regulatory dates on already-ingested policies
policy-dates.tsv has doc_id<TAB>YYYY-MM-DD per line.
Snapshot document metadata to git
Audit tag coverage
Preview the first chunks of every doc in a folder
Where document IDs come from
- App every library document shows its ID in the details panel.
- Foundry logs
pipelines logs getshows IDs of documents a run produced. documents listfor scripting.