АРЧ АП11 - Оркестрация: дожать агентный прогон по selected-object continuity и сохранить accepted

This commit is contained in:
2026-04-17 18:24:02 +03:00
parent c2bafcff9b
commit 7f42d8ab50
22 changed files with 1775 additions and 816 deletions
@@ -0,0 +1,189 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity",
"domain": "inventory_answer_shape_and_continuity",
"title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness",
"description": "Targeted AGENT replay for the recent compose/inventory fixes: company clarification, inventory root restore, selected-object provenance, purchase date/documents follow-ups, and protection against technical garbage in user-facing replies.",
"bindings": {
"target_date": "2021-03-31",
"observed_organization": "ООО \\Альтернатива Плюс\\",
"observed_warehouse": "Основной склад",
"focus_item_current": "Столешница 600*3050*26 альмандин"
},
"steps": [
{
"step_id": "step_01_inventory_root_requires_company",
"title": "Inventory root asks to choose the company instead of hallucinating scope",
"question": "какие остатки на складе на март 2021",
"semantic_tags": [
"inventory_root",
"company_clarification"
],
"required_answer_patterns_any": [
"(?i)компан|организац",
"(?i)уточни|уточните|выбери|выберите|по какой"
],
"forbidden_answer_patterns": [
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json",
"(?i)route[_ ]summary|trace_id|capability[_ ]id|intent",
"(?i)selected_object|focus_object|answer_object"
]
},
{
"step_id": "step_02_choose_company",
"title": "User chooses the company inside the same session",
"question": "давай по Альтернативе Плюс",
"semantic_tags": [
"meta_scope",
"company_selection"
],
"required_answer_patterns_any": [
"(?i)альтернатива плюс|ООО \\\\Альтернатива Плюс\\\\|работаем по"
],
"forbidden_answer_patterns": [
"(?i)tool_gate_reason|living_router_reason|hard_meta_mode"
]
},
{
"step_id": "step_03_inventory_root_after_company",
"title": "Inventory root continues after the company choice",
"question": "тогда покажи остатки на март 2021",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_on_hand_as_of_date"
],
"required_filters": {
"as_of_date": "2021-03-31",
"period_from": "2021-03-01",
"period_to": "2021-03-31"
},
"required_direct_answer_patterns_any": [
"31\\.03\\.2021",
"(?i)на складе",
"(?i)столешница 600\\*3050\\*26 альмандин"
],
"forbidden_direct_answer_patterns": [
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json",
"(?i)route[_ ]summary|trace_id|capability[_ ]id|intent"
]
},
{
"step_id": "step_04_selected_item_supplier",
"title": "Selected-object supplier follow-up stays business-first",
"question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_purchase_provenance_for_item"
],
"required_direct_answer_patterns_any": [
"(?i)столешница 600\\*3050\\*26 альмандин",
"(?i)поставщик|поставил|куплен",
"(?i)союз|торговый дом"
],
"forbidden_direct_answer_patterns": [
"(?i)^на 31\\.03\\.2021 на складе",
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)selected_object|focus_object|answer_object",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json"
]
},
{
"step_id": "step_05_selected_item_purchase_date",
"title": "Natural follow-up keeps the same selected item",
"question": "а по этой позиции когда была закупка?",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_purchase_provenance_for_item"
],
"required_direct_answer_patterns_any": [
"(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции",
"(?i)дата|закупк|поступ"
],
"forbidden_direct_answer_patterns": [
"(?i)^на 31\\.03\\.2021 на складе",
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)selected_object|focus_object|answer_object",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json"
]
},
{
"step_id": "step_06_selected_item_documents",
"title": "Purchase documents stay in the same contour without technical dump",
"question": "покажи документы по этой позиции",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_purchase_documents_for_item"
],
"required_direct_answer_patterns_any": [
"(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции",
"(?i)документ"
],
"forbidden_direct_answer_patterns": [
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)selected_object|focus_object|answer_object",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json",
"(?i)route[_ ]summary|trace_id|capability[_ ]id|intent"
]
},
{
"step_id": "step_07_inventory_same_date_restore",
"title": "Same-date restore returns to the March 2021 root snapshot",
"question": "покажи еще раз остатки на эту же дату",
"allowed_reply_types": [
"factual"
],
"expected_intents": [
"inventory_on_hand_as_of_date"
],
"required_filters": {
"as_of_date": "2021-03-31",
"period_from": "2021-03-01",
"period_to": "2021-03-31"
},
"required_direct_answer_patterns_any": [
"31\\.03\\.2021",
"(?i)на складе"
],
"forbidden_direct_answer_patterns": [
"(?i)transition_not_supported_by_capability",
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json"
]
},
{
"step_id": "step_08_memory_recap_business_only",
"title": "Memory recap stays business-first after the provenance chain",
"question": "а что мы уже выяснили по этой позиции?",
"semantic_tags": [
"meta_memory"
],
"required_answer_patterns_any": [
"(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции",
"(?i)поставщик|закупк|документ"
],
"forbidden_answer_patterns": [
"(?i)snapshot_items",
"(?i)bank_operations?_by_",
"(?i)selected_object|focus_object|answer_object",
"(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json",
"(?i)route[_ ]summary|trace_id|capability[_ ]id|intent"
]
}
]
}