- split_markdown/load_markdown: dialect="commonmark"|"python-markdown" so list
blocks match the HTML structure of the renderer (list after paragraph needs a
blank line; nesting needs 4 spaces in Python-Markdown)
- SearchEngine caches the searched text per block on load
- regex timeout only for /regex/ terms (words and phrases are linear);
typical queries over 26k blocks: ~30-140 ms instead of 250-700 ms
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>