Ingestion and workspace isolation
Document creation validates the upload, normalizes the filename, checks whether the requested format has an installed extraction capability, verifies workspace access, and creates a tracked extraction job. Failure cleanup removes the newly written upload rather than leaving an untracked artifact behind.
Search is scoped to the current workspace and to documents whose extraction state is ready or partial. The hybrid path merges semantic and keyword results, while keyword-only retrieval remains available when embeddings cannot be produced.