# Статус проекта на 2026-04-12 ## 1) Что уже стабильно в compute-слое - Введены и работают exact-маршруты подтвержденного среза на дату: - `payables_confirmed_as_of_date` (`address_payables_confirmed_as_of_date_v1`) - `receivables_confirmed_as_of_date` (`address_receivables_confirmed_as_of_date_v1`) - `vat_payable_confirmed_as_of_date` (`address_vat_payable_confirmed_as_of_date_v1`) - Для этих интентов зафиксирован expected route/result mode в: - `docs/TECH/address_route_expectations_v1.json` - Режим результата для exact-сценариев закреплен как `confirmed_balance`. ## 2) Что исправлено в цепных (follow-up) вопросах - Исправлен перенос даты среза в коротких продолжениях по долгам: - после вопроса о долгах на дату follow-up по дебиторке наследует `as_of_date`, если новая дата не задана явно. - Добавлен короткий follow-up для НДС: - короткие реплики вида `а ндс?`/`по ндс` теперь корректно идут в VAT exact-route с переносом даты среза из контекста. - Сохранена стратегия LLM-first нормализации с последующим детерминированным compute-роутингом. ## 3) Что уже покрыто тестами - Добавлены/актуализированы тесты на carryover и follow-up: - `llm_normalizer/backend/tests/addressQueryRuntimeM23.test.ts` - `llm_normalizer/backend/tests/assistantAddressFollowupContext.test.ts` - Проверен маршрутный baseline: - `llm_normalizer/backend/tests/addressRouteBaseline.test.ts` ## 4) Известные ограничения (не считать багом расчета) - В разговорных нерелевантных репликах (эмоции/брань/односложные сообщения) система может уйти в `clarification_required`; это относится к conversational-слою, не к compute-расчету. - `query_shape` в части exact-кейсов может оставаться `UNKNOWN` при корректном `intent`; расчетный маршрут при этом работает корректно. - Качество бизнес-категоризации контрагентов (особенно по счету 76) требует отдельной донастройки presentation-слоя. ## 5) Что в приоритете дальше 1. НДС-контур: усилить доказательную часть расчета "к уплате на дату" и добавить понятную детализацию оснований. 2. Цепные вопросы: закрепить перенос контекста между payables/receivables/VAT во всех коротких follow-up формулировках. 3. Ответы для UI: довести формат вывода до стабильной блочной структуры без markdown-зависимости. 4. Категоризация: отделить поставщиков/заказчиков от банков/госорганов/спецобязательств в итоговой выдаче. ## 6) Быстрый smoke-check (ручной) 1. `кому мы должны на сентябрь 2017` 2. `а нам кто должен?` 3. `кто нам должен на сентябрь 2017` 4. `а ндс?` Ожидаемое поведение: - для 1/3 — `confirmed_balance` в exact-route, - для 2/4 — корректный follow-up с переносом даты среза, без ухода в эвристический shortlist для exact-интентов.