ARCH: замкнуть all-time continuity после metadata pivot

This commit is contained in:
2026-04-23 14:58:35 +03:00
parent f7a8844c90
commit 62e2b3323f
7 changed files with 366 additions and 3 deletions
@@ -0,0 +1,94 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch",
"domain": "address_phase61_metadata_movement_pivot_year_switch",
"title": "Phase 61 metadata movement pivot year switch",
"description": "Targeted AGENT replay for Big Block F where a metadata-born document loop reaches bounded retrieval, pivots into movement evidence, and then survives a short year-switch follow-up without losing the selected lane, organization, or 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_document_lane_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)период"
],
"criticality": "critical",
"semantic_tags": ["document_lane_after_clarification", "inline_organization_clarification"]
},
{
"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)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк"
],
"criticality": "critical",
"semantic_tags": ["document_lane_execution", "bounded_retrieval"]
},
{
"step_id": "step_05_movement_pivot_keeps_same_scope",
"title": "Short movement 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": ["movement_pivot_after_document_retrieval", "scope_reuse", "same_proof_path_family_shift"]
},
{
"step_id": "step_06_year_switch_keeps_movement_lane",
"title": "Short year-switch stays in the movement lane after the pivot",
"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": ["movement_lane_continuity", "year_switch_after_pivot", "same_scope_new_period"]
}
]
}
@@ -0,0 +1,95 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time",
"domain": "address_phase62_metadata_movement_pivot_all_time",
"title": "Phase 62 metadata movement pivot all-time follow-up",
"description": "Targeted AGENT replay for Big Block F where a metadata-born document loop reaches bounded retrieval, pivots into movement evidence, and then survives a short all-time follow-up without losing the selected lane, organization, or 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_document_lane_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)период"
],
"criticality": "critical",
"semantic_tags": ["document_lane_after_clarification", "inline_organization_clarification"]
},
{
"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)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк"
],
"criticality": "critical",
"semantic_tags": ["document_lane_execution", "bounded_retrieval"]
},
{
"step_id": "step_05_movement_pivot_keeps_same_scope",
"title": "Short movement 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": ["movement_pivot_after_document_retrieval", "scope_reuse", "same_proof_path_family_shift"]
},
{
"step_id": "step_06_all_time_followup_keeps_movement_lane",
"title": "All-time follow-up clears the previous period but stays in the movement lane after the pivot",
"question": "а теперь за все время?",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)все время|доступное время|весь период",
"(?i)ндс|движени|регистр|операц|платеж|поступлен|списан|строк"
],
"forbidden_answer_patterns": [
"(?i)за 2020",
"(?i)документ|счет|накладн|акт",
"(?i)уточните .*организац",
"(?i)уточните .*контур",
"(?i)не найден контрагент"
],
"criticality": "critical",
"semantic_tags": ["all_time_followup", "movement_lane_continuity", "period_cleared_after_pivot"]
}
]
}
@@ -0,0 +1,95 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time",
"domain": "address_phase63_metadata_document_pivot_all_time",
"title": "Phase 63 metadata document pivot all-time follow-up",
"description": "Targeted AGENT replay for Big Block F where a metadata-born movement loop reaches bounded retrieval, pivots into document evidence, and then survives a short all-time follow-up without losing the selected lane, organization, or 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_movement_lane_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_movement_retrieval", "scope_reuse", "same_proof_path_family_shift"]
},
{
"step_id": "step_06_all_time_followup_keeps_document_lane",
"title": "All-time follow-up clears the previous period but stays in the document lane after the pivot",
"question": "а теперь за все время?",
"allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"],
"required_answer_patterns_all": [
"(?i)все время|доступное время|весь период",
"(?i)ндс|документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк"
],
"forbidden_answer_patterns": [
"(?i)за 2020",
"(?i)движени|регистр",
"(?i)уточните .*организац",
"(?i)уточните .*контур",
"(?i)не найден контрагент"
],
"criticality": "critical",
"semantic_tags": ["all_time_followup", "document_lane_continuity", "period_cleared_after_pivot"]
}
]
}