Pure text parsing of ### Re: topic sections from an exchange component body.
Splits a component body into preamble (before the first ### Re: heading), the per-topic
sections, and any trailing content after a managed <!-- agent:boundary: --> marker.
Boundary markers are managed by the binary and are never archived, so they are stripped
from the parsed output.
Lives in agent-doc-core so both the compaction layer (orchestration) and the archive
index (the SQLite crate) can parse topic sections without a crate cycle.