M-2: README и docstring normalize_candidate — при отсутствии документа
candidate.warnings хост обрабатывает сам. M-3: тесты сопоставления
по дате (переставленные даты) и по порядку (дубль даты).
M-4: «Косарев» заменён на «Иванов» в тестах и docstring.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
normalize_candidate / normalize; __init__ экспортирует уже реализованный публичный API.
DISCLOSURE: шапка не проверяется, предупреждений шапки нет, статус done (P1-6).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W