Each document is scored with FinBERT sentiment at ingest time (positive/negative/neutral, signed -1 to +1), chunked by document type, and stored in a vector database for semantic retrieval.