31f51eaa47
Ревью #493 (MEDIUM): вшив normalizeForeignMarkdown первым шагом в markdownToProseMirrorCanonical, коммит 4 распространил срез YAML front-matter (YAML_FRONT_MATTER_RE) на КАЖДЫЙ agent-write путь. convertProseMirrorToMarkdown эмитит `---` для horizontalRule, поэтому страница, начинающаяся с horizontalRule и содержащая второй `---`, при полном agent-write теряла всё до второго `---` — молчаливая потеря ранее сохранённого контента. Правка: разделил нормализацию. normalizeForeignMarkdown (серверный file-import boundary) по-прежнему срезает front-matter. Новый normalizeAgentMarkdown (agent-write, markdownToProseMirrorCanonical) делает ТОЛЬКО CRLF-нормализацию + rewrite GFM reference-сносок (тот самый drift, ради которого коммит 4) и НЕ трогает ведущий `---…---`. На каноническом сериализованном контенте rewrite — no-op (он не эмитит `[^id]:`-строк). Тесты: agent-write horizontalRule-led дока со вторым `---` сохраняет весь контент (round-trip); file-import с реальным YAML front-matter его по-прежнему срезает; agent-write всё ещё канонизирует GFM reference-сноски. Mutation-verify: strip обратно на agent-write → тесты потери контента краснеют. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>