ARCH: закрепить open-scope continuity для org clarification

This commit is contained in:
2026-04-22 21:58:01 +03:00
parent 94e537210c
commit 8a0a4f0922
19 changed files with 981 additions and 29 deletions
@@ -0,0 +1,75 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase35_open_scope_org_clarification",
"domain": "address_phase35_open_scope_org_clarification",
"title": "Phase 35 open-scope organization clarification replay",
"description": "Targeted AGENT replay for Big Block D where a generic one-sided money total must ask for organization, then continue the same bounded open-scope value-flow chain after the user clarifies only the organization.",
"bindings": {},
"steps": [
{
"step_id": "step_01_generic_incoming_total_requires_organization",
"title": "Generic incoming total asks for organization instead of inventing a counterparty",
"question": "Сколько входящих денег за 2020 год?",
"allowed_reply_types": ["clarification_required", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)уточн|нужно",
"(?i)организац"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "incoming", "open_scope", "organization_clarification", "bounded_autonomy"]
},
{
"step_id": "step_02_org_clarification_resumes_incoming_total",
"title": "Organization-only clarification resumes the same open-scope incoming total chain",
"question": "по ООО Альтернатива Плюс",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2020",
"(?i)входящ|получ|поступ",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "incoming", "organization_followup_reuse", "bounded_autonomy"]
},
{
"step_id": "step_03_outgoing_followup_reuses_org_and_period",
"title": "Short outgoing follow-up reuses the same organization and period without reintroducing a counterparty",
"question": "а исходящих?",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2020",
"(?i)исходящ|заплат|списан|платеж",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента",
"(?i)уточните организацию"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "outgoing", "organization_followup_reuse", "bounded_autonomy"]
}
]
}
@@ -0,0 +1,99 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification",
"domain": "address_phase36_open_scope_year_switch_after_org_clarification",
"title": "Phase 36 open-scope year switch after organization clarification",
"description": "Targeted AGENT replay for Big Block D where an open-scope value-flow total asks for organization, then preserves the same organization and money-flow contour across a short year-switch follow-up and a one-sided outgoing follow-up.",
"bindings": {},
"steps": [
{
"step_id": "step_01_generic_incoming_total_requires_organization",
"title": "Generic incoming total asks for organization before execution",
"question": "Сколько входящих денег за 2020 год?",
"allowed_reply_types": ["clarification_required", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)уточн|нужно",
"(?i)организац"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "incoming", "open_scope", "organization_clarification", "bounded_autonomy"]
},
{
"step_id": "step_02_org_clarification_resumes_incoming_total",
"title": "Organization-only clarification resumes the same incoming total for 2020",
"question": "по ООО Альтернатива Плюс",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2020",
"(?i)входящ|получ|поступ",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "incoming", "organization_followup_reuse", "bounded_autonomy"]
},
{
"step_id": "step_03_year_switch_reuses_org_and_axis",
"title": "Short year-switch follow-up keeps the same organization and incoming contour",
"question": "а за 2021?",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2021",
"(?i)входящ|получ|поступ",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента",
"(?i)уточните организацию"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "incoming", "year_switch", "organization_followup_reuse", "bounded_autonomy"]
},
{
"step_id": "step_04_outgoing_followup_reuses_org_and_new_year",
"title": "Outgoing follow-up keeps the same organization and already switched year",
"question": "а исходящих?",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2021",
"(?i)исходящ|заплат|списан|платеж",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента",
"(?i)уточните организацию"
],
"criticality": "critical",
"semantic_tags": ["value_flow_total", "outgoing", "year_switch", "organization_followup_reuse", "bounded_autonomy"]
}
]
}
@@ -0,0 +1,77 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification",
"domain": "address_phase37_open_scope_comparison_org_clarification",
"title": "Phase 37 open-scope comparison organization clarification",
"description": "Targeted AGENT replay for Big Block D where an open-scope incoming-vs-outgoing comparison must ask for organization, then resume the same comparison contour after an organization-only clarification and preserve it across a short year switch.",
"bindings": {},
"steps": [
{
"step_id": "step_01_open_scope_comparison_requires_organization",
"title": "Generic incoming-vs-outgoing comparison asks for organization first",
"question": "Что больше за 2020 год: входящих денег или исходящих?",
"allowed_reply_types": ["clarification_required", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)уточн|нужно",
"(?i)организац"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": ["value_flow_comparison", "open_scope", "organization_clarification", "bounded_autonomy"]
},
{
"step_id": "step_02_org_clarification_resumes_comparison",
"title": "Organization-only clarification resumes the same comparison contour for 2020",
"question": "по ООО Альтернатива Плюс",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2020",
"(?i)входящ|исходящ|получ|заплат|списан|платеж",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)больше|меньше|превыш|разниц",
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": ["value_flow_comparison", "organization_followup_reuse", "bounded_autonomy"]
},
{
"step_id": "step_03_year_switch_reuses_org_and_comparison",
"title": "Short year-switch follow-up keeps the same organization and comparison contour",
"question": "а за 2021?",
"allowed_reply_types": ["factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2021",
"(?i)входящ|исходящ|получ|заплат|списан|платеж",
"(?i)руб"
],
"required_answer_patterns_any": [
"(?i)больше|меньше|превыш|разниц",
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента",
"(?i)уточните организацию"
],
"criticality": "critical",
"semantic_tags": ["value_flow_comparison", "year_switch", "organization_followup_reuse", "bounded_autonomy"]
}
]
}