Добавить AGENT-прогон selected-object и multi-org контекста

This commit is contained in:
2026-05-23 22:13:25 +03:00
parent a4dd9c7c66
commit 6ddd61f975
4 changed files with 773 additions and 0 deletions
@@ -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]"
}
]
}