АРЧ ЮИ - остановка прогона через гуй

This commit is contained in:
2026-04-18 18:14:30 +03:00
parent 9710d81676
commit 12550606bb
39 changed files with 1783 additions and 93 deletions
@@ -0,0 +1,488 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase12_wider_saved_session_pool",
"domain": "address_phase12_wider_saved_session_pool",
"title": "Phase 12 wider saved-session replay for multi-trajectory organization authority",
"description": "Broad AGENT replay built from the repaired manual session contour and extended with explicit company selection. The scenario validates proactive multi-company entry, capability meta honesty, inventory roots and history, selected-object carryover, VAT bridges and period carryover, receivables/payables polarity flip, counterparty document follow-ups, account 60 tails, old-purchase inventory aging, and organization activity age in one long live session.",
"bindings": {},
"steps": [
{
"step_id": "step_01_smalltalk_with_scope_offer",
"title": "Fresh smalltalk offers organization scope without technical garbage",
"question": "приветик - че как там дела",
"required_answer_patterns_all": [
"(?i)привет|дела|норм|помочь",
"(?i)организац|компан|альтернатива плюс|лайсвуд|райм|по какой организации|название компании"
],
"forbidden_answer_patterns": [
"(?i)tool_gate_reason",
"(?i)address_mode",
"(?i)living_reason",
"(?i)mcp",
"(?i)read_only",
"(?i)snapshot_items",
"(?i)какой сегодня день"
],
"criticality": "critical",
"semantic_tags": [
"meta_smalltalk",
"proactive_scope_offer"
]
},
{
"step_id": "step_02_choose_organization",
"title": "Explicit company choice fixes active organization for the full session",
"question": "Альтернатива Плюс",
"required_answer_patterns_all": [
"(?i)зафиксир|рабочую организац|работаем по",
"(?i)альтернатива плюс"
],
"forbidden_answer_patterns": [
"(?i)mcp",
"(?i)read_only",
"(?i)snapshot_items",
"(?i)программная платформа",
"(?i)нет моего прямого доступа"
],
"criticality": "critical",
"semantic_tags": [
"company_selected",
"organization_authority"
]
},
{
"step_id": "step_03_capability_meta_human",
"title": "Capability meta answer stays human and business-first",
"question": "расскажи что можешь интересного",
"allowed_reply_types": [
"factual",
"factual_with_explanation"
],
"required_direct_answer_patterns_any": [
"(?i)могу|умею",
"(?i)ндс|документ|контрагент|долг|склад|остатк"
],
"forbidden_direct_answer_patterns": [
"(?i)read_only",
"(?i)mcp",
"(?i)snapshot",
"(?i)capability",
"(?i)assistant_state",
"(?i)open item"
],
"criticality": "critical",
"semantic_tags": [
"meta_capability",
"human_answer_quality"
]
},
{
"step_id": "step_04_inventory_root_today",
"title": "Inventory root respects the selected organization",
"question": "кайф - что там на складе по остаткам?",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_on_hand_as_of_date"
],
"required_filters": {
"as_of_date": "2026-04-18",
"organization": "ООО Альтернатива Плюс"
},
"required_direct_answer_patterns_any": [
"(?i)на складе|остат",
"18\\.04\\.2026"
],
"criticality": "critical",
"semantic_tags": [
"inventory_root",
"company_authority"
]
},
{
"step_id": "step_05_inventory_history_capability",
"title": "Historical inventory capability follow-up stays human",
"question": "а исторические остатки на другие даты умеешь?",
"allowed_reply_types": [
"factual",
"factual_with_explanation"
],
"required_answer_patterns_any": [
"(?i)историческ|история",
"(?i)могу|умею"
],
"forbidden_answer_patterns": [
"(?i)tool_gate_reason",
"(?i)hard_meta_mode",
"(?i)mcp",
"(?i)read_only"
],
"criticality": "important",
"semantic_tags": [
"meta_historical_capability",
"inventory_root"
]
},
{
"step_id": "step_06_inventory_march_2016",
"title": "Historical inventory root on March 2016",
"question": "март 2016",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_on_hand_as_of_date"
],
"required_filters": {
"as_of_date": "2016-03-31",
"period_from": "2016-03-01",
"period_to": "2016-03-31",
"organization": "ООО Альтернатива Плюс"
},
"required_direct_answer_patterns_any": [
"31\\.03\\.2016",
"(?i)на складе|остат"
],
"criticality": "critical",
"semantic_tags": [
"inventory_root",
"historical_date_anchor"
]
},
{
"step_id": "step_07_selected_item_purchase_provenance",
"title": "Selected workstation purchase provenance",
"question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?",
"allowed_reply_types": [
"factual",
"partial_coverage"
],
"expected_intents": [
"inventory_purchase_provenance_for_item"
],
"expected_recipe": "address_inventory_purchase_provenance_for_item_v1",
"required_filters": {
"item": "Рабочая станция универсального специалиста (индивидуальное изготовление)"
},
"required_direct_answer_patterns_any": [
"(?i)закуп|поступлен|постав",
"(?i)рабочая станция"
],
"criticality": "critical",
"semantic_tags": [
"selected_object",
"inventory_provenance"
]
},
{
"step_id": "step_08_selected_item_sale_trace",
"title": "Selected item sale trace keeps the same object contour",
"question": "а кому продали?",
"allowed_reply_types": [
"factual",
"partial_coverage"
],
"expected_intents": [
"inventory_sale_trace_for_item"
],
"required_direct_answer_patterns_any": [
"(?i)рабочая станция|товару",
"(?i)покупател|выбыти|продал|не выделен"
],
"criticality": "critical",
"semantic_tags": [
"selected_object",
"inventory_sale_trace"
]
},
{
"step_id": "step_09_vat_on_purchase_date_bridge",
"title": "VAT bridge works from selected item purchase provenance",
"question": "ндс можешь прикинуть на дату покупки рабочей станции?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_intents": [
"vat_liability_confirmed_for_tax_period"
],
"required_direct_answer_patterns_any": [
"(?i)ндс",
"(?i)2015|феврал|налогов"
],
"forbidden_direct_answer_patterns": [
"(?i)сценарий пока не поддерживается",
"(?i)mcp",
"(?i)tool_gate_reason"
],
"criticality": "critical",
"semantic_tags": [
"bridge_inventory_to_vat",
"selected_object"
]
},
{
"step_id": "step_10_best_customer_all_time",
"title": "Top customer aggregate survives after the VAT bridge",
"question": "кто у нас самый доходный клиент за все время",
"allowed_reply_types": [
"factual",
"factual_with_explanation"
],
"expected_intents": [
"customer_revenue_and_payments"
],
"required_direct_answer_patterns_any": [
"(?i)доходн|поступлен|клиент|заказчик",
"(?i)свк|группа"
],
"criticality": "important",
"semantic_tags": [
"aggregate_revenue",
"cross_domain_pivot"
]
},
{
"step_id": "step_11_receivables_may_2017",
"title": "Receivables root establishes May 2017 carryover",
"question": "кто нам должен денег на май 2017",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"receivables_confirmed_as_of_date"
],
"required_filters": {
"as_of_date": "2017-05-31",
"period_from": "2017-05-01",
"period_to": "2017-05-31"
},
"required_direct_answer_patterns_any": [
"(?i)дебитор",
"31\\.05\\.2017"
],
"criticality": "critical",
"semantic_tags": [
"settlements_receivables",
"date_carryover"
]
},
{
"step_id": "step_12_vat_same_period_followup",
"title": "VAT follow-up reuses the same period instead of drifting",
"question": "а какой ндс мы должны примерно заплатить за этот период?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_intents": [
"vat_liability_confirmed_for_tax_period"
],
"required_direct_answer_patterns_any": [
"(?i)ндс",
"(?i)2017|май|налогов"
],
"criticality": "critical",
"semantic_tags": [
"vat_followup",
"same_period_restore"
]
},
{
"step_id": "step_13_payables_today",
"title": "Payables root on today stays exact and organization-scoped",
"question": "мы должны комуто денег на сегодня?",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"payables_confirmed_as_of_date"
],
"required_filters": {
"as_of_date": "2026-04-18"
},
"required_direct_answer_patterns_any": [
"(?i)долг к оплате|обязательств",
"18\\.04\\.2026"
],
"criticality": "critical",
"semantic_tags": [
"settlements_payables",
"today_scope"
]
},
{
"step_id": "step_14_receivables_mirror_today",
"title": "Short mirror follow-up flips from payables to receivables on the same date",
"question": "а нам?",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"receivables_confirmed_as_of_date"
],
"required_direct_answer_patterns_any": [
"(?i)дебитор",
"18\\.04\\.2026"
],
"required_filters": {
"as_of_date": "2026-04-18"
},
"criticality": "critical",
"semantic_tags": [
"settlements_mirror_followup",
"same_date_restore"
]
},
{
"step_id": "step_15_contract_delta_capability_meta",
"title": "Contract-delta capability question stays in capability-meta lane",
"question": "ты умеешь считать дельту по договорам?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"required_direct_answer_patterns_any": [
"(?i)могу|умею|не умею|пока не",
"(?i)договор"
],
"forbidden_direct_answer_patterns": [
"(?i)ндс к уплате",
"(?i)налоговый период",
"(?i)топ-5 заказчиков",
"(?i)чепурнов",
"(?i)группа свк"
],
"criticality": "critical",
"semantic_tags": [
"meta_capability",
"capability_over_followup"
]
},
{
"step_id": "step_16_counterparty_docs_root",
"title": "Counterparty documents root for Чепурнов stays exact",
"question": "по чепурнову покажи все доки",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"list_documents_by_counterparty"
],
"expected_recipe": "address_documents_by_counterparty_v1",
"required_direct_answer_patterns_any": [
"(?i)чепурнов",
"(?i)документ|поступление"
],
"criticality": "important",
"semantic_tags": [
"counterparty_root",
"documents"
]
},
{
"step_id": "step_17_short_counterparty_followup",
"title": "Short counterparty follow-up keeps the real name instead of generic garbage",
"question": "а по свк",
"allowed_reply_types": [
"factual",
"factual_with_explanation"
],
"expected_intents": [
"list_documents_by_counterparty"
],
"required_direct_answer_patterns_any": [
"(?i)свк|группа свк",
"(?i)документ|поступление"
],
"forbidden_direct_answer_patterns": [
"(?i)контрагент: группа\\s+найдено",
"(?im)^контрагент: группа\\.?$",
"(?i)mcp"
],
"criticality": "important",
"semantic_tags": [
"counterparty_followup",
"display_label_integrity"
]
},
{
"step_id": "step_18_open_items_account_60",
"title": "Account 60 tails stay exact after the long mixed session",
"question": "хвосты покажи по счету 60 на август 2022",
"allowed_reply_types": [
"factual",
"factual_with_explanation"
],
"expected_intents": [
"open_items_by_counterparty_or_contract"
],
"required_filters": {
"account": "60",
"period_from": "2022-08-01",
"period_to": "2022-08-31",
"as_of_date": "2022-08-31"
},
"required_direct_answer_patterns_any": [
"(?i)счету 60|счёту 60",
"(?i)хвост|открыт"
],
"criticality": "critical",
"semantic_tags": [
"settlements_account_60"
]
},
{
"step_id": "step_19_inventory_aging_old_purchases",
"title": "Old-purchase inventory aging stays reachable after the long mixed session",
"question": "Есть ли остатки товара, которые закупались очень давно",
"allowed_reply_types": [
"factual",
"factual_with_explanation"
],
"expected_intents": [
"inventory_aging_by_purchase_date"
],
"required_direct_answer_patterns_any": [
"(?i)стар|давно|ранней первой закупк",
"(?i)остат|закуп"
],
"criticality": "critical",
"semantic_tags": [
"inventory_aging",
"late_session_stability"
]
},
{
"step_id": "step_20_company_activity_age",
"title": "Organization activity age remains reachable at the tail of the long session",
"question": "а по Альтернативе Плюс сколько лет активности в базе 1С?",
"allowed_reply_types": [
"factual",
"factual_with_explanation",
"partial_coverage"
],
"expected_intents": [
"counterparty_activity_lifecycle"
],
"expected_recipe": "address_counterparty_activity_lifecycle_v1",
"required_direct_answer_patterns_any": [
"(?i)активност",
"(?i)первая подтвержденная|последняя подтвержденная|лет"
],
"forbidden_direct_answer_patterns": [
"(?i)не найден контрагент",
"(?i)уточните точное наименование организации"
],
"criticality": "critical",
"semantic_tags": [
"organization_activity_age",
"tail_authority_proof"
]
}
]
}