{ "schema_version": "domain_truth_harness_spec_v1", "scenario_id": "agent_profit_direct_answer_20260523", "domain": "cashflow_profit_boundary", "title": "AGENT | Direct net profit answer shape", "description": "Targeted replay for direct clean-profit questions: follow-up boundary may say cashflow is not profit, but a standalone net-profit question must answer with the accounting result first.", "bindings": {}, "steps": [ { "step_id": "step_01_cashflow_money_not_profit", "title": "Cashflow question asks money and profit boundary", "question": "Сколько денег Альтернатива заработала за 2020 год? Ответь коротко: получили, заплатили, денежное нетто, это прибыль или нет.", "allowed_reply_types": [ "partial_coverage", "factual_with_explanation", "factual" ], "required_answer_patterns_all": [ "47\\s*628\\s*853,03", "43\\s*763\\s*351,53", "3\\s*865\\s*501,50", "не\\s+чистая\\s+прибыль|не\\s+бухгалтерский\\s+финрезультат" ], "forbidden_answer_patterns": [ "7\\s*136\\s*815,85.*получили", "runtime_", "planner_", "primitive" ], "criticality": "critical", "semantic_tags": [ "cashflow", "profit_boundary" ] }, { "step_id": "step_02_followup_this_is_profit", "title": "Follow-up asks whether cashflow is clean profit", "question": "а это чистая прибыль?", "allowed_reply_types": [ "partial_coverage", "factual_with_explanation", "factual" ], "required_answer_patterns_all": [ "нет", "90/91/99", "7\\s*136\\s*815,85", "убыт" ], "forbidden_answer_patterns": [ "получили\\s+47\\s*628\\s*853,03.*чистая\\s+прибыль", "runtime_", "planner_", "primitive" ], "criticality": "critical", "semantic_tags": [ "profit_boundary", "followup" ] }, { "step_id": "step_03_direct_net_profit_question", "title": "Standalone direct net profit question answers with result first", "question": "какая чистая прибыль по Альтернативе за 2020?", "allowed_reply_types": [ "partial_coverage", "factual_with_explanation", "factual" ], "required_answer_patterns_all": [ "90/91/99", "7\\s*136\\s*815,85", "убыт", "не\\s+денежный\\s+поток|учетный\\s+финрезультат" ], "forbidden_answer_patterns": [ "Коротко:\\s*нет,\\s*денежное\\s+операционное\\s+нетто", "runtime_", "planner_", "primitive" ], "criticality": "critical", "semantic_tags": [ "direct_profit", "answer_shape" ] } ], "acceptance": { "min_score": 80, "max_unresolved_p0": 0, "require_all_critical_steps_pass": true } }