{ "schema_version": "domain_truth_harness_spec_v1", "scenario_id": "agent_autonomy_business_quality_20260523", "domain": "autonomy_business_quality", "title": "AGENT | Autonomy business quality pack", "description": "Expanded targeted AGENT replay for the current autonomy milestone: value-flow hot handoff must survive realistic business questions, while final answers must read like a useful 1C analyst instead of runtime/debug prose.", "bindings": {}, "steps": [ { "step_id": "step_01_incoming_total_no_counterparties", "title": "Incoming money total by organization without counterparty split", "question": "Сколько входящих денег за 2020 год по ООО Альтернатива Плюс без разреза по контрагентам?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "expected_mcp_discovery_response_applied": true, "expected_mcp_discovery_selected_chain_id": "value_flow", "expected_mcp_discovery_response_candidate_status": "ready_for_guarded_use", "expected_mcp_discovery_candidate_hot_runtime_wired": true, "expected_mcp_discovery_hot_runtime_wired": true, "expected_mcp_discovery_execution_handoff_status": "ready_for_guarded_response", "expected_mcp_discovery_execution_handoff_can_use_guarded_response": true, "expected_catalog_alignment_status": "selected_matches_top", "expected_catalog_chain_top_match": "value_flow", "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["2020", "47[\\s.]*628[\\s.]*853", "входящ|поступ|получ", "руб"], "forbidden_answer_patterns": ["Учтено строк", "Первая найденная дата", "последняя:", "runtime_", "planner_", "query_movements", "primitive", "уточните контрагента", "по какому контрагенту"], "criticality": "critical", "semantic_tags": ["autonomy_core", "value_flow", "incoming_total", "business_answer_quality"] }, { "step_id": "step_02_outgoing_total_no_counterparties", "title": "Outgoing money total by organization without counterparty split", "question": "Сколько исходящих денег за 2020 год по ООО Альтернатива Плюс без разреза по контрагентам?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "expected_mcp_discovery_response_applied": true, "expected_mcp_discovery_selected_chain_id": "value_flow", "expected_mcp_discovery_response_candidate_status": "ready_for_guarded_use", "expected_mcp_discovery_candidate_hot_runtime_wired": true, "expected_mcp_discovery_hot_runtime_wired": true, "expected_mcp_discovery_execution_handoff_status": "ready_for_guarded_response", "expected_mcp_discovery_execution_handoff_can_use_guarded_response": true, "expected_catalog_alignment_status": "selected_matches_top", "expected_catalog_chain_top_match": "value_flow", "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["2020", "исходящ|списан|заплат", "руб"], "required_answer_patterns_any": ["43[\\s.]*763[\\s.]*351", "не полностью покрыт|лимит|нужно дозапрос"], "forbidden_answer_patterns": ["Учтено строк", "Первая найденная дата", "последняя:", "runtime_", "planner_", "query_movements", "primitive", "уточните контрагента", "по какому контрагенту"], "criticality": "critical", "semantic_tags": ["autonomy_core", "value_flow", "outgoing_total", "business_answer_quality", "limit_honesty"] }, { "step_id": "step_03_colloquial_incoming_without_tops", "title": "Colloquial no-top incoming wording stays value-flow total", "question": "А всего сколько денег пришло в ООО Альтернатива Плюс за 2020, без топов и без контрагентов?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "expected_mcp_discovery_response_applied": true, "expected_mcp_discovery_selected_chain_id": "value_flow", "expected_mcp_discovery_response_candidate_status": "ready_for_guarded_use", "expected_mcp_discovery_candidate_hot_runtime_wired": true, "expected_mcp_discovery_hot_runtime_wired": true, "expected_mcp_discovery_execution_handoff_status": "ready_for_guarded_response", "expected_mcp_discovery_execution_handoff_can_use_guarded_response": true, "expected_catalog_alignment_status": "selected_matches_top", "expected_catalog_chain_top_match": "value_flow", "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["2020", "47[\\s.]*628[\\s.]*853", "пришл|получ|поступ", "руб"], "forbidden_answer_patterns": ["топ входящ", "топ контрагент", "Учтено строк", "Первая найденная дата", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["autonomy_core", "value_flow", "no_top_guard", "colloquial_total"] }, { "step_id": "step_04_cashflow_overview_2020", "title": "Adult 2020 money overview with bank separated", "question": "Теперь дай взрослый обзор за 2020 по компании: входящие, исходящие, нетто, топы, но банк в топах отдельно объясни как финансовый поток.", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "expected_catalog_alignment_status": "selected_matches_top", "expected_catalog_chain_top_match": "business_overview", "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["47[\\s.]*628[\\s.]*853", "43[\\s.]*763[\\s.]*351", "3[\\s.]*865[\\s.]*501", "Сбербанк|СБЕРБАНК", "финансов|банк", "Группа СВК", "Департамент"], "required_answer_patterns_any": ["Что проверить дальше", "следующ"], "forbidden_answer_patterns": ["Учтено строк", "Первая найденная дата", "surrogate", "VAT-объект", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["business_overview", "cashflow_overview", "bank_boundary", "next_action"] }, { "step_id": "step_05_money_earned_vs_profit", "title": "Colloquial earned money is cashflow, not clean profit", "question": "скока денег альтернатива заработала за 20 год?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["47[\\s.]*628[\\s.]*853", "43[\\s.]*763[\\s.]*351", "3[\\s.]*865[\\s.]*501", "не чистая прибыль|не прибыль|денежн"], "forbidden_answer_patterns": ["Учтено строк", "Первая найденная дата", "surrogate", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["cashflow_vs_profit", "colloquial_money"] }, { "step_id": "step_06_profit_followup", "title": "Follow-up clean profit keeps cashflow/profit distinction", "question": "а это чистая прибыль?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["нет|не", "чистая прибыль|прибыль", "7\\s*136\\s*815|7,?136,?815|7136815", "90|91|99"], "forbidden_answer_patterns": ["Учтено строк", "Первая найденная дата", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["followup_context", "profit_vs_cashflow"] }, { "step_id": "step_07_sberbank_financial_flow", "title": "Sberbank role is financial flow, not ordinary customer/supplier", "question": "А отдельно по СБЕРБАНКУ: он для нас клиент, поставщик или финансовый поток? Дай коротко по подтвержденным строкам.", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["Сбербанк|СБЕРБАНК", "финансов|банк", "не.*клиент|не.*поставщик|не обычн", "36[\\s.]*258[\\s.]*835|12[\\s.]*792[\\s.]*194"], "forbidden_answer_patterns": ["0 / 0", "T00:00:00", "Учтено строк", "Первая найденная дата", "Примеры строк", "Показаны первые", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["bank_classification", "business_answer_quality"] }, { "step_id": "step_08_svk_counterparty_net_flow", "title": "Counterparty net-flow does not become company profit", "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["Группа СВК", "12[\\s.]*093[\\s.]*465", "заплатили|исходящ", "0", "нетто"], "forbidden_answer_patterns": ["чистая прибыль", "90/91/99", "7[\\s.]*136[\\s.]*815", "Учтено строк", "Первая найденная дата", "Примеры строк", "Показаны первые", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["counterparty_value_flow", "net_flow", "no_profit_substitution"] }, { "step_id": "step_09_payables_end_2020", "title": "Payables answer stays compact and business-first", "question": "кому мы должны на конец 2020?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["1[\\s.]*713[\\s.]*210", "ИП Тучкова|Тучкова", "должн|кредитор"], "forbidden_answer_patterns": ["T23:59:59", "эвристический", "shortlist", "Строк в выборке", "Учтено строк", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["payables", "debt_answer_quality"] }, { "step_id": "step_10_receivables_end_2020", "title": "Receivables answer stays compact and business-first", "question": "а нам кто должен на конец 2020?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["1[\\s.]*219[\\s.]*200", "СервисКонсалт", "должн|дебитор"], "forbidden_answer_patterns": ["T23:59:59", "эвристический", "shortlist", "Строк в выборке", "Категории дебиторской задолженности", "Учтено строк", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["receivables", "debt_answer_quality"] }, { "step_id": "step_11_vat_december_2019", "title": "VAT answer is clean user-facing accounting answer", "question": "сколько НДС надо заплатить в налоговую за декабрь 2019?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["161[\\s.]*852", "к уплате", "книга продаж|продаж", "книга покупок|вычет|покупок", "01\\.10\\.2019|4 квартал|IV квартал"], "forbidden_answer_patterns": ["surrogate", "VAT-объект", "прямых источников", "0,00\\s*₽", "Учтено строк", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["vat", "technical_garbage_guard"] }, { "step_id": "step_12_business_evaluation", "title": "Company evaluation is an analyst answer with next checks", "question": "Как ты оценишь деятельность компании?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "expected_catalog_alignment_status": "selected_matches_top", "expected_catalog_chain_top_match": "business_overview", "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["крупн|контракт|проект", "285\\s*8|285\\s*823|285", "Комитет|госуслуг", "Что проверить дальше|проверить дальше|дальше"], "forbidden_answer_patterns": ["Учтено строк", "Первая найденная дата", "проверка достигла лимита строк", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["business_overview", "business_evaluation", "next_action"] }, { "step_id": "step_13_nomenclature_margin_missing_period", "title": "Nomenclature margin ranking asks for period, not wrong accounting domain", "question": "Какая номенклатура товара реализована с высокой прибылью какая с низкой?", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["период", "выручк|реализац", "себестоим|валов|маржин"], "forbidden_answer_patterns": ["основн.*средств", "амортизац", "зависш", "оплат", "расчетн", "Учтено строк", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["nomenclature_margin", "clarification", "domain_purity"] }, { "step_id": "step_14_nomenclature_margin_may_2020", "title": "Nomenclature margin ranking with period gives useful limited answer", "question": "май 2020", "allowed_reply_types": ["partial_coverage", "factual_with_explanation", "factual"], "required_answer_patterns_all": ["май|01\\.05\\.2020|31\\.05\\.2020", "рейтинг|прибыль|маржин", "себестоим", "нельзя|не удалось|недостаточно"], "required_answer_patterns_any": ["показать найденную продажу", "расширить период", "90\\.01|90\\.02", "следующ"], "forbidden_answer_patterns": ["основн.*средств", "амортизац", "зависш", "runtime_", "planner_", "query_movements", "primitive"], "criticality": "critical", "semantic_tags": ["nomenclature_margin", "limited_answer", "next_action"] } ] }