ARCH: закрепить phase18 replay semantic dialog authority
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"schema_version": "domain_truth_harness_spec_v1",
|
||||
"scenario_id": "address_truth_harness_phase18_semantic_dialog_authority",
|
||||
"domain": "address_phase18_semantic_dialog_authority",
|
||||
"title": "Phase 18 semantic dialog authority replay",
|
||||
"description": "Targeted AGENT replay for the semantic-dialog-authority recovery plan. The scenario validates that human/meta turns do not corrupt the business thread, explicit current-turn object/action authority overrides stale counterparty carryover, unsupported current meaning does not replay old exact answers, and the top block of the answer matches the user's current question.",
|
||||
"bindings": {},
|
||||
"steps": [
|
||||
{
|
||||
"step_id": "step_01_human_smalltalk_entry",
|
||||
"title": "Smalltalk stays human before business routing starts",
|
||||
"question": "приветик - че как там дела",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)привет|дела|помоч|готов"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)mcp",
|
||||
"(?i)read_only",
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)snapshot_items"
|
||||
],
|
||||
"criticality": "important",
|
||||
"semantic_tags": [
|
||||
"smalltalk_entry",
|
||||
"human_answer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_02_capability_meta",
|
||||
"title": "Capability meta answer stays useful and does not expose service internals",
|
||||
"question": "расскажи что можешь интересного",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)могу|умею|помогу",
|
||||
"(?i)ндс|документ|контрагент|долг|склад|остат"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)mcp",
|
||||
"(?i)read_only",
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)snapshot_items"
|
||||
],
|
||||
"criticality": "important",
|
||||
"semantic_tags": [
|
||||
"capability_meta",
|
||||
"human_answer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_03_data_scope_meta",
|
||||
"title": "Data-scope meta turn exposes organization choice without technical garbage",
|
||||
"question": "по какой компании мы сейчас работаем?",
|
||||
"required_answer_patterns_all": [
|
||||
"(?i)компан|организац|контур",
|
||||
"(?i)альтернатива плюс|лайсвуд|райм"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)mcp",
|
||||
"(?i)read_only",
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)snapshot_items"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"data_scope_meta",
|
||||
"multi_company_entry"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_04_choose_organization",
|
||||
"title": "Explicit organization selection fixes the session scope",
|
||||
"question": "Альтернатива Плюс",
|
||||
"required_answer_patterns_all": [
|
||||
"(?i)альтернатива плюс|зафиксир|работаем по|рабочую организац"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)mcp",
|
||||
"(?i)read_only",
|
||||
"(?i)не могу определить"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"organization_authority",
|
||||
"company_selected"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_05_counterparty_documents_root",
|
||||
"title": "Counterparty document root establishes a stale entity that must not dominate later turns",
|
||||
"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)mcp",
|
||||
"(?i)tool_gate_reason",
|
||||
"(?i)уточните организац"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"counterparty_documents",
|
||||
"stale_entity_seed"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_06_svk_turnover_overrides_stale_documents",
|
||||
"title": "Explicit turnover question for SVK overrides stale Chepurnov documents",
|
||||
"question": "какой оборот был свк",
|
||||
"allowed_reply_types": [
|
||||
"factual",
|
||||
"factual_with_explanation"
|
||||
],
|
||||
"expected_intents": [
|
||||
"customer_revenue_and_payments"
|
||||
],
|
||||
"required_direct_answer_patterns_all": [
|
||||
"(?i)оборот.*свк|свк.*оборот",
|
||||
"(?i)денежн.*поток|входящ"
|
||||
],
|
||||
"forbidden_direct_answer_patterns": [
|
||||
"(?i)самый доходный клиент",
|
||||
"(?i)топ-",
|
||||
"(?i)чепурнов",
|
||||
"(?i)^контрагент:.*документ"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"current_turn_entity_authority",
|
||||
"current_turn_action_authority",
|
||||
"answer_top_block_matches_current_user_intent"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_07_unsupported_current_meaning_boundary",
|
||||
"title": "Off-domain current meaning stays live and does not replay the previous exact business answer",
|
||||
"question": "а чем капибара отличается от утки?",
|
||||
"required_answer_patterns_any": [
|
||||
"(?i)капибара.*утк|утк.*капибар",
|
||||
"(?i)млекопита|птиц|грызун"
|
||||
],
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)оборот.*свк",
|
||||
"(?i)чепурнов",
|
||||
"(?i)документ.*контрагент",
|
||||
"(?i)самый доходный клиент"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"off_domain_living_chat",
|
||||
"stale_replay_forbidden"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user