80 lines
3.7 KiB
JSON
80 lines
3.7 KiB
JSON
{
|
||
"schema_version": "domain_scenario_pack_v1",
|
||
"pack_id": "agent_margin_profitability_reliability_20260524",
|
||
"domain": "margin_profitability",
|
||
"title": "AGENT | margin profitability wrong-domain traps",
|
||
"description": "Минимальный reliability pack для проверки, что вопросы про маржинальность номенклатуры не утекают в ОС, амортизацию, банк, оплаты или взаиморасчёты.",
|
||
"source_contract_id": "margin_profitability_v1",
|
||
"bindings": {
|
||
"period": "2020 год",
|
||
"item": "товар"
|
||
},
|
||
"analysis_context": {
|
||
"expected_business_answer_contract": "margin_profitability_v1",
|
||
"semantic_focus": [
|
||
"direct_answer_first",
|
||
"margin_domain_purity",
|
||
"honest_unknowns",
|
||
"wrong_domain_traps"
|
||
]
|
||
},
|
||
"scenarios": [
|
||
{
|
||
"scenario_id": "margin_root_wrong_domain_trap",
|
||
"title": "Root margin question must not leak into accounting domains",
|
||
"steps": [
|
||
{
|
||
"step_id": "step_01",
|
||
"title": "Маржинальность номенклатуры",
|
||
"question": "Какая номенклатура была самой маржинальной за {{bindings.period}}?",
|
||
"semantic_tags": ["margin_profitability", "inventory", "wrong_domain_trap"],
|
||
"expected_result_mode": "ranking_or_limited_accounting_answer",
|
||
"expected_business_answer_contract": "margin_profitability_v1",
|
||
"required_answer_shape": "direct_answer_first",
|
||
"required_answer_patterns_any": [
|
||
"(?i)(марж|прибыл|выруч|себестоим|не могу подтвердить|не хватает)"
|
||
],
|
||
"forbidden_answer_patterns": [
|
||
"(?i)(амортизац|основн(ые|ых)? средств|объект ОС|оплат[аы]|банк|settlement|payment_document)"
|
||
],
|
||
"notes": "Если точного расчёта нет, допустим честный limited answer, но не уход в ОС/банк/оплаты."
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"scenario_id": "margin_followup_contract_boundary",
|
||
"title": "Follow-up must keep margin contract and state limitations",
|
||
"steps": [
|
||
{
|
||
"step_id": "step_01",
|
||
"title": "Запрос маржинальности",
|
||
"question": "Покажи топ товаров по марже за {{bindings.period}}.",
|
||
"semantic_tags": ["margin_profitability", "inventory"],
|
||
"expected_result_mode": "ranking_or_limited_accounting_answer",
|
||
"expected_business_answer_contract": "margin_profitability_v1",
|
||
"required_answer_shape": "direct_answer_first",
|
||
"forbidden_answer_patterns": [
|
||
"(?i)(амортизац|объект ОС|payment_document|settlement)"
|
||
]
|
||
},
|
||
{
|
||
"step_id": "step_02",
|
||
"title": "Почему именно так",
|
||
"question": "А из чего ты это посчитал и чего не хватает для точной маржи?",
|
||
"depends_on": ["step_01"],
|
||
"semantic_tags": ["margin_profitability", "evidence", "scope_guard"],
|
||
"expected_result_mode": "evidence_or_honest_boundary",
|
||
"expected_business_answer_contract": "margin_profitability_v1",
|
||
"required_answer_shape": "direct_answer_first",
|
||
"required_answer_patterns_any": [
|
||
"(?i)(выруч|себестоим|валов|марж|не хватает|не подтвержден)"
|
||
],
|
||
"forbidden_answer_patterns": [
|
||
"(?i)(route_id|capability_id|runtime_|debug|амортизац|объект ОС)"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|