АДРЕСНЫЙ РЕЖИМ -ADDRESS:Шаг 0 (Pre-Prod Rails): Предпродакшн-постановка ADDRESS Query V1 на рельсы референсный домен, nightly-автоматизация и подтверждённый global gate (102/102 + 25/25)

This commit is contained in:
2026-04-02 17:53:43 +03:00
parent 4cb9fc7021
commit 53716e548e
113 changed files with 89499 additions and 549 deletions
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10
Generated at: 2026-04-02T16:55:34
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\domain_contracts_open_items_acceptance_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 23
- ok_200_count: 23
- semantic_pass_count: 21
- semantic_pass_rate: 0.913
- route_pass_count: 19
- route_pass_rate: 0.8261
- strict_pass_count: 19
- strict_pass_rate: 0.8261
- factual_count: 19
- partial_coverage_count: 3
- clarification_required_count: 1
- http_error_count: 0
- llm_decomposition_applied_count: 17
- avg_elapsed_ms: 6984.8
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,860 @@
[
{
"index": 7,
"id": "RCO_C007",
"question": "Покажи незакрытые договорные позиции на 2020-12-31",
"session": null,
"session_id": "asst-2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10-rco_c007",
"status_code": 200,
"ok": true,
"elapsed_ms": 6241,
"reply_type": "partial_coverage",
"trace_id": "address-K-kNk82lg0",
"assistant_reply": "Для точного адресного поиска не хватает обязательного якоря.\nПричина: для open_items нужен якорь контрагента или договора.\nЧто нужно уточнить: укажите контрагента или номер/название договора.",
"assistant_reply_first_line": "Для точного адресного поиска не хватает обязательного якоря.",
"expected_intent": "list_open_contracts",
"actual_intent": "open_items_by_counterparty_or_contract",
"intent_match": false,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": "factual",
"reply_match": false,
"semantic_pass": false,
"route_pass": false,
"route_health": "blocked_missing_anchor",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": null,
"missing_required_filters": [
"counterparty_or_contract"
],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 0,
"rows_matched": 0,
"mcp_call_status": "skipped",
"limited_reason_category": "missing_anchor",
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-K-kNk82lg0",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "partial",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "partial",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"object_signal_detected",
"open_items_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "OBJECT_LOOKUP",
"query_shape_confidence": "medium",
"detected_intent": "open_items_by_counterparty_or_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"as_of_date": "2020-12-31"
},
"missing_required_filters": [
"counterparty_or_contract"
],
"selected_recipe": null,
"mcp_call_status_legacy": "skipped",
"account_scope_mode": "strict",
"account_scope_fallback_applied": false,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"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,
"raw_row_keys_sample": [],
"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",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "xGDs8U2f3GsoPC",
"llm_decomposition_effective_message": "Показать незакрытые договорные позиции по состоянию на 2020-12-31",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "покажи незакрытые договорные позиции на 2020-12-31",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "xGDs8U2f3GsoPC",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Показать незакрытые договорные позиции по состоянию на 2020-12-31"
}
},
"error_code": null,
"error_message": null
},
{
"index": 9,
"id": "RCO_N001",
"question": "покажи незакрытые догоры на 2020-12-31",
"session": null,
"session_id": "asst-2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10-rco_n001",
"status_code": 200,
"ok": true,
"elapsed_ms": 12203,
"reply_type": "clarification_required",
"trace_id": "S6B0lD-FqSJ6wt",
"assistant_reply": "Коротко: Наиболее вероятный механизм проблемы подтвержден частично и требует первичной проверки. Что сломано:\n- Есть признаки проблемы, но без уточнений по периоду и объекту вывод ненадежен. Почему это похоже на проблему:\n- Сигнал проблемы есть, но механизм подтвержден не полностью. На чем это основано:\n- Опора частичная: часть требований покрыта не полностью.\n- Отдельно не подтверждено или покрыто частично: R1. Что проверить первым:\n- Проверьте связку документов и проводок по проблемному участку в указанном периоде. Ограничения:\n- Якоря из вопроса без прямого подтверждения: 2020-12, period:2020-12.\n- Ни одно требование не получило подтвержденного покрытия.\n- Нет explainable-сигналов why_included в результатах выборки.\n- supplier/customer polarity.\n- required anchors claim-bound grounding.\n- evidence.",
"assistant_reply_first_line": "Коротко: Наиболее вероятный механизм проблемы подтвержден частично и требует первичной проверки. Что сломано:",
"expected_intent": "list_open_contracts",
"actual_intent": null,
"intent_match": false,
"expected_mode": "address_query",
"actual_mode": null,
"mode_match": false,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": false,
"route_pass": false,
"route_health": "blocked_clarification",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": null,
"missing_required_filters": null,
"match_failure_stage": null,
"match_failure_reason": null,
"rows_fetched": null,
"rows_matched": null,
"mcp_call_status": null,
"limited_reason_category": null,
"llm_decomposition_applied": null,
"llm_decomposition_reason": null,
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "S6B0lD-FqSJ6wt",
"prompt_version": "address_query_runtime_v1",
"schema_version": "v1",
"fallback_type": "clarification",
"route_summary": null,
"fragments": [],
"requirements_extracted": [
{
"requirement_id": "R1",
"source_fragment_id": null,
"requirement_text": "покажи незакрытые догоры на 2020-12-31",
"subject_tokens": [],
"status": "clarification_needed",
"route": null
}
],
"coverage_report": {
"requirements_total": 1,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [
"R1"
],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "no_grounded_answer",
"route_subject_match": true,
"missing_requirements": [
"R1"
],
"reasons": [
"Ни одно требование не получило подтвержденного покрытия.",
"Нет explainable-сигналов why_included в результатах выборки.",
"Не удалось надежно определить supplier/customer polarity.",
"Недостаточно покрытия required anchors для claim-bound grounding.",
"Недостаточно допустимого evidence для обоснованного ответа.",
"Targeted evidence acquisition не дал допустимых попаданий по claim target path.",
"Есть критическое противоречие по domain/account scope."
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"question_type_class": "why_breaks",
"company_anchors": {
"contract_numbers": [],
"document_numbers": [],
"dates": [],
"amounts": [],
"accounts": [],
"periods": [
"2020-12"
],
"document_types": [],
"all": [
"period:2020-12"
]
},
"business_scope_raw": [],
"business_scope_resolved": [],
"company_grounding_applied": false,
"scope_resolution_reason": [],
"company_scope_resolution_reason": [],
"raw_time_anchor": null,
"raw_time_scope": null,
"resolved_time_anchor": null,
"resolved_primary_period": null,
"effective_primary_period": null,
"temporal_guard_input": null,
"temporal_alignment_status": "conflicting",
"temporal_resolution_source": "normalized_time_scope:missing",
"temporal_guard_basis": "none",
"temporal_guard_applied": false,
"temporal_guard_outcome": "passed",
"temporal_guard": {
"raw_time_anchor": null,
"raw_time_scope": null,
"resolved_time_anchor": null,
"resolved_primary_period": null,
"effective_primary_period": null,
"temporal_guard_input": null,
"temporal_alignment_status": "conflicting",
"temporal_resolution_source": "normalized_time_scope:missing",
"temporal_guard_basis": "none",
"temporal_guard_applied": false,
"temporal_guard_outcome": "passed",
"primary_period_window": null,
"allowed_context_window": null,
"controlled_temporal_expansion_enabled": false,
"context_expansion_reasons_allowed": [
"prehistory",
"carryover",
"post_period_closure",
"long_running_contract_context"
],
"normalized_anchor_drift_detected": false,
"reason_codes": [
"missing_resolved_primary_period"
]
},
"raw_numeric_tokens": [
"2020",
"12",
"31"
],
"classified_numeric_tokens": [
{
"token": "12",
"classification": "date_token"
},
{
"token": "31",
"classification": "date_token"
}
],
"rejected_as_non_accounts": [
"12",
"31"
],
"resolved_account_anchors": [],
"domain_polarity_guard": {
"applied": true,
"polarity": "mixed_or_unresolved",
"outcome": "limited_unresolved_polarity",
"supplier_score": 0,
"customer_score": 0,
"account_scope": [],
"raw_numeric_tokens": [
"2020",
"12",
"31"
],
"classified_numeric_tokens": [
{
"token": "12",
"classification": "date_token"
},
{
"token": "31",
"classification": "date_token"
}
],
"rejected_as_non_accounts": [
"12",
"31"
],
"resolved_account_anchors": [],
"rejected_problem_units": 0,
"rejected_evidence": 0,
"critical_contradiction": true,
"reason_codes": [
"unresolved_supplier_customer_polarity",
"supplier_customer_signals_absent"
]
},
"claim_anchor_audit": {
"claim_type": "prove_month_close_state",
"settlement_role_resolution_reason": [],
"polarity_resolution_status": "not_applicable",
"required_anchors": [
"period",
"close_signal",
"cost_scope"
],
"resolved_anchors": {
"period": [
"2020-12"
],
"account_scope": [],
"amounts": [],
"contract": [],
"document_numbers": [],
"document_types": [],
"counterparty_scope": [],
"advance_signal": [],
"closure_signal": [
"closure"
],
"vat_signal": [],
"chain_signal": [],
"close_signal": [],
"cost_scope": [],
"rbp_signal": [],
"writeoff_signal": [],
"fixed_asset_signal": [],
"amortization_signal": [],
"expected_fa_set": [],
"actual_fa_set": []
},
"missing_anchors": [
"close_signal",
"cost_scope"
],
"claim_anchor_resolution_rate": 0.3333,
"primary_period": null,
"allowed_context_window": null,
"context_expansion_reasons_allowed": [
"prehistory",
"carryover",
"post_period_closure",
"long_running_contract_context"
],
"reason_codes": [
"claim_missing_required_anchors",
"claim_anchor_resolution_low"
]
},
"settlement_role": null,
"settlement_role_resolution_reason": [],
"polarity_resolution_status": "not_applicable",
"targeted_evidence_acquisition": {
"claim_type": "prove_month_close_state",
"required_checks": [
"close_operation_found",
"distribution_step_found",
"residual_tail_found"
],
"check_status": {
"close_operation_found": "not_found",
"distribution_step_found": "not_found",
"residual_tail_found": "not_found"
},
"targeted_item_hits": 0,
"targeted_evidence_hits": 0,
"targeted_evidence_hit_rate": 0,
"targeted_evidence_source_refs": [],
"reason_codes": [
"targeted_evidence_not_found",
"targeted_evidence_hit_rate_low"
]
},
"evidence_admissibility_gate": {
"candidate_evidence_total": 0,
"admissible_evidence_count": 0,
"rejected_evidence_count": 0,
"rejected_item_count": 0,
"reject_breakdown": {
"wrong_period": 0,
"wrong_domain": 0,
"wrong_account_scope": 0,
"weak_source_mapping": 0,
"zero_live_match": 0,
"future_dated_or_out_of_window": 0
},
"category_breakdown": {
"hard_evidence": 0,
"supporting_signal": 0,
"inadmissible_noise": 0
},
"reason_codes": [
"no_admissible_evidence_for_grounded_answer"
]
},
"eligibility_time_basis": "none",
"grounded_answer_eligibility_guard": {
"eligible": false,
"temporal_passed": true,
"eligibility_time_basis": "none",
"business_scope_passed": true,
"polarity_passed": false,
"claim_anchors_passed": false,
"claim_anchor_resolution_rate": 0.3333,
"missing_required_anchors": 2,
"admissible_evidence_count": 0,
"critical_contradiction": true,
"outcome": "limited_or_insufficient_evidence",
"grounding_mode": "limited_or_insufficient_evidence",
"reason_codes": [
"polarity_guard_limited_unresolved_polarity",
"claim_anchor_coverage_insufficient",
"admissible_evidence_count_zero",
"targeted_evidence_hit_rate_zero",
"critical_domain_or_account_contradiction"
]
},
"problem_centric_answer_applied": false,
"problem_units_used_count": 0,
"problem_answer_mode": "stage1_policy_v11",
"answer_structure_v11": {
"schema_version": "answer_structure_v1_1",
"answer_summary": "Нужны уточнения: без сужения фокуса надежный вывод невозможен.",
"direct_answer": "Есть признаки проблемы, но без уточнений по периоду и объекту вывод ненадежен.",
"mechanism_block": {
"status": "unresolved",
"mechanism_notes": [],
"limitation_reason_codes": []
},
"evidence_block": {
"evidence_ids": [],
"source_refs": [],
"mechanism_notes": [],
"coverage_note": "coverage_partial_or_limited"
},
"uncertainty_block": {
"open_uncertainties": [
"R1",
"missing_anchor:document_or_object",
"missing_anchor:counterparty"
],
"limitations": [
"Ни одно требование не получило подтвержденного покрытия.",
"Нет explainable-сигналов why_included в результатах выборки.",
"Не удалось надежно определить supplier/customer polarity.",
"Недостаточно покрытия required anchors для claim-bound grounding.",
"Недостаточно допустимого evidence для обоснованного ответа.",
"Targeted evidence acquisition не дал допустимых попаданий по claim target path.",
"Есть критическое противоречие по domain/account scope.",
"Часть якорей запроса пока не подтверждена в опоре: 2020-12, period:2020-12."
]
},
"next_step_block": {
"recommended_actions": [
"Дайте недостающие якоря (период/счет/объект), иначе сильный factual вывод невозможен."
],
"clarification_questions": [
"Укажите документ/GUID/конкретный объект для трассировки.",
"Укажите контрагента или группу контрагентов.",
"Закройте уточнения для требований: R1."
]
}
},
"investigation_state_snapshot": {
"schema_version": "investigation_state_v1",
"session_id": "asst-2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10-rco_n001",
"status": "active",
"turn_index": 1,
"updated_at": "2026-04-02T13:54:03.427Z",
"question_id": "msg-QQjwBnw0bw",
"question_scope_id": "p:2020-12|s:покажи незакрытые догоры на 2020-12-31",
"scope_origin": "explicit_from_message",
"focus": {
"domain": null,
"period": "2020-12",
"primary_accounts": [],
"active_query_subject": "покажи незакрытые догоры на 2020-12-31"
},
"narrowing_status": "unknown",
"evidence_refs": [],
"open_uncertainties": [
"clarify:R1"
],
"last_answer_mode": "clarification_required",
"followup_context": {
"previous_question_id": null,
"last_user_message": "покажи незакрытые догоры на 2020-12-31",
"referenced_requirement_ids": [
"R1"
],
"active_domain": null,
"active_requirement_ids": [
"R1"
],
"uncovered_requirement_ids": [
"R1"
],
"last_problem_unit_id": null,
"settlement_next_actions": [],
"evidence_summary": [],
"question_scope_id": "p:2020-12|s:покажи незакрытые догоры на 2020-12-31",
"scope_origin": "explicit_from_message"
},
"query_mode_hint": "investigation_candidate"
},
"normalized": null
},
"error_code": null,
"error_message": null
},
{
"index": 16,
"id": "RCO_N008",
"question": "покажи открытые позиции по дог 19/15 пж",
"session": null,
"session_id": "asst-2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10-rco_n008",
"status_code": 200,
"ok": true,
"elapsed_ms": 7091,
"reply_type": "partial_coverage",
"trace_id": "address-WjcNH7liP2",
"assistant_reply": "В live-данных по текущему фильтру записи не найдены.\nПричина: по указанному якорю и фильтрам в live-выборке нет строк.\nЧто нужно уточнить: уточните период или снимите часть фильтров.",
"assistant_reply_first_line": "В live-данных по текущему фильтру записи не найдены.",
"expected_intent": "open_items_by_counterparty_or_contract",
"actual_intent": "open_items_by_counterparty_or_contract",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": false,
"route_health": "likely_blocked_route",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"missing_required_filters": [],
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "contract_anchor_not_matched_in_materialized_rows",
"rows_fetched": 20,
"rows_matched": 0,
"mcp_call_status": "materialized_but_not_anchor_matched",
"limited_reason_category": "empty_match",
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-WjcNH7liP2",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "partial",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "partial",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"object_signal_detected",
"open_items_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "OBJECT_LOOKUP",
"query_shape_confidence": "medium",
"detected_intent": "open_items_by_counterparty_or_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"contract": "19/15 ПЖ"
},
"missing_required_filters": [],
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"mcp_call_status_legacy": "materialized_but_not_matched",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": true,
"anchor_type": "contract",
"anchor_value_raw": "19/15 ПЖ",
"anchor_value_resolved": "19/15 ПЖ",
"resolver_confidence": "medium",
"ambiguity_count": 0,
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "contract_anchor_not_matched_in_materialized_rows",
"mcp_call_status": "materialized_but_not_anchor_matched",
"rows_fetched": 20,
"raw_rows_received": 20,
"rows_after_account_scope": 20,
"rows_after_recipe_filter": 0,
"rows_materialized": 20,
"rows_matched": 0,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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": "empty_match",
"response_type": "LIMITED_WITH_REASON",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "lxly54b13hg0NS",
"llm_decomposition_effective_message": "Показать открытые позиции по договору 19/15 ПЖ.",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "покажи открытые позиции по договор 19/15",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "lxly54b13hg0NS",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Показать открытые позиции по договору 19/15 ПЖ."
}
},
"error_code": null,
"error_message": null
},
{
"index": 23,
"id": "RCO_F005",
"question": "а теперь есть ли долг по договору 19/15",
"session": "chain_contract_open_items_b",
"session_id": "asst-2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10-chain_contract_open_items_b",
"status_code": 200,
"ok": true,
"elapsed_ms": 7071,
"reply_type": "partial_coverage",
"trace_id": "address-alvGrbULwl",
"assistant_reply": "В live-данных по текущему фильтру записи не найдены.\nПричина: по указанному якорю и фильтрам в live-выборке нет строк.\nЧто нужно уточнить: уточните период или снимите часть фильтров.",
"assistant_reply_first_line": "В live-данных по текущему фильтру записи не найдены.",
"expected_intent": "open_items_by_counterparty_or_contract",
"actual_intent": "open_items_by_counterparty_or_contract",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": false,
"route_health": "likely_blocked_route",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"missing_required_filters": [],
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "contract_anchor_not_matched_in_materialized_rows",
"rows_fetched": 20,
"rows_matched": 0,
"mcp_call_status": "materialized_but_not_anchor_matched",
"limited_reason_category": "empty_match",
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-alvGrbULwl",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "partial",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "partial",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"verify_signal_detected",
"open_items_signal_detected",
"period_from_followup_context",
"address_followup_context_applied"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "VERIFY_FACTUAL",
"query_shape_confidence": "medium",
"detected_intent": "open_items_by_counterparty_or_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"contract": "19/15",
"period_from": "2020-12-01",
"period_to": "2020-12-31"
},
"missing_required_filters": [],
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"mcp_call_status_legacy": "materialized_but_not_matched",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": true,
"anchor_type": "contract",
"anchor_value_raw": "19/15",
"anchor_value_resolved": "19/15",
"resolver_confidence": "medium",
"ambiguity_count": 0,
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "contract_anchor_not_matched_in_materialized_rows",
"mcp_call_status": "materialized_but_not_anchor_matched",
"rows_fetched": 20,
"raw_rows_received": 20,
"rows_after_account_scope": 20,
"rows_after_recipe_filter": 0,
"rows_materialized": 20,
"rows_matched": 0,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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": "empty_match",
"response_type": "LIMITED_WITH_REASON",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "JCTFOfjzFFHE7a",
"llm_decomposition_effective_message": "проверить наличие долга по договору 19/15",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "а теперь есть ли долг по договору 19/15",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "JCTFOfjzFFHE7a",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "проверить наличие долга по договору 19/15"
}
},
"error_code": null,
"error_message": null
}
]
@@ -0,0 +1,27 @@
# Response Audit: 2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| RCO_C001 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_C002 | True | ok_or_factual | factual | list_open_contracts | None | Show open contracts as of 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_C003 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли долг по договору 19/15 на 2020-07-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C004 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли незакрытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C005 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Покажи открытые позиции по договору 19/15 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C006 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C007 | False | blocked_missing_anchor | partial_coverage | open_items_by_counterparty_or_contract | missing_anchor | Покажи незакрытые договорные позиции на 2020-12-31 | Для точного адресного поиска не хватает обязательного якоря. |
| RCO_C008 | True | ok_or_factual | factual | list_open_contracts | None | list open contracts for 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N001 | False | blocked_clarification | clarification_required | None | None | покажи незакрытые догоры на 2020-12-31 | Коротко: Наиболее вероятный механизм проблемы подтвержден частично и требует первичной проверки. Что сломано: |
| RCO_N002 | True | ok_or_factual | factual | list_open_contracts | None | незакрытые договоры на 2020-12-31 гони | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N003 | True | ok_or_factual | factual | list_open_contracts | None | open contracts 2020-12-31 pls | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N004 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | по дог 19/15 есть хвосты на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N005 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | долг по дог 19/15 на 2020-12-31 есть? | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N006 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | open items by contract 19/15 as of 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N007 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли долг по договору 19/15 на 31.12.2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N008 | False | likely_blocked_route | partial_coverage | open_items_by_counterparty_or_contract | empty_match | покажи открытые позиции по дог 19/15 пж | В live-данных по текущему фильтру записи не найдены. |
| RCO_N009 | True | ok_or_factual | factual | list_open_contracts | None | show open contracts for 2020.12.31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N010 | True | ok_or_factual | factual | list_open_contracts | None | незакрытые договоры 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_F001 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли долг по договору 19/15 на 2020-07-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_F002 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_F003 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_F004 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_F005 | False | likely_blocked_route | partial_coverage | open_items_by_counterparty_or_contract | empty_match | а теперь есть ли долг по договору 19/15 | В live-данных по текущему фильтру записи не найдены. |
@@ -0,0 +1,58 @@
{
"run_id": "2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_16-50-10",
"generated_at": "2026-04-02T16:55:34",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\domain_contracts_open_items_acceptance_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 23,
"ok_200_count": 23,
"semantic_pass_count": 21,
"semantic_pass_rate": 0.913,
"route_pass_count": 19,
"route_pass_rate": 0.8261,
"strict_pass_count": 19,
"strict_pass_rate": 0.8261,
"factual_count": 19,
"partial_coverage_count": 3,
"clarification_required_count": 1,
"http_error_count": 0,
"llm_decomposition_applied_count": 17,
"avg_elapsed_ms": 6984.8
},
"distributions": {
"reply_type": {
"factual": 19,
"partial_coverage": 3,
"clarification_required": 1
},
"actual_intent": {
"list_open_contracts": 8,
"open_items_by_counterparty_or_contract": 14,
"None": 1
},
"actual_mode": {
"address_query": 22,
"None": 1
},
"mcp_call_status": {
"matched_non_empty": 19,
"skipped": 1,
"None": 1,
"materialized_but_not_anchor_matched": 2
},
"limited_reason_category": {
"missing_anchor": 1,
"empty_match": 2
},
"route_health": {
"ok_or_factual": 19,
"blocked_missing_anchor": 1,
"blocked_clarification": 1,
"likely_blocked_route": 2
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_17-00-22
Generated at: 2026-04-02T16:58:39
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\domain_contracts_open_items_acceptance_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 23
- ok_200_count: 23
- semantic_pass_count: 23
- semantic_pass_rate: 1.0
- route_pass_count: 23
- route_pass_rate: 1.0
- strict_pass_count: 23
- strict_pass_rate: 1.0
- factual_count: 23
- partial_coverage_count: 0
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 18
- avg_elapsed_ms: 6755.0
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,27 @@
# Response Audit: 2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_17-00-22
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| RCO_C001 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_C002 | True | ok_or_factual | factual | list_open_contracts | None | Show open contracts as of 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_C003 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли долг по договору 19/15 на 2020-07-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C004 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли незакрытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C005 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Покажи открытые позиции по договору 19/15 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C006 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_C007 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на конец 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_C008 | True | ok_or_factual | factual | list_open_contracts | None | list open contracts for 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N001 | True | ok_or_factual | factual | list_open_contracts | None | покажи незакрытые договоры на 2020-12-31 пж | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N002 | True | ok_or_factual | factual | list_open_contracts | None | незакрытые договоры на 2020-12-31 гони | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N003 | True | ok_or_factual | factual | list_open_contracts | None | open contracts 2020-12-31 pls | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N004 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | по дог 19/15 есть хвосты на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N005 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | долг по дог 19/15 на 2020-12-31 есть? | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N006 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | open items by contract 19/15 as of 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N007 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли долг по договору 19/15 на 31.12.2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N008 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | покажи открытые позиции по дог 19/15 на 2020-12-31 пж | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_N009 | True | ok_or_factual | factual | list_open_contracts | None | show open contracts for 2020.12.31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_N010 | True | ok_or_factual | factual | list_open_contracts | None | незакрытые договоры 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_F001 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли долг по договору 19/15 на 2020-07-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_F002 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_F003 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| RCO_F004 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| RCO_F005 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь есть ли долг по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
@@ -0,0 +1,45 @@
{
"run_id": "2026-04-02_Address_Domain_ContractsOpenItems_Reference_Acceptance_2026-04-02_17-00-22",
"generated_at": "2026-04-02T16:58:39",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\domain_contracts_open_items_acceptance_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 23,
"ok_200_count": 23,
"semantic_pass_count": 23,
"semantic_pass_rate": 1.0,
"route_pass_count": 23,
"route_pass_rate": 1.0,
"strict_pass_count": 23,
"strict_pass_rate": 1.0,
"factual_count": 23,
"partial_coverage_count": 0,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 18,
"avg_elapsed_ms": 6755.0
},
"distributions": {
"reply_type": {
"factual": 23
},
"actual_intent": {
"list_open_contracts": 10,
"open_items_by_counterparty_or_contract": 13
},
"actual_mode": {
"address_query": 23
},
"mcp_call_status": {
"matched_non_empty": 23
},
"limited_reason_category": {},
"route_health": {
"ok_or_factual": 23
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Followup_Recheck_PostDomain_17-14-30
Generated at: 2026-04-02T17:14:46
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 23
- semantic_pass_rate: 0.92
- route_pass_count: 23
- route_pass_rate: 0.92
- strict_pass_count: 23
- strict_pass_rate: 0.92
- factual_count: 24
- partial_coverage_count: 1
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 13
- avg_elapsed_ms: 5041.3
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Followup_Recheck_PostDomain_17-14-30
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | False | ok_or_factual | factual | list_documents_by_counterparty | None | раскрой 62 документами на ту же дату | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F015 | False | ok_or_factual | factual | list_documents_by_counterparty | None | вернись на 2020-12-31 по 60 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по этому же договору | Собран список документов по договору (live address lane). |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,55 @@
{
"run_id": "2026-04-02_Address_Followup_Recheck_PostDomain_17-14-30",
"generated_at": "2026-04-02T17:14:46",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 23,
"semantic_pass_rate": 0.92,
"route_pass_count": 23,
"route_pass_rate": 0.92,
"strict_pass_count": 23,
"strict_pass_rate": 0.92,
"factual_count": 24,
"partial_coverage_count": 1,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 13,
"avg_elapsed_ms": 5041.3
},
"distributions": {
"reply_type": {
"factual": 24,
"partial_coverage": 1
},
"actual_intent": {
"list_documents_by_counterparty": 5,
"account_balance_snapshot": 8,
"documents_forming_balance": 1,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 24,
"no_raw_rows": 1
},
"limited_reason_category": {
"empty_match": 1
},
"route_health": {
"ok_or_factual": 24,
"partial_non_blocking": 1
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Followup_Recheck_PostFix2_17-24-40
Generated at: 2026-04-02T17:26:20
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 24
- semantic_pass_rate: 0.96
- route_pass_count: 23
- route_pass_rate: 0.92
- strict_pass_count: 23
- strict_pass_rate: 0.92
- factual_count: 22
- partial_coverage_count: 3
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 13
- avg_elapsed_ms: 4910.7
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,298 @@
[
{
"index": 14,
"id": "F014",
"question": "раскрой 62 документами на ту же дату",
"session": "chain_balance_c",
"session_id": "asst-2026-04-02_Address_Followup_Recheck_PostFix2_17-24-40-chain_balance_c",
"status_code": 200,
"ok": true,
"elapsed_ms": 8385,
"reply_type": "factual",
"trace_id": "address-uEVFkkwWvL",
"assistant_reply": "Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу.\nСобран список документов по контрагенту (live address lane).\nСтрок отобрано: 2.\n1. 2020-05-21T12:00:00Z | Поступление на расчетный счет 00000000023 от 21.05.2020 12:00:00 | 0 / 0 | 250546.24 | аналитика: ЗАО Ремонтно-строительная фирма «Ремстройсервис»\n2. 2020-05-15T12:00:02Z | Поступление на расчетный счет 00000000022 от 15.05.2020 12:00:02 | 0 / 0 | 765000 | аналитика: ПрофТренд,ООО",
"assistant_reply_first_line": "Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу.",
"expected_intent": "documents_forming_balance",
"actual_intent": "list_documents_by_counterparty",
"intent_match": false,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": false,
"route_pass": false,
"route_health": "ok_or_factual",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": "address_documents_by_counterparty_v1",
"missing_required_filters": [],
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "counterparty_anchor_not_matched_in_materialized_rows",
"rows_fetched": 20,
"rows_matched": 2,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": false,
"llm_decomposition_reason": "normalized_fragment_rejected_intent_conflict",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-uEVFkkwWvL",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_entity_detected",
"drilldown_signal_detected",
"documents_by_counterparty_signal_detected",
"period_from_followup_context",
"address_followup_context_applied",
"anchor_not_matched_fallback_rows"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "medium",
"query_shape": "DRILLDOWN_REQUEST",
"query_shape_confidence": "high",
"detected_intent": "list_documents_by_counterparty",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"counterparty": "документами",
"period_from": "2020-05-01",
"period_to": "2020-05-31"
},
"missing_required_filters": [],
"selected_recipe": "address_documents_by_counterparty_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": false,
"anchor_type": "counterparty",
"anchor_value_raw": "документами",
"anchor_value_resolved": "документами",
"resolver_confidence": "medium",
"ambiguity_count": 0,
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "counterparty_anchor_not_matched_in_materialized_rows",
"mcp_call_status": "matched_non_empty",
"rows_fetched": 20,
"raw_rows_received": 20,
"rows_after_account_scope": 2,
"rows_after_recipe_filter": 0,
"rows_materialized": 2,
"rows_matched": 2,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Контрагент",
"Period",
"Registrator",
"Amount"
],
"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",
"execution_lane": "address_query",
"llm_decomposition_applied": false,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "fWGwdLnz5skfYo",
"llm_decomposition_effective_message": "раскрой 62 документами на ту же дату",
"llm_decomposition_reason": "normalized_fragment_rejected_intent_conflict",
"fallback_rule_hit": null,
"sanitized_user_message": "раскрой 62 документами на ту же дату",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "fWGwdLnz5skfYo",
"prompt_version": "normalizer_v2_0_2",
"applied": false,
"effective_message": "раскрой 62 документами на ту же дату"
}
},
"error_code": null,
"error_message": null
},
{
"index": 20,
"id": "F020",
"question": "покажи документы по этому же договору",
"session": "chain_contract_d",
"session_id": "asst-2026-04-02_Address_Followup_Recheck_PostFix2_17-24-40-chain_contract_d",
"status_code": 200,
"ok": true,
"elapsed_ms": 6027,
"reply_type": "partial_coverage",
"trace_id": "address-CdjfoNgyoR",
"assistant_reply": "Для точного адресного поиска не хватает обязательного якоря.\nПричина: не хватает обязательных фильтров.\nЧто нужно уточнить: уточните: contract.",
"assistant_reply_first_line": "Для точного адресного поиска не хватает обязательного якоря.",
"expected_intent": "list_documents_by_contract",
"actual_intent": "list_documents_by_contract",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": false,
"route_health": "blocked_missing_anchor",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": "address_documents_by_contract_v1",
"missing_required_filters": [
"contract"
],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 0,
"rows_matched": 0,
"mcp_call_status": "skipped",
"limited_reason_category": "missing_anchor",
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-CdjfoNgyoR",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "partial",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "partial",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"document_list_signal_detected",
"documents_by_contract_signal_detected",
"missing_required_filters"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "DOCUMENT_LIST",
"query_shape_confidence": "medium",
"detected_intent": "list_documents_by_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20
},
"missing_required_filters": [
"contract"
],
"selected_recipe": "address_documents_by_contract_v1",
"mcp_call_status_legacy": "skipped",
"account_scope_mode": "strict",
"account_scope_fallback_applied": false,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"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,
"raw_row_keys_sample": [],
"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",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "8HqWWHl_5_uQpy",
"llm_decomposition_effective_message": "Показать документы по указанному договору.",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "покажи документы по этому же договору",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "8HqWWHl_5_uQpy",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Показать документы по указанному договору."
}
},
"error_code": null,
"error_message": null
}
]
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Followup_Recheck_PostFix2_17-24-40
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | False | ok_or_factual | factual | list_documents_by_counterparty | None | раскрой 62 документами на ту же дату | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F015 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | вернись на 2020-12-31 по 60 | В live-данных по текущему фильтру записи не найдены. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | False | blocked_missing_anchor | partial_coverage | list_documents_by_contract | missing_anchor | покажи документы по этому же договору | Для точного адресного поиска не хватает обязательного якоря. |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,58 @@
{
"run_id": "2026-04-02_Address_Followup_Recheck_PostFix2_17-24-40",
"generated_at": "2026-04-02T17:26:20",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 24,
"semantic_pass_rate": 0.96,
"route_pass_count": 23,
"route_pass_rate": 0.92,
"strict_pass_count": 23,
"strict_pass_rate": 0.92,
"factual_count": 22,
"partial_coverage_count": 3,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 13,
"avg_elapsed_ms": 4910.7
},
"distributions": {
"reply_type": {
"factual": 22,
"partial_coverage": 3
},
"actual_intent": {
"list_documents_by_counterparty": 4,
"account_balance_snapshot": 9,
"documents_forming_balance": 1,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 22,
"no_raw_rows": 2,
"skipped": 1
},
"limited_reason_category": {
"empty_match": 2,
"missing_anchor": 1
},
"route_health": {
"ok_or_factual": 22,
"partial_non_blocking": 2,
"blocked_missing_anchor": 1
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Followup_Recheck_PostFix3_17-32-00
Generated at: 2026-04-02T17:34:01
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 25
- semantic_pass_rate: 1.0
- route_pass_count: 25
- route_pass_rate: 1.0
- strict_pass_count: 25
- strict_pass_rate: 1.0
- factual_count: 23
- partial_coverage_count: 2
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 14
- avg_elapsed_ms: 4875.2
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Followup_Recheck_PostFix3_17-32-00
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой 62 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F015 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | вернись на 2020-12-31 по 60 | В live-данных по текущему фильтру записи не найдены. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по этому же договору | Собран список документов по договору (live address lane). |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,55 @@
{
"run_id": "2026-04-02_Address_Followup_Recheck_PostFix3_17-32-00",
"generated_at": "2026-04-02T17:34:01",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 25,
"semantic_pass_rate": 1.0,
"route_pass_count": 25,
"route_pass_rate": 1.0,
"strict_pass_count": 25,
"strict_pass_rate": 1.0,
"factual_count": 23,
"partial_coverage_count": 2,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 14,
"avg_elapsed_ms": 4875.2
},
"distributions": {
"reply_type": {
"factual": 23,
"partial_coverage": 2
},
"actual_intent": {
"list_documents_by_counterparty": 3,
"account_balance_snapshot": 9,
"documents_forming_balance": 2,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 23,
"no_raw_rows": 2
},
"limited_reason_category": {
"empty_match": 2
},
"route_health": {
"ok_or_factual": 23,
"partial_non_blocking": 2
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Followup_Recheck_PostFix_17-20-05
Generated at: 2026-04-02T17:21:46
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 23
- semantic_pass_rate: 0.92
- route_pass_count: 22
- route_pass_rate: 0.88
- strict_pass_count: 22
- strict_pass_rate: 0.88
- factual_count: 23
- partial_coverage_count: 2
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 13
- avg_elapsed_ms: 4925.8
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Followup_Recheck_PostFix_17-20-05
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | False | ok_or_factual | factual | list_documents_by_counterparty | None | раскрой 62 документами на ту же дату | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F015 | False | ok_or_factual | factual | list_documents_by_counterparty | None | вернись на 2020-12-31 по 60 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | False | blocked_missing_anchor | partial_coverage | list_documents_by_contract | missing_anchor | покажи документы по этому же договору | Для точного адресного поиска не хватает обязательного якоря. |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,58 @@
{
"run_id": "2026-04-02_Address_Followup_Recheck_PostFix_17-20-05",
"generated_at": "2026-04-02T17:21:46",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 23,
"semantic_pass_rate": 0.92,
"route_pass_count": 22,
"route_pass_rate": 0.88,
"strict_pass_count": 22,
"strict_pass_rate": 0.88,
"factual_count": 23,
"partial_coverage_count": 2,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 13,
"avg_elapsed_ms": 4925.8
},
"distributions": {
"reply_type": {
"factual": 23,
"partial_coverage": 2
},
"actual_intent": {
"list_documents_by_counterparty": 5,
"account_balance_snapshot": 8,
"documents_forming_balance": 1,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 23,
"no_raw_rows": 1,
"skipped": 1
},
"limited_reason_category": {
"empty_match": 1,
"missing_anchor": 1
},
"route_health": {
"ok_or_factual": 23,
"partial_non_blocking": 1,
"blocked_missing_anchor": 1
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Nightly_followup_25_16-45-27
Generated at: 2026-04-02T16:47:27
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 25
- semantic_pass_rate: 1.0
- route_pass_count: 25
- route_pass_rate: 1.0
- strict_pass_count: 25
- strict_pass_rate: 1.0
- factual_count: 23
- partial_coverage_count: 2
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 13
- avg_elapsed_ms: 4794
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Nightly_followup_25_16-45-27
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой 62 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F015 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | вернись на 2020-12-31 по 60 | В live-данных по текущему фильтру записи не найдены. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по этому же договору | Собран список документов по договору (live address lane). |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,55 @@
{
"run_id": "2026-04-02_Address_Nightly_followup_25_16-45-27",
"generated_at": "2026-04-02T16:47:27",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 25,
"semantic_pass_rate": 1.0,
"route_pass_count": 25,
"route_pass_rate": 1.0,
"strict_pass_count": 25,
"strict_pass_rate": 1.0,
"factual_count": 23,
"partial_coverage_count": 2,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 13,
"avg_elapsed_ms": 4794
},
"distributions": {
"reply_type": {
"factual": 23,
"partial_coverage": 2
},
"actual_intent": {
"list_documents_by_counterparty": 3,
"account_balance_snapshot": 9,
"documents_forming_balance": 2,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 23,
"no_raw_rows": 2
},
"limited_reason_category": {
"empty_match": 2
},
"route_health": {
"ok_or_factual": 23,
"partial_non_blocking": 2
}
}
}
@@ -0,0 +1,67 @@
{
"generated_at": "2026-04-02T16:47:27",
"overall_pass": true,
"baseline": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5\\run_summary.json",
"run_id": "2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5",
"questions_total": 25,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"candidate": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_followup_25_16-45-27\\run_summary.json",
"run_id": "2026-04-02_Address_Nightly_followup_25_16-45-27",
"questions_total": 25,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"checks": [
{
"metric": "strict_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "route_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "execution_error_count",
"passed": true,
"baseline": 0,
"candidate": 0,
"rule": "candidate <= baseline"
},
{
"metric": "false_factual_rate",
"passed": true,
"baseline": 0.0,
"candidate": 0.0,
"rule": "candidate <= baseline"
},
{
"metric": "questions_total_match",
"passed": true,
"baseline": 25,
"candidate": 25,
"rule": "candidate == baseline"
}
]
}
@@ -0,0 +1,23 @@
{
"generated_at": "2026-04-02T16:47:27",
"total": 1,
"passed": 1,
"failed": 0,
"results": [
{
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_followup_25_16-45-27",
"valid": true,
"errors": [],
"warnings": [],
"metrics": {
"run_id": "2026-04-02_Address_Nightly_followup_25_16-45-27",
"questions_total": 25,
"route_pass_rate": 1.0,
"strict_pass_rate": 1.0,
"http_error_count": 0,
"rows_count": 25,
"failures_count": 0
}
}
]
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Nightly_stress_102_16-35-15
Generated at: 2026-04-02T16:45:27
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_slang_stress_full_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 102
- ok_200_count: 102
- semantic_pass_count: 102
- semantic_pass_rate: 1.0
- route_pass_count: 102
- route_pass_rate: 1.0
- strict_pass_count: 102
- strict_pass_rate: 1.0
- factual_count: 97
- partial_coverage_count: 5
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 78
- avg_elapsed_ms: 5992.8
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,106 @@
# Response Audit: 2026-04-02_Address_Nightly_stress_102_16-35-15
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| S001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк доки за 2020 покаж пж | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | покеж все доки по свк за 20 год | Собран список документов по контрагенту (live address lane). |
| S003 | True | ok_or_factual | factual | list_documents_by_counterparty | None | дай список документов по свк за 2020 | Собран список документов по контрагенту (live address lane). |
| S004 | True | ok_or_factual | factual | list_documents_by_counterparty | None | какие у свк есть доки за 2020? | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S005 | True | ok_or_factual | factual | list_documents_by_counterparty | None | че по свк по докам за 2020 год | Собран список документов по контрагенту (live address lane). |
| S006 | True | ok_or_factual | factual | list_documents_by_counterparty | None | ёпт покажи доки по свк за 2020 | Собран список документов по контрагенту (live address lane). |
| S007 | True | ok_or_factual | factual | list_documents_by_counterparty | None | бля, доки свк 2020 вывали | Собран список документов по контрагенту (live address lane). |
| S008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | svk docs for 2020 please | Собран список документов по контрагенту (live address lane). |
| S009 | True | ok_or_factual | factual | list_documents_by_counterparty | None | docs by counterparty svk year 2020 | Собран список документов по контрагенту (live address lane). |
| S010 | True | ok_or_factual | factual | list_documents_by_counterparty | None | по контрагенту свк покаж документы за 2020 | Собран список документов по контрагенту (live address lane). |
| S011 | True | ok_or_factual | factual | list_documents_by_counterparty | None | плс доки по свк 2020 | Собран список документов по контрагенту (live address lane). |
| S012 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк док за 2020 гони | Собран список документов по контрагенту (live address lane). |
| S013 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | по свк банковские операции за 2020 покаж | Собран список банковских операций по контрагенту (live address lane). |
| S014 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк выписка банка 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S015 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | платежи по свк за 2020 выведи | Собран список банковских операций по контрагенту (live address lane). |
| S016 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | оплаты по свк за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S017 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк банк опер за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S018 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | че у свк по банку за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S019 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк списания/поступления за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S020 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | bank ops by svk for 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S021 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | transactions by counterparty svk 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S022 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | бля, по свк банковские платежки 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S023 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо по счету 60.01 на дату 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| S024 | True | ok_or_factual | factual | account_balance_snapshot | None | остаток по счету 60.01 на 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| S025 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи остаток по 60.01 за май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S026 | True | ok_or_factual | factual | account_balance_snapshot | None | счет 60 остаток на май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S027 | True | ok_or_factual | factual | account_balance_snapshot | None | баланс account 60.01 as of 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| S028 | True | ok_or_factual | factual | account_balance_snapshot | None | 60.01 saldo на 31.07.2020 | Адресный срез по счету собран (по движениям live MCP). |
| S029 | True | ok_or_factual | factual | account_balance_snapshot | None | сколько на счете 60 на конец 2020-05 | Адресный срез по счету собран (по движениям live MCP). |
| S030 | True | ok_or_factual | factual | account_balance_snapshot | None | дай остаток 60.02 на 2020-12-31 | Адресный срез по счету собран (по движениям live MCP). |
| S031 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | епт, сальдо по счету 62.01 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S032 | True | ok_or_factual | factual | account_balance_snapshot | None | плс остаток по счету 51 на 2020-06-30 | Адресный срез по счету собран (по движениям live MCP). |
| S033 | True | ok_or_factual | factual | account_balance_snapshot | None | как там по счету 60.01 на 2020.07? | Адресный срез по счету собран (по движениям live MCP). |
| S034 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо 60 на 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S035 | True | ok_or_factual | factual | documents_forming_balance | None | какие документы формируют остаток по счету 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S036 | True | ok_or_factual | factual | documents_forming_balance | None | из чего состоит остаток по счету 60 на 2020.05 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S037 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток 60.01 по документам на конец июля 2020 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S038 | True | ok_or_factual | factual | documents_forming_balance | None | доки под остатком 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S039 | True | ok_or_factual | factual | documents_forming_balance | None | documents forming balance for account 60.01 as of 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S040 | True | ok_or_factual | factual | documents_forming_balance | None | бля, какие доки формируют остаток 60.01 на 2020-05-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S041 | True | partial_non_blocking | partial_coverage | documents_forming_balance | empty_match | по счету 62.01 раскрой остаток документами на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S042 | True | ok_or_factual | factual | documents_forming_balance | None | из чего остаток по счету 51 на 2020-06-30 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S043 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S044 | True | ok_or_factual | factual | list_documents_by_contract | None | доки по дог. 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S045 | True | ok_or_factual | factual | list_documents_by_contract | None | какие документы по контракту 19/15 | Собран список документов по договору (live address lane). |
| S046 | True | ok_or_factual | factual | list_documents_by_contract | None | docs by contract 19/15 year 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S047 | True | ok_or_factual | factual | list_documents_by_contract | None | бля, покажи по договору 19/15 доки | Собран список документов по договору (live address lane). |
| S048 | True | ok_or_factual | factual | list_documents_by_contract | None | договор 19/15 документы | Собран список документов по договору (live address lane). |
| S049 | True | ok_or_factual | factual | list_documents_by_contract | None | плс документы договор №19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S050 | True | ok_or_factual | factual | list_documents_by_contract | None | покеж документы по 19/15 | Собран список документов по договору (live address lane). |
| S051 | True | ok_or_factual | factual | bank_operations_by_contract | None | банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S052 | True | ok_or_factual | factual | bank_operations_by_contract | None | платежи по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S053 | True | ok_or_factual | factual | bank_operations_by_contract | None | выписка по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S054 | True | ok_or_factual | factual | bank_operations_by_contract | None | bank ops by contract 19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S055 | True | ok_or_factual | factual | bank_operations_by_contract | None | ёпт, покажи банк операции по дог 19/15 | Собран список банковских операций по договору (live address lane). |
| S056 | True | ok_or_factual | factual | bank_operations_by_contract | None | по контракту 19/15 платежки | Собран список банковских операций по договору (live address lane). |
| S057 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи сальдо по счету 60 за 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S058 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S059 | True | ok_or_factual | factual | account_balance_snapshot | None | ок, теперь 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| S060 | True | ok_or_factual | factual | account_balance_snapshot | None | теперь на 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| X001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк доки кинь за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | по свк все документы за 20й год | Собран список документов по контрагенту (live address lane). |
| X003 | True | ok_or_factual | factual | list_documents_by_counterparty | None | пж вывали доки контрагент свк 2020 | Собран список документов по контрагенту (live address lane). |
| X004 | True | ok_or_factual | factual | list_documents_by_counterparty | None | svk poka docy za 2020 | Собран список документов по контрагенту (live address lane). |
| X005 | True | ok_or_factual | factual | list_documents_by_counterparty | None | какие доки по компании свк за 2020 | Собран список документов по контрагенту (live address lane). |
| X006 | True | ok_or_factual | factual | list_documents_by_counterparty | None | бля покаж свк документы 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк банк операции за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X008 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | по свк выписку банка за 2020 выведи | Собран список банковских операций по контрагенту (live address lane). |
| X009 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк платежки за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X010 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | bank ops svk 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X011 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | транзакции по свк за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X012 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | ёпт по свк че по банку 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X013 | True | ok_or_factual | factual | account_balance_snapshot | None | остаток по 60.01 на 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| X014 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо 60.01 на 31.07.2020 | Адресный срез по счету собран (по движениям live MCP). |
| X015 | True | ok_or_factual | factual | account_balance_snapshot | None | что на счете 60 на 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| X016 | True | ok_or_factual | factual | account_balance_snapshot | None | дай остаток 62.01 на 2020 май | Адресный срез по счету собран (по движениям live MCP). |
| X017 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | saldo account 60 as of 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| X018 | True | ok_or_factual | factual | account_balance_snapshot | None | плиз остаток по счету 51 на 2020-06-30 | Адресный срез по счету собран (по движениям live MCP). |
| X019 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | скока по 60.02 на конец 2020-12 | В live-данных по текущему фильтру записи не найдены. |
| X020 | True | ok_or_factual | factual | account_balance_snapshot | None | бля сальдо 60.01 на 2020-05-31 | Адресный срез по счету собран (по движениям live MCP). |
| X021 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток 60.01 по документам на конец июля 2020 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X022 | True | ok_or_factual | factual | documents_forming_balance | None | доки под остатком 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X023 | True | ok_or_factual | factual | documents_forming_balance | None | из чего остаток 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X024 | True | ok_or_factual | factual | documents_forming_balance | None | какие документы формируют остаток по 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X025 | True | ok_or_factual | factual | documents_forming_balance | None | docs forming balance 60.01 as of 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X026 | True | partial_non_blocking | partial_coverage | documents_forming_balance | empty_match | раскидай остаток 62.01 по докам на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| X027 | True | ok_or_factual | factual | documents_forming_balance | None | по счету 51 раскрой остаток документами на 2020-06-30 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X028 | True | ok_or_factual | factual | documents_forming_balance | None | бля из чего состоит остаток по 60.01 на 2020-05-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X029 | True | ok_or_factual | factual | list_documents_by_contract | None | доки по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| X030 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы контракт 19/15 | Собран список документов по договору (live address lane). |
| X031 | True | ok_or_factual | factual | list_documents_by_contract | None | docs by contract 19/15 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| X032 | True | ok_or_factual | factual | list_documents_by_contract | None | по дог 19/15 какие документы | Собран список документов по договору (live address lane). |
| X033 | True | ok_or_factual | factual | list_documents_by_contract | None | договор 19/15 выведи доки | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X034 | True | ok_or_factual | factual | list_documents_by_contract | None | нах покажи документы по 19/15 | Собран список документов по договору (live address lane). |
| X035 | True | ok_or_factual | factual | bank_operations_by_contract | None | банк операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| X036 | True | ok_or_factual | factual | bank_operations_by_contract | None | платежки по дог 19/15 | Собран список банковских операций по договору (live address lane). |
| X037 | True | ok_or_factual | factual | bank_operations_by_contract | None | выписка по контракту 19/15 | Собран список банковских операций по договору (live address lane). |
| X038 | True | ok_or_factual | factual | bank_operations_by_contract | None | bank ops by contract 19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X039 | True | ok_or_factual | factual | bank_operations_by_contract | None | покажи банк опер по дог 19/15 пж | Собран список банковских операций по договору (live address lane). |
| X040 | True | ok_or_factual | factual | bank_operations_by_contract | None | епт транзакции договор 19/15 | Собран список банковских операций по договору (live address lane). |
| X041 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи сальдо по счету 60 за 2020 | Адресный срез по счету собран (по движениям live MCP). |
| X042 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
@@ -0,0 +1,54 @@
{
"run_id": "2026-04-02_Address_Nightly_stress_102_16-35-15",
"generated_at": "2026-04-02T16:45:27",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_slang_stress_full_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 102,
"ok_200_count": 102,
"semantic_pass_count": 102,
"semantic_pass_rate": 1.0,
"route_pass_count": 102,
"route_pass_rate": 1.0,
"strict_pass_count": 102,
"strict_pass_rate": 1.0,
"factual_count": 97,
"partial_coverage_count": 5,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 78,
"avg_elapsed_ms": 5992.8
},
"distributions": {
"reply_type": {
"factual": 97,
"partial_coverage": 5
},
"actual_intent": {
"list_documents_by_counterparty": 18,
"bank_operations_by_counterparty": 16,
"account_balance_snapshot": 26,
"documents_forming_balance": 16,
"list_documents_by_contract": 14,
"bank_operations_by_contract": 12
},
"actual_mode": {
"address_query": 102
},
"mcp_call_status": {
"matched_non_empty": 97,
"no_raw_rows": 5
},
"limited_reason_category": {
"empty_match": 5
},
"route_health": {
"ok_or_factual": 97,
"partial_non_blocking": 5
}
}
}
@@ -0,0 +1,67 @@
{
"generated_at": "2026-04-02T16:45:27",
"overall_pass": true,
"baseline": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27\\run_summary.json",
"run_id": "2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27",
"questions_total": 102,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"candidate": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_stress_102_16-35-15\\run_summary.json",
"run_id": "2026-04-02_Address_Nightly_stress_102_16-35-15",
"questions_total": 102,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"checks": [
{
"metric": "strict_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "route_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "execution_error_count",
"passed": true,
"baseline": 0,
"candidate": 0,
"rule": "candidate <= baseline"
},
{
"metric": "false_factual_rate",
"passed": true,
"baseline": 0.0,
"candidate": 0.0,
"rule": "candidate <= baseline"
},
{
"metric": "questions_total_match",
"passed": true,
"baseline": 102,
"candidate": 102,
"rule": "candidate == baseline"
}
]
}
@@ -0,0 +1,23 @@
{
"generated_at": "2026-04-02T16:45:27",
"total": 1,
"passed": 1,
"failed": 0,
"results": [
{
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_stress_102_16-35-15",
"valid": true,
"errors": [],
"warnings": [],
"metrics": {
"run_id": "2026-04-02_Address_Nightly_stress_102_16-35-15",
"questions_total": 102,
"route_pass_rate": 1.0,
"strict_pass_rate": 1.0,
"http_error_count": 0,
"rows_count": 102,
"failures_count": 0
}
}
]
}
@@ -0,0 +1,22 @@
# 2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15
Generated at: 2026-04-02T16:47:27
Dry run: False
Strict policy: route
Overall: PASS
## Packs
### stress_102
- run_id: 2026-04-02_Address_Nightly_stress_102_16-35-15
- runner_ok: True
- validator_ok: True
- comparator_ok: True
- run_dir: X:\1C\NDC_1C\docs\ADDRESS\runs\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\2026-04-02_Address_Nightly_stress_102_16-35-15
### followup_25
- run_id: 2026-04-02_Address_Nightly_followup_25_16-45-27
- runner_ok: True
- validator_ok: True
- comparator_ok: True
- run_dir: X:\1C\NDC_1C\docs\ADDRESS\runs\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\2026-04-02_Address_Nightly_followup_25_16-45-27
@@ -0,0 +1,35 @@
{
"nightly_run_id": "2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15",
"generated_at": "2026-04-02T16:47:27",
"dry_run": false,
"overall_ok": true,
"strict_policy": "route",
"packs": [
{
"pack": "stress_102",
"run_id": "2026-04-02_Address_Nightly_stress_102_16-35-15",
"questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_slang_stress_full_2026-04-02.json",
"baseline_summary": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27\\run_summary.json",
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_stress_102_16-35-15",
"runner_ok": true,
"validator_ok": true,
"comparator_ok": true,
"errors": [],
"validator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_stress_102_16-35-15_validator_report.json",
"comparator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_stress_102_16-35-15_comparator_report.json"
},
{
"pack": "followup_25",
"run_id": "2026-04-02_Address_Nightly_followup_25_16-45-27",
"questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"baseline_summary": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5\\run_summary.json",
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_followup_25_16-45-27",
"runner_ok": true,
"validator_ok": true,
"comparator_ok": true,
"errors": [],
"validator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_followup_25_16-45-27_validator_report.json",
"comparator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-35-15\\2026-04-02_Address_Nightly_followup_25_16-45-27_comparator_report.json"
}
]
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Nightly_followup_25_17-10-13
Generated at: 2026-04-02T17:12:20
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 23
- semantic_pass_rate: 0.92
- route_pass_count: 23
- route_pass_rate: 0.92
- strict_pass_count: 23
- strict_pass_rate: 0.92
- factual_count: 24
- partial_coverage_count: 1
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 13
- avg_elapsed_ms: 5077.5
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Nightly_followup_25_17-10-13
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | False | ok_or_factual | factual | list_documents_by_counterparty | None | раскрой 62 документами на ту же дату | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F015 | False | ok_or_factual | factual | list_documents_by_counterparty | None | вернись на 2020-12-31 по 60 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по этому же договору | Собран список документов по договору (live address lane). |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,55 @@
{
"run_id": "2026-04-02_Address_Nightly_followup_25_17-10-13",
"generated_at": "2026-04-02T17:12:20",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 23,
"semantic_pass_rate": 0.92,
"route_pass_count": 23,
"route_pass_rate": 0.92,
"strict_pass_count": 23,
"strict_pass_rate": 0.92,
"factual_count": 24,
"partial_coverage_count": 1,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 13,
"avg_elapsed_ms": 5077.5
},
"distributions": {
"reply_type": {
"factual": 24,
"partial_coverage": 1
},
"actual_intent": {
"list_documents_by_counterparty": 5,
"account_balance_snapshot": 8,
"documents_forming_balance": 1,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 24,
"no_raw_rows": 1
},
"limited_reason_category": {
"empty_match": 1
},
"route_health": {
"ok_or_factual": 24,
"partial_non_blocking": 1
}
}
}
@@ -0,0 +1,67 @@
{
"generated_at": "2026-04-02T17:12:20",
"overall_pass": false,
"baseline": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5\\run_summary.json",
"run_id": "2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5",
"questions_total": 25,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"candidate": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_followup_25_17-10-13\\run_summary.json",
"run_id": "2026-04-02_Address_Nightly_followup_25_17-10-13",
"questions_total": 25,
"strict_pass_rate": 0.92,
"route_pass_rate": 0.92,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"checks": [
{
"metric": "strict_pass_rate",
"passed": false,
"baseline": 1.0,
"candidate": 0.92,
"rule": "candidate >= baseline"
},
{
"metric": "route_pass_rate",
"passed": false,
"baseline": 1.0,
"candidate": 0.92,
"rule": "candidate >= baseline"
},
{
"metric": "execution_error_count",
"passed": true,
"baseline": 0,
"candidate": 0,
"rule": "candidate <= baseline"
},
{
"metric": "false_factual_rate",
"passed": true,
"baseline": 0.0,
"candidate": 0.0,
"rule": "candidate <= baseline"
},
{
"metric": "questions_total_match",
"passed": true,
"baseline": 25,
"candidate": 25,
"rule": "candidate == baseline"
}
]
}
@@ -0,0 +1,23 @@
{
"generated_at": "2026-04-02T17:12:20",
"total": 1,
"passed": 1,
"failed": 0,
"results": [
{
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_followup_25_17-10-13",
"valid": true,
"errors": [],
"warnings": [],
"metrics": {
"run_id": "2026-04-02_Address_Nightly_followup_25_17-10-13",
"questions_total": 25,
"route_pass_rate": 0.92,
"strict_pass_rate": 0.92,
"http_error_count": 0,
"rows_count": 25,
"failures_count": 2
}
}
]
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Nightly_stress_102_16-59-46
Generated at: 2026-04-02T17:10:13
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_slang_stress_full_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 102
- ok_200_count: 102
- semantic_pass_count: 102
- semantic_pass_rate: 1.0
- route_pass_count: 102
- route_pass_rate: 1.0
- strict_pass_count: 102
- strict_pass_rate: 1.0
- factual_count: 96
- partial_coverage_count: 6
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 75
- avg_elapsed_ms: 6142.3
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,106 @@
# Response Audit: 2026-04-02_Address_Nightly_stress_102_16-59-46
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| S001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк доки за 2020 покаж пж | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | покеж все доки по свк за 20 год | Собран список документов по контрагенту (live address lane). |
| S003 | True | ok_or_factual | factual | list_documents_by_counterparty | None | дай список документов по свк за 2020 | Собран список документов по контрагенту (live address lane). |
| S004 | True | ok_or_factual | factual | list_documents_by_counterparty | None | какие у свк есть доки за 2020? | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S005 | True | ok_or_factual | factual | list_documents_by_counterparty | None | че по свк по докам за 2020 год | Собран список документов по контрагенту (live address lane). |
| S006 | True | ok_or_factual | factual | list_documents_by_counterparty | None | ёпт покажи доки по свк за 2020 | Собран список документов по контрагенту (live address lane). |
| S007 | True | ok_or_factual | factual | list_documents_by_counterparty | None | бля, доки свк 2020 вывали | Собран список документов по контрагенту (live address lane). |
| S008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | svk docs for 2020 please | Собран список документов по контрагенту (live address lane). |
| S009 | True | ok_or_factual | factual | list_documents_by_counterparty | None | docs by counterparty svk year 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S010 | True | ok_or_factual | factual | list_documents_by_counterparty | None | по контрагенту свк покаж документы за 2020 | Собран список документов по контрагенту (live address lane). |
| S011 | True | ok_or_factual | factual | list_documents_by_counterparty | None | плс доки по свк 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S012 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк док за 2020 гони | Собран список документов по контрагенту (live address lane). |
| S013 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | по свк банковские операции за 2020 покаж | Собран список банковских операций по контрагенту (live address lane). |
| S014 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк выписка банка 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S015 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | платежи по свк за 2020 выведи | Собран список банковских операций по контрагенту (live address lane). |
| S016 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | оплаты по свк за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S017 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк банк опер за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S018 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | че у свк по банку за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S019 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк списания/поступления за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S020 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | bank ops by svk for 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S021 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | transactions by counterparty svk 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S022 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | бля, по свк банковские платежки 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S023 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо по счету 60.01 на дату 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| S024 | True | ok_or_factual | factual | account_balance_snapshot | None | остаток по счету 60.01 на 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| S025 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи остаток по 60.01 за май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S026 | True | ok_or_factual | factual | account_balance_snapshot | None | счет 60 остаток на май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S027 | True | ok_or_factual | factual | account_balance_snapshot | None | баланс account 60.01 as of 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| S028 | True | ok_or_factual | factual | account_balance_snapshot | None | 60.01 saldo на 31.07.2020 | Адресный срез по счету собран (по движениям live MCP). |
| S029 | True | ok_or_factual | factual | account_balance_snapshot | None | сколько на счете 60 на конец 2020-05 | Адресный срез по счету собран (по движениям live MCP). |
| S030 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | дай остаток 60.02 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S031 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | епт, сальдо по счету 62.01 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S032 | True | ok_or_factual | factual | account_balance_snapshot | None | плс остаток по счету 51 на 2020-06-30 | Адресный срез по счету собран (по движениям live MCP). |
| S033 | True | ok_or_factual | factual | account_balance_snapshot | None | как там по счету 60.01 на 2020.07? | Адресный срез по счету собран (по движениям live MCP). |
| S034 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо 60 на 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S035 | True | ok_or_factual | factual | documents_forming_balance | None | какие документы формируют остаток по счету 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S036 | True | ok_or_factual | factual | documents_forming_balance | None | из чего состоит остаток по счету 60 на 2020.05 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S037 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток 60.01 по документам на конец июля 2020 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S038 | True | ok_or_factual | factual | documents_forming_balance | None | доки под остатком 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S039 | True | ok_or_factual | factual | documents_forming_balance | None | documents forming balance for account 60.01 as of 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S040 | True | ok_or_factual | factual | documents_forming_balance | None | бля, какие доки формируют остаток 60.01 на 2020-05-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S041 | True | partial_non_blocking | partial_coverage | documents_forming_balance | empty_match | по счету 62.01 раскрой остаток документами на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S042 | True | ok_or_factual | factual | documents_forming_balance | None | из чего остаток по счету 51 на 2020-06-30 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S043 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S044 | True | ok_or_factual | factual | list_documents_by_contract | None | доки по дог. 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S045 | True | ok_or_factual | factual | list_documents_by_contract | None | какие документы по контракту 19/15 | Собран список документов по договору (live address lane). |
| S046 | True | ok_or_factual | factual | list_documents_by_contract | None | docs by contract 19/15 year 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S047 | True | ok_or_factual | factual | list_documents_by_contract | None | бля, покажи по договору 19/15 доки | Собран список документов по договору (live address lane). |
| S048 | True | ok_or_factual | factual | list_documents_by_contract | None | договор 19/15 документы | Собран список документов по договору (live address lane). |
| S049 | True | ok_or_factual | factual | list_documents_by_contract | None | плс документы договор №19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S050 | True | ok_or_factual | factual | list_documents_by_contract | None | покеж документы по 19/15 | Собран список документов по договору (live address lane). |
| S051 | True | ok_or_factual | factual | bank_operations_by_contract | None | банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S052 | True | ok_or_factual | factual | bank_operations_by_contract | None | платежи по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S053 | True | ok_or_factual | factual | bank_operations_by_contract | None | выписка по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S054 | True | ok_or_factual | factual | bank_operations_by_contract | None | bank ops by contract 19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S055 | True | ok_or_factual | factual | bank_operations_by_contract | None | ёпт, покажи банк операции по дог 19/15 | Собран список банковских операций по договору (live address lane). |
| S056 | True | ok_or_factual | factual | bank_operations_by_contract | None | по контракту 19/15 платежки | Собран список банковских операций по договору (live address lane). |
| S057 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи сальдо по счету 60 за 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S058 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S059 | True | ok_or_factual | factual | account_balance_snapshot | None | ок, теперь 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| S060 | True | ok_or_factual | factual | account_balance_snapshot | None | теперь на 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| X001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк доки кинь за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | по свк все документы за 20й год | Собран список документов по контрагенту (live address lane). |
| X003 | True | ok_or_factual | factual | list_documents_by_counterparty | None | пж вывали доки контрагент свк 2020 | Собран список документов по контрагенту (live address lane). |
| X004 | True | ok_or_factual | factual | list_documents_by_counterparty | None | svk poka docy za 2020 | Собран список документов по контрагенту (live address lane). |
| X005 | True | ok_or_factual | factual | list_documents_by_counterparty | None | какие доки по компании свк за 2020 | Собран список документов по контрагенту (live address lane). |
| X006 | True | ok_or_factual | factual | list_documents_by_counterparty | None | бля покаж свк документы 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк банк операции за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X008 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | по свк выписку банка за 2020 выведи | Собран список банковских операций по контрагенту (live address lane). |
| X009 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк платежки за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X010 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | bank ops svk 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X011 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | транзакции по свк за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X012 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | ёпт по свк че по банку 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X013 | True | ok_or_factual | factual | account_balance_snapshot | None | остаток по 60.01 на 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| X014 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо 60.01 на 31.07.2020 | Адресный срез по счету собран (по движениям live MCP). |
| X015 | True | ok_or_factual | factual | account_balance_snapshot | None | что на счете 60 на 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| X016 | True | ok_or_factual | factual | account_balance_snapshot | None | дай остаток 62.01 на 2020 май | Адресный срез по счету собран (по движениям live MCP). |
| X017 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | saldo account 60 as of 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| X018 | True | ok_or_factual | factual | account_balance_snapshot | None | плиз остаток по счету 51 на 2020-06-30 | Адресный срез по счету собран (по движениям live MCP). |
| X019 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | скока по 60.02 на конец 2020-12 | В live-данных по текущему фильтру записи не найдены. |
| X020 | True | ok_or_factual | factual | account_balance_snapshot | None | бля сальдо 60.01 на 2020-05-31 | Адресный срез по счету собран (по движениям live MCP). |
| X021 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток 60.01 по документам на конец июля 2020 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X022 | True | ok_or_factual | factual | documents_forming_balance | None | доки под остатком 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X023 | True | ok_or_factual | factual | documents_forming_balance | None | из чего остаток 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X024 | True | ok_or_factual | factual | documents_forming_balance | None | какие документы формируют остаток по 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X025 | True | ok_or_factual | factual | documents_forming_balance | None | docs forming balance 60.01 as of 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X026 | True | partial_non_blocking | partial_coverage | documents_forming_balance | empty_match | раскидай остаток 62.01 по докам на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| X027 | True | ok_or_factual | factual | documents_forming_balance | None | по счету 51 раскрой остаток документами на 2020-06-30 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X028 | True | ok_or_factual | factual | documents_forming_balance | None | бля из чего состоит остаток по 60.01 на 2020-05-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X029 | True | ok_or_factual | factual | list_documents_by_contract | None | доки по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| X030 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы контракт 19/15 | Собран список документов по договору (live address lane). |
| X031 | True | ok_or_factual | factual | list_documents_by_contract | None | docs by contract 19/15 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| X032 | True | ok_or_factual | factual | list_documents_by_contract | None | по дог 19/15 какие документы | Собран список документов по договору (live address lane). |
| X033 | True | ok_or_factual | factual | list_documents_by_contract | None | договор 19/15 выведи доки | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X034 | True | ok_or_factual | factual | list_documents_by_contract | None | нах покажи документы по 19/15 | Собран список документов по договору (live address lane). |
| X035 | True | ok_or_factual | factual | bank_operations_by_contract | None | банк операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| X036 | True | ok_or_factual | factual | bank_operations_by_contract | None | платежки по дог 19/15 | Собран список банковских операций по договору (live address lane). |
| X037 | True | ok_or_factual | factual | bank_operations_by_contract | None | выписка по контракту 19/15 | Собран список банковских операций по договору (live address lane). |
| X038 | True | ok_or_factual | factual | bank_operations_by_contract | None | bank ops by contract 19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X039 | True | ok_or_factual | factual | bank_operations_by_contract | None | покажи банк опер по дог 19/15 пж | Собран список банковских операций по договору (live address lane). |
| X040 | True | ok_or_factual | factual | bank_operations_by_contract | None | епт транзакции договор 19/15 | Собран список банковских операций по договору (live address lane). |
| X041 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи сальдо по счету 60 за 2020 | Адресный срез по счету собран (по движениям live MCP). |
| X042 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
@@ -0,0 +1,54 @@
{
"run_id": "2026-04-02_Address_Nightly_stress_102_16-59-46",
"generated_at": "2026-04-02T17:10:13",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_slang_stress_full_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 102,
"ok_200_count": 102,
"semantic_pass_count": 102,
"semantic_pass_rate": 1.0,
"route_pass_count": 102,
"route_pass_rate": 1.0,
"strict_pass_count": 102,
"strict_pass_rate": 1.0,
"factual_count": 96,
"partial_coverage_count": 6,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 75,
"avg_elapsed_ms": 6142.3
},
"distributions": {
"reply_type": {
"factual": 96,
"partial_coverage": 6
},
"actual_intent": {
"list_documents_by_counterparty": 18,
"bank_operations_by_counterparty": 16,
"account_balance_snapshot": 26,
"documents_forming_balance": 16,
"list_documents_by_contract": 14,
"bank_operations_by_contract": 12
},
"actual_mode": {
"address_query": 102
},
"mcp_call_status": {
"matched_non_empty": 96,
"no_raw_rows": 6
},
"limited_reason_category": {
"empty_match": 6
},
"route_health": {
"ok_or_factual": 96,
"partial_non_blocking": 6
}
}
}
@@ -0,0 +1,67 @@
{
"generated_at": "2026-04-02T17:10:13",
"overall_pass": true,
"baseline": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27\\run_summary.json",
"run_id": "2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27",
"questions_total": 102,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"candidate": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_stress_102_16-59-46\\run_summary.json",
"run_id": "2026-04-02_Address_Nightly_stress_102_16-59-46",
"questions_total": 102,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"checks": [
{
"metric": "strict_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "route_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "execution_error_count",
"passed": true,
"baseline": 0,
"candidate": 0,
"rule": "candidate <= baseline"
},
{
"metric": "false_factual_rate",
"passed": true,
"baseline": 0.0,
"candidate": 0.0,
"rule": "candidate <= baseline"
},
{
"metric": "questions_total_match",
"passed": true,
"baseline": 102,
"candidate": 102,
"rule": "candidate == baseline"
}
]
}
@@ -0,0 +1,23 @@
{
"generated_at": "2026-04-02T17:10:13",
"total": 1,
"passed": 1,
"failed": 0,
"results": [
{
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_stress_102_16-59-46",
"valid": true,
"errors": [],
"warnings": [],
"metrics": {
"run_id": "2026-04-02_Address_Nightly_stress_102_16-59-46",
"questions_total": 102,
"route_pass_rate": 1.0,
"strict_pass_rate": 1.0,
"http_error_count": 0,
"rows_count": 102,
"failures_count": 0
}
}
]
}
@@ -0,0 +1,24 @@
# 2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46
Generated at: 2026-04-02T17:12:20
Dry run: False
Strict policy: route
Overall: FAIL
## Packs
### stress_102
- run_id: 2026-04-02_Address_Nightly_stress_102_16-59-46
- runner_ok: True
- validator_ok: True
- comparator_ok: True
- run_dir: X:\1C\NDC_1C\docs\ADDRESS\runs\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\2026-04-02_Address_Nightly_stress_102_16-59-46
### followup_25
- run_id: 2026-04-02_Address_Nightly_followup_25_17-10-13
- runner_ok: True
- validator_ok: True
- comparator_ok: False
- run_dir: X:\1C\NDC_1C\docs\ADDRESS\runs\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\2026-04-02_Address_Nightly_followup_25_17-10-13
- errors:
- comparator failed with exit code 1
@@ -0,0 +1,36 @@
{
"nightly_run_id": "2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46",
"generated_at": "2026-04-02T17:12:20",
"dry_run": false,
"overall_ok": false,
"strict_policy": "route",
"packs": [
{
"pack": "stress_102",
"run_id": "2026-04-02_Address_Nightly_stress_102_16-59-46",
"questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_slang_stress_full_2026-04-02.json",
"baseline_summary": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27\\run_summary.json",
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_stress_102_16-59-46",
"runner_ok": true,
"validator_ok": true,
"comparator_ok": true,
"errors": [],
"validator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_stress_102_16-59-46_validator_report.json",
"comparator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_stress_102_16-59-46_comparator_report.json"
},
{
"pack": "followup_25",
"run_id": "2026-04-02_Address_Nightly_followup_25_17-10-13",
"questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"baseline_summary": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5\\run_summary.json",
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_followup_25_17-10-13",
"runner_ok": true,
"validator_ok": true,
"comparator_ok": false,
"errors": [
"comparator failed with exit code 1"
],
"validator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_16-59-46\\2026-04-02_Address_Nightly_followup_25_17-10-13_validator_report.json"
}
]
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Nightly_followup_25_17-44-41
Generated at: 2026-04-02T17:46:43
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_followup_context_chains_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 25
- ok_200_count: 25
- semantic_pass_count: 25
- semantic_pass_rate: 1.0
- route_pass_count: 25
- route_pass_rate: 1.0
- strict_pass_count: 25
- strict_pass_rate: 1.0
- factual_count: 23
- partial_coverage_count: 2
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 14
- avg_elapsed_ms: 4880.4
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,29 @@
# Response Audit: 2026-04-02_Address_Nightly_followup_25_17-44-41
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| F001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | Покажи документы по СВК за 2020 | Собран список документов по контрагенту (live address lane). |
| F002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь только за май 2020 | По окну 2020-05-01..2020-05-31 строк не найдено; показаны ближайшие доступные данные 2020-07-27..2021-11-10. |
| F003 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 60.01 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F004 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62.01 | Адресный срез по счету собран (по движениям live MCP). |
| F005 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток по 62.01 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F006 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | Покажи банковские операции по СВК за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | а теперь только ноябрь 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | а теперь документы по нему | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| F009 | True | ok_or_factual | factual | account_balance_snapshot | None | и остаток по 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F010 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F011 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | Покажи сальдо по счету 60 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| F012 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| F013 | True | ok_or_factual | factual | account_balance_snapshot | None | а на ту же дату по 62 | Адресный срез по счету собран (по движениям live MCP). |
| F014 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой 62 документами на ту же дату | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| F015 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | вернись на 2020-12-31 по 60 | В live-данных по текущему фильтру записи не найдены. |
| F016 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F017 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь банковские операции | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F018 | True | ok_or_factual | factual | bank_operations_by_contract | None | а теперь только за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F019 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | есть ли открытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F020 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по этому же договору | Собран список документов по договору (live address lane). |
| F021 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| F022 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь открытые позиции по нему | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F023 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | а теперь на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| F024 | True | ok_or_factual | factual | account_balance_snapshot | None | а по счету 51 на ту же дату | Адресный срез по счету собран (по движениям live MCP). |
| F025 | True | ok_or_factual | factual | list_documents_by_contract | None | а документы по этому же договору за тот же период | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
@@ -0,0 +1,55 @@
{
"run_id": "2026-04-02_Address_Nightly_followup_25_17-44-41",
"generated_at": "2026-04-02T17:46:43",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 25,
"ok_200_count": 25,
"semantic_pass_count": 25,
"semantic_pass_rate": 1.0,
"route_pass_count": 25,
"route_pass_rate": 1.0,
"strict_pass_count": 25,
"strict_pass_rate": 1.0,
"factual_count": 23,
"partial_coverage_count": 2,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 14,
"avg_elapsed_ms": 4880.4
},
"distributions": {
"reply_type": {
"factual": 23,
"partial_coverage": 2
},
"actual_intent": {
"list_documents_by_counterparty": 3,
"account_balance_snapshot": 9,
"documents_forming_balance": 2,
"bank_operations_by_counterparty": 2,
"list_documents_by_contract": 3,
"bank_operations_by_contract": 3,
"open_items_by_counterparty_or_contract": 3
},
"actual_mode": {
"address_query": 25
},
"mcp_call_status": {
"matched_non_empty": 23,
"no_raw_rows": 2
},
"limited_reason_category": {
"empty_match": 2
},
"route_health": {
"ok_or_factual": 23,
"partial_non_blocking": 2
}
}
}
@@ -0,0 +1,67 @@
{
"generated_at": "2026-04-02T17:46:43",
"overall_pass": true,
"baseline": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5\\run_summary.json",
"run_id": "2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5",
"questions_total": 25,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"candidate": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_followup_25_17-44-41\\run_summary.json",
"run_id": "2026-04-02_Address_Nightly_followup_25_17-44-41",
"questions_total": 25,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"checks": [
{
"metric": "strict_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "route_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "execution_error_count",
"passed": true,
"baseline": 0,
"candidate": 0,
"rule": "candidate <= baseline"
},
{
"metric": "false_factual_rate",
"passed": true,
"baseline": 0.0,
"candidate": 0.0,
"rule": "candidate <= baseline"
},
{
"metric": "questions_total_match",
"passed": true,
"baseline": 25,
"candidate": 25,
"rule": "candidate == baseline"
}
]
}
@@ -0,0 +1,23 @@
{
"generated_at": "2026-04-02T17:46:43",
"total": 1,
"passed": 1,
"failed": 0,
"results": [
{
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_followup_25_17-44-41",
"valid": true,
"errors": [],
"warnings": [],
"metrics": {
"run_id": "2026-04-02_Address_Nightly_followup_25_17-44-41",
"questions_total": 25,
"route_pass_rate": 1.0,
"strict_pass_rate": 1.0,
"http_error_count": 0,
"rows_count": 25,
"failures_count": 0
}
}
]
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_Nightly_stress_102_17-34-13
Generated at: 2026-04-02T17:44:41
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_slang_stress_full_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 102
- ok_200_count: 102
- semantic_pass_count: 102
- semantic_pass_rate: 1.0
- route_pass_count: 102
- route_pass_rate: 1.0
- strict_pass_count: 102
- strict_pass_rate: 1.0
- factual_count: 96
- partial_coverage_count: 6
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 80
- avg_elapsed_ms: 6159.6
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,106 @@
# Response Audit: 2026-04-02_Address_Nightly_stress_102_17-34-13
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| S001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк доки за 2020 покаж пж | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | покеж все доки по свк за 20 год | Собран список документов по контрагенту (live address lane). |
| S003 | True | ok_or_factual | factual | list_documents_by_counterparty | None | дай список документов по свк за 2020 | Собран список документов по контрагенту (live address lane). |
| S004 | True | ok_or_factual | factual | list_documents_by_counterparty | None | какие у свк есть доки за 2020? | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S005 | True | ok_or_factual | factual | list_documents_by_counterparty | None | че по свк по докам за 2020 год | Собран список документов по контрагенту (live address lane). |
| S006 | True | ok_or_factual | factual | list_documents_by_counterparty | None | ёпт покажи доки по свк за 2020 | Собран список документов по контрагенту (live address lane). |
| S007 | True | ok_or_factual | factual | list_documents_by_counterparty | None | бля, доки свк 2020 вывали | Собран список документов по контрагенту (live address lane). |
| S008 | True | ok_or_factual | factual | list_documents_by_counterparty | None | svk docs for 2020 please | Собран список документов по контрагенту (live address lane). |
| S009 | True | ok_or_factual | factual | list_documents_by_counterparty | None | docs by counterparty svk year 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S010 | True | ok_or_factual | factual | list_documents_by_counterparty | None | по контрагенту свк покаж документы за 2020 | Собран список документов по контрагенту (live address lane). |
| S011 | True | ok_or_factual | factual | list_documents_by_counterparty | None | плс доки по свк 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S012 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк док за 2020 гони | Собран список документов по контрагенту (live address lane). |
| S013 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | по свк банковские операции за 2020 покаж | Собран список банковских операций по контрагенту (live address lane). |
| S014 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк выписка банка 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S015 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | платежи по свк за 2020 выведи | Собран список банковских операций по контрагенту (live address lane). |
| S016 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | оплаты по свк за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S017 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк банк опер за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S018 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | че у свк по банку за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S019 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк списания/поступления за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S020 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | bank ops by svk for 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S021 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | transactions by counterparty svk 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S022 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | бля, по свк банковские платежки 2020 | Собран список банковских операций по контрагенту (live address lane). |
| S023 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо по счету 60.01 на дату 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| S024 | True | ok_or_factual | factual | account_balance_snapshot | None | остаток по счету 60.01 на 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| S025 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи остаток по 60.01 за май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S026 | True | ok_or_factual | factual | account_balance_snapshot | None | счет 60 остаток на май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S027 | True | ok_or_factual | factual | account_balance_snapshot | None | баланс account 60.01 as of 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| S028 | True | ok_or_factual | factual | account_balance_snapshot | None | 60.01 saldo на 31.07.2020 | Адресный срез по счету собран (по движениям live MCP). |
| S029 | True | ok_or_factual | factual | account_balance_snapshot | None | сколько на счете 60 на конец 2020-05 | Адресный срез по счету собран (по движениям live MCP). |
| S030 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | дай остаток 60.02 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S031 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | епт, сальдо по счету 62.01 на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S032 | True | ok_or_factual | factual | account_balance_snapshot | None | плс остаток по счету 51 на 2020-06-30 | Адресный срез по счету собран (по движениям live MCP). |
| S033 | True | ok_or_factual | factual | account_balance_snapshot | None | как там по счету 60.01 на 2020.07? | Адресный срез по счету собран (по движениям live MCP). |
| S034 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо 60 на 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S035 | True | ok_or_factual | factual | documents_forming_balance | None | какие документы формируют остаток по счету 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S036 | True | ok_or_factual | factual | documents_forming_balance | None | из чего состоит остаток по счету 60 на 2020.05 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S037 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток 60.01 по документам на конец июля 2020 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S038 | True | ok_or_factual | factual | documents_forming_balance | None | доки под остатком 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S039 | True | ok_or_factual | factual | documents_forming_balance | None | documents forming balance for account 60.01 as of 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S040 | True | ok_or_factual | factual | documents_forming_balance | None | бля, какие доки формируют остаток 60.01 на 2020-05-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S041 | True | partial_non_blocking | partial_coverage | documents_forming_balance | empty_match | по счету 62.01 раскрой остаток документами на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| S042 | True | ok_or_factual | factual | documents_forming_balance | None | из чего остаток по счету 51 на 2020-06-30 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| S043 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S044 | True | ok_or_factual | factual | list_documents_by_contract | None | доки по дог. 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S045 | True | ok_or_factual | factual | list_documents_by_contract | None | какие документы по контракту 19/15 | Собран список документов по договору (live address lane). |
| S046 | True | ok_or_factual | factual | list_documents_by_contract | None | docs by contract 19/15 year 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| S047 | True | ok_or_factual | factual | list_documents_by_contract | None | бля, покажи по договору 19/15 доки | Собран список документов по договору (live address lane). |
| S048 | True | ok_or_factual | factual | list_documents_by_contract | None | договор 19/15 документы | Собран список документов по договору (live address lane). |
| S049 | True | ok_or_factual | factual | list_documents_by_contract | None | плс документы договор №19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S050 | True | ok_or_factual | factual | list_documents_by_contract | None | покеж документы по 19/15 | Собран список документов по договору (live address lane). |
| S051 | True | ok_or_factual | factual | bank_operations_by_contract | None | банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S052 | True | ok_or_factual | factual | bank_operations_by_contract | None | платежи по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S053 | True | ok_or_factual | factual | bank_operations_by_contract | None | выписка по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| S054 | True | ok_or_factual | factual | bank_operations_by_contract | None | bank ops by contract 19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| S055 | True | ok_or_factual | factual | bank_operations_by_contract | None | ёпт, покажи банк операции по дог 19/15 | Собран список банковских операций по договору (live address lane). |
| S056 | True | ok_or_factual | factual | bank_operations_by_contract | None | по контракту 19/15 платежки | Собран список банковских операций по договору (live address lane). |
| S057 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи сальдо по счету 60 за 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S058 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
| S059 | True | ok_or_factual | factual | account_balance_snapshot | None | ок, теперь 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| S060 | True | ok_or_factual | factual | account_balance_snapshot | None | теперь на 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| X001 | True | ok_or_factual | factual | list_documents_by_counterparty | None | свк доки кинь за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X002 | True | ok_or_factual | factual | list_documents_by_counterparty | None | по свк все документы за 20й год | Собран список документов по контрагенту (live address lane). |
| X003 | True | ok_or_factual | factual | list_documents_by_counterparty | None | пж вывали доки контрагент свк 2020 | Собран список документов по контрагенту (live address lane). |
| X004 | True | ok_or_factual | factual | list_documents_by_counterparty | None | svk poka docy za 2020 | Собран список документов по контрагенту (live address lane). |
| X005 | True | ok_or_factual | factual | list_documents_by_counterparty | None | какие доки по компании свк за 2020 | Собран список документов по контрагенту (live address lane). |
| X006 | True | ok_or_factual | factual | list_documents_by_counterparty | None | бля покаж свк документы 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X007 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк банк операции за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X008 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | по свк выписку банка за 2020 выведи | Собран список банковских операций по контрагенту (live address lane). |
| X009 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | свк платежки за 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X010 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | bank ops svk 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X011 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | транзакции по свк за 2020 | Собран список банковских операций по контрагенту (live address lane). |
| X012 | True | ok_or_factual | factual | bank_operations_by_counterparty | None | ёпт по свк че по банку 2020 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X013 | True | ok_or_factual | factual | account_balance_snapshot | None | остаток по 60.01 на 2020-07-31 | Адресный срез по счету собран (по движениям live MCP). |
| X014 | True | ok_or_factual | factual | account_balance_snapshot | None | сальдо 60.01 на 31.07.2020 | Адресный срез по счету собран (по движениям live MCP). |
| X015 | True | ok_or_factual | factual | account_balance_snapshot | None | что на счете 60 на 2020.05 | Адресный срез по счету собран (по движениям live MCP). |
| X016 | True | ok_or_factual | factual | account_balance_snapshot | None | дай остаток 62.01 на 2020 май | Адресный срез по счету собран (по движениям live MCP). |
| X017 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | saldo account 60 as of 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| X018 | True | ok_or_factual | factual | account_balance_snapshot | None | плиз остаток по счету 51 на 2020-06-30 | Адресный срез по счету собран (по движениям live MCP). |
| X019 | True | partial_non_blocking | partial_coverage | account_balance_snapshot | empty_match | скока по 60.02 на конец 2020-12 | В live-данных по текущему фильтру записи не найдены. |
| X020 | True | ok_or_factual | factual | account_balance_snapshot | None | бля сальдо 60.01 на 2020-05-31 | Адресный срез по счету собран (по движениям live MCP). |
| X021 | True | ok_or_factual | factual | documents_forming_balance | None | раскрой остаток 60.01 по документам на конец июля 2020 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X022 | True | ok_or_factual | factual | documents_forming_balance | None | доки под остатком 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X023 | True | ok_or_factual | factual | documents_forming_balance | None | из чего остаток 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X024 | True | ok_or_factual | factual | documents_forming_balance | None | какие документы формируют остаток по 60.01 на 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X025 | True | ok_or_factual | factual | documents_forming_balance | None | docs forming balance 60.01 as of 2020-07-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X026 | True | partial_non_blocking | partial_coverage | documents_forming_balance | empty_match | раскидай остаток 62.01 по докам на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| X027 | True | ok_or_factual | factual | documents_forming_balance | None | по счету 51 раскрой остаток документами на 2020-06-30 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X028 | True | ok_or_factual | factual | documents_forming_balance | None | бля из чего состоит остаток по 60.01 на 2020-05-31 | Собран drilldown документов, формирующих остаток по счету на указанную дату. |
| X029 | True | ok_or_factual | factual | list_documents_by_contract | None | доки по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| X030 | True | ok_or_factual | factual | list_documents_by_contract | None | покажи документы контракт 19/15 | Собран список документов по договору (live address lane). |
| X031 | True | ok_or_factual | factual | list_documents_by_contract | None | docs by contract 19/15 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| X032 | True | ok_or_factual | factual | list_documents_by_contract | None | по дог 19/15 какие документы | Собран список документов по договору (live address lane). |
| X033 | True | ok_or_factual | factual | list_documents_by_contract | None | договор 19/15 выведи доки | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X034 | True | ok_or_factual | factual | list_documents_by_contract | None | нах покажи документы по 19/15 | Собран список документов по договору (live address lane). |
| X035 | True | ok_or_factual | factual | bank_operations_by_contract | None | банк операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
| X036 | True | ok_or_factual | factual | bank_operations_by_contract | None | платежки по дог 19/15 | Собран список банковских операций по договору (live address lane). |
| X037 | True | ok_or_factual | factual | bank_operations_by_contract | None | выписка по контракту 19/15 | Собран список банковских операций по договору (live address lane). |
| X038 | True | ok_or_factual | factual | bank_operations_by_contract | None | bank ops by contract 19/15 | Точный якорь не подтвердился в текущем окне live-данных; показаны ближайшие доступные документы/операции по выбранному типу. |
| X039 | True | ok_or_factual | factual | bank_operations_by_contract | None | покажи банк опер по дог 19/15 пж | Собран список банковских операций по договору (live address lane). |
| X040 | True | ok_or_factual | factual | bank_operations_by_contract | None | епт транзакции договор 19/15 | Собран список банковских операций по договору (live address lane). |
| X041 | True | ok_or_factual | factual | account_balance_snapshot | None | покажи сальдо по счету 60 за 2020 | Адресный срез по счету собран (по движениям live MCP). |
| X042 | True | ok_or_factual | factual | account_balance_snapshot | None | а теперь только май 2020 | Адресный срез по счету собран (по движениям live MCP). |
@@ -0,0 +1,54 @@
{
"run_id": "2026-04-02_Address_Nightly_stress_102_17-34-13",
"generated_at": "2026-04-02T17:44:41",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_slang_stress_full_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 102,
"ok_200_count": 102,
"semantic_pass_count": 102,
"semantic_pass_rate": 1.0,
"route_pass_count": 102,
"route_pass_rate": 1.0,
"strict_pass_count": 102,
"strict_pass_rate": 1.0,
"factual_count": 96,
"partial_coverage_count": 6,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 80,
"avg_elapsed_ms": 6159.6
},
"distributions": {
"reply_type": {
"factual": 96,
"partial_coverage": 6
},
"actual_intent": {
"list_documents_by_counterparty": 18,
"bank_operations_by_counterparty": 16,
"account_balance_snapshot": 26,
"documents_forming_balance": 16,
"list_documents_by_contract": 14,
"bank_operations_by_contract": 12
},
"actual_mode": {
"address_query": 102
},
"mcp_call_status": {
"matched_non_empty": 96,
"no_raw_rows": 6
},
"limited_reason_category": {
"empty_match": 6
},
"route_health": {
"ok_or_factual": 96,
"partial_non_blocking": 6
}
}
}
@@ -0,0 +1,67 @@
{
"generated_at": "2026-04-02T17:44:41",
"overall_pass": true,
"baseline": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27\\run_summary.json",
"run_id": "2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27",
"questions_total": 102,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"candidate": {
"summary_path": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_stress_102_17-34-13\\run_summary.json",
"run_id": "2026-04-02_Address_Nightly_stress_102_17-34-13",
"questions_total": 102,
"strict_pass_rate": 1.0,
"route_pass_rate": 1.0,
"execution_error_count": 0,
"false_factual_rate": 0.0,
"notes": [
"execution_error_count derived as http_error_count + limited_reason_category.execution_error",
"false_factual_rate derived from false_factual_count/questions_total"
]
},
"checks": [
{
"metric": "strict_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "route_pass_rate",
"passed": true,
"baseline": 1.0,
"candidate": 1.0,
"rule": "candidate >= baseline"
},
{
"metric": "execution_error_count",
"passed": true,
"baseline": 0,
"candidate": 0,
"rule": "candidate <= baseline"
},
{
"metric": "false_factual_rate",
"passed": true,
"baseline": 0.0,
"candidate": 0.0,
"rule": "candidate <= baseline"
},
{
"metric": "questions_total_match",
"passed": true,
"baseline": 102,
"candidate": 102,
"rule": "candidate == baseline"
}
]
}
@@ -0,0 +1,23 @@
{
"generated_at": "2026-04-02T17:44:41",
"total": 1,
"passed": 1,
"failed": 0,
"results": [
{
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_stress_102_17-34-13",
"valid": true,
"errors": [],
"warnings": [],
"metrics": {
"run_id": "2026-04-02_Address_Nightly_stress_102_17-34-13",
"questions_total": 102,
"route_pass_rate": 1.0,
"strict_pass_rate": 1.0,
"http_error_count": 0,
"rows_count": 102,
"failures_count": 0
}
}
]
}
@@ -0,0 +1,22 @@
# 2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00
Generated at: 2026-04-02T17:46:44
Dry run: False
Strict policy: route
Overall: PASS
## Packs
### stress_102
- run_id: 2026-04-02_Address_Nightly_stress_102_17-34-13
- runner_ok: True
- validator_ok: True
- comparator_ok: True
- run_dir: X:\1C\NDC_1C\docs\ADDRESS\runs\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\2026-04-02_Address_Nightly_stress_102_17-34-13
### followup_25
- run_id: 2026-04-02_Address_Nightly_followup_25_17-44-41
- runner_ok: True
- validator_ok: True
- comparator_ok: True
- run_dir: X:\1C\NDC_1C\docs\ADDRESS\runs\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\2026-04-02_Address_Nightly_followup_25_17-44-41
@@ -0,0 +1,35 @@
{
"nightly_run_id": "2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00",
"generated_at": "2026-04-02T17:46:44",
"dry_run": false,
"overall_ok": true,
"strict_policy": "route",
"packs": [
{
"pack": "stress_102",
"run_id": "2026-04-02_Address_Nightly_stress_102_17-34-13",
"questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_slang_stress_full_2026-04-02.json",
"baseline_summary": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27\\run_summary.json",
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_stress_102_17-34-13",
"runner_ok": true,
"validator_ok": true,
"comparator_ok": true,
"errors": [],
"validator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_stress_102_17-34-13_validator_report.json",
"comparator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_stress_102_17-34-13_comparator_report.json"
},
{
"pack": "followup_25",
"run_id": "2026-04-02_Address_Nightly_followup_25_17-44-41",
"questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_followup_context_chains_2026-04-02.json",
"baseline_summary": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5\\run_summary.json",
"run_dir": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_followup_25_17-44-41",
"runner_ok": true,
"validator_ok": true,
"comparator_ok": true,
"errors": [],
"validator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_followup_25_17-44-41_validator_report.json",
"comparator_report": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\runs\\2026-04-02_Address_Nightly_Regression_2026-04-02_17-35-00\\2026-04-02_Address_Nightly_followup_25_17-44-41_comparator_report.json"
}
]
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick
Generated at: 2026-04-02T16:50:11
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_open_contracts_focus_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 3
- ok_200_count: 3
- semantic_pass_count: 3
- semantic_pass_rate: 1.0
- route_pass_count: 3
- route_pass_rate: 1.0
- strict_pass_count: 3
- strict_pass_rate: 1.0
- factual_count: 3
- partial_coverage_count: 0
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 2
- avg_elapsed_ms: 6561.7
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,504 @@
{
"run_id": "2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick",
"generated_at": "2026-04-02T16:50:11",
"summary": {
"run_id": "2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick",
"generated_at": "2026-04-02T16:50:11",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_open_contracts_focus_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 3,
"ok_200_count": 3,
"semantic_pass_count": 3,
"semantic_pass_rate": 1.0,
"route_pass_count": 3,
"route_pass_rate": 1.0,
"strict_pass_count": 3,
"strict_pass_rate": 1.0,
"factual_count": 3,
"partial_coverage_count": 0,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 2,
"avg_elapsed_ms": 6561.7
},
"distributions": {
"reply_type": {
"factual": 3
},
"actual_intent": {
"list_open_contracts": 2,
"open_items_by_counterparty_or_contract": 1
},
"actual_mode": {
"address_query": 3
},
"mcp_call_status": {
"matched_non_empty": 3
},
"limited_reason_category": {},
"route_health": {
"ok_or_factual": 3
}
}
},
"rows": [
{
"index": 1,
"id": "OC001",
"question": "Покажи незакрытые договоры на 2020-12-31",
"session": null,
"session_id": "asst-2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick-oc001",
"status_code": 200,
"ok": true,
"elapsed_ms": 6465,
"reply_type": "factual",
"trace_id": "address-6KRuwoHvHf",
"assistant_reply": "Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76).\nСтрок движения: 20.\nДоговорных кандидатов: 0.\nДоговорные якоря в live-строках не выделены; показаны связанные движения как fallback.\n1. 2020-12-31T23:59:59Z | Формирование записей книги покупок 00000000004 от 31.12.2020 23:59:59 | 68.02 / 19.09 | 127216.46\n2. 2020-12-31T23:59:59Z | Формирование записей книги покупок 00000000004 от 31.12.2020 23:59:59 | 68.02 / 19.09 | 235682.42\n3. 2020-12-31T23:59:59Z | Формирование записей книги покупок 00000000004 от 31.12.2020 23:59:59 | 68.02 / 19.09 | 337318.8\n4. 2020-12-31T23:59:59Z | Регламентная операция 00000000097 от 31.12.2020 23:59:59 | 91.09 / 91.02 | 10615989.53\n5. 2020-12-31T23:59:59Z | Регламентная операция 00000000097 от 31.12.2020 23:59:59 | 91.01 / 91.09 | 1614344.98\n6. 2020-12-31T23:59:59Z | Регламентная операция 00000000097 от 31.12.2020 23:59:59 | 90.09 / 90.02.1 | 6430415.34",
"assistant_reply_first_line": "Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76).",
"expected_intent": "list_open_contracts",
"actual_intent": "list_open_contracts",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": "factual",
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "route",
"strict_pass": true,
"selected_recipe": "address_open_contracts_candidates_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 20,
"rows_matched": 20,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-6KRuwoHvHf",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"object_signal_detected",
"open_contract_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "OBJECT_LOOKUP",
"query_shape_confidence": "medium",
"detected_intent": "list_open_contracts",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"period_from": "2020-12-01",
"period_to": "2020-12-31"
},
"missing_required_filters": [],
"selected_recipe": "address_open_contracts_candidates_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": true,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"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,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "Cr3wXdOb-ZBI6K",
"llm_decomposition_effective_message": "Показать незакрытые договоры по состоянию на конец декабря 2020 года.",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "покажи незакрытые договоры на 2020-12-31",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "Cr3wXdOb-ZBI6K",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Показать незакрытые договоры по состоянию на конец декабря 2020 года."
}
},
"error_code": null,
"error_message": null
},
{
"index": 2,
"id": "OC002",
"question": "Есть ли долг по договору 19/15 на 2020-07-31",
"session": null,
"session_id": "asst-2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick-oc002",
"status_code": 200,
"ok": true,
"elapsed_ms": 7256,
"reply_type": "factual",
"trace_id": "address-DTm0Ml5bzU",
"assistant_reply": "Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк.\nСобраны открытые позиции по указанному фильтру (контрагент/договор).\nСтрок отобрано: 7.\n1. 2020-07-15T13:11:19Z | Реализация товаров и услуг 00000000008 от 15.07.2020 13:11:19 | 62.01 / 90.01.1 | 43804.8\n2. 2020-07-15T13:11:19Z | Реализация товаров и услуг 00000000008 от 15.07.2020 13:11:19 | 62.01 / 90.01.1 | 9776\n3. 2020-07-15T13:11:19Z | Реализация товаров и услуг 00000000008 от 15.07.2020 13:11:19 | 62.01 / 90.01.1 | 73968\n4. 2020-07-15T13:11:19Z | Реализация товаров и услуг 00000000008 от 15.07.2020 13:11:19 | 62.01 / 90.01.1 | 94924.8\n5. 2020-07-15T13:11:19Z | Реализация товаров и услуг 00000000008 от 15.07.2020 13:11:19 | 62.01 / 90.01.1 | 54400\n6. 2020-07-15T13:11:19Z | Реализация товаров и услуг 00000000008 от 15.07.2020 13:11:19 | 62.02 / 62.01 | 276873.6",
"assistant_reply_first_line": "Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк.",
"expected_intent": "open_items_by_counterparty_or_contract",
"actual_intent": "open_items_by_counterparty_or_contract",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "route",
"strict_pass": true,
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 1000,
"rows_matched": 7,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-DTm0Ml5bzU",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"verify_signal_detected",
"open_items_signal_detected",
"query_limit_auto_expanded_for_anchor_recovery"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "VERIFY_FACTUAL",
"query_shape_confidence": "medium",
"detected_intent": "open_items_by_counterparty_or_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"contract": "19/15",
"as_of_date": "2020-07-31"
},
"missing_required_filters": [],
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": false,
"anchor_type": "contract",
"anchor_value_raw": "19/15",
"anchor_value_resolved": "19/15",
"resolver_confidence": "medium",
"ambiguity_count": 0,
"match_failure_stage": "none",
"match_failure_reason": null,
"mcp_call_status": "matched_non_empty",
"rows_fetched": 1000,
"raw_rows_received": 1000,
"rows_after_account_scope": 305,
"rows_after_recipe_filter": 7,
"rows_materialized": 305,
"rows_matched": 7,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "BtyrTpKprBeOoN",
"llm_decomposition_effective_message": "Проверить наличие долга по договору 19/15 на дату 2020-07-31.",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "есть ли долг по договору 19/15 на 2020-07-31",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "BtyrTpKprBeOoN",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Проверить наличие долга по договору 19/15 на дату 2020-07-31."
}
},
"error_code": null,
"error_message": null
},
{
"index": 3,
"id": "OC003",
"question": "Show open contracts as of 2020-12-31",
"session": null,
"session_id": "asst-2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick-oc003",
"status_code": 200,
"ok": true,
"elapsed_ms": 5964,
"reply_type": "factual",
"trace_id": "address-2oqxYvLmuv",
"assistant_reply": "Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76).\nСтрок движения: 20.\nДоговорных кандидатов: 0.\nДоговорные якоря в live-строках не выделены; показаны связанные движения как fallback.\n1. 2020-12-31T23:59:59Z | Формирование записей книги покупок 00000000004 от 31.12.2020 23:59:59 | 68.02 / 19.09 | 127216.46\n2. 2020-12-31T23:59:59Z | Формирование записей книги покупок 00000000004 от 31.12.2020 23:59:59 | 68.02 / 19.09 | 235682.42\n3. 2020-12-31T23:59:59Z | Формирование записей книги покупок 00000000004 от 31.12.2020 23:59:59 | 68.02 / 19.09 | 337318.8\n4. 2020-12-31T23:59:59Z | Регламентная операция 00000000097 от 31.12.2020 23:59:59 | 91.09 / 91.02 | 10615989.53\n5. 2020-12-31T23:59:59Z | Регламентная операция 00000000097 от 31.12.2020 23:59:59 | 91.01 / 91.09 | 1614344.98\n6. 2020-12-31T23:59:59Z | Регламентная операция 00000000097 от 31.12.2020 23:59:59 | 90.09 / 90.02.1 | 6430415.34",
"assistant_reply_first_line": "Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76).",
"expected_intent": "list_open_contracts",
"actual_intent": "list_open_contracts",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": "factual",
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "route",
"strict_pass": true,
"selected_recipe": "address_open_contracts_candidates_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 20,
"rows_matched": 20,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": false,
"llm_decomposition_reason": "normalized_fragment_rejected_intent_drop",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-2oqxYvLmuv",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"object_signal_detected",
"open_contract_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "OBJECT_LOOKUP",
"query_shape_confidence": "medium",
"detected_intent": "list_open_contracts",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"as_of_date": "2020-12-31"
},
"missing_required_filters": [],
"selected_recipe": "address_open_contracts_candidates_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": true,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"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,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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",
"execution_lane": "address_query",
"llm_decomposition_applied": false,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "55wfOyVVuepsR7",
"llm_decomposition_effective_message": "Show open contracts as of 2020-12-31",
"llm_decomposition_reason": "normalized_fragment_rejected_intent_drop",
"fallback_rule_hit": null,
"sanitized_user_message": "show open contracts as of 2020-12-31",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "55wfOyVVuepsR7",
"prompt_version": "normalizer_v2_0_2",
"applied": false,
"effective_message": "Show open contracts as of 2020-12-31"
}
},
"error_code": null,
"error_message": null
}
]
}
@@ -0,0 +1,7 @@
# Response Audit: 2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| OC001 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| OC002 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли долг по договору 19/15 на 2020-07-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| OC003 | True | ok_or_factual | factual | list_open_contracts | None | Show open contracts as of 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
@@ -0,0 +1,45 @@
{
"run_id": "2026-04-02_Address_RefDomain_Smoke_OpenContracts_Quick",
"generated_at": "2026-04-02T16:50:11",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_open_contracts_focus_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 3,
"ok_200_count": 3,
"semantic_pass_count": 3,
"semantic_pass_rate": 1.0,
"route_pass_count": 3,
"route_pass_rate": 1.0,
"strict_pass_count": 3,
"strict_pass_rate": 1.0,
"factual_count": 3,
"partial_coverage_count": 0,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 2,
"avg_elapsed_ms": 6561.7
},
"distributions": {
"reply_type": {
"factual": 3
},
"actual_intent": {
"list_open_contracts": 2,
"open_items_by_counterparty_or_contract": 1
},
"actual_mode": {
"address_query": 3
},
"mcp_call_status": {
"matched_non_empty": 3
},
"limited_reason_category": {},
"route_health": {
"ok_or_factual": 3
}
}
}
@@ -0,0 +1,28 @@
# 2026-04-02_Address_RefDomain_Smoke_OpenItems_Quick
Generated at: 2026-04-02T16:51:16
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\address_open_items_focus_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: route
## Totals
- questions_total: 7
- ok_200_count: 7
- semantic_pass_count: 7
- semantic_pass_rate: 1.0
- route_pass_count: 5
- route_pass_rate: 0.7143
- strict_pass_count: 5
- strict_pass_rate: 0.7143
- factual_count: 5
- partial_coverage_count: 2
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 7
- avg_elapsed_ms: 7616.4
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,304 @@
[
{
"index": 1,
"id": "OI001",
"question": "Покажи хвосты по контрагенту СВК на 2020-12-31",
"session": null,
"session_id": "asst-2026-04-02_Address_RefDomain_Smoke_OpenItems_Quick-oi001",
"status_code": 200,
"ok": true,
"elapsed_ms": 8429,
"reply_type": "partial_coverage",
"trace_id": "address-Wzb0lSLvxt",
"assistant_reply": "В live-данных по текущему фильтру записи не найдены.\nПричина: по указанному якорю и фильтрам в live-выборке нет строк.\nЧто нужно уточнить: уточните период или снимите часть фильтров.",
"assistant_reply_first_line": "В live-данных по текущему фильтру записи не найдены.",
"expected_intent": "open_items_by_counterparty_or_contract",
"actual_intent": "open_items_by_counterparty_or_contract",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": false,
"route_health": "likely_blocked_route",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"missing_required_filters": [],
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "counterparty_anchor_not_matched_in_materialized_rows",
"rows_fetched": 20,
"rows_matched": 0,
"mcp_call_status": "materialized_but_not_anchor_matched",
"limited_reason_category": "empty_match",
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-Wzb0lSLvxt",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "partial",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "partial",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"object_signal_detected",
"open_items_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "OBJECT_LOOKUP",
"query_shape_confidence": "medium",
"detected_intent": "open_items_by_counterparty_or_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"counterparty": "СВК",
"as_of_date": "2020-12-31"
},
"missing_required_filters": [],
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"mcp_call_status_legacy": "materialized_but_not_matched",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": true,
"anchor_type": "counterparty",
"anchor_value_raw": "СВК",
"anchor_value_resolved": "СВК",
"resolver_confidence": "medium",
"ambiguity_count": 0,
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "counterparty_anchor_not_matched_in_materialized_rows",
"mcp_call_status": "materialized_but_not_anchor_matched",
"rows_fetched": 20,
"raw_rows_received": 20,
"rows_after_account_scope": 20,
"rows_after_recipe_filter": 0,
"rows_materialized": 20,
"rows_matched": 0,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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": "empty_match",
"response_type": "LIMITED_WITH_REASON",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "pXjL_x4uJ58ezY",
"llm_decomposition_effective_message": "Показать незакрытые или несбалансированные записи (хвосты) для контрагента СВК на конец периода 2020-12-31.",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "покажи хвосты по контрагенту свк на 2020-12-31",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "pXjL_x4uJ58ezY",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Показать незакрытые или несбалансированные записи (хвосты) для контрагента СВК на конец периода 2020-12-31."
}
},
"error_code": null,
"error_message": null
},
{
"index": 2,
"id": "OI002",
"question": "Покажи хвосты по контрагенту СВК на конец периода 2020-12-31",
"session": null,
"session_id": "asst-2026-04-02_Address_RefDomain_Smoke_OpenItems_Quick-oi002",
"status_code": 200,
"ok": true,
"elapsed_ms": 8188,
"reply_type": "partial_coverage",
"trace_id": "address-6JogktzFZ8",
"assistant_reply": "В live-данных по текущему фильтру записи не найдены.\nПричина: по указанному якорю и фильтрам в live-выборке нет строк.\nЧто нужно уточнить: уточните период или снимите часть фильтров.",
"assistant_reply_first_line": "В live-данных по текущему фильтру записи не найдены.",
"expected_intent": "open_items_by_counterparty_or_contract",
"actual_intent": "open_items_by_counterparty_or_contract",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": false,
"route_health": "likely_blocked_route",
"strict_policy": "route",
"strict_pass": false,
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"missing_required_filters": [],
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "counterparty_anchor_not_matched_in_materialized_rows",
"rows_fetched": 20,
"rows_matched": 0,
"mcp_call_status": "materialized_but_not_anchor_matched",
"limited_reason_category": "empty_match",
"llm_decomposition_applied": true,
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-6JogktzFZ8",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "partial",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "partial",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"object_signal_detected",
"open_items_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "OBJECT_LOOKUP",
"query_shape_confidence": "medium",
"detected_intent": "open_items_by_counterparty_or_contract",
"detected_intent_confidence": "medium",
"extracted_filters": {
"sort": "period_desc",
"limit": 20,
"counterparty": "СВК",
"as_of_date": "2020-12-31"
},
"missing_required_filters": [],
"selected_recipe": "address_open_items_by_party_or_contract_v1",
"mcp_call_status_legacy": "materialized_but_not_matched",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": true,
"anchor_type": "counterparty",
"anchor_value_raw": "СВК",
"anchor_value_resolved": "СВК",
"resolver_confidence": "medium",
"ambiguity_count": 0,
"match_failure_stage": "materialized_but_not_anchor_matched",
"match_failure_reason": "counterparty_anchor_not_matched_in_materialized_rows",
"mcp_call_status": "materialized_but_not_anchor_matched",
"rows_fetched": 20,
"raw_rows_received": 20,
"rows_after_account_scope": 20,
"rows_after_recipe_filter": 0,
"rows_materialized": 20,
"rows_matched": 0,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"AccountKt",
"Amount"
],
"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": "empty_match",
"response_type": "LIMITED_WITH_REASON",
"execution_lane": "address_query",
"llm_decomposition_applied": true,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "aOTduc_rAJYQCH",
"llm_decomposition_effective_message": "Показать незакрытые операции (хвосты) для контрагента СВК на дату 2020-12-31.",
"llm_decomposition_reason": "normalized_fragment_applied",
"fallback_rule_hit": null,
"sanitized_user_message": "покажи хвосты по контрагенту свк на конец периода 2020-12-31",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "aOTduc_rAJYQCH",
"prompt_version": "normalizer_v2_0_2",
"applied": true,
"effective_message": "Показать незакрытые операции (хвосты) для контрагента СВК на дату 2020-12-31."
}
},
"error_code": null,
"error_message": null
}
]
@@ -0,0 +1,11 @@
# Response Audit: 2026-04-02_Address_RefDomain_Smoke_OpenItems_Quick
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| OI001 | False | likely_blocked_route | partial_coverage | open_items_by_counterparty_or_contract | empty_match | Покажи хвосты по контрагенту СВК на 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| OI002 | False | likely_blocked_route | partial_coverage | open_items_by_counterparty_or_contract | empty_match | Покажи хвосты по контрагенту СВК на конец периода 2020-12-31 | В live-данных по текущему фильтру записи не найдены. |
| OI003 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Есть ли незакрытые позиции по договору 19/15 на 2020-12-31 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| OI004 | True | ok_or_factual | factual | open_items_by_counterparty_or_contract | None | Покажи открытые позиции по договору 19/15 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| OI005 | True | ok_or_factual | factual | list_open_contracts | None | Покажи незакрытые договоры на 2020-12-31 | Собраны кандидаты по незакрытым договорным позициям (по live движениям 60/62/76). |
| OI006 | True | ok_or_factual | factual | list_documents_by_contract | None | Покажи документы по договору 19/15 за 2020 | Период сохранен. Глубина live-выборки автоматически расширена до 1000 строк. |
| OI007 | True | ok_or_factual | factual | bank_operations_by_contract | None | Покажи банковские операции по договору 19/15 | Собран список банковских операций по договору (live address lane). |
@@ -0,0 +1,52 @@
{
"run_id": "2026-04-02_Address_RefDomain_Smoke_OpenItems_Quick",
"generated_at": "2026-04-02T16:51:16",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\address_open_items_focus_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "route",
"totals": {
"questions_total": 7,
"ok_200_count": 7,
"semantic_pass_count": 7,
"semantic_pass_rate": 1.0,
"route_pass_count": 5,
"route_pass_rate": 0.7143,
"strict_pass_count": 5,
"strict_pass_rate": 0.7143,
"factual_count": 5,
"partial_coverage_count": 2,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 7,
"avg_elapsed_ms": 7616.4
},
"distributions": {
"reply_type": {
"partial_coverage": 2,
"factual": 5
},
"actual_intent": {
"open_items_by_counterparty_or_contract": 4,
"list_open_contracts": 1,
"list_documents_by_contract": 1,
"bank_operations_by_contract": 1
},
"actual_mode": {
"address_query": 7
},
"mcp_call_status": {
"materialized_but_not_anchor_matched": 2,
"matched_non_empty": 5
},
"limited_reason_category": {
"empty_match": 2
},
"route_health": {
"likely_blocked_route": 2,
"ok_or_factual": 5
}
}
}