How CogniWeave works
The memory model
CogniWeave turns your raw files into compact, searchable "memory units." Each unit is linked to the source file (and page where applicable) so answers stay traceable.
Ingestion lifecycle
- 1Upload — your file is accepted and queued; an ingestion job is created to track it.
- 2Parse — text is extracted using a parser matched to the file type (PDF, Word, Excel, PowerPoint, email, HTML, images, plain text).
- 3OCR — scanned PDFs and image files are automatically run through OCR so their text becomes searchable.
- 4Clean — markup and boilerplate are stripped and the text is normalized.
- 5Compress — the cleaned text is distilled into compact memory units.
- 6Embed — each memory unit is converted into a vector embedding so it can be searched by meaning.
- 7Index & consolidate — units are stored and closely related units are merged into higher-level summaries.
- 8Ready — the file is marked complete and becomes searchable and answerable.
- Upload
- Parse
- OCR
- Clean
- Compress
- Embed
- Index & consolidate
Your files become vector memory you can search by meaning.
Hybrid retrieval
Searches combine three signals — semantic similarity (meaning), lexical keyword matching, and symbolic filters (time ranges, people, entities, and tags). Results are ranked and each one is traceable to its source file and page.
Cited answers
When an AI agent answers a question, it doesn't improvise. It retrieves the most relevant memory units from your own data, composes an answer grounded in those units, and cites them inline. If your memory doesn't support an answer, the agent says so instead of guessing. The example below walks through a customer-support agent handling a refund request end-to-end.
A customer asks your support chatbot: “I'd like a refund on invoice #1042.” The catch — your refund policy wording changed last month, but invoice #1042 was issued under the earlier terms.
Answers from its general training or whatever policy text it last saw. It guesses — fluently and confidently — and tells the customer the wrong thing: “Sorry, refunds aren't available.” That's a hallucination: plausible, and wrong.
Retrieves the exact terms that applied to invoice #1042 on its order date, plus the policy in force then — each one cited. The agent answers only from those retrieved facts: “Per the terms on invoice #1042 (12 Mar), a refund applies within 30 days — you're covered. [1][2]” Correct, cited, and identical every time.
Grounding every answer in cited, retrieved memory — with the right historical context — is the only reliable way to stop AI hallucination. Structured, factual, deterministic.
Grounded answers, not guesses
- 1Every fact is retrieved and cited from your own memory — never invented by the model.
- 2Answers carry the correct historical version of the facts, with timestamps and citations.
- 3If your memory doesn't support an answer, the agent says so instead of guessing.
- 4The result is structured, factual, and deterministic — grounding answers in cited memory is the only reliable way to stop AI hallucination.
Workspaces & isolation
Your data lives in your own workspace. Every API request is automatically scoped to your workspace using your access token.
Your data is sealed inside your own tenant. A token only ever unlocks the memory it belongs to.
Supported file types
| Category | Extensions |
|---|---|
| Documents | .pdf, .docx, .doc, .rtf, .txt, .md |
| Spreadsheets | .csv, .xlsx |
| Presentations | .pptx |
| .eml, .msg, .mbox | |
| Web/Data | .html, .json |
| Images (OCR) | .png, .jpg, .jpeg, .webp, .tiff |
Max upload size: 50 MB per file.
File statuses
| Status | Meaning |
|---|---|
| queued | waiting to process |
| processing | being parsed/indexed |
| success | indexed and searchable |
| failed | could not be processed — see error |
| skipped | nothing to index |
Job statuses
| Status | Meaning |
|---|---|
| queued | waiting to start |
| running | actively processing |
| success | all files succeeded |
| failed | the job did not complete |
| partial | some files succeeded, some failed |
Configurable settings
OCR can be toggled and its language set; chunk size and overlap can be tuned per workspace via the API (see /api/settings/workspace).