Заявки: извлечение даты с отказом при конфликте
Полные тексты заявок дают точную дату, пустое значение или конфликт; неизвестное не превращается в сегодняшнее число.
Задача и принятое решение
Заявки содержат ISO-дату, несколько дат, разговорное «завтра» и отсутствие срока. Без строгого правила парсер незаметно дополнял бы вход.
Я определил узкую задачу: извлечь единственную ISO-дату. Повтор той же даты допустим, две разные даты дают конфликт. Разговорная дата остается неразрешенной без временного контекста.
Парсер работает с явным YYYY-MM-DD, не интерпретирует календарные выражения и не вызывает модель.
Проверить решение
Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.
| ID | Текст | Дата | Статус | Эталон | Совпадение |
|---|---|---|---|---|---|
| R1 | Подготовить макет к 2026-10-22. | 2026-10-22 | дата | 2026-10-22 | Да |
| R2 | Срок пока не определили. | нет | Да | ||
| R3 | Ждем 2026-10-22, возможно перенос на 2026-10-24. | конфликт | Да | ||
| R4 | Нужно завтра утром. | нет | Да | ||
| R5 | Срок 2026-11-01. Повторяю: 2026-11-01. | 2026-11-01 | дата | 2026-11-01 | Да |
| R6 | Срок 2026-13-40. | ошибка формата | Да |
Исходный набор
Авторский контрольный набор; не клиентские документы и не результаты внешней модели.
Изменить входные строки
Посмотреть исходные строки
| ID | Текст | Эталон | Статус |
|---|---|---|---|
| R1 | Подготовить макет к 2026-10-22. | 2026-10-22 | дата |
| R2 | Срок пока не определили. | нет | |
| R3 | Ждем 2026-10-22, возможно перенос на 2026-10-24. | конфликт | |
| R4 | Нужно завтра утром. | нет | |
| R5 | Срок 2026-11-01. Повторяю: 2026-11-01. | 2026-11-01 | дата |
| R6 | Срок 2026-13-40. | ошибка формата |
Что получилось
Шесть заявок разобраны с сохранением различий между датой, отсутствием, конфликтом и невозможным форматом. «Завтра» не получило выдуманную календарную дату; повтор 2026-11-01 не стал конфликтом.
Выполненная проверка
| Проверка | Результат |
|---|---|
| Все шесть полных заявок совпадают с датой и статусом эталона | Пройдена |
| Невозможная дата не превращается в нормализованный следующий месяц | Пройдена |
| Вторая разная дата меняет одиночный результат на конфликт | Пройдена |
Выполнено извлечение ISO-дат. Выбор между альтернативами и относительные даты требуют другого контракта и временного контекста.
Скачать материалы и повторить проверку
source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css
Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.