Split long text into deterministic overlapping chunks with stable hashes for RAG, embeddings, and audit replay.