ARCH: довести surface-aware planner и catalog search

This commit is contained in:
2026-04-23 10:25:03 +03:00
parent 8b6cd4c329
commit 3a89cca6bb
30 changed files with 2521 additions and 157 deletions
@@ -0,0 +1,78 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase40_open_scope_all_time_followup",
"domain": "address_phase40_open_scope_all_time_followup",
"title": "Phase 40 open-scope all-time follow-up after year total",
"description": "Targeted AGENT replay for Big Block D where a bounded organization-scoped yearly incoming total must pivot into an all-time open-scope total without carrying a stale follow-up date from the previous turn.",
"bindings": {},
"steps": [
{
"step_id": "step_01_year_total_for_org",
"title": "Organization-scoped yearly total returns a bounded incoming amount for 2017",
"question": "Сколько входящих денег за 2017 год по ООО Альтернатива Плюс?",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2017",
"(?i)входящ|получ|поступ",
"(?i)руб|₽"
],
"required_answer_patterns_any": [
"(?i)альтернатива",
"(?i)проверенн|найденн"
],
"forbidden_answer_patterns": [
"(?i)уточните организацию",
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента"
],
"criticality": "critical",
"semantic_tags": [
"value_flow_total",
"incoming",
"organization_scoped",
"year_specific",
"bounded_autonomy"
]
},
{
"step_id": "step_02_all_time_followup_reuses_org_without_stale_year",
"title": "All-time follow-up keeps the organization but drops the stale year filter",
"question": "сколько вообще денег мы заработали за все время?",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)входящ|получ|поступ|заработ",
"(?i)руб|₽"
],
"required_answer_patterns_any": [
"(?i)за все время",
"(?i)за все доступное время",
"(?i)весь проверенн",
"(?i)подтвержден",
"(?i)проверенн|найденн",
"(?i)по данным 1с"
],
"forbidden_answer_patterns": [
"(?i)уточните организацию",
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)по какому контрагенту",
"(?i)не найдено контрагента",
"(?i)не получил",
"(?i)не смог",
"(?i)не удалось",
"(?i)не подтвержденного факта"
],
"criticality": "critical",
"semantic_tags": [
"value_flow_total",
"incoming",
"open_scope",
"all_time_scope",
"organization_followup_reuse",
"bounded_autonomy"
]
}
]
}
@@ -0,0 +1,104 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup",
"domain": "address_phase41_saved_chain_all_time_revenue_followup",
"title": "Phase 41 saved-chain all-time revenue follow-up",
"description": "Targeted AGENT replay for the saved-session seam from assistant-stage1-RFWTAQ-aXR where the assistant must survive the natural chain 'самый доходный год -> а за 2017 мы скок заработали -> сколько вообще денег мы заработали за все время' without collapsing into an empty partial answer.",
"bindings": {},
"steps": [
{
"step_id": "step_01_top_revenue_year",
"title": "The assistant identifies the top confirmed revenue year in the active self-scope contour",
"question": "какой у нас самый доходный год",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)20\\d\\d",
"(?i)денежн|поступ|доходн|выручк",
"(?i)руб|₽"
],
"required_answer_patterns_any": [
"(?i)самый доходный год",
"(?i)топ-?3",
"(?i)подтвержден"
],
"forbidden_answer_patterns": [
"(?i)уточните организацию",
"(?i)уточните контрагента",
"(?i)не найден контрагент"
],
"criticality": "critical",
"semantic_tags": [
"value_flow_ranking",
"self_scope",
"saved_chain",
"bounded_autonomy"
]
},
{
"step_id": "step_02_year_followup_2017",
"title": "Short year follow-up reuses the same contour and returns a bounded 2017 incoming total",
"question": "а за 2017 мы скок заработали?",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)2017",
"(?i)входящ|получ|поступ|заработ",
"(?i)руб|₽"
],
"required_answer_patterns_any": [
"(?i)подтвержден",
"(?i)проверенн|найденн",
"(?i)по данным 1с",
"(?i)в рамках проверенного периода"
],
"forbidden_answer_patterns": [
"(?i)уточните организацию",
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)не получил",
"(?i)не смог",
"(?i)не удалось"
],
"criticality": "critical",
"semantic_tags": [
"value_flow_total",
"year_switch",
"self_scope",
"saved_chain",
"bounded_autonomy"
]
},
{
"step_id": "step_03_all_time_followup",
"title": "All-time follow-up stays in the same money contour and does not fall into an empty partial answer",
"question": "сколько вообще денег мы заработали за все время?",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)входящ|получ|поступ|заработ",
"(?i)руб|₽"
],
"required_answer_patterns_any": [
"(?i)за все время",
"(?i)за все доступное время",
"(?i)подтвержден",
"(?i)по данным 1с"
],
"forbidden_answer_patterns": [
"(?i)уточните организацию",
"(?i)уточните контрагента",
"(?i)не найден контрагент",
"(?i)не получил",
"(?i)не смог",
"(?i)не удалось",
"(?i)подтвержденного факта для ответа не получил"
],
"criticality": "critical",
"semantic_tags": [
"value_flow_total",
"all_time_scope",
"self_scope",
"saved_chain",
"bounded_autonomy"
]
}
]
}