From 4a6ac6bd99926e641701d3104c66cc65468fedba Mon Sep 17 00:00:00 2001 From: dctouch Date: Thu, 23 Apr 2026 14:09:08 +0300 Subject: [PATCH] =?UTF-8?q?ARCH:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20replay-=D0=BF=D0=BE=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D0=B5=20continuity=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20me?= =?UTF-8?q?tadata=20retrieval?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._movement_year_switch_after_retrieval.json | 88 +++++++++++++++++++ ..._metadata_retrieval_to_document_pivot.json | 76 ++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json create mode 100644 docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json diff --git a/docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json b/docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json new file mode 100644 index 0000000..850b004 --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json @@ -0,0 +1,88 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval", + "domain": "address_phase55_metadata_movement_year_switch_after_retrieval", + "title": "Phase 55 metadata movement year switch after bounded retrieval", + "description": "Targeted AGENT replay for Big Block F where a metadata-born movement loop reaches bounded retrieval and then survives a short year-switch follow-up without losing organization or resetting the lane.", + "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_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"] + }, + { + "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", "bounded_retrieval"] + }, + { + "step_id": "step_05_year_switch_keeps_same_movement_loop", + "title": "Short year-switch follow-up keeps the same movement lane and organization", + "question": "а теперь за 2021?", + "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)ндс|движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*контур", + "(?i)документ", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": ["year_switch_followup", "movement_lane_continuity", "same_organization_reuse"] + } + ] +} diff --git a/docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json b/docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json new file mode 100644 index 0000000..eace7b6 --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json @@ -0,0 +1,76 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot", + "domain": "address_phase56_metadata_retrieval_to_document_pivot", + "title": "Phase 56 metadata retrieval to document pivot", + "description": "Targeted AGENT replay for Big Block F where a metadata-born movement loop reaches bounded retrieval and then pivots into document evidence on a short follow-up without losing organization or resetting the scoped 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_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)период" + ], + "criticality": "critical", + "semantic_tags": ["movement_lane_after_clarification", "inline_organization_clarification"] + }, + { + "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)ндс|движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "criticality": "critical", + "semantic_tags": ["movement_lane_execution", "bounded_retrieval"] + }, + { + "step_id": "step_05_document_pivot_keeps_same_scope", + "title": "Short document pivot reuses the same organization and period", + "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": ["document_pivot_after_retrieval", "scope_reuse", "same_proof_path_family_shift"] + } + ] +}