diff --git a/docs/orchestration/address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop.json b/docs/orchestration/address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop.json new file mode 100644 index 0000000..f52e3a0 --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop.json @@ -0,0 +1,69 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop", + "domain": "address_phase49_multi_hop_open_ranking_all_time_clarification_loop", + "title": "Phase 49 multi-hop open ranking all-time clarification loop", + "description": "Targeted AGENT replay for Big Block F where an open-scope ranking question asks for both organization and period, then keeps the same ranking loop after an organization-only clarification, and finally accepts 'за все время' as the period clarification that clears the remaining gap and produces a bounded ranking answer.", + "bindings": {}, + "steps": [ + { + "step_id": "step_01_open_ranking_requires_org_and_period", + "title": "Open ranking question asks for both organization and period", + "question": "Кто больше всего принес денег?", + "allowed_reply_types": ["clarification_required", "partial_coverage", "factual_with_explanation"], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": ["value_flow_ranking", "multi_hop_clarification", "organization_scope", "period_scope", "bounded_autonomy"] + }, + { + "step_id": "step_02_org_only_clarification_keeps_same_ranking_loop", + "title": "Organization-only clarification preserves the same ranking loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)организац", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": ["value_flow_ranking", "multi_hop_clarification", "organization_followup_reuse", "bounded_autonomy"] + }, + { + "step_id": "step_03_all_time_clarification_completes_same_ranking_loop", + "title": "All-time clarification clears the remaining period gap and yields a bounded ranking answer", + "question": "за все время", + "allowed_reply_types": ["factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)клиент|контрагент|заказчик", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)все время|доступное время|проверенн", + "(?i)альтернатива", + "(?i)больше всего|топ|самый доходный|наибол" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": ["value_flow_ranking", "all_time_scope", "multi_hop_clarification", "bounded_autonomy"] + } + ] +}