> llm-normalizer-backend@0.1.0 start > node dist/server.js {"timestamp":"2026-05-01T08:43:34.988Z","level":"info","service":"llm_normalizer_backend","message":"Backend started on http://localhost:8787"} {"timestamp":"2026-05-01T08:44:23.632Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-gEbiqZYVQG","user_message":"Хочу быстрый денежный срез по одной организации без привязки к контрагенту. Сколько вообще входящих денег было за 2020 год?","effective_address_user_message":"Проведи быстрый денежный срез по одной организации, без привязки к контрагенту, и определи общую сумму входящих денег за 2020 год.","address_followup_context_applied":false,"address_followup_context_previous_intent":null,"address_followup_context_previous_anchor":null,"address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":true,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"kbq710qDHbiiwJ","address_llm_predecompose_reason":"normalized_fragment_applied","address_fallback_rule_hit":null,"address_sanitized_user_message":"хочу быстрый денежный срез по одной организации без привязки к контрагенту. сколько вообще входящих денег было за 2020 год?","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"address_mode_classifier_detected","address_dialog_continuation_decision":"new_topic","address_dialog_continuation_target_intent":"customer_revenue_and_payments","address_retry_attempted":true,"address_retry_reason":"limited_result_retry_with_raw_message","address_retry_initial_limited_category":"missing_anchor","address_retry_result_category":"missing_anchor","address_llm_predecompose_contract_intent":"customer_revenue_and_payments","address_llm_predecompose_contract_aggregation_profile":"management_profile","address_llm_predecompose_contract_period_scope":"year","address_semantic_contract_valid":true,"address_semantic_contract_quality":"high","address_semantic_apply_canonical_recommended":true,"address_semantic_reason_codes":[],"detected_mode":"address_query","query_shape":"OBJECT_LOOKUP","detected_intent":"customer_revenue_and_payments","extracted_filters":{"sort":"period_desc","period_from":"2020-01-01","period_to":"2020-12-31"},"selected_recipe":null,"mcp_call_status_legacy":"skipped","account_scope_mode":"strict","account_scope_fallback_applied":false,"anchor_type":null,"resolver_confidence":null,"match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"skipped","rows_fetched":0,"raw_rows_received":0,"rows_after_account_scope":0,"rows_after_recipe_filter":0,"rows_materialized":0,"rows_matched":0,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"LIVE_QUERYABLE_WITH_LIMITS","limited_reason_category":"missing_anchor","response_type":"LIMITED_WITH_REASON","limitations":["organization_clarification_required","multiple_known_organizations_detected"],"assistant_reply":"Нужно уточнить организацию, чтобы продолжить запрос.\nУточни, по какой организации продолжать.\nМожешь ответить просто названием компании, и я продолжу этот же запрос.","reply_type":"partial_coverage","trace_id":"address-475I7s8yJh"}} {"timestamp":"2026-05-01T08:44:39.329Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-ch2eMvTaBM","user_message":"По ООО Альтернатива Плюс.","effective_address_user_message":"По ООО Альтернатива Плюс.","address_followup_context_applied":true,"address_followup_context_previous_intent":"customer_revenue_and_payments","address_followup_context_previous_anchor":null,"address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":false,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"KbLbqAFZnNMXuT","address_llm_predecompose_reason":"followup_raw_message_preferred_over_llm_rewrite","address_fallback_rule_hit":null,"address_sanitized_user_message":"по ооо альтернатива плюс.","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"followup_context_detected","address_dialog_continuation_decision":"continue_previous","address_dialog_continuation_target_intent":"customer_revenue_and_payments","address_retry_attempted":false,"address_retry_reason":null,"address_retry_initial_limited_category":null,"address_retry_result_category":null,"address_llm_predecompose_contract_intent":"unknown","address_llm_predecompose_contract_aggregation_profile":"unknown","address_llm_predecompose_contract_period_scope":"unspecified","address_semantic_contract_valid":true,"address_semantic_contract_quality":"medium","address_semantic_apply_canonical_recommended":true,"address_semantic_reason_codes":["unsupported_low_confidence_contract","rewrite_without_structured_gain"],"detected_mode":"address_query","query_shape":"UNKNOWN","detected_intent":"customer_revenue_and_payments","extracted_filters":{"sort":"period_desc","period_to":"2026-05-01","organization":"ООО Альтернатива Плюс"},"selected_recipe":"address_customer_revenue_and_payments_v1","mcp_call_status_legacy":"matched_non_empty","account_scope_mode":"preferred","account_scope_fallback_applied":false,"anchor_type":"organization","resolver_confidence":"medium","match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"matched_non_empty","rows_fetched":20,"raw_rows_received":20,"rows_after_account_scope":20,"rows_after_recipe_filter":20,"rows_materialized":20,"rows_matched":20,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"LIVE_QUERYABLE_WITH_LIMITS","limited_reason_category":null,"response_type":"FACTUAL_LIST","limitations":["period_to_defaulted_today_for_management_profile","organization_from_llm_semantics"],"assistant_reply":"Коротко: По данным 1С найдены строки входящих денежных поступлений; сумму можно называть только в рамках проверенного периода и найденных строк.\n\nЧто подтверждено:\n- В 1С найдены строки входящих денежных поступлений в запрошенном срезе.\n- По найденным строкам входящих денежных поступлений в 1С за период 2020 сумма входящих денежных поступлений составляет 47 628 853,03 руб. Учтено строк с суммой: 44 из 44. Первая найденная дата движения: 2020-01-09; последняя: 2020-12-30. Это расчет по найденным строкам 1С, а не подтверждение полного объема поступлений вне проверенного окна.\n\nЧто можно сказать только как вывод:\n- Сумма входящих поступлений рассчитана только по подтвержденным строкам поступлений в 1С.\n\nЧто не подтверждено:\n- Полный объем входящих поступлений вне проверенного периода этим поиском не подтвержден.","reply_type":"partial_coverage","trace_id":"address-M0qzS-NpeC"}} {"timestamp":"2026-05-01T08:44:54.647Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-PcSPNAigKv","user_message":"Понял, тогда за все время.","effective_address_user_message":"Понял, тогда за все время.","address_followup_context_applied":true,"address_followup_context_previous_intent":"customer_revenue_and_payments","address_followup_context_previous_anchor":"ООО Альтернатива Плюс","address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":false,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"XEE92yDTeUq8XO","address_llm_predecompose_reason":"normalized_fragment_rejected_intent_drop","address_fallback_rule_hit":null,"address_sanitized_user_message":"понял, тогда за все время.","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"address_intent_resolver_detected","address_dialog_continuation_decision":"continue_previous","address_dialog_continuation_target_intent":"counterparty_activity_lifecycle","address_retry_attempted":false,"address_retry_reason":null,"address_retry_initial_limited_category":null,"address_retry_result_category":null,"address_llm_predecompose_contract_intent":"counterparty_activity_lifecycle","address_llm_predecompose_contract_aggregation_profile":"management_profile","address_llm_predecompose_contract_period_scope":"all_time","address_semantic_contract_valid":false,"address_semantic_contract_quality":"low","address_semantic_apply_canonical_recommended":false,"address_semantic_reason_codes":["unsupported_low_confidence_contract"],"detected_mode":"address_query","query_shape":"UNKNOWN","detected_intent":"counterparty_activity_lifecycle","extracted_filters":{"sort":"period_desc","organization":"ООО Альтернатива Плюс"},"selected_recipe":"address_counterparty_activity_lifecycle_v1","mcp_call_status_legacy":"matched_non_empty","account_scope_mode":"preferred","account_scope_fallback_applied":false,"anchor_type":"organization","resolver_confidence":"medium","match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"matched_non_empty","rows_fetched":171,"raw_rows_received":171,"rows_after_account_scope":171,"rows_after_recipe_filter":171,"rows_materialized":171,"rows_matched":171,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"LIVE_QUERYABLE_WITH_LIMITS","limited_reason_category":null,"response_type":"FACTUAL_LIST","limitations":["period_to_defaulted_today_for_management_profile","organization_from_followup_context","period_cleared_by_all_time_followup"],"assistant_reply":"Коротко: По данным 1С найдены строки входящих денежных поступлений; сумму можно называть только в рамках проверенного периода и найденных строк.\n\nЧто подтверждено:\n- В 1С найдены строки входящих денежных поступлений в запрошенном срезе.\n- По найденным строкам входящих денежных поступлений в 1С в проверенном окне сумма входящих денежных поступлений составляет 157 192 981,43 руб. Учтено строк с суммой: 100 из 100. Первая найденная дата движения: 2014-10-06; последняя: 2016-12-01. Лимит строк проверки достигнут; полный запрошенный период может быть покрыт не полностью. Это расчет по найденным строкам 1С, а не подтверждение полного объема поступлений вне проверенного окна.\n\nЧто можно сказать только как вывод:\n- Сумма входящих поступлений рассчитана только по подтвержденным строкам поступлений в 1С.\n\nЧто не подтверждено:\n- Полное покрытие запрошенного периода не подтверждено: проверка достигла лимита найденных строк.\n- Полный объем входящих поступлений за все время без явно проверенного периода не подтвержден.","reply_type":"partial_coverage","trace_id":"address-IoR_rZjUK5"}} {"timestamp":"2026-05-01T08:45:17.380Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-xZE_xPf9jC","user_message":"Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?","effective_address_user_message":"Определить, что превышает: входящие или исходящие денежные потоки по ООО Альтернатива Плюс за 2020 год","address_followup_context_applied":false,"address_followup_context_previous_intent":null,"address_followup_context_previous_anchor":null,"address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":true,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"2sSeJ0fxIKECRY","address_llm_predecompose_reason":"normalized_fragment_semantic_guard_raw_fragment_preferred","address_fallback_rule_hit":null,"address_sanitized_user_message":"хорошо. а что по ооо альтернатива плюс больше в 2020 году: входящие или исходящие деньги?","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"address_signal_detected","address_dialog_continuation_decision":"new_topic","address_dialog_continuation_target_intent":null,"address_retry_attempted":true,"address_retry_reason":"limited_result_retry_with_raw_message","address_retry_initial_limited_category":"unsupported","address_retry_result_category":"unsupported","address_llm_predecompose_contract_intent":"unknown","address_llm_predecompose_contract_aggregation_profile":"unknown","address_llm_predecompose_contract_period_scope":"year","address_semantic_contract_valid":true,"address_semantic_contract_quality":"medium","address_semantic_apply_canonical_recommended":false,"address_semantic_reason_codes":["unsupported_low_confidence_contract","rewrite_without_structured_gain"],"detected_mode":"address_query","query_shape":"UNKNOWN","detected_intent":"unknown","extracted_filters":{"sort":"period_desc","limit":20,"period_from":"2020-01-01","period_to":"2020-12-31","organization":"ООО Альтернатива Плюс"},"selected_recipe":null,"mcp_call_status_legacy":"skipped","account_scope_mode":"strict","account_scope_fallback_applied":false,"anchor_type":"organization","resolver_confidence":"medium","match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"skipped","rows_fetched":0,"raw_rows_received":0,"rows_after_account_scope":0,"rows_after_recipe_filter":0,"rows_materialized":0,"rows_matched":0,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"DEEP_ONLY","limited_reason_category":"unsupported","response_type":"LIMITED_WITH_REASON","limitations":["intent_not_supported_in_v1"],"assistant_reply":"Коротко: По данным 1С найдены строки входящих и исходящих денежных движений; нетто можно называть только как расчет по найденным строкам и проверенному периоду.\n\nЧто подтверждено:\n- В 1С проверены входящие и исходящие денежные строки в запрошенном срезе: входящие строки найдены, исходящие строки найдены.\n- По найденным строкам 1С за период 2020: получили 47 628 853,03 руб. по входящим движениям, заплатили 19 568 878,06 руб. по исходящим платежам/списаниям. Расчетное нетто в нашу сторону: 28 059 974,97 руб. Входящие строки с суммой: 44 из 44; первая дата 2020-01-09, последняя 2020-12-30. Исходящие строки с суммой: 100 из 100; первая дата 2020-01-09, последняя 2020-03-16. Лимит строк проверки достигнут хотя бы по одной стороне; полный запрошенный период может быть покрыт не полностью. Это расчет по найденным строкам 1С, а не подтверждение полного сальдо вне проверенного окна.\n\nЧто можно сказать только как вывод:\n- Нетто денежного потока рассчитано только как входящие подтвержденные строки 1С минус исходящие подтвержденные строки 1С.\n\nЧто не подтверждено:\n- Полное покрытие запрошенного периода по двустороннему денежному потоку не подтверждено: хотя бы одна сторона проверки достигла лимита найденных строк.\n- Полный двусторонний денежный поток вне проверенного периода этим поиском не подтвержден.\n\nОграничения проверки:\n- Запрошенный период уперся в лимит строк MCP; доступного бюджета помесячных дозапросов не хватило, чтобы покрыть все подпериоды.","reply_type":"partial_coverage","trace_id":"address-zF3l3v2k3d"}} {"timestamp":"2026-05-01T08:45:40.749Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-cGxmv82Bka","user_message":"А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?","effective_address_user_message":"Сравнить сумму входящих и исходящих денежных потоков по ООО Альтернатива Плюс за период, превышающий 2021 год.","address_followup_context_applied":false,"address_followup_context_previous_intent":null,"address_followup_context_previous_anchor":null,"address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":true,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"bfMf7yNhcdDzrk","address_llm_predecompose_reason":"normalized_fragment_semantic_guard_raw_fragment_preferred","address_fallback_rule_hit":null,"address_sanitized_user_message":"а что по ооо альтернатива плюс больше уже за 2021 год: входящие или исходящие деньги?","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"address_signal_detected","address_dialog_continuation_decision":"new_topic","address_dialog_continuation_target_intent":null,"address_retry_attempted":true,"address_retry_reason":"limited_result_retry_with_raw_message","address_retry_initial_limited_category":"unsupported","address_retry_result_category":"unsupported","address_llm_predecompose_contract_intent":"unknown","address_llm_predecompose_contract_aggregation_profile":"unknown","address_llm_predecompose_contract_period_scope":"year","address_semantic_contract_valid":true,"address_semantic_contract_quality":"medium","address_semantic_apply_canonical_recommended":false,"address_semantic_reason_codes":["unsupported_low_confidence_contract","rewrite_without_structured_gain"],"detected_mode":"address_query","query_shape":"UNKNOWN","detected_intent":"unknown","extracted_filters":{"sort":"period_desc","limit":20,"period_from":"2021-01-01","period_to":"2021-12-31","organization":"ООО Альтернатива Плюс"},"selected_recipe":null,"mcp_call_status_legacy":"skipped","account_scope_mode":"strict","account_scope_fallback_applied":false,"anchor_type":"organization","resolver_confidence":"medium","match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"skipped","rows_fetched":0,"raw_rows_received":0,"rows_after_account_scope":0,"rows_after_recipe_filter":0,"rows_materialized":0,"rows_matched":0,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"DEEP_ONLY","limited_reason_category":"unsupported","response_type":"LIMITED_WITH_REASON","limitations":["intent_not_supported_in_v1"],"assistant_reply":"Коротко: По данным 1С найдены строки входящих и исходящих денежных движений; нетто можно называть только как расчет по найденным строкам и проверенному периоду.\n\nЧто подтверждено:\n- В 1С проверены входящие и исходящие денежные строки в запрошенном срезе: входящие строки найдены, исходящие строки найдены.\n- По найденным строкам 1С за период 2021: получили 8 560 025 руб. по входящим движениям, заплатили 10 113 629,54 руб. по исходящим платежам/списаниям. Расчетное нетто исходящий: 1 553 604,54 руб. Входящие строки с суммой: 13 из 13; первая дата 2021-02-19, последняя 2021-11-10. Исходящие строки с суммой: 100 из 100; первая дата 2021-01-09, последняя 2021-04-28. Лимит строк проверки достигнут хотя бы по одной стороне; полный запрошенный период может быть покрыт не полностью. Это расчет по найденным строкам 1С, а не подтверждение полного сальдо вне проверенного окна.\n\nЧто можно сказать только как вывод:\n- Нетто денежного потока рассчитано только как входящие подтвержденные строки 1С минус исходящие подтвержденные строки 1С.\n\nЧто не подтверждено:\n- Полное покрытие запрошенного периода по двустороннему денежному потоку не подтверждено: хотя бы одна сторона проверки достигла лимита найденных строк.\n- Полный двусторонний денежный поток вне проверенного периода этим поиском не подтвержден.\n\nОграничения проверки:\n- Запрошенный период уперся в лимит строк MCP; доступного бюджета помесячных дозапросов не хватило, чтобы покрыть все подпериоды.","reply_type":"partial_coverage","trace_id":"address-x7RVRoWsYf"}} {"timestamp":"2026-05-01T08:46:04.648Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-MIdxGU0V8S","user_message":"И кто больше всего принес денег этой организации в 2020 году?","effective_address_user_message":"И кто больше всего принес денег этой организации в 2020 году?","address_followup_context_applied":true,"address_followup_context_previous_intent":null,"address_followup_context_previous_anchor":"ООО Альтернатива Плюс","address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":true,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"BrPT0hudnM2lJt","address_llm_predecompose_reason":"normalized_fragment_applied","address_fallback_rule_hit":null,"address_sanitized_user_message":"и кто больше всего принес денег этой организации в 2020 году?","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"address_signal_detected","address_dialog_continuation_decision":"continue_previous","address_dialog_continuation_target_intent":"customer_revenue_and_payments","address_retry_attempted":true,"address_retry_reason":"limited_result_retry_with_raw_message","address_retry_initial_limited_category":"missing_anchor","address_retry_result_category":null,"address_llm_predecompose_contract_intent":"customer_revenue_and_payments","address_llm_predecompose_contract_aggregation_profile":"management_profile","address_llm_predecompose_contract_period_scope":"year","address_semantic_contract_valid":true,"address_semantic_contract_quality":"high","address_semantic_apply_canonical_recommended":true,"address_semantic_reason_codes":[],"detected_mode":"address_query","query_shape":"UNKNOWN","detected_intent":"customer_revenue_and_payments","extracted_filters":{"sort":"period_desc","period_from":"2020-01-01","period_to":"2020-12-31","organization":"ООО Альтернатива Плюс"},"selected_recipe":"address_customer_revenue_and_payments_v1","mcp_call_status_legacy":"matched_non_empty","account_scope_mode":"preferred","account_scope_fallback_applied":false,"anchor_type":"organization","resolver_confidence":"medium","match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"matched_non_empty","rows_fetched":20,"raw_rows_received":20,"rows_after_account_scope":20,"rows_after_recipe_filter":20,"rows_materialized":20,"rows_matched":20,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"LIVE_QUERYABLE_WITH_LIMITS","limited_reason_category":null,"response_type":"FACTUAL_LIST","limitations":["period_derived_from_year_phrase","counterparty_filter_too_short","counterparty_anchor_dropped_low_quality","organization_from_llm_semantics","organization_grounded_from_referential_scope"],"assistant_reply":"Коротко: По данным 1С можно построить ограниченный рейтинг по контрагентам на подтвержденных строках денежных движений.\n\nЧто подтверждено:\n- Больше всего денег принёс контрагент СБЕРБАНК, ПАО по организации ООО Альтернатива Плюс за период 2020: 12 792 194,31 руб. по 9 строкам с суммой. Следом: Группа СВК — 12 093 465 руб.; ЭталонМебель — 5 855 000 руб..\n\nЧто можно сказать только как вывод:\n- Рейтинг по контрагентам по организации ООО Альтернатива Плюс за период 2020 рассчитан только по подтвержденным строкам 1С и не доказывает полный исторический срез вне проверенного окна.\n\nЧто не подтверждено:\n- Полный рейтинг контрагентов вне периода 2020 этим поиском не подтвержден.","reply_type":"partial_coverage","trace_id":"address-1y1xKsn_mk"}} {"timestamp":"2026-05-01T08:46:20.930Z","level":"info","service":"assistant_loop","message":"assistant_message_processed","sessionId":"asst-ImEBS2xZAl","eventType":"assistant_message_address","details":{"session_id":"asst-ImEBS2xZAl","message_id":"msg-Gl8Sp6NxG8","user_message":"А в 2021 году?","effective_address_user_message":"А в 2021 году?","address_followup_context_applied":true,"address_followup_context_previous_intent":"customer_revenue_and_payments","address_followup_context_previous_anchor":"ООО Альтернатива Плюс","address_llm_predecompose_attempted":true,"address_llm_predecompose_applied":false,"address_llm_predecompose_provider":"local","address_llm_predecompose_trace_id":"v1cAQVP8WQkIIb","address_llm_predecompose_reason":"followup_raw_message_preferred_over_llm_rewrite","address_fallback_rule_hit":null,"address_sanitized_user_message":"а в 2021 году?","address_tool_gate_decision":"run_address_lane","address_tool_gate_reason":"address_signal_detected","address_dialog_continuation_decision":"continue_previous","address_dialog_continuation_target_intent":"customer_revenue_and_payments","address_retry_attempted":false,"address_retry_reason":null,"address_retry_initial_limited_category":null,"address_retry_result_category":null,"address_llm_predecompose_contract_intent":"unknown","address_llm_predecompose_contract_aggregation_profile":"unknown","address_llm_predecompose_contract_period_scope":"year","address_semantic_contract_valid":true,"address_semantic_contract_quality":"medium","address_semantic_apply_canonical_recommended":false,"address_semantic_reason_codes":["unsupported_low_confidence_contract","rewrite_without_structured_gain"],"detected_mode":"address_query","query_shape":"UNKNOWN","detected_intent":"customer_revenue_and_payments","extracted_filters":{"sort":"period_desc","period_from":"2021-01-01","period_to":"2021-12-31","organization":"ООО Альтернатива Плюс"},"selected_recipe":"address_customer_revenue_and_payments_v1","mcp_call_status_legacy":"matched_non_empty","account_scope_mode":"preferred","account_scope_fallback_applied":false,"anchor_type":"organization","resolver_confidence":"medium","match_failure_stage":"none","match_failure_reason":null,"mcp_call_status":"matched_non_empty","rows_fetched":13,"raw_rows_received":13,"rows_after_account_scope":13,"rows_after_recipe_filter":13,"rows_materialized":13,"rows_matched":13,"materialization_drop_reason":"none","account_token_raw":null,"account_token_normalized":null,"account_scope_fields_checked":["account_dt","account_kt","registrator","analytics"],"account_scope_match_strategy":"account_code_regex_plus_alias_map_v1","account_scope_drop_reason":"not_applicable","runtime_readiness":"LIVE_QUERYABLE_WITH_LIMITS","limited_reason_category":null,"response_type":"FACTUAL_LIST","limitations":["period_derived_from_year_phrase","organization_from_followup_context"],"assistant_reply":"Коротко: По данным 1С можно построить ограниченный рейтинг по контрагентам на подтвержденных строках денежных движений.\n\nЧто подтверждено:\n- Больше всего денег принёс контрагент Группа СВК по организации ООО Альтернатива Плюс за период 2021: 8 560 025 руб. по 13 строкам с суммой.\n\nЧто можно сказать только как вывод:\n- Рейтинг по контрагентам по организации ООО Альтернатива Плюс за период 2021 рассчитан только по подтвержденным строкам 1С и не доказывает полный исторический срез вне проверенного окна.\n\nЧто не подтверждено:\n- Полный рейтинг контрагентов вне периода 2021 этим поиском не подтвержден.","reply_type":"partial_coverage","trace_id":"address-cImFR_1c2p"}}