diff --git a/docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json b/docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json new file mode 100644 index 0000000..d418388 --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json @@ -0,0 +1,83 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase52_metadata_movement_full_recovery", + "domain": "address_phase52_metadata_movement_full_recovery", + "title": "Phase 52 metadata movement full recovery to bounded retrieval", + "description": "Targeted AGENT replay for Big Block F where a metadata-born movement lane survives ambiguity resolution, accepts organization and period across follow-ups, and then proceeds into bounded movement retrieval without resetting the proof path.", + "bindings": {}, + "steps": [ + { + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "allowed_reply_types": ["partial_coverage", "factual_with_explanation"], + "required_answer_patterns_all": [ + "(?i)metadata|метадан", + "(?i)ндс", + "(?i)документ|регистр" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто" + ], + "criticality": "critical", + "semantic_tags": ["metadata_surface", "mixed_ambiguity"] + }, + { + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)документ", + "(?i)движени|регистр", + "(?i)уточн|выб(ери|рать)|какой контур" + ], + "criticality": "critical", + "semantic_tags": ["metadata_lane_choice_clarification", "neutral_followup"] + }, + { + "step_id": "step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "title": "Movement lane plus organization in one follow-up leaves only the period gap", + "question": "по движениям по ООО Альтернатива Плюс", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)движени|регистр", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)нужн[ао].*организац", + "(?i)уточните .*контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification", + "remaining_period_gap_only" + ] + }, + { + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)ндс|движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_lane_execution", + "period_gap_closed", + "bounded_retrieval" + ] + } + ] +} diff --git a/docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json b/docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json new file mode 100644 index 0000000..b7be918 --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json @@ -0,0 +1,83 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery", + "domain": "address_phase53_metadata_movement_period_first_recovery", + "title": "Phase 53 metadata movement period-first recovery", + "description": "Targeted AGENT replay for Big Block F where a metadata-born movement lane keeps the same proof path when the user closes the period gap first and the organization gap second.", + "bindings": {}, + "steps": [ + { + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "allowed_reply_types": ["partial_coverage", "factual_with_explanation"], + "required_answer_patterns_all": [ + "(?i)metadata|метадан", + "(?i)ндс", + "(?i)документ|регистр" + ], + "criticality": "critical", + "semantic_tags": ["metadata_surface", "mixed_ambiguity"] + }, + { + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)документ", + "(?i)движени|регистр", + "(?i)уточн|выб(ери|рать)|какой контур" + ], + "criticality": "critical", + "semantic_tags": ["metadata_lane_choice_clarification", "neutral_followup"] + }, + { + "step_id": "step_03_movement_lane_requires_both_gaps", + "title": "Movement lane keeps both remaining gaps visible", + "question": "по движениям", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)движени|регистр", + "(?i)организац", + "(?i)период" + ], + "criticality": "critical", + "semantic_tags": ["movement_lane_after_clarification", "remaining_gaps"] + }, + { + "step_id": "step_04_period_first_keeps_only_organization_gap", + "title": "Period-first clarification preserves the same movement loop and leaves only organization missing", + "question": "за 2020 год", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*период", + "(?i)нужн[ао].*период", + "(?i)уточните .*контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": ["period_first_recovery", "remaining_org_gap_only"] + }, + { + "step_id": "step_05_organization_closes_same_loop_and_executes_retrieval", + "title": "Organization clarification closes the last gap and executes the same bounded movement loop", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)ндс|движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*период", + "(?i)уточните .*контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": ["organization_second_recovery", "bounded_retrieval"] + } + ] +} diff --git a/docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json b/docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json new file mode 100644 index 0000000..6c8c77e --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json @@ -0,0 +1,78 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase54_metadata_document_full_recovery", + "domain": "address_phase54_metadata_document_full_recovery", + "title": "Phase 54 metadata document full recovery", + "description": "Targeted AGENT replay for Big Block F where a metadata-born document lane survives ambiguity resolution, accepts organization and period across follow-ups, and then proceeds into bounded document retrieval without resetting the proof path.", + "bindings": {}, + "steps": [ + { + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "allowed_reply_types": ["partial_coverage", "factual_with_explanation"], + "required_answer_patterns_all": [ + "(?i)metadata|метадан", + "(?i)ндс", + "(?i)документ|регистр" + ], + "criticality": "critical", + "semantic_tags": ["metadata_surface", "mixed_ambiguity"] + }, + { + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)документ", + "(?i)движени|регистр", + "(?i)уточн|выб(ери|рать)|какой контур" + ], + "criticality": "critical", + "semantic_tags": ["metadata_lane_choice_clarification", "neutral_followup"] + }, + { + "step_id": "step_03_inline_document_choice_with_org_keeps_only_period_gap", + "title": "Document lane plus organization in one follow-up leaves only the period gap", + "question": "по документам по ООО Альтернатива Плюс", + "allowed_reply_types": ["clarification_required", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)нужн[ао].*организац", + "(?i)уточните .*контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification", + "remaining_period_gap_only" + ] + }, + { + "step_id": "step_04_period_clarification_executes_same_document_loop", + "title": "Period clarification executes the same bounded document loop", + "question": "за 2020 год", + "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "document_lane_execution", + "period_gap_closed", + "bounded_retrieval" + ] + } + ] +}