The minimal chunker silently discards the remainder of any paragraph longer than max_chars: both p[:max_chars] and p.slice(0, maxChars) keep only its beginning. A long documentation paragraph can therefore lose the actual answer before embedding, even though fetching and indexing appear successful.
I would make the example emit the remaining slices, or explicitly reject oversized paragraphs until a real splitter is supplied. A fixture with the required fact after character 800 would catch the loss immediately. Even for a deliberately naive helper, preserving all source text is a more useful baseline than silently trimming it.