NODEDC_1C/docs/TECH/STATUS_2026-04-12.md

6.0 KiB
Raw Blame History

Статус проекта на 2026-04-13

Файл сохранен под историческим именем STATUS_2026-04-12.md, но содержимое актуализировано по коду и тестам на 2026-04-13.

1) Что уже стабильно в compute-слое

  • В runtime закреплены 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)
    • vat_liability_confirmed_for_tax_period (address_vat_liability_confirmed_tax_period_v1)
    • open_contracts_confirmed_as_of_date (address_open_contracts_confirmed_as_of_date_v1)
  • Для exact-сценариев зафиксирован контракт:
    • requested_result_mode = confirmed_balance
    • result_mode = confirmed_balance
    • capability_route_mode = exact
  • Для открытых договоров прямой бизнес-вопрос больше не идет в heuristic shortlist:
    • exact-вопросы маршрутизируются в open_contracts_confirmed_as_of_date;
    • list_open_contracts сохранен как диагностический heuristic-слой, а не как substitute для exact-ответа.
  • Для exact-интентов ожидания маршрутов закреплены в:
    • docs/TECH/address_route_expectations_v1.json

2) Что доведено в follow-up и presentation-слое

  • Короткие follow-up-вопросы продолжают использовать дату среза из контекста, если новая дата явно не задана.
  • Для debt/VAT/open-contracts контуров сохранена схема LLM-first normalize -> deterministic compute route.
  • Для exact-кейса открытых договоров presentation-слой стал бизнесовее:
    • появился net/gross слой поверх точного среза;
    • одна детальная строка = один договор, один контрагент, один тип открытого остатка;
    • смешанные экономические смыслы не склеиваются в одну строку;
    • отдельными блоками вынесены финансовые/специальные и спорные/некачественно нормализованные позиции.
  • Для open-contracts exact-core отделен от heuristic diagnostics: улучшения бизнес-вывода больше не требуют менять сам route.

3) Что уже покрыто тестами

  • Актуальный целевой regression-gate:
    • llm_normalizer/backend/tests/addressQueryRuntimeM23.test.ts
    • llm_normalizer/backend/tests/assistantLivingRouter.test.ts
    • llm_normalizer/backend/tests/assistantWave17RunRegression20260411.test.ts
  • Текущий кодовый результат:
    • 367/367 PASS.
  • В тестах отдельно закрыты:
    • exact routing для open_contracts_confirmed_as_of_date;
    • отсутствие silent degrade в heuristic для прямого exact-запроса;
    • business-view блоков net/gross и вынос грязных сущностей в спорный блок.

4) Известные ограничения (не считать поломкой exact-core)

  • query_shape в части exact-кейсов может оставаться UNKNOWN при корректном intent; сам вычислительный маршрут при этом работает корректно.
  • В exact-кейсе открытых договоров главный остаточный риск теперь не в маршрутизации, а в качестве бизнес-сущностей:
    • неидеальная идентичность contract_label / counterparty_label;
    • грязные аналитики по счету 76;
    • дальнейшее улучшение executive-summary поверх уже точного среза.
  • list_open_contracts по-прежнему heuristic и должен использоваться только как диагностический слой.
  • COMPOUND_FACTUAL_QUERY остается detection-only: multi-intent execution в runtime пока не включен.

5) Что в приоритете дальше

  1. НДС-контур: усилить exact evidence layer для ответов “НДС к уплате / обязательство за период/на дату”.
  2. Открытые договоры: усилить quality gates для contract/counterparty identity, особенно на 76 и специальных расчетах.
  3. UI-ответы: довести exact business view до executive-summary уровня без потери доказательности.
  4. Compound factual queries: не расширять домены раньше, чем появится контролируемый multi-intent execution.

6) Быстрый smoke-check (ручной)

  1. какие есть открытые договора на май 2020
  2. а по ним кто нам должен и кому должны мы?
  3. скок надо ндс платить на март 2020
  4. а на эту же дату

Ожидаемое поведение:

  • для 1 — exact route open_contracts_confirmed_as_of_date, confirmed_balance, без подмены на heuristic shortlist;
  • для 2 — follow-up c сохранением даты и корректным переключением домена;
  • для 3/4 — exact VAT/payables route с переносом даты среза, если пользователь не задал новую.