test(footnotes): cover footnoteWarnings import plumbing + doc fixes (#169 second review) #171
Reference in New Issue
Block a user
Delete Branch "fix/footnote-review-1227-followup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up к смерженному #169 — закрывает второй прогон ревью (комментарий #169 (comment 1227)).
Каюсь: #169 я смержил, не увидев второй прогон ревью (1227). Это его правки, отдельным PR в develop.
Warnings
footnoteWarningsдляimport_page_markdown+ контракт «анализ BODY после front-matter» — вынес единый хелперfootnoteWarningsField(markdown)(вfootnote-analyze), используют все три точки (create_page/update_page/import_page_markdown). Новый юнит-тестfootnote-warnings-import.test.mjsфиксирует: поле есть при проблемах / опущено на чистом входе, и импорт анализирует тело после блоковdocmost:meta/docmost:comments—[^x]-токен внутри этих JSON-блоков НЕ предупреждает, реальный маркер в теле — предупреждает. Проверяется той же чистой композицией, что и в импортёре (footnoteWarningsField(parseDocmostMarkdown(full).body)), без подъёма collab-сокета. Регресс, который начал бы анализироватьfullMarkdownили пропустил split тела, теперь падает.update_pageпроводка — закрыта тем же хелпером (S3).Suggestions
footnote.marked.tsшапка — была неверной («Only definitions that have a matching reference are emitted»): orphan-определения эмитятся, sync-плагин редактора потом сверяет. Переписал под first-wins + reuse + reconciliation.describeиз «(cross-package drift guard)» в «(deterministic-scheme pin)»: второго пакета для дрейфа больше нет.Architecture (forward-looking, из 1227 — НЕ в этом PR)
Ревьюер рекомендовал не менять в PR: golden-корпус для парности editor-ext↔mcp импорта (Вариант A) и развязку лексера оставить как есть. Если нужно — заведу отдельной задачей.
Проверки: editor-ext 129, MCP 304 (+3), client+server
tscчисто.🤖 Generated with Claude Code