Chonkie's Markdown recipe and Docling's HybridChunker can replace splitting inside the CI script. I would first test heading-aware, token-bounded chunks with source metadata; semantic splitting is an optional comparison, not an automatic upgrade.
Replace the splitter, not the architecture
Chonkie RecursiveChunker provides a Python Markdown recipe and configurable tokenization. Set the intended tokenizer explicitly; the documented default is character-based.
Docling HybridChunker combines structural splitting with token-budget adjustments and can repeat table headers. Docling accepts Markdown, but its chunkers work on a DoclingDocument representation.
My starting choice for plain Markdown is the smaller splitter integration. Consider Docling when its document model or table handling solves a concrete problem. Preserve source coordinates separately and verify fences, tables, and oversized sections with fixtures.
I propose embedding a heading breadcrumb with each chunk and retaining parent-section identifiers so retrieval can expand to a larger reading unit. These are integration choices, not guaranteed library behavior.