ingest
When to use
Anything new is arriving: files in inbox/, a link or DOI in the chat, a
citation the human read out.
Method
- Files already in
inbox/, or a path you were given:magi ingest auto— it routes by type and finalizes. Stop here unless it refuses. (A run that skipped cleanup:magi ingest finalize <the file> --project-dir ..) - A link, DOI, arXiv id or citation: identify it first — that is the step
that needs you, not the pipeline. An id you typed from memory goes in as
magi ingest url "<id>" --expect "<title fragment>"; thenmagi ingest batch-run. magi ingest reviewlists what is waiting. Show its findings to the human before committing — surfaceidentity-mismatch,figure-count-mismatchandimage-path-not-portableevery time: they mean the file is not what its name says.magi ingest review --item <id> --decision approveper row, thenmagi ingest review --commit.- After a batch:
magi math check --json. Ingestion's signature failure is a$$that lost its pair and swallowed the paragraph after it — valid LaTeX, so nothing catches it. Work that list with thetidyskill.
Rules
- Never transcribe pages through vision because a converter failed: it costs one sub-agent call per page. Not until a person has said yes; 10 at once.
- Never commit a batch the human has not seen the findings for.
- A converter that exits non-zero: report its stderr and stop. An unreadable file: name it and carry on. Report partial work as partial — "9 of 12".
- Which project a source belongs to is never your guess: when it is ambiguous, stop and ask. Collect the questions the work you delegated could not ask (Invariant 4) and put them all at once.