Fix SRD chunking so recall actually finds class features and conditions
The DM's recall tool was basically useless for anything that lived inside
a large file — class features like Sneak Attack, conditions like Grappled,
and core mechanics like Opportunity Attack all got diluted into massive
single-file embeddings. Named entities in their own files (spells,
monsters) searched fine, but subsections didn't.
The chunker now cascades through ## → ### → #### → **Bold** headings
instead of stopping at ###, and the threshold dropped from 4K to 1.5K
chars. This takes the SRD from 905 to 3,090 chunks — every class feature,
glossary definition, and combat rule gets its own embedding.
Also fixes the SQLite check_same_thread error that was breaking recall
in live play (the MCP server runs tools on a different thread than the
one that created the connection).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>