System · the intake, it reads

Pharynx

Swallows documents, feeds clean text.

Pharynx takes the documents the company already has and normalises them to clean text the brain can forge into knowledge.

In active development

How it flows

PDF · DOCX · XLSX · HTML
Pharynx
Clean text chunks
Cortex
  • PDF · DOCX · XLSX · HTML today; OCR and audio next.
  • Chunks on paragraph boundaries, keeps the source.
  • Posts straight into Cortex's ingestion.

How it fits

The front door for existing documents; hands clean text to Cortex.

Under the hood

From a document to clean, chunked text.

One small FastAPI service with a pluggable extractor registry: detect the format, pull out clean text, split it, and hand each piece to Cortex.

The intake pipeline

Document
Sniff format
magic bytes
Extract
per format
Chunk
~12k · paragraph-aware
Cortex /cards/ingest
one job per chunk

POST /v1/ingest extracts, chunks and posts to Cortex; /v1/extract just returns the text. Each chunk becomes its own Cortex ingest job.

Reads today

PDFpypdfDOCXpython-docxHTMLbeautifulsoupXLSXopenpyxlCSVstdlibMarkdownText

Declared · Wave 2

Images · OCRAudio · via LarynxVideo
Seven formats today. A scanned or encrypted PDF is refused honestly rather than returned as garbage. OCR is Wave 2.
Format is sniffed from the file's magic bytes, not trusted from its name; an unknown type is refused, not guessed.
Text is chunked on paragraph boundaries; one Cortex job per chunk, each keeping its source id for provenance.
Same-tenant service auth: a short-lived HS256 JWT minted from a shared secret, no login round-trip.

The rest of the constellation

This is one part of a system built to keep one promise: every answer is grounded and permission-aware, or it doesn’t come at all.