Добавить AGENT-прогон selected-object и multi-org контекста
This commit is contained in:
@@ -0,0 +1,378 @@
|
||||
{
|
||||
"schema_version": "domain_truth_harness_spec_v1",
|
||||
"scenario_id": "address_truth_harness_phase7_meta_domain_mix",
|
||||
"domain": "address_phase7_meta_domain_mix",
|
||||
"title": "Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots",
|
||||
"description": "Mixed AGENT replay for turnaround 11. The pack interleaves counterparty documents, inventory root and selected-object continuity, meta-space interruptions, memory recap, receivables to inventory same-date pivot, and an account 60 tail check.",
|
||||
"bindings": {},
|
||||
"steps": [
|
||||
{
|
||||
"step_id": "step_01_smalltalk",
|
||||
"title": "Casual chat stays human and non-technical",
|
||||
"question": "привет, как дела?",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)привет|дела|помочь|норм"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)address_mode",
|
||||
"(?i)hard_meta_mode",
|
||||
"(?i)living_reason"
|
||||
],
|
||||
"criticality": "info",
|
||||
"semantic_tags": [
|
||||
"meta_smalltalk"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_01_smalltalk source=address_truth_harness_phase6_provider_axis_mix:step_01_smalltalk]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_01_counterparty_documents",
|
||||
"title": "Counterparty documents use the normalized legal name",
|
||||
"question": "покажи все документы по чепурнову",
|
||||
"allowed_reply_types": [
|
||||
"factual"
|
||||
],
|
||||
"expected_intents": [
|
||||
"list_documents_by_counterparty"
|
||||
],
|
||||
"required_direct_answer_patterns_any": [
|
||||
"(?i)контрагент:",
|
||||
"(?i)чепурнов"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"counterparty_documents"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_03_counterparty_documents source=address_truth_harness_phase4_coverage_evidence_mix:step_01_counterparty_documents]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_02_counterparty_shipments_or_fallback",
|
||||
"title": "Supplier shipment question stays human even when exact supply rows are absent",
|
||||
"question": "что нам отгружал чепурнов, какой товар или услугу?",
|
||||
"allowed_reply_types": [
|
||||
"factual",
|
||||
"partial_coverage"
|
||||
],
|
||||
"expected_intents": [
|
||||
"list_documents_by_counterparty"
|
||||
],
|
||||
"required_direct_answer_patterns_any": [
|
||||
"(?i)чепурнов",
|
||||
"(?i)постав",
|
||||
"(?i)оплат|возврат|товар|услуг"
|
||||
],
|
||||
"forbidden_direct_answer_patterns": [
|
||||
"(?i)^сейчас не дам прямой адресный ответ",
|
||||
"(?i)^в текущем адресном контуре этот запрос лучше не закрывать в лоб"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"counterparty_shipment_fallback"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_04_counterparty_shipment_fallback source=address_truth_harness_phase4_coverage_evidence_mix:step_02_counterparty_shipments_or_fallback]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_01_inventory_march_2021",
|
||||
"title": "Inventory root snapshot at March 2021 asks organization in multi-company scope",
|
||||
"criticality": "critical",
|
||||
"question": "какие остатки на складе на март 2021",
|
||||
"allowed_reply_types": [
|
||||
"partial_coverage",
|
||||
"factual"
|
||||
],
|
||||
"expected_intents": [
|
||||
"inventory_on_hand_as_of_date"
|
||||
],
|
||||
"required_filters": {
|
||||
"as_of_date": "2021-03-31"
|
||||
},
|
||||
"required_direct_answer_patterns_any": [
|
||||
"(?i)организац",
|
||||
"(?i)компан",
|
||||
"31\\.03\\.2021",
|
||||
"(?i)на складе",
|
||||
"(?i)столешница 600\\*3050\\*26 альмандин"
|
||||
],
|
||||
"semantic_tags": [
|
||||
"inventory_root"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_05_inventory_root source=address_truth_harness_phase7_acceptance_gate_mix:step_01_inventory_march_2021]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_01b_inventory_march_2021_org_selection",
|
||||
"title": "Organization selection resumes suspended inventory root snapshot",
|
||||
"criticality": "critical",
|
||||
"question": "АЛЬТЕРНАТИВА",
|
||||
"allowed_reply_types": [
|
||||
"factual",
|
||||
"partial_coverage"
|
||||
],
|
||||
"expected_intents": [
|
||||
"inventory_on_hand_as_of_date"
|
||||
],
|
||||
"required_filters": {
|
||||
"as_of_date": "2021-03-31"
|
||||
},
|
||||
"required_direct_answer_patterns_any": [
|
||||
"31\\.03\\.2021",
|
||||
"(?i)на складе",
|
||||
"(?i)столешница 600\\*3050\\*26 альмандин"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)нужно уточнить организацию",
|
||||
"(?i)по какой организации",
|
||||
"runtime_",
|
||||
"planner_",
|
||||
"query_movements",
|
||||
"primitive"
|
||||
],
|
||||
"semantic_tags": [
|
||||
"inventory_root",
|
||||
"clarification_continuation",
|
||||
"multi_company_scope"
|
||||
],
|
||||
"notes": "[agent_extension=multi_org_clarification_continuation source=agent_autonomy_selected_object_mix]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_02_selected_item_supplier",
|
||||
"title": "Selected-object supplier provenance",
|
||||
"criticality": "critical",
|
||||
"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)^сейчас не дам прямой адресный ответ"
|
||||
],
|
||||
"semantic_tags": [
|
||||
"selected_object",
|
||||
"selected_object_supplier"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_06_selected_object_supplier source=address_truth_harness_phase7_acceptance_gate_mix:step_02_selected_item_supplier]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_05_capability_meta_interrupt",
|
||||
"title": "Capability meta question does not break the address context",
|
||||
"question": "что ты умеешь?",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)могу|умею",
|
||||
"(?i)остатк|документ|контрагент|ндс"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)address_mode"
|
||||
],
|
||||
"criticality": "warning",
|
||||
"semantic_tags": [
|
||||
"meta_capability"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_07_meta_capability source=address_truth_harness_phase5_meta_memory_mix:step_05_capability_meta_interrupt]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_03_selected_item_documents",
|
||||
"title": "Selected-object documents stay in the same contour",
|
||||
"criticality": "critical",
|
||||
"question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции",
|
||||
"allowed_reply_types": [
|
||||
"factual"
|
||||
],
|
||||
"expected_intents": [
|
||||
"inventory_purchase_documents_for_item"
|
||||
],
|
||||
"required_direct_answer_patterns_any": [
|
||||
"(?i)столешница 600\\*3050\\*26 альмандин",
|
||||
"(?i)документ",
|
||||
"(?i)союз|торговый дом"
|
||||
],
|
||||
"semantic_tags": [
|
||||
"selected_object",
|
||||
"selected_object_documents"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_08_selected_object_documents source=address_truth_harness_phase7_acceptance_gate_mix:step_03_selected_item_documents]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_06_memory_recap_after_interrupts",
|
||||
"title": "Memory recap still remembers the selected object after meta interruptions",
|
||||
"question": "а ты помнишь, что мы по этой позиции уже выяснили?",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)помню",
|
||||
"(?i)столешница 600\\*3050\\*26 альмандин",
|
||||
"(?i)позици"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)^сейчас не дам прямой адресный ответ",
|
||||
"(?i)^в текущем адресном контуре этот запрос лучше не закрывать в лоб"
|
||||
],
|
||||
"criticality": "warning",
|
||||
"semantic_tags": [
|
||||
"meta_memory"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"(?i)помню",
|
||||
"(?i)столешница 600\\*3050\\*26 альмандин"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_09_meta_memory source=address_truth_harness_phase5_meta_memory_mix:step_06_memory_recap_after_interrupts]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_04_inventory_same_date_restore",
|
||||
"title": "Same-date restore returns to the March root snapshot",
|
||||
"criticality": "critical",
|
||||
"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)^сейчас не дам прямой адресный ответ",
|
||||
"(?i)transition_not_supported_by_capability"
|
||||
],
|
||||
"semantic_tags": [
|
||||
"inventory_root",
|
||||
"same_date_restore"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_10_same_date_restore source=address_truth_harness_phase7_acceptance_gate_mix:step_04_inventory_same_date_restore]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_02_receivables_march_2020",
|
||||
"title": "Receivables at March 2020",
|
||||
"question": "кто нам должен на март 2020",
|
||||
"allowed_reply_types": [
|
||||
"factual"
|
||||
],
|
||||
"expected_intents": [
|
||||
"receivables_confirmed_as_of_date"
|
||||
],
|
||||
"expected_capability": "confirmed_receivables_as_of_date",
|
||||
"expected_result_mode": "confirmed_balance",
|
||||
"required_filters": {
|
||||
"as_of_date": "2020-03-31",
|
||||
"period_from": "2020-03-01",
|
||||
"period_to": "2020-03-31"
|
||||
},
|
||||
"required_direct_answer_patterns_any": [
|
||||
"31\\.03\\.2020",
|
||||
"(?i)дебиторск"
|
||||
],
|
||||
"notes": "Базовый корневой финансовый вопрос должен отработать точно и задать март 2020 как carryover-якорь. [mixed_pack_slot=slot_11_receivables_root source=address_truth_harness_test2:step_02_receivables_march_2020]",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"settlements_receivables"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_03_inventory_same_date",
|
||||
"title": "Inventory on the same date",
|
||||
"question": "остатки по складу на эту же дату",
|
||||
"allowed_reply_types": [
|
||||
"factual"
|
||||
],
|
||||
"expected_intents": [
|
||||
"inventory_on_hand_as_of_date"
|
||||
],
|
||||
"expected_capability": "confirmed_inventory_on_hand_as_of_date",
|
||||
"expected_result_mode": "confirmed_balance",
|
||||
"required_filters": {
|
||||
"as_of_date": "{{step_02_receivables_march_2020.filters.as_of_date}}",
|
||||
"period_from": "{{step_02_receivables_march_2020.filters.period_from}}",
|
||||
"period_to": "{{step_02_receivables_march_2020.filters.period_to}}"
|
||||
},
|
||||
"required_direct_answer_patterns_any": [
|
||||
"31\\.03\\.2020",
|
||||
"(?i)на складе"
|
||||
],
|
||||
"notes": "Смена контура receivables -> inventory должна сохранить ту же дату, без дополнительного ручного уточнения. [mixed_pack_slot=slot_12_same_date_pivot source=address_truth_harness_test2:step_03_inventory_same_date]",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"inventory_root",
|
||||
"same_date_pivot"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_06_historical_capability_followup",
|
||||
"title": "Historical capability follow-up stays human",
|
||||
"criticality": "warning",
|
||||
"question": "а исторические остатки тоже можешь?",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)историческ|история",
|
||||
"(?i)могу|умею"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)^сейчас не дам прямой адресный ответ",
|
||||
"(?i)^в текущем адресном контуре этот запрос лучше не закрывать в лоб",
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)hard_meta_mode"
|
||||
],
|
||||
"semantic_tags": [
|
||||
"meta_historical_capability",
|
||||
"inventory_root"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_13_meta_historical source=address_truth_harness_phase7_acceptance_gate_mix:step_06_historical_capability_followup]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_04_open_items_account_60",
|
||||
"title": "Account 60 tails for August 2022",
|
||||
"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",
|
||||
"(?i)хвост"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"settlements_account_60"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_14_account_60 source=address_truth_harness_targeted_counterparty_tails:step_04_open_items_account_60]"
|
||||
},
|
||||
{
|
||||
"step_id": "step_02_data_scope_meta",
|
||||
"title": "Data-scope meta question stays deterministic and non-technical",
|
||||
"question": "по какой компании мы сейчас работаем?",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)компан|организац|контур",
|
||||
"(?i)работ"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)hard_meta_mode",
|
||||
"(?i)living_reason"
|
||||
],
|
||||
"criticality": "warning",
|
||||
"semantic_tags": [
|
||||
"meta_scope"
|
||||
],
|
||||
"notes": "[mixed_pack_slot=slot_15_meta_scope source=address_truth_harness_phase6_provider_axis_mix:step_02_data_scope_meta]"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user