Стабилизировать маржинальность номенклатуры 1С

This commit is contained in:
2026-05-23 14:39:37 +03:00
parent 473cdc3a9b
commit a15f24f21d
14 changed files with 760 additions and 18 deletions
@@ -0,0 +1,198 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "agent_inventory_margin_ranking_20260523",
"domain": "inventory_margin_ranking",
"title": "AGENT | Inventory margin ranking limited answer pack",
"description": "Targeted live replay for nomenclature high/low profit questions: ask period when missing, stay in inventory/sales/cost domain, give useful limited answer when cost evidence is insufficient, and avoid fixed-assets/bank leakage.",
"bindings": {
},
"steps": [
{
"step_id": "step_01_margin_root_needs_period",
"title": "Root asks nomenclature high/low profit without period",
"question": "Какая номеклатура товара реализована с высокой прибылью какая с низкой",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"период|месяц|квартал|год",
"номенклатур",
"выручк|себестоим|валов|маржин"
],
"forbidden_answer_patterns": [
"амортизац",
"основн[а-я]+ средств",
"\\bОС\\s+как\\s+объект\\b",
"Сбербанк",
"банк",
"зависш[а-я]+ оплат",
"payment",
"settlement cluster",
"runtime_",
"planner_",
"query_movements",
"primitive",
"90/91/99",
"7\\s*136\\s*815"
],
"criticality": "critical",
"semantic_tags": [
"inventory_margin_ranking",
"needs_period",
"domain_purity"
]
},
{
"step_id": "step_02_may_2020_period_limited_answer",
"title": "User provides May 2020 period and gets useful limited answer",
"question": "май 2020",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"май|01\\.05\\.2020|31\\.05\\.2020|2020",
"рейтинг|прибыль|маржин",
"себестоим|90\\.02|закупоч",
"нельзя|не удалось|недостаточ|не подтвержд"
],
"forbidden_answer_patterns": [
"амортизац",
"основн[а-я]+ средств",
"\\bОС\\s+как\\s+объект\\b",
"Сбербанк",
"банк",
"зависш[а-я]+ оплат",
"payment",
"settlement cluster",
"runtime_",
"planner_",
"query_movements",
"primitive",
"7\\s*136\\s*815"
],
"criticality": "critical",
"semantic_tags": [
"inventory_margin_ranking",
"limited_answer",
"period_followup"
]
},
{
"step_id": "step_03_show_cost_base_lines",
"title": "Follow-up asks for found cost-base evidence",
"question": "покажи найденные строки себестоимостной базы",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_any": [
"себестоим",
"закупоч",
"90\\.02",
"41",
"не найден|не подтвержд|нет"
],
"forbidden_answer_patterns": [
"амортизац",
"основн[а-я]+ средств",
"\\bОС\\s+как\\s+объект\\b",
"Сбербанк",
"банк",
"зависш[а-я]+ оплат",
"payment",
"settlement cluster",
"runtime_",
"planner_",
"query_movements",
"primitive",
"7\\s*136\\s*815"
],
"criticality": "high",
"semantic_tags": [
"inventory_margin_ranking",
"evidence_followup",
"carryover"
]
},
{
"step_id": "step_04_expand_to_2017",
"title": "User expands period to full 2017",
"question": "расширь до 2017 года",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_any": [
"2017",
"рейтинг|маржин|прибыль",
"себестоим|90\\.02|закупоч",
"нельзя|не подтвержд|найден"
],
"forbidden_answer_patterns": [
"амортизац",
"основн[а-я]+ средств",
"\\bОС\\s+как\\s+объект\\b",
"Сбербанк",
"банк",
"зависш[а-я]+ оплат",
"payment",
"settlement cluster",
"runtime_",
"planner_",
"query_movements",
"primitive",
"7\\s*136\\s*815"
],
"criticality": "high",
"semantic_tags": [
"inventory_margin_ranking",
"period_expansion",
"carryover"
]
},
{
"step_id": "step_05_account_41_not_01",
"title": "User corrects account family to 41 not fixed assets",
"question": "анализ по 41 счету а не 01",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_any": [
"41",
"товар|номенклатур|закупоч|себестоим",
"не 01|01"
],
"forbidden_answer_patterns": [
"амортизац",
"основн[а-я]+ средств",
"ОС как объект",
"Сбербанк",
"банк",
"runtime_",
"planner_",
"query_movements",
"primitive"
],
"criticality": "critical",
"semantic_tags": [
"inventory_margin_ranking",
"account_family_guard",
"no_fixed_assets"
]
}
],
"acceptance": {
"min_score": 80,
"max_unresolved_p0": 0,
"require_all_critical_steps_pass": true
}
}