Two planes, cleanly split
An ingestion plane (local Node: OAuth, Drive walk, extract, chunk, embed, upsert) and a query plane (Worker: embed query → Vectorize search → context → LLM). Ingestion is heavy and occasional; queries are light and constant, so they scale independently.
Filename-aware retrieval
Pure top-k fails when a question names a specific document — you get scattered chunks from everywhere. A Vectorize metadata index on filename lets the system pull all chunks of that file in order instead, alongside the semantic matches.
Format coverage without a parsing service
Text extraction spans PDF (pdf-parse), DOCX/DOC (mammoth), XLSX/XLS (xlsx), plain text, and native Google Docs/Sheets via auto-export — so a real, messy Drive folder ingests rather than erroring on the first spreadsheet.