ARCH: замкнуть grounded entity follow-up на документы и денежный поток

This commit is contained in:
2026-04-22 13:57:57 +03:00
parent ce48fa83a5
commit 1fd8062dc7
20 changed files with 1092 additions and 142 deletions
@@ -0,0 +1,99 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase26_entity_followup_chain",
"domain": "address_phase26_entity_followup_chain",
"title": "Phase 26 resolved-entity follow-up chain replay",
"description": "Targeted AGENT replay for the next Big Block C slice where an MCP-grounded counterparty must become a reusable dialog anchor for downstream document and movement evidence requests without forcing the user to repeat the resolved 1C name.",
"bindings": {},
"steps": [
{
"step_id": "step_01_resolve_counterparty_alias",
"title": "Entity resolution grounds the checked 1C counterparty from a loose alias",
"question": "найди в 1С контрагента СВК",
"allowed_reply_types": [
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)свк",
"(?i)контрагент"
],
"required_answer_patterns_any": [
"(?i)группа\\s+свк",
"(?i)каталог",
"(?i)найден",
"(?i)наиболее вероят"
],
"forbidden_answer_patterns": [
"(?i)получили",
"(?i)заплатили",
"(?i)нетто",
"(?i)оборот",
"(?i)выручк",
"(?i)сумм(а|ы)"
],
"criticality": "critical",
"semantic_tags": [
"entity_resolution",
"alias_grounding",
"followup_anchor"
]
},
{
"step_id": "step_02_documents_by_resolved_entity_followup",
"title": "Short document follow-up reuses the resolved counterparty anchor",
"question": "по нему документы за 2020 год",
"allowed_reply_types": [
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)документ|счет|накладн|акт",
"(?i)2020"
],
"required_answer_patterns_any": [
"(?i)группа\\s+свк",
"(?i)свк"
],
"forbidden_answer_patterns": [
"(?i)не найден контрагент",
"(?i)уточните, какого контрагента",
"(?i)по какому контрагенту"
],
"criticality": "critical",
"semantic_tags": [
"entity_resolution",
"document_evidence",
"followup_reuse"
]
},
{
"step_id": "step_03_movements_by_resolved_entity_followup",
"title": "Short movement follow-up keeps the same grounded counterparty anchor",
"question": "а теперь по нему движения за 2020 год",
"allowed_reply_types": [
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)движени|платеж|операц|проводк",
"(?i)2020"
],
"required_answer_patterns_any": [
"(?i)группа\\s+свк",
"(?i)свк"
],
"forbidden_answer_patterns": [
"(?i)не найден контрагент",
"(?i)уточните, какого контрагента",
"(?i)по какому контрагенту"
],
"criticality": "critical",
"semantic_tags": [
"entity_resolution",
"movement_evidence",
"followup_reuse"
]
}
]
}
@@ -0,0 +1,101 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase27_entity_value_followup_chain",
"domain": "address_phase27_entity_value_followup_chain",
"title": "Phase 27 resolved-entity value-flow follow-up replay",
"description": "Targeted AGENT replay for the next Big Block C slice where an MCP-grounded counterparty must become a reusable dialog anchor for downstream value-flow and net-flow questions without forcing the user to restate the resolved 1C name.",
"bindings": {},
"steps": [
{
"step_id": "step_01_resolve_counterparty_alias",
"title": "Entity resolution grounds the checked 1C counterparty from a loose alias",
"question": "найди в 1С контрагента СВК",
"allowed_reply_types": [
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)свк",
"(?i)контрагент"
],
"required_answer_patterns_any": [
"(?i)группа\\s+свк",
"(?i)каталог",
"(?i)найден",
"(?i)наиболее вероят"
],
"forbidden_answer_patterns": [
"(?i)получили",
"(?i)заплатили",
"(?i)нетто",
"(?i)оборот",
"(?i)выручк",
"(?i)сумм(а|ы)"
],
"criticality": "critical",
"semantic_tags": [
"entity_resolution",
"alias_grounding",
"followup_anchor"
]
},
{
"step_id": "step_02_value_flow_by_resolved_entity_followup",
"title": "Short turnover follow-up reuses the resolved counterparty anchor",
"question": "сколько получили по нему за 2020 год",
"allowed_reply_types": [
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)2020",
"(?i)получил|входящ|поступ",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)группа\\s+свк",
"(?i)свк"
],
"forbidden_answer_patterns": [
"(?i)не найден контрагент",
"(?i)уточните, какого контрагента",
"(?i)по какому контрагенту"
],
"criticality": "critical",
"semantic_tags": [
"entity_resolution",
"counterparty_value_flow",
"followup_reuse"
]
},
{
"step_id": "step_03_net_flow_by_resolved_entity_followup",
"title": "Short net-flow follow-up keeps the same grounded counterparty anchor",
"question": "а какое нетто по нему за 2020 год",
"allowed_reply_types": [
"factual_with_explanation",
"partial_coverage"
],
"required_answer_patterns_all": [
"(?i)2020",
"(?i)нетто|сальдо|разниц",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)группа\\s+свк",
"(?i)свк"
],
"forbidden_answer_patterns": [
"(?i)не найден контрагент",
"(?i)уточните, какого контрагента",
"(?i)по какому контрагенту"
],
"criticality": "critical",
"semantic_tags": [
"entity_resolution",
"counterparty_net_value_flow",
"followup_reuse"
]
}
]
}