NODEDC_1C/docs/ADDRESS/address_query/address_scenario_matrix.md

7.7 KiB
Raw Blame History

Address Scenario Matrix (V1)

Дата: 2026-04-13
Режим: question_mode=address_query (отдельно от deep-analysis)

Scope

Этот сценарный слой покрывает direct factual lookup без causal/proof reasoning:

  • списки документов/операций;
  • агрегатные срезы остатков/взаиморасчетов;
  • drilldown до документов по счету.

Не покрывается в V1:

  • причинно-следственный анализ ("почему", "докажи", root-cause);
  • многошаговый multi-intent execution для составных вопросов;
  • свободный query builder вне whitelist recipe.

Matrix (актуально по коду)

scenario_id Пользовательский вопрос intent required_filters (runtime) optional_filters target_entity_family recipe_id (runtime) expected_response_type (runtime) priority
AQ-P0-01 Какие есть открытые договоры на дату? open_contracts_confirmed_as_of_date as_of_date (as_of_date defaulted from period end) period_from, period_to, organization, counterparty, contract, limit, sort ACCOUNTING_REGISTER, DOCUMENT, NSI_CATALOG address_open_contracts_confirmed_as_of_date_v1 FACTUAL_LIST P0
AQ-P0-01H Покажи кандидаты незакрытых договоров / где спорные хвосты по договорам? list_open_contracts - as_of_date, organization, limit ACCOUNTING_REGISTER, DOCUMENT, NSI_CATALOG address_open_contracts_candidates_v1 FACTUAL_LIST P0
AQ-P0-02 Кому мы должны денег на сегодня? list_payables_counterparties - as_of_date, counterparty, contract, limit ACCOUNTING_REGISTER address_movements_payables_v1 FACTUAL_LIST P0
AQ-P0-03 Кто должен нам денег на сегодня? list_receivables_counterparties - as_of_date, counterparty, contract, limit ACCOUNTING_REGISTER address_movements_receivables_v1 FACTUAL_LIST P0
AQ-P0-04 Какой остаток по счету 60 на дату? account_balance_snapshot account (as_of_date defaulted) as_of_date, period_from, period_to, limit ACCOUNTING_REGISTER, CHART_OF_ACCOUNTS address_movements_account_snapshot_v1 FACTUAL_SUMMARY P0
AQ-P0-05 Какие хвосты висят по контрагенту/договору? open_items_by_counterparty_or_contract counterparty OR contract as_of_date, counterparty, contract, limit ACCOUNTING_REGISTER, DOCUMENT address_open_items_by_party_or_contract_v1 FACTUAL_LIST P0
AQ-P0-06 Покажи документы по контрагенту X list_documents_by_counterparty counterparty period_from, period_to, as_of_date, organization, limit, sort DOCUMENT, DOCUMENT_JOURNAL, ACCOUNTING_REGISTER address_documents_by_counterparty_v1 FACTUAL_LIST P0
AQ-P0-07 Покажи банковские операции по контрагенту X bank_operations_by_counterparty counterparty period_from, period_to, as_of_date, organization, limit, sort DOCUMENT, DOCUMENT_JOURNAL, ACCOUNTING_REGISTER address_bank_operations_by_counterparty_v1 FACTUAL_LIST P0
AQ-P0-08 Покажи документы по договору Y list_documents_by_contract contract period_from, period_to, as_of_date, organization, counterparty, limit, sort DOCUMENT, DOCUMENT_JOURNAL, ACCOUNTING_REGISTER, NSI_CATALOG address_documents_by_contract_v1 FACTUAL_LIST P0
AQ-P0-08B Покажи банковские операции по договору Y bank_operations_by_contract contract period_from, period_to, as_of_date, organization, counterparty, limit, sort DOCUMENT, DOCUMENT_JOURNAL, ACCOUNTING_REGISTER, NSI_CATALOG address_bank_operations_by_contract_v1 FACTUAL_LIST P0
AQ-P0-09 Какие документы формируют остаток по счету 62? documents_forming_balance account + as_of_date (as_of_date defaulted) organization, counterparty, contract, period_from, period_to, limit, sort ACCOUNTING_REGISTER, DOCUMENT address_documents_forming_balance_v1 FACTUAL_LIST P0
AQ-B1-10 За какие годы/месяцы в базе есть активность? period_coverage_profile - period_from, period_to, organization, limit ACCOUNTING_REGISTER address_period_coverage_profile_v1 FACTUAL_SUMMARY B1
AQ-B1-11 Какие типы документов чаще всего и какие разделы учета заполнены/пустые? document_type_and_account_section_profile - period_from, period_to, organization, limit ACCOUNTING_REGISTER, DOCUMENT address_document_type_and_account_section_profile_v1 FACTUAL_SUMMARY B1
AQ-P1-10 Дай обороты по счету 51 за период account_turnover_snapshot account, period_from, period_to organization, counterparty, limit ACCOUNTING_REGISTER, DOCUMENT - (not implemented) LIMITED_WITH_REASON P1
AQ-P1-11 Дай список документов по типу за период list_documents_by_type document_type, period_from, period_to organization, counterparty, contract, limit DOCUMENT, DOCUMENT_JOURNAL - (not implemented) LIMITED_WITH_REASON P1
AQ-P2-12 Покажи технические константы конфигурации unsupported_for_v1 - - CONSTANT - LIMITED_WITH_REASON P2

Runtime rules (актуально по коду)

  • Если mode распознан как address_query, ответ строится через whitelist recipe + MCP live path.
  • Если shape=EXPLAIN_OR_REASON, запрос не идет в address lane (handoff в deep-analysis).
  • Если обязательные фильтры не извлечены, возвращается LIMITED_WITH_REASON с limited_reason_category=missing_anchor.
  • Для open_contracts_confirmed_as_of_date запрещена silent-подмена на list_open_contracts; при недоступности exact-ответа допустим только честный LIMITED_WITH_REASON.
  • Для account_balance_snapshot и documents_forming_balance:
    • as_of_date берется из period_to, если период задан;
    • иначе default на текущую дату runtime.
  • Для documents/bank by counterparty|contract период по умолчанию не форсируется (all-time), с runtime лимитами и fallback-логикой.
  • COMPOUND_FACTUAL_QUERY пока только детектируется; multi-intent execution не реализован.

Runtime status note (2026-04-13)

Реально реализованы в runtime:

  • period_coverage_profile
  • document_type_and_account_section_profile
  • open_contracts_confirmed_as_of_date
  • list_open_contracts (diagnostic heuristic)
  • open_items_by_counterparty_or_contract
  • list_documents_by_counterparty
  • bank_operations_by_counterparty
  • list_documents_by_contract
  • bank_operations_by_contract
  • account_balance_snapshot
  • documents_forming_balance
  • list_payables_counterparties
  • list_receivables_counterparties

Остаются вне runtime V1:

  • account_turnover_snapshot
  • list_documents_by_type