diff --git a/docs/ARCH/11 - architecture_turnaround/20 - planner_autonomy_consolidation_2026-05-01.md b/docs/ARCH/11 - architecture_turnaround/20 - planner_autonomy_consolidation_2026-05-01.md index b1ca8b1..5b290d0 100644 --- a/docs/ARCH/11 - architecture_turnaround/20 - planner_autonomy_consolidation_2026-05-01.md +++ b/docs/ARCH/11 - architecture_turnaround/20 - planner_autonomy_consolidation_2026-05-01.md @@ -126,6 +126,8 @@ The following consolidation step added catalog-level chain-template scoring: - scenario acceptance now groups that warning under `catalog_alignment_ok`, and `final_status.md` prints the invariant alongside direct-answer, temporal, truth-gate, human-answer, meta-context, and selected-object gates. - truth-harness specs can now assert `expected_catalog_alignment_status`, `expected_catalog_chain_top_match`, and `expected_catalog_selected_matches_top` on each step. - `address_truth_harness_phase66_human_org_open_scope_dialog.json` now uses those fields to assert `value_flow`, `value_flow_comparison`, and `value_flow_ranking` top matches across the open-organization money dialog. +- `address_truth_harness_phase32_planner_selected_chain_end_to_end.json` now uses the same assertions across selected-counterparty entity grounding, incoming/outgoing/net value-flow, document evidence, and movement evidence follow-ups. +- `agent_semantic_pack_builder` now preserves these expected catalog-alignment fields in the reusable source catalog and adds the `planner_catalog_alignment` tag, so future mixed AGENT packs can deliberately select planner-brain regression probes instead of relying on hand-picked replay filenames. ## Why This Matters @@ -281,9 +283,15 @@ Latest validation after phase66 catalog-alignment spec hardening: - Python replay-tooling tests: passed, `7 passed` - `load_truth_harness_spec` confirmed the phase66 expected top-match chain sequence: `value_flow`, `value_flow`, `value_flow`, `value_flow_comparison`, `value_flow_comparison`, `value_flow_ranking`, `value_flow_ranking` +Latest validation after phase32 catalog-alignment spec hardening and AGENT source-catalog surfacing: + +- Python replay-tooling tests: passed, `9 passed` +- `load_truth_harness_spec` confirmed the phase32 expected top-match chain sequence: `entity_resolution`, `value_flow`, `value_flow`, `value_flow_comparison`, `document_evidence`, `movement_evidence` +- `agent_semantic_pack_builder.py inventory` regenerated `agent_semantic_source_catalog.*` with reusable `planner_catalog_alignment` coverage + ## Next Step -The next safe step is still to re-run live replay once the 1C side is actively polling the proxy. In parallel, local-only consolidation can continue by hardening additional planner-autonomy specs with expected catalog-chain assertions and by using `alignment_status`, alignment reason-code telemetry, truth-harness artifact surfacing, the soft divergence warning, `catalog_alignment_ok`, and the representative guard to find remaining manual branches where selected chains diverge from reviewed catalog-fabric intent. +The next safe step is still to re-run live replay once the 1C side is actively polling the proxy. In parallel, local-only consolidation can continue by using the regenerated AGENT source catalog to assemble mixed planner-brain canaries, hardening additional planner-autonomy specs with expected catalog-chain assertions, and using `alignment_status`, alignment reason-code telemetry, truth-harness artifact surfacing, the soft divergence warning, `catalog_alignment_ok`, and the representative guard to find remaining manual branches where selected chains diverge from reviewed catalog-fabric intent. Recommended order: diff --git a/docs/ARCH/11 - architecture_turnaround/README.md b/docs/ARCH/11 - architecture_turnaround/README.md index d2ea0cc..2e1f988 100644 --- a/docs/ARCH/11 - architecture_turnaround/README.md +++ b/docs/ARCH/11 - architecture_turnaround/README.md @@ -89,6 +89,8 @@ It now documents a turnaround that is already operational in code, already mater - scenario acceptance now exposes `catalog_alignment_ok`, so planner-vs-catalog divergence is a first-class acceptance invariant instead of an ungrouped warning; - truth-harness specs can now assert expected catalog-alignment status/top-match/top-flag per step, so AGENT packs can validate the planner brain's selected chain against the reviewed catalog route fabric; - the phase66 open-scope money dialog spec now asserts expected catalog-chain top matches across value-flow totals, bidirectional comparison, and ranking follow-ups; + - the phase32 selected-counterparty chain spec now asserts expected catalog-chain top matches across entity grounding, incoming/outgoing/net value-flow, document evidence, and movement evidence follow-ups; + - AGENT semantic source catalog generation now preserves expected catalog-alignment fields and tags reusable steps as `planner_catalog_alignment`, so mixed pack construction can find planner-brain regression probes explicitly; - explicit-counterparty incoming-vs-outgoing data-need graphs now select the reviewed `value_flow_comparison` chain instead of falling back to generic `value_flow`; - live map sync: [20 - planner_autonomy_consolidation_2026-05-01.md](./20%20-%20planner_autonomy_consolidation_2026-05-01.md) @@ -101,7 +103,7 @@ Current honest status: - open-world bounded-autonomy readiness: `~85%` - Post-F semantic integrity module progress: `~99%` operationally closed, with remaining risk now treated as next-slice discovery rather than an open blocker inside the closed slice - active inventory-stock breadth slice progress: `100%` for the declared scenario pack, not for arbitrary inventory questions -- Planner Autonomy Consolidation progress: `~92%` for the declared module, with catalog-fabric, value-flow arbitration, lifecycle bounded inference, broad-evaluation bridge, inventory catalog templates, inventory runtime-boundary honesty, exact inventory recipe bridging, unambiguous metadata-surface lane inference, catalog chain-template scoring, structured chain-match contract exposure, runtime/debug propagation, subject-aware bidirectional comparison arbitration, structured catalog-alignment verdicts, representative alignment regression guard, catalog-alignment reason-code telemetry, explicit `alignment_status` propagation, truth-harness/acceptance-matrix surfacing, soft divergence warning, `catalog_alignment_ok` acceptance invariant, step-level expected catalog-alignment assertions, and phase66 spec alignment expectations validated locally, but live replay for the new bridge is currently blocked by missing active 1C polling and broader unfamiliar 1C asks still need replay-backed growth +- Planner Autonomy Consolidation progress: `~93%` for the declared module, with catalog-fabric, value-flow arbitration, lifecycle bounded inference, broad-evaluation bridge, inventory catalog templates, inventory runtime-boundary honesty, exact inventory recipe bridging, unambiguous metadata-surface lane inference, catalog chain-template scoring, structured chain-match contract exposure, runtime/debug propagation, subject-aware bidirectional comparison arbitration, structured catalog-alignment verdicts, representative alignment regression guard, catalog-alignment reason-code telemetry, explicit `alignment_status` propagation, truth-harness/acceptance-matrix surfacing, soft divergence warning, `catalog_alignment_ok` acceptance invariant, step-level expected catalog-alignment assertions, phase66 and phase32 spec alignment expectations, and AGENT source-catalog surfacing validated locally, but live replay for the new bridge is currently blocked by missing active 1C polling and broader unfamiliar 1C asks still need replay-backed growth - graph snapshot after latest rebuild: `5951 nodes`, `12926 edges`, `139 communities` - current breakpoint: - the validated hot paths are no longer structurally broken; @@ -160,6 +162,7 @@ Latest live proof now includes: - catalog-alignment acceptance invariant accepted locally: Python truth-harness/acceptance tests passed `6/6`; graphify rebuilt to `5949 nodes`, `12923 edges`, `136 communities` - catalog-alignment spec assertions accepted locally: Python truth-harness/acceptance tests passed `7/7`; graphify rebuilt to `5951 nodes`, `12926 edges`, `139 communities` - phase66 planner-alignment spec hardening accepted locally: Python truth-harness/acceptance tests passed `7/7`; `load_truth_harness_spec` confirmed expected top matches `[value_flow, value_flow, value_flow, value_flow_comparison, value_flow_comparison, value_flow_ranking, value_flow_ranking]` +- phase32 selected-counterparty planner-alignment spec hardening and AGENT source-catalog surfacing accepted locally: Python replay-tooling tests passed `9/9`; `load_truth_harness_spec` confirmed expected top matches `[entity_resolution, value_flow, value_flow, value_flow_comparison, document_evidence, movement_evidence]`; regenerated source catalog exposes `planner_catalog_alignment` as a reusable tag Current architectural reading: diff --git a/docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json b/docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json index ee30d45..7099dd2 100644 --- a/docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json +++ b/docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json @@ -11,6 +11,9 @@ "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", "question": "найди в 1С контрагента СВК", "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "entity_resolution", + "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["(?i)свк", "(?i)контрагент"], "required_answer_patterns_any": [ "(?i)группа\\s+свк", @@ -34,6 +37,9 @@ "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", "question": "сколько получили по нему за 2020 год", "allowed_reply_types": ["factual_with_explanation", "partial_coverage"], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["(?i)2020", "(?i)получил|входящ|поступ", "(?i)руб"], "required_answer_patterns_any": ["(?i)группа\\s+свк", "(?i)свк"], "forbidden_answer_patterns": [ @@ -49,6 +55,9 @@ "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", "question": "а теперь сколько заплатили?", "allowed_reply_types": ["factual_with_explanation", "partial_coverage"], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["(?i)2020", "(?i)заплатил|исходящ|списан|платеж", "(?i)руб"], "required_answer_patterns_any": ["(?i)группа\\s+свк", "(?i)свк"], "forbidden_answer_patterns": [ @@ -65,6 +74,9 @@ "title": "Net-flow follow-up reuses the same grounded counterparty and checked year after payout", "question": "а какое нетто?", "allowed_reply_types": ["factual_with_explanation", "partial_coverage"], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["(?i)2020", "(?i)нетто|сальдо", "(?i)руб"], "required_answer_patterns_any": ["(?i)получ", "(?i)заплат", "(?i)группа\\s+свк", "(?i)свк"], "forbidden_answer_patterns": [ @@ -80,6 +92,9 @@ "title": "Document evidence follow-up keeps the grounded counterparty after the net answer", "question": "а по документам?", "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "document_evidence", + "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["(?i)документ|счет|накладн|акт"], "required_answer_patterns_any": ["(?i)группа\\s+свк", "(?i)свк", "(?i)2020"], "forbidden_answer_patterns": [ @@ -98,6 +113,9 @@ "title": "Movement evidence follow-up keeps the grounded counterparty after the document answer", "question": "а по движениям?", "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "movement_evidence", + "expected_catalog_selected_matches_top": true, "required_answer_patterns_all": ["(?i)движени|операц|платеж|списан|поступ"], "required_answer_patterns_any": ["(?i)группа\\s+свк", "(?i)свк", "(?i)2020"], "forbidden_answer_patterns": [ diff --git a/docs/orchestration/agent_semantic_source_catalog.json b/docs/orchestration/agent_semantic_source_catalog.json index 216c0fe..f3147d5 100644 --- a/docs/orchestration/agent_semantic_source_catalog.json +++ b/docs/orchestration/agent_semantic_source_catalog.json @@ -1,46 +1,600 @@ { "schema_version": "agent_semantic_source_catalog_v1", - "generated_at": "2026-04-17T09:41:32+00:00", + "generated_at": "2026-05-01T13:36:23+00:00", "summary": { - "truth_harness_steps_total": 58, - "saved_session_questions_total": 81, + "truth_harness_steps_total": 500, + "saved_session_questions_total": 229, "reusable_truth_harness_tags": { - "counterparty_documents": 3, - "counterparty_shipment_fallback": 3, - "inventory_root": 21, - "meta_capability": 3, - "meta_historical_capability": 4, - "meta_memory": 2, - "meta_scope": 4, - "meta_smalltalk": 3, - "same_date_pivot": 3, - "same_date_restore": 4, - "selected_object": 11, - "selected_object_documents": 3, - "selected_object_sale": 1, - "selected_object_supplier": 7, - "settlements_account_60": 2, - "settlements_receivables": 4, - "vat": 3 + "account_60": 2, + "account_injection_guard": 1, + "activity_age": 1, + "activity_assessment": 1, + "aggregate_all_time": 1, + "aggregate_revenue": 1, + "aggregate_year": 1, + "alias_grounding": 6, + "all_time_after_pivot": 2, + "all_time_after_second_pivot": 2, + "all_time_after_third_pivot": 1, + "all_time_followup": 9, + "all_time_scope": 4, + "ambiguity_probe": 1, + "anomaly_probe": 1, + "answer_inspection": 1, + "answer_top_block_matches_current_user_intent": 1, + "bidirectional_value_flow": 1, + "bounded_autonomy": 47, + "bounded_retrieval": 13, + "bridge_inventory_to_vat": 3, + "broad_business_evaluation": 2, + "broad_eval_bridge_preserved": 1, + "broad_eval_followup_continuity": 1, + "broad_evaluation_bridge": 1, + "capability_meta": 3, + "capability_over_followup": 2, + "catalog_drilldown": 1, + "catalog_grounding": 1, + "catalog_metadata_surface": 1, + "clarification_required": 1, + "clarification_resume": 2, + "company_activity_lifecycle": 2, + "company_analytics": 1, + "company_authority": 3, + "company_authority_probe": 1, + "company_clarification": 2, + "company_selected": 11, + "company_selection": 2, + "context_reframe": 1, + "context_reuse": 1, + "context_seed": 1, + "context_setup": 1, + "continuity_after_interrupt": 1, + "continuity_interrupt": 1, + "contracts_followup": 16, + "counterparty_carryover": 1, + "counterparty_catalog_scope": 1, + "counterparty_documents": 29, + "counterparty_followup": 3, + "counterparty_grounding": 1, + "counterparty_item_flow": 1, + "counterparty_lifecycle": 1, + "counterparty_monthly_net_cash_flow": 1, + "counterparty_net_cash_flow": 4, + "counterparty_net_value_flow": 1, + "counterparty_outgoing_payments": 1, + "counterparty_pronoun_resolution": 15, + "counterparty_resolution": 2, + "counterparty_retarget": 1, + "counterparty_root": 3, + "counterparty_shipment_fallback": 6, + "counterparty_short_retarget": 1, + "counterparty_turnover": 1, + "counterparty_value_flow": 1, + "cross_domain_pivot": 2, + "cross_stage_canary": 1, + "current_snapshot": 1, + "current_turn_action_authority": 1, + "current_turn_entity_authority": 1, + "customer_analytics": 1, + "data_scope_meta": 2, + "date_carryover": 6, + "date_followup": 2, + "date_scope": 1, + "debt_polarity": 1, + "display_label_integrity": 3, + "display_name_integrity": 1, + "document_evidence": 3, + "document_lane_after_clarification": 5, + "document_lane_continuity": 6, + "document_lane_execution": 5, + "document_pivot": 1, + "document_pivot_after_movement": 1, + "document_pivot_after_movement_retrieval": 2, + "document_pivot_after_retrieval": 2, + "document_pivot_after_value_flow": 2, + "documents": 2, + "documents_by_counterparty": 15, + "documents_followup": 7, + "documents_pivot": 2, + "entity_grounding": 2, + "entity_resolution": 29, + "exact_not_overwritten": 2, + "followup_anchor": 6, + "followup_reuse": 21, + "followup_short": 1, + "fourth_pivot": 2, + "garbage_anchor_forbidden": 1, + "grounded_context_seed": 1, + "grounded_counterparty": 13, + "grounded_counterparty_followup": 12, + "grounded_discovery_seed": 1, + "grounded_self_correction": 1, + "grounded_summary": 1, + "historical_anchor": 1, + "historical_date_anchor": 3, + "historical_inventory": 2, + "historical_restore": 1, + "human_answer": 3, + "human_answer_quality": 2, + "human_dialog": 39, + "hybrid_investigation_followup": 2, + "hybrid_investigation_root": 2, + "incoming": 8, + "incoming_value_flow": 8, + "inline_organization_clarification": 13, + "integrity_guard": 57, + "inventory_aging": 3, + "inventory_capability_meta": 1, + "inventory_context": 1, + "inventory_history_capability": 1, + "inventory_provenance": 3, + "inventory_root": 58, + "inventory_sale_trace": 1, + "item_flow_failure_26": 1, + "lane_choice_reuse": 1, + "late_company_switch": 2, + "late_company_switch_back": 1, + "late_session_stability": 2, + "late_session_tail": 1, + "legacy_phase39": 2, + "legacy_phase64": 6, + "legacy_phase67": 7, + "living_scope_selection": 1, + "manual_9lieoh": 11, + "materialization_gap": 1, + "mcp_discovery_bidirectional_value_flow": 2, + "mcp_discovery_gate_sanity": 1, + "mcp_discovery_response_gate": 1, + "mcp_discovery_supplier_payout": 1, + "mcp_discovery_value_flow": 1, + "meta_capability": 16, + "meta_historical_capability": 10, + "meta_interrupt": 1, + "meta_memory": 6, + "meta_return_to_business": 1, + "meta_scope": 12, + "meta_smalltalk": 13, + "meta_verify": 1, + "metadata_lane_choice_clarification": 15, + "metadata_surface": 17, + "mixed_ambiguity": 15, + "movement_evidence": 3, + "movement_execution": 1, + "movement_lane_after_clarification": 11, + "movement_lane_after_metadata": 2, + "movement_lane_continuity": 4, + "movement_lane_execution": 7, + "movement_pivot_after_document_retrieval": 3, + "movement_pivot_after_value_flow": 2, + "movements_pivot": 2, + "multi_axis_aggregation": 1, + "multi_company_entry": 2, + "multi_hop_clarification": 21, + "net_switch": 1, + "net_value_flow": 5, + "neutral_followup": 16, + "numeric_counterparty_suffix": 1, + "off_domain_living_chat": 2, + "open_scope": 9, + "open_scope_net": 3, + "open_scope_total": 8, + "organization_activity_age": 5, + "organization_authority": 7, + "organization_clarification": 8, + "organization_fact_boundary": 1, + "organization_followup_reuse": 20, + "organization_scope": 28, + "organization_scoped": 4, + "organization_second_recovery": 1, + "outgoing": 3, + "outgoing_value_flow": 2, + "payables": 1, + "payables_snapshot": 1, + "payments_followup": 20, + "payout_switch": 4, + "payout_value_flow": 2, + "payout_year_switch": 3, + "period_carryover": 1, + "period_clarification_resume": 1, + "period_cleared": 2, + "period_cleared_after_pivot": 2, + "period_close_impact": 1, + "period_close_risk": 1, + "period_first_recovery": 1, + "period_followup_reuse": 5, + "period_gap_closed": 2, + "period_narrowing": 1, + "period_scope": 9, + "pivot_seed": 8, + "planner_catalog_alignment": 13, + "polarity_flip": 1, + "post_f": 9, + "post_f_integrity_hardening": 6, + "post_inspection_continuity": 1, + "post_pivot_continuity": 1, + "precedence": 1, + "predecompose_guard": 1, + "proactive_scope_offer": 2, + "pronoun_followup": 1, + "pronoun_pivot_seed": 6, + "purchase_date_bundle": 1, + "purchase_date_context": 1, + "purchase_date_vat_bridge": 1, + "purchase_provenance": 1, + "ranking": 2, + "receivables": 1, + "receivables_root": 1, + "receivables_snapshot": 1, + "referential_document_followup": 1, + "referential_followup_seed": 1, + "remaining_gaps": 2, + "remaining_org_gap_only": 1, + "remaining_period_gap_only": 3, + "repeated_pivot": 2, + "revenue_ranking_failure_14": 1, + "route_stability": 1, + "sale_trace": 1, + "same_date_pivot": 8, + "same_date_restore": 8, + "same_organization_reuse": 1, + "same_period_restore": 1, + "same_proof_path_family_shift": 5, + "same_scope_new_period": 1, + "saved_chain": 3, + "scope_offer": 2, + "scope_reuse": 8, + "second_company_continuity": 1, + "second_pivot": 8, + "selected_object": 31, + "selected_object_context": 1, + "selected_object_documents": 7, + "selected_object_purchase": 1, + "selected_object_sale": 3, + "selected_object_supplier": 16, + "self_scope": 3, + "settlements_60_62": 1, + "settlements_account_60": 5, + "settlements_mirror_followup": 1, + "settlements_payables": 1, + "settlements_receivables": 13, + "smalltalk_entry": 4, + "stale_entity_seed": 1, + "stale_inventory_scope": 1, + "stale_lifecycle_override": 1, + "stale_replay_forbidden": 2, + "stale_scope_guard": 1, + "stale_temporal_carryover": 1, + "supported_route_not_hijacked_by_mcp_discovery": 1, + "switch_back_integrity": 1, + "tail_authority_proof": 2, + "tail_quality": 1, + "tax_period": 1, + "temporal_tail_not_entity": 1, + "third_pivot": 4, + "today_scope": 1, + "topic_reset": 5, + "translit_wording": 1, + "unsupported_current_turn_meaning_boundary": 5, + "value_flow_comparison": 11, + "value_flow_net": 6, + "value_flow_pivot": 3, + "value_flow_ranking": 17, + "value_flow_total": 16, + "vat": 37, + "vat_colloquial_wording": 2, + "vat_failure_11": 1, + "vat_failure_13": 1, + "vat_followup": 2, + "vat_liability_live": 1, + "vat_orientation": 2, + "very_old_stock": 1, + "year_specific": 1, + "year_switch": 14, + "year_switch_after_document_pivot": 1, + "year_switch_after_fourth_pivot": 2, + "year_switch_after_pivot": 4, + "year_switch_after_reframe": 1, + "year_switch_after_repeated_pivot": 1, + "year_switch_after_second_pivot": 2, + "year_switch_after_third_pivot": 1, + "year_switch_followup": 2, + "year_tail_not_entity": 1 }, "all_tags": { - "counterparty_documents": 7, - "counterparty_shipment_fallback": 7, - "inventory_root": 45, - "meta_capability": 8, - "meta_historical_capability": 9, - "meta_memory": 4, - "meta_scope": 10, - "meta_smalltalk": 7, - "same_date_pivot": 3, - "same_date_restore": 4, - "selected_object": 20, - "selected_object_documents": 3, - "selected_object_sale": 1, - "selected_object_supplier": 7, - "settlements_account_60": 3, - "settlements_receivables": 6, - "vat": 7 + "account_60": 2, + "account_injection_guard": 1, + "activity_age": 1, + "activity_assessment": 1, + "aggregate_all_time": 1, + "aggregate_revenue": 1, + "aggregate_year": 1, + "alias_grounding": 6, + "all_time_after_pivot": 2, + "all_time_after_second_pivot": 2, + "all_time_after_third_pivot": 1, + "all_time_followup": 9, + "all_time_scope": 4, + "ambiguity_probe": 1, + "anomaly_probe": 1, + "answer_inspection": 1, + "answer_top_block_matches_current_user_intent": 1, + "bidirectional_value_flow": 1, + "bounded_autonomy": 47, + "bounded_retrieval": 13, + "bridge_inventory_to_vat": 3, + "broad_business_evaluation": 2, + "broad_eval_bridge_preserved": 1, + "broad_eval_followup_continuity": 1, + "broad_evaluation_bridge": 1, + "capability_meta": 3, + "capability_over_followup": 2, + "catalog_drilldown": 1, + "catalog_grounding": 1, + "catalog_metadata_surface": 1, + "clarification_required": 1, + "clarification_resume": 2, + "company_activity_lifecycle": 2, + "company_analytics": 1, + "company_authority": 3, + "company_authority_probe": 1, + "company_clarification": 2, + "company_selected": 11, + "company_selection": 2, + "context_reframe": 1, + "context_reuse": 1, + "context_seed": 1, + "context_setup": 1, + "continuity_after_interrupt": 1, + "continuity_interrupt": 1, + "contracts_followup": 16, + "counterparty_carryover": 1, + "counterparty_catalog_scope": 1, + "counterparty_documents": 35, + "counterparty_followup": 3, + "counterparty_grounding": 1, + "counterparty_item_flow": 1, + "counterparty_lifecycle": 1, + "counterparty_monthly_net_cash_flow": 1, + "counterparty_net_cash_flow": 4, + "counterparty_net_value_flow": 1, + "counterparty_outgoing_payments": 1, + "counterparty_pronoun_resolution": 15, + "counterparty_resolution": 2, + "counterparty_retarget": 1, + "counterparty_root": 3, + "counterparty_shipment_fallback": 12, + "counterparty_short_retarget": 1, + "counterparty_turnover": 1, + "counterparty_value_flow": 1, + "cross_domain_pivot": 2, + "cross_stage_canary": 1, + "current_snapshot": 1, + "current_turn_action_authority": 1, + "current_turn_entity_authority": 1, + "customer_analytics": 1, + "data_scope_meta": 2, + "date_carryover": 6, + "date_followup": 2, + "date_scope": 1, + "debt_polarity": 1, + "display_label_integrity": 3, + "display_name_integrity": 1, + "document_evidence": 3, + "document_lane_after_clarification": 5, + "document_lane_continuity": 6, + "document_lane_execution": 5, + "document_pivot": 1, + "document_pivot_after_movement": 1, + "document_pivot_after_movement_retrieval": 2, + "document_pivot_after_retrieval": 2, + "document_pivot_after_value_flow": 2, + "documents": 2, + "documents_by_counterparty": 15, + "documents_followup": 7, + "documents_pivot": 2, + "entity_grounding": 2, + "entity_resolution": 29, + "exact_not_overwritten": 2, + "followup_anchor": 6, + "followup_reuse": 21, + "followup_short": 1, + "fourth_pivot": 2, + "garbage_anchor_forbidden": 1, + "grounded_context_seed": 1, + "grounded_counterparty": 13, + "grounded_counterparty_followup": 12, + "grounded_discovery_seed": 1, + "grounded_self_correction": 1, + "grounded_summary": 1, + "historical_anchor": 1, + "historical_date_anchor": 3, + "historical_inventory": 2, + "historical_restore": 1, + "human_answer": 3, + "human_answer_quality": 2, + "human_dialog": 39, + "hybrid_investigation_followup": 2, + "hybrid_investigation_root": 2, + "incoming": 8, + "incoming_value_flow": 8, + "inline_organization_clarification": 13, + "integrity_guard": 57, + "inventory_aging": 3, + "inventory_capability_meta": 1, + "inventory_context": 1, + "inventory_history_capability": 1, + "inventory_provenance": 3, + "inventory_root": 96, + "inventory_sale_trace": 1, + "item_flow_failure_26": 1, + "lane_choice_reuse": 1, + "late_company_switch": 2, + "late_company_switch_back": 1, + "late_session_stability": 2, + "late_session_tail": 1, + "legacy_phase39": 2, + "legacy_phase64": 6, + "legacy_phase67": 7, + "living_scope_selection": 1, + "manual_9lieoh": 11, + "materialization_gap": 1, + "mcp_discovery_bidirectional_value_flow": 2, + "mcp_discovery_gate_sanity": 1, + "mcp_discovery_response_gate": 1, + "mcp_discovery_supplier_payout": 1, + "mcp_discovery_value_flow": 1, + "meta_capability": 23, + "meta_historical_capability": 16, + "meta_interrupt": 1, + "meta_memory": 11, + "meta_return_to_business": 1, + "meta_scope": 20, + "meta_smalltalk": 19, + "meta_verify": 1, + "metadata_lane_choice_clarification": 15, + "metadata_surface": 17, + "mixed_ambiguity": 15, + "movement_evidence": 3, + "movement_execution": 1, + "movement_lane_after_clarification": 11, + "movement_lane_after_metadata": 2, + "movement_lane_continuity": 4, + "movement_lane_execution": 7, + "movement_pivot_after_document_retrieval": 3, + "movement_pivot_after_value_flow": 2, + "movements_pivot": 2, + "multi_axis_aggregation": 1, + "multi_company_entry": 2, + "multi_hop_clarification": 21, + "net_switch": 1, + "net_value_flow": 5, + "neutral_followup": 16, + "numeric_counterparty_suffix": 1, + "off_domain_living_chat": 2, + "open_scope": 9, + "open_scope_net": 3, + "open_scope_total": 8, + "organization_activity_age": 5, + "organization_authority": 7, + "organization_clarification": 8, + "organization_fact_boundary": 1, + "organization_followup_reuse": 20, + "organization_scope": 28, + "organization_scoped": 4, + "organization_second_recovery": 1, + "outgoing": 3, + "outgoing_value_flow": 2, + "payables": 1, + "payables_snapshot": 1, + "payments_followup": 20, + "payout_switch": 4, + "payout_value_flow": 2, + "payout_year_switch": 3, + "period_carryover": 1, + "period_clarification_resume": 1, + "period_cleared": 2, + "period_cleared_after_pivot": 2, + "period_close_impact": 1, + "period_close_risk": 1, + "period_first_recovery": 1, + "period_followup_reuse": 5, + "period_gap_closed": 2, + "period_narrowing": 1, + "period_scope": 9, + "pivot_seed": 8, + "planner_catalog_alignment": 13, + "polarity_flip": 1, + "post_f": 9, + "post_f_integrity_hardening": 6, + "post_inspection_continuity": 1, + "post_pivot_continuity": 1, + "precedence": 1, + "predecompose_guard": 1, + "proactive_scope_offer": 2, + "pronoun_followup": 1, + "pronoun_pivot_seed": 6, + "purchase_date_bundle": 1, + "purchase_date_context": 1, + "purchase_date_vat_bridge": 1, + "purchase_provenance": 1, + "ranking": 2, + "receivables": 1, + "receivables_root": 1, + "receivables_snapshot": 1, + "referential_document_followup": 1, + "referential_followup_seed": 1, + "remaining_gaps": 2, + "remaining_org_gap_only": 1, + "remaining_period_gap_only": 3, + "repeated_pivot": 2, + "revenue_ranking_failure_14": 1, + "route_stability": 1, + "sale_trace": 1, + "same_date_pivot": 8, + "same_date_restore": 8, + "same_organization_reuse": 1, + "same_period_restore": 1, + "same_proof_path_family_shift": 5, + "same_scope_new_period": 1, + "saved_chain": 3, + "scope_offer": 2, + "scope_reuse": 8, + "second_company_continuity": 1, + "second_pivot": 8, + "selected_object": 46, + "selected_object_context": 1, + "selected_object_documents": 7, + "selected_object_purchase": 1, + "selected_object_sale": 3, + "selected_object_supplier": 16, + "self_scope": 3, + "settlements_60_62": 1, + "settlements_account_60": 6, + "settlements_mirror_followup": 1, + "settlements_payables": 1, + "settlements_receivables": 18, + "smalltalk_entry": 4, + "stale_entity_seed": 1, + "stale_inventory_scope": 1, + "stale_lifecycle_override": 1, + "stale_replay_forbidden": 2, + "stale_scope_guard": 1, + "stale_temporal_carryover": 1, + "supported_route_not_hijacked_by_mcp_discovery": 1, + "switch_back_integrity": 1, + "tail_authority_proof": 2, + "tail_quality": 1, + "tax_period": 1, + "temporal_tail_not_entity": 1, + "third_pivot": 4, + "today_scope": 1, + "topic_reset": 5, + "translit_wording": 1, + "unsupported_current_turn_meaning_boundary": 5, + "value_flow_comparison": 11, + "value_flow_net": 6, + "value_flow_pivot": 3, + "value_flow_ranking": 17, + "value_flow_total": 16, + "vat": 53, + "vat_colloquial_wording": 2, + "vat_failure_11": 1, + "vat_failure_13": 1, + "vat_followup": 2, + "vat_liability_live": 1, + "vat_orientation": 2, + "very_old_stock": 1, + "year_specific": 1, + "year_switch": 14, + "year_switch_after_document_pivot": 1, + "year_switch_after_fourth_pivot": 2, + "year_switch_after_pivot": 4, + "year_switch_after_reframe": 1, + "year_switch_after_repeated_pivot": 1, + "year_switch_after_second_pivot": 2, + "year_switch_after_third_pivot": 1, + "year_switch_followup": 2, + "year_tail_not_entity": 1 } }, "truth_harness_entries": [ @@ -59,6 +613,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -99,6 +656,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -139,6 +699,9 @@ "expected_intents": [ "inventory_purchase_documents_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_documents" @@ -175,6 +738,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_restore" @@ -204,6 +770,9499 @@ ] } }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_01_inventory_historical_anchor", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_01_inventory_historical_anchor", + "title": "Historical inventory anchor on March 2016", + "question": "остатки на март 2016", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "historical_date_anchor", + "meta_historical_capability" + ], + "step_payload": { + "step_id": "step_01_inventory_historical_anchor", + "title": "Historical inventory anchor on March 2016", + "question": "остатки на март 2016", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_recipe": "address_inventory_on_hand_as_of_date_v1", + "required_filters": { + "as_of_date": "2016-03-31", + "period_from": "2016-03-01", + "period_to": "2016-03-31" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2016", + "(?i)на складе" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "historical_date_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_02_selected_item_purchase_provenance", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_02_selected_item_purchase_provenance", + "title": "Selected workstation supplier / purchase provenance on the same date", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "inventory_provenance", + "date_scope", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_02_selected_item_purchase_provenance", + "title": "Selected workstation supplier / purchase provenance on the same date", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_recipe": "address_inventory_purchase_provenance_for_item_v1", + "required_filters": { + "item": "Рабочая станция универсального специалиста (индивидуальное изготовление)", + "as_of_date": "{{step_01_inventory_historical_anchor.filters.as_of_date}}" + }, + "required_direct_answer_patterns_any": [ + "(?i)поставщик|закуп", + "(?i)рабочая станция" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "inventory_provenance", + "date_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_03_vat_on_purchase_date_bridge", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_03_vat_on_purchase_date_bridge", + "title": "VAT approximate on the purchase date of the selected item", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "bridge_inventory_to_vat", + "selected_object", + "purchase_date_bundle", + "vat" + ], + "step_payload": { + "step_id": "step_03_vat_on_purchase_date_bridge", + "title": "VAT approximate on the purchase date of the selected item", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)дата покупки|период|налоговый период|не удается точно" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "bridge_inventory_to_vat", + "selected_object", + "purchase_date_bundle" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_04_colloquial_vat_tax_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_04_colloquial_vat_tax_period", + "title": "Colloquial VAT liability wording on February 2017", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "vat_colloquial_wording", + "tax_period", + "vat" + ], + "step_payload": { + "step_id": "step_04_colloquial_vat_tax_period", + "title": "Colloquial VAT liability wording on February 2017", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_recipe": "address_vat_liability_confirmed_tax_period_v1", + "required_filters": { + "period_from": "2017-02-01", + "period_to": "2017-02-28" + }, + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)2017" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "vat_colloquial_wording", + "tax_period" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_05_payables_today", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_05_payables_today", + "title": "Payables snapshot for today", + "question": "мы должны комуто денег на сегодня?", + "criticality": "critical", + "expected_intents": [ + "payables_confirmed_as_of_date", + "list_payables_counterparties" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payables", + "debt_polarity" + ], + "step_payload": { + "step_id": "step_05_payables_today", + "title": "Payables snapshot for today", + "question": "мы должны комуто денег на сегодня?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "payables_confirmed_as_of_date", + "list_payables_counterparties" + ], + "required_direct_answer_patterns_any": [ + "(?i)кредитор|обязатель|долж", + "(?i)сегодня|на .*20" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "payables", + "debt_polarity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_06_receivables_role_flip", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_06_receivables_role_flip", + "title": "Short polarity flip from payables to receivables", + "question": "а нам?", + "criticality": "critical", + "expected_intents": [ + "receivables_confirmed_as_of_date", + "list_receivables_counterparties" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "receivables", + "polarity_flip", + "followup_short", + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_06_receivables_role_flip", + "title": "Short polarity flip from payables to receivables", + "question": "а нам?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "receivables_confirmed_as_of_date", + "list_receivables_counterparties" + ], + "required_direct_answer_patterns_any": [ + "(?i)дебитор|нам должны|должны нам", + "(?i)сегодня|на .*20|не удается точно" + ], + "forbidden_direct_answer_patterns": [ + "(?i)что относится к вашей компании", + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "receivables", + "polarity_flip", + "followup_short" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_07_top_customer_all_time", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_07_top_customer_all_time", + "title": "Top customer by all-time revenue", + "question": "кто у нас самый доходный клиент за все время", + "criticality": "critical", + "expected_intents": [ + "customer_revenue_and_payments" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "customer_analytics", + "aggregate_all_time", + "ranking" + ], + "step_payload": { + "step_id": "step_07_top_customer_all_time", + "title": "Top customer by all-time revenue", + "question": "кто у нас самый доходный клиент за все время", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage", + "clarification_required" + ], + "expected_intents": [ + "customer_revenue_and_payments" + ], + "required_direct_answer_patterns_any": [ + "(?i)клиент|контрагент|доход|выруч", + "(?i)не удается точно|за все время|самый доходный" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "customer_analytics", + "aggregate_all_time", + "ranking" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_08_top_year_revenue", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_08_top_year_revenue", + "title": "Most profitable year", + "question": "какой у нас самый доходный год", + "criticality": "critical", + "expected_intents": [ + "customer_revenue_and_payments" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "company_analytics", + "aggregate_year", + "ranking" + ], + "step_payload": { + "step_id": "step_08_top_year_revenue", + "title": "Most profitable year", + "question": "какой у нас самый доходный год", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage", + "clarification_required" + ], + "expected_intents": [ + "customer_revenue_and_payments" + ], + "required_direct_answer_patterns_any": [ + "(?i)год|доход|выруч|прибыл", + "(?i)не удается точно|самый доходный" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "company_analytics", + "aggregate_year", + "ranking" + ] + } + }, + { + "entry_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_09_very_old_stock", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase10_manual_bridge_and_aggregate_mix.json", + "source_title": "Phase 10 manual bridge and aggregate replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase10_manual_bridge_and_aggregate_mix", + "domain": "address_phase10_manual_bridge_and_aggregate_mix", + "reusable_in_agent_pack": true, + "step_id": "step_09_very_old_stock", + "title": "Very old stock should prefer aging contour over generic inventory snapshot", + "question": "Есть ли остатки товара, которые закупались очень давно", + "criticality": "critical", + "expected_intents": [ + "inventory_aging_by_purchase_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_aging", + "very_old_stock", + "precedence", + "inventory_root" + ], + "step_payload": { + "step_id": "step_09_very_old_stock", + "title": "Very old stock should prefer aging contour over generic inventory snapshot", + "question": "Есть ли остатки товара, которые закупались очень давно", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "inventory_aging_by_purchase_date" + ], + "expected_recipe": "address_inventory_aging_by_purchase_date_v1", + "required_direct_answer_patterns_any": [ + "(?i)стар|давно|закуп", + "(?i)остат" + ], + "forbidden_direct_answer_patterns": [ + "(?i)18\\.04\\.2026", + "(?i)на складе подтверждено \\d+ позиц" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_aging", + "very_old_stock", + "precedence" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_01_capability_meta_human", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_01_capability_meta_human", + "title": "Capability meta answer stays human and business-first", + "question": "расскажи что можешь интересного", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability", + "human_answer_quality" + ], + "step_payload": { + "step_id": "step_01_capability_meta_human", + "title": "Capability meta answer stays human and business-first", + "question": "расскажи что можешь интересного", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)могу|умею", + "(?i)ндс|документ|контрагент|долг|склад|остатк" + ], + "forbidden_direct_answer_patterns": [ + "(?i)read_only", + "(?i)mcp", + "(?i)snapshot", + "(?i)capability", + "(?i)assistant_state", + "(?i)open item" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_capability", + "human_answer_quality" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_02_inventory_historical_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_02_inventory_historical_root", + "title": "Historical inventory root on March 2016", + "question": "что там на складе по остаткам на март 2016?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "historical_date_anchor", + "meta_historical_capability" + ], + "step_payload": { + "step_id": "step_02_inventory_historical_root", + "title": "Historical inventory root on March 2016", + "question": "что там на складе по остаткам на март 2016?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_recipe": "address_inventory_on_hand_as_of_date_v1", + "required_filters": { + "as_of_date": "2016-03-31", + "period_from": "2016-03-01", + "period_to": "2016-03-31" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2016", + "(?i)на складе|остат" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "historical_date_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_03_selected_item_purchase_provenance", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_03_selected_item_purchase_provenance", + "title": "Selected workstation purchase provenance", + "question": "по выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "inventory_provenance", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_03_selected_item_purchase_provenance", + "title": "Selected workstation purchase provenance", + "question": "по выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_recipe": "address_inventory_purchase_provenance_for_item_v1", + "required_filters": { + "item": "Рабочая станция универсального специалиста (индивидуальное изготовление)" + }, + "required_direct_answer_patterns_any": [ + "(?i)закуп|поступлен|постав", + "(?i)рабочая станция" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "inventory_provenance" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_04_meta_verify_interrupt", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_04_meta_verify_interrupt", + "title": "Verification interrupt remains honest and does not leak technical garbage", + "question": "у тебя написано кто контрагент: рабочая станция - это ошибка?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_verify", + "continuity_interrupt" + ], + "step_payload": { + "step_id": "step_04_meta_verify_interrupt", + "title": "Verification interrupt remains honest and does not leak technical garbage", + "question": "у тебя написано кто контрагент: рабочая станция - это ошибка?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)не удается|не могу|не получается|не подтвержден", + "(?i)контрагент|рабочая станция" + ], + "forbidden_direct_answer_patterns": [ + "(?i)address lane", + "(?i)partial_coverage", + "(?i)capability", + "(?i)mcp" + ], + "criticality": "important", + "semantic_tags": [ + "meta_verify", + "continuity_interrupt" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_05_vat_on_purchase_date_after_interrupt", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_05_vat_on_purchase_date_after_interrupt", + "title": "VAT bridge still works after the verification interrupt", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "bridge_inventory_to_vat", + "selected_object", + "continuity_after_interrupt", + "vat" + ], + "step_payload": { + "step_id": "step_05_vat_on_purchase_date_after_interrupt", + "title": "VAT bridge still works after the verification interrupt", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)2015|феврал|налогов" + ], + "forbidden_direct_answer_patterns": [ + "(?i)такой сценарий пока не поддерживается", + "(?i)mcp", + "(?i)address_mode", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "bridge_inventory_to_vat", + "selected_object", + "continuity_after_interrupt" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_06_colloquial_vat_march_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_06_colloquial_vat_march_2020", + "title": "Colloquial VAT wording survives predecompose", + "question": "а какой ндс мы должны сгрузить на март 2020?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period", + "vat_payable_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "vat_colloquial_wording", + "predecompose_guard", + "vat" + ], + "step_payload": { + "step_id": "step_06_colloquial_vat_march_2020", + "title": "Colloquial VAT wording survives predecompose", + "question": "а какой ндс мы должны сгрузить на март 2020?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period", + "vat_payable_confirmed_as_of_date" + ], + "required_filters": { + "period_from": "2020-03-01", + "period_to": "2020-03-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)2020|март" + ], + "forbidden_direct_answer_patterns": [ + "(?i)недостаточно информации", + "(?i)уточните, пожалуйста", + "(?i)mcp", + "(?i)address_mode" + ], + "criticality": "critical", + "semantic_tags": [ + "vat_colloquial_wording", + "predecompose_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_07_vat_february_2017_live", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_07_vat_february_2017_live", + "title": "Confirmed VAT route stays alive on February 2017", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "criticality": "important", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "vat_liability_live", + "route_stability", + "vat" + ], + "step_payload": { + "step_id": "step_07_vat_february_2017_live", + "title": "Confirmed VAT route stays alive on February 2017", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)2017|феврал" + ], + "criticality": "important", + "semantic_tags": [ + "vat_liability_live", + "route_stability" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_08_contract_delta_capability_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_08_contract_delta_capability_meta", + "title": "Contract-delta capability question must not fall back into stale VAT analytics", + "question": "ты умеешь считать дельту по договорам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability", + "capability_over_followup" + ], + "step_payload": { + "step_id": "step_08_contract_delta_capability_meta", + "title": "Contract-delta capability question must not fall back into stale VAT analytics", + "question": "ты умеешь считать дельту по договорам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_direct_answer_patterns_any": [ + "(?i)могу|умею|не умею|пока не", + "(?i)договор" + ], + "forbidden_direct_answer_patterns": [ + "(?i)ндс к уплате", + "(?i)налоговый период", + "(?i)топ-5 заказчиков", + "(?i)чепурнов", + "(?i)группа свк" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_capability", + "capability_over_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_09_counterparty_docs_anchor", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_09_counterparty_docs_anchor", + "title": "Counterparty document root for Чепурнов", + "question": "по Чепурнову покажи все доки", + "criticality": "important", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_root", + "documents", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_09_counterparty_docs_anchor", + "title": "Counterparty document root for Чепурнов", + "question": "по Чепурнову покажи все доки", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_recipe": "address_documents_by_counterparty_v1", + "required_direct_answer_patterns_any": [ + "(?i)чепурнов", + "(?i)документ|поступление" + ], + "criticality": "important", + "semantic_tags": [ + "counterparty_root", + "documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase11_manual_followup_meta_quality:step_10_short_counterparty_retarget_name", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase11_manual_followup_meta_quality.json", + "source_title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery", + "scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality", + "domain": "address_phase11_manual_followup_meta_quality", + "reusable_in_agent_pack": true, + "step_id": "step_10_short_counterparty_retarget_name", + "title": "Short follow-up keeps the real counterparty name instead of a generic group label", + "question": "а по свк", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_followup", + "display_name_integrity" + ], + "step_payload": { + "step_id": "step_10_short_counterparty_retarget_name", + "title": "Short follow-up keeps the real counterparty name instead of a generic group label", + "question": "а по свк", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)свк|группа свк", + "(?i)документ|поступление" + ], + "forbidden_direct_answer_patterns": [ + "(?i)контрагент: группа\\s+найдено", + "(?im)^контрагент: группа\\.?$", + "(?i)глубина live-выборки", + "(?i)mcp" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_followup", + "display_name_integrity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_01_smalltalk_with_scope_offer", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk_with_scope_offer", + "title": "Fresh smalltalk offers organization scope without technical garbage", + "question": "приветик - че как там дела", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_smalltalk", + "proactive_scope_offer" + ], + "step_payload": { + "step_id": "step_01_smalltalk_with_scope_offer", + "title": "Fresh smalltalk offers organization scope without technical garbage", + "question": "приветик - че как там дела", + "required_answer_patterns_all": [ + "(?i)привет|дела|норм|помочь", + "(?i)организац|компан|альтернатива плюс|лайсвуд|райм|по какой организации|название компании" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)address_mode", + "(?i)living_reason", + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot_items", + "(?i)какой сегодня день" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_smalltalk", + "proactive_scope_offer" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_02_choose_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_organization", + "title": "Explicit company choice fixes active organization for the full session", + "question": "Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "company_selected", + "organization_authority" + ], + "step_payload": { + "step_id": "step_02_choose_organization", + "title": "Explicit company choice fixes active organization for the full session", + "question": "Альтернатива Плюс", + "required_answer_patterns_all": [ + "(?i)зафиксир|рабочую организац|работаем по", + "(?i)альтернатива плюс" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot_items", + "(?i)программная платформа", + "(?i)нет моего прямого доступа" + ], + "criticality": "critical", + "semantic_tags": [ + "company_selected", + "organization_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_03_capability_meta_human", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_03_capability_meta_human", + "title": "Capability meta answer stays human and business-first", + "question": "расскажи что можешь интересного", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability", + "human_answer_quality" + ], + "step_payload": { + "step_id": "step_03_capability_meta_human", + "title": "Capability meta answer stays human and business-first", + "question": "расскажи что можешь интересного", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)могу|умею", + "(?i)ндс|документ|контрагент|долг|склад|остатк" + ], + "forbidden_direct_answer_patterns": [ + "(?i)read_only", + "(?i)mcp", + "(?i)snapshot", + "(?i)capability", + "(?i)assistant_state", + "(?i)open item" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_capability", + "human_answer_quality" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_04_inventory_root_today", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_04_inventory_root_today", + "title": "Inventory root respects the selected organization", + "question": "кайф - что там на складе по остаткам?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "company_authority" + ], + "step_payload": { + "step_id": "step_04_inventory_root_today", + "title": "Inventory root respects the selected organization", + "question": "кайф - что там на складе по остаткам?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "{{runtime.today_iso}}", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "(?i)на складе|остат", + "{{runtime.today_dot_regex}}" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "company_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_05_inventory_history_capability", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_history_capability", + "title": "Historical inventory capability follow-up stays human", + "question": "а исторические остатки на другие даты умеешь?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_historical_capability", + "inventory_root", + "meta_capability" + ], + "step_payload": { + "step_id": "step_05_inventory_history_capability", + "title": "Historical inventory capability follow-up stays human", + "question": "а исторические остатки на другие даты умеешь?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)историческ|история", + "(?i)могу|умею" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)hard_meta_mode", + "(?i)mcp", + "(?i)read_only" + ], + "criticality": "important", + "semantic_tags": [ + "meta_historical_capability", + "inventory_root" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_06_inventory_march_2016", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_06_inventory_march_2016", + "title": "Historical inventory root on March 2016", + "question": "март 2016", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "historical_date_anchor" + ], + "step_payload": { + "step_id": "step_06_inventory_march_2016", + "title": "Historical inventory root on March 2016", + "question": "март 2016", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2016-03-31", + "period_from": "2016-03-01", + "period_to": "2016-03-31", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2016", + "(?i)на складе|остат" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "historical_date_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_07_selected_item_purchase_provenance", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_07_selected_item_purchase_provenance", + "title": "Selected workstation purchase provenance", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "inventory_provenance", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_07_selected_item_purchase_provenance", + "title": "Selected workstation purchase provenance", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_recipe": "address_inventory_purchase_provenance_for_item_v1", + "required_filters": { + "item": "Рабочая станция универсального специалиста (индивидуальное изготовление)" + }, + "required_direct_answer_patterns_any": [ + "(?i)закуп|поступлен|постав", + "(?i)рабочая станция" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "inventory_provenance" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_08_selected_item_sale_trace", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_08_selected_item_sale_trace", + "title": "Selected item sale trace keeps the same object contour", + "question": "а кому продали?", + "criticality": "critical", + "expected_intents": [ + "inventory_sale_trace_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "inventory_sale_trace", + "selected_object_sale" + ], + "step_payload": { + "step_id": "step_08_selected_item_sale_trace", + "title": "Selected item sale trace keeps the same object contour", + "question": "а кому продали?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_sale_trace_for_item" + ], + "required_direct_answer_patterns_any": [ + "(?i)рабочая станция|товару", + "(?i)покупател|выбыти|продал|не выделен" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "inventory_sale_trace" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_09_vat_on_purchase_date_bridge", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_09_vat_on_purchase_date_bridge", + "title": "VAT bridge works from selected item purchase provenance", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "bridge_inventory_to_vat", + "selected_object", + "vat" + ], + "step_payload": { + "step_id": "step_09_vat_on_purchase_date_bridge", + "title": "VAT bridge works from selected item purchase provenance", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)2015|феврал|налогов" + ], + "forbidden_direct_answer_patterns": [ + "(?i)сценарий пока не поддерживается", + "(?i)mcp", + "(?i)tool_gate_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "bridge_inventory_to_vat", + "selected_object" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_10_best_customer_all_time", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_10_best_customer_all_time", + "title": "Top customer aggregate survives after the VAT bridge", + "question": "кто у нас самый доходный клиент за все время", + "criticality": "important", + "expected_intents": [ + "customer_revenue_and_payments" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "aggregate_revenue", + "cross_domain_pivot" + ], + "step_payload": { + "step_id": "step_10_best_customer_all_time", + "title": "Top customer aggregate survives after the VAT bridge", + "question": "кто у нас самый доходный клиент за все время", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "customer_revenue_and_payments" + ], + "required_direct_answer_patterns_any": [ + "(?i)доходн|поступлен|клиент|заказчик", + "(?i)свк|группа" + ], + "criticality": "important", + "semantic_tags": [ + "aggregate_revenue", + "cross_domain_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_11_receivables_may_2017", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_11_receivables_may_2017", + "title": "Receivables root establishes May 2017 carryover", + "question": "кто нам должен денег на май 2017", + "criticality": "critical", + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_receivables", + "date_carryover" + ], + "step_payload": { + "step_id": "step_11_receivables_may_2017", + "title": "Receivables root establishes May 2017 carryover", + "question": "кто нам должен денег на май 2017", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "required_filters": { + "as_of_date": "2017-05-31", + "period_from": "2017-05-01", + "period_to": "2017-05-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)дебитор", + "31\\.05\\.2017" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_receivables", + "date_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_12_vat_same_period_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_12_vat_same_period_followup", + "title": "VAT follow-up reuses the same period instead of drifting", + "question": "а какой ндс мы должны примерно заплатить за этот период?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "vat_followup", + "same_period_restore", + "vat" + ], + "step_payload": { + "step_id": "step_12_vat_same_period_followup", + "title": "VAT follow-up reuses the same period instead of drifting", + "question": "а какой ндс мы должны примерно заплатить за этот период?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)2017|май|налогов" + ], + "criticality": "critical", + "semantic_tags": [ + "vat_followup", + "same_period_restore" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_13_payables_today", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_13_payables_today", + "title": "Payables root on today stays exact and organization-scoped", + "question": "мы должны комуто денег на сегодня?", + "criticality": "critical", + "expected_intents": [ + "payables_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_payables", + "today_scope" + ], + "step_payload": { + "step_id": "step_13_payables_today", + "title": "Payables root on today stays exact and organization-scoped", + "question": "мы должны комуто денег на сегодня?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "payables_confirmed_as_of_date" + ], + "required_filters": { + "as_of_date": "{{runtime.today_iso}}" + }, + "required_direct_answer_patterns_any": [ + "(?i)долг к оплате|обязательств", + "{{runtime.today_dot_regex}}" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_payables", + "today_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_14_receivables_mirror_today", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_14_receivables_mirror_today", + "title": "Short mirror follow-up flips from payables to receivables on the same date", + "question": "а нам?", + "criticality": "critical", + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_mirror_followup", + "same_date_restore", + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_14_receivables_mirror_today", + "title": "Short mirror follow-up flips from payables to receivables on the same date", + "question": "а нам?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "required_direct_answer_patterns_any": [ + "(?i)дебитор", + "{{runtime.today_dot_regex}}" + ], + "required_filters": { + "as_of_date": "{{runtime.today_iso}}" + }, + "criticality": "critical", + "semantic_tags": [ + "settlements_mirror_followup", + "same_date_restore" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_15_contract_delta_capability_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_15_contract_delta_capability_meta", + "title": "Contract-delta capability question stays in capability-meta lane", + "question": "ты умеешь считать дельту по договорам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability", + "capability_over_followup" + ], + "step_payload": { + "step_id": "step_15_contract_delta_capability_meta", + "title": "Contract-delta capability question stays in capability-meta lane", + "question": "ты умеешь считать дельту по договорам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_direct_answer_patterns_any": [ + "(?i)могу|умею|не умею|пока не", + "(?i)договор" + ], + "forbidden_direct_answer_patterns": [ + "(?i)ндс к уплате", + "(?i)налоговый период", + "(?i)топ-5 заказчиков", + "(?i)чепурнов", + "(?i)группа свк" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_capability", + "capability_over_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_16_counterparty_docs_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_16_counterparty_docs_root", + "title": "Counterparty documents root for Чепурнов stays exact", + "question": "по чепурнову покажи все доки", + "criticality": "important", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_root", + "documents", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_16_counterparty_docs_root", + "title": "Counterparty documents root for Чепурнов stays exact", + "question": "по чепурнову покажи все доки", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_recipe": "address_documents_by_counterparty_v1", + "required_direct_answer_patterns_any": [ + "(?i)чепурнов", + "(?i)документ|поступление" + ], + "criticality": "important", + "semantic_tags": [ + "counterparty_root", + "documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_17_short_counterparty_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_17_short_counterparty_followup", + "title": "Short counterparty follow-up keeps the real name instead of generic garbage", + "question": "а по свк", + "criticality": "important", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_followup", + "display_label_integrity" + ], + "step_payload": { + "step_id": "step_17_short_counterparty_followup", + "title": "Short counterparty follow-up keeps the real name instead of generic garbage", + "question": "а по свк", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)свк|группа свк", + "(?i)документ|поступление" + ], + "forbidden_direct_answer_patterns": [ + "(?i)контрагент: группа\\s+найдено", + "(?im)^контрагент: группа\\.?$", + "(?i)mcp" + ], + "criticality": "important", + "semantic_tags": [ + "counterparty_followup", + "display_label_integrity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_18_open_items_account_60", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_18_open_items_account_60", + "title": "Account 60 tails stay exact after the long mixed session", + "question": "хвосты покажи по счету 60 на август 2022", + "criticality": "critical", + "expected_intents": [ + "open_items_by_counterparty_or_contract" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_account_60" + ], + "step_payload": { + "step_id": "step_18_open_items_account_60", + "title": "Account 60 tails stay exact after the long mixed session", + "question": "хвосты покажи по счету 60 на август 2022", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "open_items_by_counterparty_or_contract" + ], + "required_filters": { + "account": "60", + "period_from": "2022-08-01", + "period_to": "2022-08-31", + "as_of_date": "2022-08-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)счету 60|счёту 60", + "(?i)хвост|открыт" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_account_60" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_19_inventory_aging_old_purchases", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_19_inventory_aging_old_purchases", + "title": "Old-purchase inventory aging stays reachable after the long mixed session", + "question": "Есть ли остатки товара, которые закупались очень давно", + "criticality": "critical", + "expected_intents": [ + "inventory_aging_by_purchase_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_aging", + "late_session_stability", + "inventory_root" + ], + "step_payload": { + "step_id": "step_19_inventory_aging_old_purchases", + "title": "Old-purchase inventory aging stays reachable after the long mixed session", + "question": "Есть ли остатки товара, которые закупались очень давно", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "inventory_aging_by_purchase_date" + ], + "required_direct_answer_patterns_any": [ + "(?i)стар|давно|ранней первой закупк", + "(?i)остат|закуп" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_aging", + "late_session_stability" + ] + } + }, + { + "entry_id": "address_truth_harness_phase12_wider_saved_session_pool:step_20_company_activity_age", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase12_wider_saved_session_pool.json", + "source_title": "Phase 12 wider saved-session replay for multi-trajectory organization authority", + "scenario_id": "address_truth_harness_phase12_wider_saved_session_pool", + "domain": "address_phase12_wider_saved_session_pool", + "reusable_in_agent_pack": true, + "step_id": "step_20_company_activity_age", + "title": "Organization activity age remains reachable at the tail of the long session", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_activity_age", + "tail_authority_proof" + ], + "step_payload": { + "step_id": "step_20_company_activity_age", + "title": "Organization activity age remains reachable at the tail of the long session", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_recipe": "address_counterparty_activity_lifecycle_v1", + "required_direct_answer_patterns_any": [ + "(?i)активност", + "(?i)первая подтвержденная|последняя подтвержденная|лет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните точное наименование организации" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_activity_age", + "tail_authority_proof" + ] + } + }, + { + "entry_id": "address_truth_harness_phase13_hybrid_followup_authority:step_01_supplier_tails_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase13_hybrid_followup_authority.json", + "source_title": "Phase 13 hybrid investigation follow-up authority replay", + "scenario_id": "address_truth_harness_phase13_hybrid_followup_authority", + "domain": "address_phase13_hybrid_followup_authority", + "reusable_in_agent_pack": true, + "step_id": "step_01_supplier_tails_root", + "title": "Root supplier tails investigation enters the hybrid investigation lane", + "question": "Разложи хвосты по поставщикам: где разрыв между оплатой и документами выглядит системным.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "hybrid_investigation_root", + "settlements_60_62", + "anomaly_probe" + ], + "step_payload": { + "step_id": "step_01_supplier_tails_root", + "title": "Root supplier tails investigation enters the hybrid investigation lane", + "question": "Разложи хвосты по поставщикам: где разрыв между оплатой и документами выглядит системным.", + "allowed_reply_types": [ + "factual_with_explanation", + "factual", + "partial_coverage" + ], + "required_answer_patterns_any": [ + "(?i)разрыв|хвост|поставщик|оплат|документ", + "(?i)системн|проблем" + ], + "forbidden_answer_patterns": [ + "(?i)mcp fetch failed", + "(?i)address_query_runtime_v1", + "(?i)live-?запрос в v1", + "(?i)tool_gate_reason", + "(?i)address_mode" + ], + "criticality": "critical", + "semantic_tags": [ + "hybrid_investigation_root", + "settlements_60_62", + "anomaly_probe" + ] + } + }, + { + "entry_id": "address_truth_harness_phase13_hybrid_followup_authority:step_02_narrow_to_june_2020_account_60", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase13_hybrid_followup_authority.json", + "source_title": "Phase 13 hybrid investigation follow-up authority replay", + "scenario_id": "address_truth_harness_phase13_hybrid_followup_authority", + "domain": "address_phase13_hybrid_followup_authority", + "reusable_in_agent_pack": true, + "step_id": "step_02_narrow_to_june_2020_account_60", + "title": "Narrowing follow-up keeps the same investigation instead of drifting into address live lane", + "question": "Сузь до периода 2020-06 и счета 60, покажи только случаи с максимальным риском закрытия периода.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "hybrid_investigation_followup", + "period_narrowing", + "account_60", + "period_close_risk" + ], + "step_payload": { + "step_id": "step_02_narrow_to_june_2020_account_60", + "title": "Narrowing follow-up keeps the same investigation instead of drifting into address live lane", + "question": "Сузь до периода 2020-06 и счета 60, покажи только случаи с максимальным риском закрытия периода.", + "allowed_reply_types": [ + "factual_with_explanation", + "factual", + "partial_coverage" + ], + "required_answer_patterns_any": [ + "(?i)2020", + "(?i)июн|06", + "(?i)счет 60|60", + "(?i)риск закрытия периода|закрыти[ея] периода|максимальн" + ], + "forbidden_answer_patterns": [ + "(?i)mcp fetch failed", + "(?i)live-?запрос в v1", + "(?i)адресн(ый|ого) live", + "(?i)выберите организац", + "(?i)tool_gate_reason", + "(?i)address_mode" + ], + "criticality": "critical", + "semantic_tags": [ + "hybrid_investigation_followup", + "period_narrowing", + "account_60", + "period_close_risk" + ] + } + }, + { + "entry_id": "address_truth_harness_phase13_hybrid_followup_authority:step_03_period_close_impact_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase13_hybrid_followup_authority.json", + "source_title": "Phase 13 hybrid investigation follow-up authority replay", + "scenario_id": "address_truth_harness_phase13_hybrid_followup_authority", + "domain": "address_phase13_hybrid_followup_authority", + "reusable_in_agent_pack": true, + "step_id": "step_03_period_close_impact_followup", + "title": "Period-close impact follow-up reuses the active anomaly frame", + "question": "Что в текущих аномалиях сильнее всего повлияет на закрытие периода, если ничего не исправлять?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "hybrid_investigation_followup", + "period_close_impact", + "context_reuse" + ], + "step_payload": { + "step_id": "step_03_period_close_impact_followup", + "title": "Period-close impact follow-up reuses the active anomaly frame", + "question": "Что в текущих аномалиях сильнее всего повлияет на закрытие периода, если ничего не исправлять?", + "allowed_reply_types": [ + "factual_with_explanation", + "factual", + "partial_coverage", + "clarification_required" + ], + "required_answer_patterns_any": [ + "(?i)закрыти[ея] периода|период", + "(?i)аномал|риск|сильнее всего|наибольш" + ], + "forbidden_answer_patterns": [ + "(?i)нужны дополнительные уточнения по периоду или объекту проверки", + "(?i)domain_or_scope_unclear", + "(?i)insufficient_specificity", + "(?i)mcp fetch failed", + "(?i)tool_gate_reason", + "(?i)address_mode" + ], + "criticality": "critical", + "semantic_tags": [ + "hybrid_investigation_followup", + "period_close_impact", + "context_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase13_hybrid_followup_authority:step_04_translit_supplier_tails_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase13_hybrid_followup_authority.json", + "source_title": "Phase 13 hybrid investigation follow-up authority replay", + "scenario_id": "address_truth_harness_phase13_hybrid_followup_authority", + "domain": "address_phase13_hybrid_followup_authority", + "reusable_in_agent_pack": true, + "step_id": "step_04_translit_supplier_tails_root", + "title": "Transliterated supplier tails wording still resolves into the hybrid contour", + "question": "Prover schet 60 za 2020-06, gde taili postavshikov i kakie dokumenty ne zakryvayut oplaty.", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "hybrid_investigation_root", + "translit_wording", + "account_60" + ], + "step_payload": { + "step_id": "step_04_translit_supplier_tails_root", + "title": "Transliterated supplier tails wording still resolves into the hybrid contour", + "question": "Prover schet 60 za 2020-06, gde taili postavshikov i kakie dokumenty ne zakryvayut oplaty.", + "allowed_reply_types": [ + "factual_with_explanation", + "factual", + "partial_coverage" + ], + "required_answer_patterns_any": [ + "(?i)60", + "(?i)2020", + "(?i)документ|оплат|поставщик|хвост|разрыв|tail" + ], + "forbidden_answer_patterns": [ + "(?i)mcp fetch failed", + "(?i)live-?запрос в v1", + "(?i)выберите организац", + "(?i)tool_gate_reason", + "(?i)address_mode" + ], + "criticality": "important", + "semantic_tags": [ + "hybrid_investigation_root", + "translit_wording", + "account_60" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_01_data_scope_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_01_data_scope_meta", + "title": "Session starts with a human company-scope answer", + "question": "по какой компании мы сейчас работаем?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "data_scope_meta", + "multi_company_entry", + "meta_scope" + ], + "step_payload": { + "step_id": "step_01_data_scope_meta", + "title": "Session starts with a human company-scope answer", + "question": "по какой компании мы сейчас работаем?", + "required_answer_patterns_all": [ + "(?i)компан|организац|контур", + "(?i)альтернатива плюс|лайсвуд|райм" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot_items", + "(?i)tool_gate_reason", + "(?i)living_reason" + ], + "criticality": "critical", + "semantic_tags": [ + "data_scope_meta", + "multi_company_entry" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_02_choose_organization_after_clarification", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_organization_after_clarification", + "title": "Explicit organization selection fixes the contour for the tail session", + "question": "Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_authority", + "company_selected" + ], + "step_payload": { + "step_id": "step_02_choose_organization_after_clarification", + "title": "Explicit organization selection fixes the contour for the tail session", + "question": "Альтернатива Плюс", + "required_answer_patterns_all": [ + "(?i)зафиксир|работаем по|рабочую организац", + "(?i)Альтернатива Плюс" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)не могу определить" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_authority", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_03_counterparty_docs_after_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_03_counterparty_docs_after_choice", + "title": "Counterparty-documents root becomes exact after company choice", + "question": "по чепурнову покажи все доки", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_root", + "company_selected", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_03_counterparty_docs_after_choice", + "title": "Counterparty-documents root becomes exact after company choice", + "question": "по чепурнову покажи все доки", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_recipe": "address_documents_by_counterparty_v1", + "required_direct_answer_patterns_any": [ + "(?i)чепурнов", + "(?i)документ|поступление" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_root", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_04_short_counterparty_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_04_short_counterparty_followup", + "title": "Short-name counterparty follow-up keeps the correct target and name", + "question": "а по свк", + "criticality": "important", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_followup", + "display_label_integrity" + ], + "step_payload": { + "step_id": "step_04_short_counterparty_followup", + "title": "Short-name counterparty follow-up keeps the correct target and name", + "question": "а по свк", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)свк|группа свк", + "(?i)документ|поступление" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организац", + "(?i)контрагент: группа\\s+найдено", + "(?i)mcp" + ], + "criticality": "important", + "semantic_tags": [ + "counterparty_followup", + "display_label_integrity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_05_inventory_today_after_counterparty_tail", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_today_after_counterparty_tail", + "title": "Inventory pivot after counterparty docs keeps the selected organization", + "question": "а сейчас у нас есть что на складе?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "cross_domain_pivot" + ], + "step_payload": { + "step_id": "step_05_inventory_today_after_counterparty_tail", + "title": "Inventory pivot after counterparty docs keeps the selected organization", + "question": "а сейчас у нас есть что на складе?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2026-04-18", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "(?i)на складе|остат", + "18\\.04\\.2026" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организац", + "(?i)по какой компании" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "cross_domain_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_06_open_items_account_60_august_2022", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_06_open_items_account_60_august_2022", + "title": "Account 60 tails stay exact after the counterparty-to-inventory pivot", + "question": "хвосты покажи по счету 60 на август 2022", + "criticality": "critical", + "expected_intents": [ + "open_items_by_counterparty_or_contract" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_account_60", + "late_session_tail" + ], + "step_payload": { + "step_id": "step_06_open_items_account_60_august_2022", + "title": "Account 60 tails stay exact after the counterparty-to-inventory pivot", + "question": "хвосты покажи по счету 60 на август 2022", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "open_items_by_counterparty_or_contract" + ], + "required_filters": { + "account": "60", + "period_from": "2022-08-01", + "period_to": "2022-08-31", + "as_of_date": "2022-08-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)счету 60|счёту 60", + "(?i)хвост|открыт|не найдено" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_account_60", + "late_session_tail" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_07_inventory_aging_old_purchases", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_07_inventory_aging_old_purchases", + "title": "Old-purchase inventory aging remains reachable late in the same session", + "question": "Есть ли остатки товара, которые закупались очень давно", + "criticality": "critical", + "expected_intents": [ + "inventory_aging_by_purchase_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_aging", + "late_session_stability", + "inventory_root" + ], + "step_payload": { + "step_id": "step_07_inventory_aging_old_purchases", + "title": "Old-purchase inventory aging remains reachable late in the same session", + "question": "Есть ли остатки товара, которые закупались очень давно", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "inventory_aging_by_purchase_date" + ], + "required_direct_answer_patterns_any": [ + "(?i)стар|давно|ранней первой закупк", + "(?i)остат|закуп" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_aging", + "late_session_stability" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_08_inventory_may_2020_after_aging", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_08_inventory_may_2020_after_aging", + "title": "Historical inventory root restores a concrete month after the aging branch", + "question": "Какие конкретно номенклатуры формируют остаток по складу на май 2020", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "historical_restore" + ], + "step_payload": { + "step_id": "step_08_inventory_may_2020_after_aging", + "title": "Historical inventory root restores a concrete month after the aging branch", + "question": "Какие конкретно номенклатуры формируют остаток по складу на май 2020", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2020-05-31", + "period_from": "2020-05-01", + "period_to": "2020-05-31", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "31\\.05\\.2020", + "(?i)позици|остат" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "historical_restore" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_09_company_activity_age_tail", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_09_company_activity_age_tail", + "title": "Organization activity age still works at the tail of the mixed session", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_activity_age", + "tail_authority_proof" + ], + "step_payload": { + "step_id": "step_09_company_activity_age_tail", + "title": "Organization activity age still works at the tail of the mixed session", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_recipe": "address_counterparty_activity_lifecycle_v1", + "required_direct_answer_patterns_any": [ + "(?i)активност", + "(?i)первая подтвержденная|последняя подтвержденная|лет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните точное наименование организации" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_activity_age", + "tail_authority_proof" + ] + } + }, + { + "entry_id": "address_truth_harness_phase14_counterparty_tail_resume:step_10_company_activity_assessment_tail", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase14_counterparty_tail_resume.json", + "source_title": "Phase 14 counterparty-tail replay for late-session authority breadth", + "scenario_id": "address_truth_harness_phase14_counterparty_tail_resume", + "domain": "address_phase14_counterparty_tail_resume", + "reusable_in_agent_pack": true, + "step_id": "step_10_company_activity_assessment_tail", + "title": "Tail activity assessment stays business-first instead of collapsing to garbage", + "question": "Как ты оценишь деятельность компании?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "activity_assessment", + "tail_quality" + ], + "step_payload": { + "step_id": "step_10_company_activity_assessment_tail", + "title": "Tail activity assessment stays business-first instead of collapsing to garbage", + "question": "Как ты оценишь деятельность компании?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_direct_answer_patterns_any": [ + "(?i)коротко|активн", + "(?i)операц|заказчик|активност|последняя активность" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason" + ], + "criticality": "important", + "semantic_tags": [ + "activity_assessment", + "tail_quality" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_01_smalltalk_scope_offer", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk_scope_offer", + "title": "Smalltalk entry offers organization proactively", + "question": "приветик - че как там дела", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "smalltalk_entry", + "scope_offer", + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_smalltalk_scope_offer", + "title": "Smalltalk entry offers organization proactively", + "question": "приветик - че как там дела", + "required_answer_patterns_all": [ + "(?i)привет", + "(?i)альтернатива плюс|лайсвуд|райм" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)tool_gate_reason", + "(?i)living_reason" + ], + "criticality": "important", + "semantic_tags": [ + "smalltalk_entry", + "scope_offer" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_02_choose_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_organization", + "title": "Explicit company selection fixes the session contour", + "question": "Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_authority" + ], + "step_payload": { + "step_id": "step_02_choose_organization", + "title": "Explicit company selection fixes the session contour", + "question": "Альтернатива Плюс", + "required_answer_patterns_all": [ + "(?i)зафиксир|рабочую организац|работаем по", + "(?i)Альтернатива Плюс" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_03_inventory_march_2016", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_march_2016", + "title": "Current inventory root enters the warehouse contour first", + "question": "что там на складе по остаткам?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "current_snapshot" + ], + "step_payload": { + "step_id": "step_03_inventory_march_2016", + "title": "Current inventory root enters the warehouse contour first", + "question": "что там на складе по остаткам?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_recipe": "address_inventory_on_hand_as_of_date_v1", + "required_filters": { + "as_of_date": "{{runtime.today_iso}}", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "(?i)на складе|остат", + "{{runtime.today_dot_regex}}" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "current_snapshot" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_04_inventory_history_capability", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_04_inventory_history_capability", + "title": "Inventory history capability handshake before month-only follow-up", + "question": "а исторические остатки на другие даты умеешь?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_history_capability", + "context_setup", + "meta_capability", + "meta_historical_capability", + "inventory_root" + ], + "step_payload": { + "step_id": "step_04_inventory_history_capability", + "title": "Inventory history capability handshake before month-only follow-up", + "question": "а исторические остатки на другие даты умеешь?", + "allowed_reply_types": [ + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)^да, могу", + "(?i)историческ", + "(?i)дат|месяц|год" + ], + "criticality": "important", + "semantic_tags": [ + "inventory_history_capability", + "context_setup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_05_inventory_march_2016", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_march_2016", + "title": "Historical inventory anchor on March 2016", + "question": "март 2016", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "historical_anchor" + ], + "step_payload": { + "step_id": "step_05_inventory_march_2016", + "title": "Historical inventory anchor on March 2016", + "question": "март 2016", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_recipe": "address_inventory_on_hand_as_of_date_v1", + "required_filters": { + "as_of_date": "2016-03-31", + "period_from": "2016-03-01", + "period_to": "2016-03-31", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2016", + "(?i)на складе" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "historical_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_06_selected_item_purchase_provenance", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_06_selected_item_purchase_provenance", + "title": "Selected workstation purchase provenance", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "purchase_provenance", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_06_selected_item_purchase_provenance", + "title": "Selected workstation purchase provenance", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_recipe": "address_inventory_purchase_provenance_for_item_v1", + "required_filters": { + "item": "Рабочая станция универсального специалиста (индивидуальное изготовление)", + "as_of_date": "{{step_05_inventory_march_2016.filters.as_of_date}}" + }, + "required_direct_answer_patterns_any": [ + "(?i)рабочая станция", + "(?i)поставщик|закуп" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "purchase_provenance" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_07_selected_item_sale_trace", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_07_selected_item_sale_trace", + "title": "Buyer / sale trace follow-up on the same selected item", + "question": "а кому продали?", + "criticality": "critical", + "expected_intents": [ + "inventory_sale_trace_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "sale_trace", + "selected_object_sale" + ], + "step_payload": { + "step_id": "step_07_selected_item_sale_trace", + "title": "Buyer / sale trace follow-up on the same selected item", + "question": "а кому продали?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_sale_trace_for_item" + ], + "expected_recipe": "address_inventory_sale_trace_for_item_v1", + "required_filters": { + "item": "Рабочая станция универсального специалиста (индивидуальное изготовление)", + "as_of_date": "{{step_05_inventory_march_2016.filters.as_of_date}}" + }, + "required_direct_answer_patterns_any": [ + "(?i)покупател|выбыт|прод", + "(?i)рабочая станция" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "sale_trace" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_08_answer_inspection_counterparty_label", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_08_answer_inspection_counterparty_label", + "title": "Result-inspection follow-up stays grounded instead of unsupported", + "question": "у тебя написано кто контрагент: рабочая станция - это ошибка?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "answer_inspection", + "selected_object_context", + "grounded_self_correction" + ], + "step_payload": { + "step_id": "step_08_answer_inspection_counterparty_label", + "title": "Result-inspection follow-up stays grounded instead of unsupported", + "question": "у тебя написано кто контрагент: рабочая станция - это ошибка?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_direct_answer_patterns_any": [ + "(?i)рабочая станция", + "(?i)контрагент|номенклатур|позици|товар|поле" + ], + "forbidden_direct_answer_patterns": [ + "(?i)пока не поддерживается", + "(?i)ограничени[яй] адресного режима", + "(?i)не представляется возможным", + "(?i)система не поддерживает", + "(?i)tool_gate_reason", + "(?i)mcp" + ], + "criticality": "critical", + "semantic_tags": [ + "answer_inspection", + "selected_object_context", + "grounded_self_correction" + ] + } + }, + { + "entry_id": "address_truth_harness_phase15_answer_inspection_followup:step_09_vat_on_purchase_date_after_inspection", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase15_answer_inspection_followup.json", + "source_title": "Phase 15 answer-inspection replay for selected-item trace continuity", + "scenario_id": "address_truth_harness_phase15_answer_inspection_followup", + "domain": "address_phase15_answer_inspection_followup", + "reusable_in_agent_pack": true, + "step_id": "step_09_vat_on_purchase_date_after_inspection", + "title": "VAT bridge survives after the inspection turn", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "purchase_date_vat_bridge", + "selected_object", + "post_inspection_continuity", + "vat" + ], + "step_payload": { + "step_id": "step_09_vat_on_purchase_date_after_inspection", + "title": "VAT bridge survives after the inspection turn", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "required_direct_answer_patterns_any": [ + "(?i)ндс", + "(?i)дата покупки|налогов|период|2015|феврал|июл" + ], + "forbidden_direct_answer_patterns": [ + "(?i)пока не поддерживается", + "(?i)ограничени[яй] адресного режима", + "(?i)tool_gate_reason", + "(?i)mcp" + ], + "criticality": "critical", + "semantic_tags": [ + "purchase_date_vat_bridge", + "selected_object", + "post_inspection_continuity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_01_smalltalk_scope_offer", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk_scope_offer", + "title": "Smalltalk entry proactively offers organization scope", + "question": "приветик, как дела?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "smalltalk_entry", + "scope_offer", + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_smalltalk_scope_offer", + "title": "Smalltalk entry proactively offers organization scope", + "question": "приветик, как дела?", + "required_answer_patterns_all": [ + "(?i)привет|норм|дела", + "(?i)организац|компан|альтернатива плюс|лайсвуд|райм" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)tool_gate_reason", + "(?i)living_reason", + "(?i)snapshot_items" + ], + "criticality": "critical", + "semantic_tags": [ + "smalltalk_entry", + "scope_offer" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_02_choose_alternative_plus", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_alternative_plus", + "title": "Explicitly select Alternative Plus as the first active organization", + "question": "Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_authority", + "company_selected" + ], + "step_payload": { + "step_id": "step_02_choose_alternative_plus", + "title": "Explicitly select Alternative Plus as the first active organization", + "question": "Альтернатива Плюс", + "required_answer_patterns_all": [ + "(?i)зафиксир|рабочую организац|работаем по", + "(?i)альтернатива плюс" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_authority", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_03_inventory_today_alt", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_today_alt", + "title": "Inventory root uses the first selected organization", + "question": "что у нас сейчас на складе по остаткам?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "company_authority" + ], + "step_payload": { + "step_id": "step_03_inventory_today_alt", + "title": "Inventory root uses the first selected organization", + "question": "что у нас сейчас на складе по остаткам?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "{{runtime.today_iso}}", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "(?i)остат|на складе", + "{{runtime.today_dot_regex}}" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "company_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_04_switch_to_raym", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_04_switch_to_raym", + "title": "Late company switch changes the active organization instead of asking again from scratch", + "question": "теперь давай по РАЙМ", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "late_company_switch", + "organization_authority" + ], + "step_payload": { + "step_id": "step_04_switch_to_raym", + "title": "Late company switch changes the active organization instead of asking again from scratch", + "question": "теперь давай по РАЙМ", + "required_answer_patterns_all": [ + "(?i)зафиксир|переключ|работаем по|активн", + "(?i)райм" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)не могу определить" + ], + "criticality": "critical", + "semantic_tags": [ + "late_company_switch", + "organization_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_05_inventory_today_raym", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_today_raym", + "title": "Inventory root after the late switch uses RAYM instead of the old company", + "question": "а по этой компании что сейчас на складе?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "late_company_switch" + ], + "step_payload": { + "step_id": "step_05_inventory_today_raym", + "title": "Inventory root after the late switch uses RAYM instead of the old company", + "question": "а по этой компании что сейчас на складе?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "{{runtime.today_iso}}", + "organization": "РАЙМ" + }, + "required_direct_answer_patterns_any": [ + "(?i)остат|на складе", + "{{runtime.today_dot_regex}}" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организацию", + "(?i)по какой компании" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "late_company_switch" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_06_capability_meta_after_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_06_capability_meta_after_switch", + "title": "Capability-meta interrupt stays human and does not tear down the second company context", + "question": "а что ты вообще умеешь?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "capability_meta", + "meta_interrupt", + "meta_capability" + ], + "step_payload": { + "step_id": "step_06_capability_meta_after_switch", + "title": "Capability-meta interrupt stays human and does not tear down the second company context", + "question": "а что ты вообще умеешь?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)могу|умею", + "(?i)ндс|документ|контрагент|склад|остат|долг" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot", + "(?i)assistant_state", + "(?i)tool_gate_reason" + ], + "criticality": "important", + "semantic_tags": [ + "capability_meta", + "meta_interrupt" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_07_receivables_march_2020_raym", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_07_receivables_march_2020_raym", + "title": "Return to business contour after the meta interrupt keeps RAYM as the active company", + "question": "а по этой компании кто нам должен на март 2020?", + "criticality": "critical", + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "receivables_root", + "meta_return_to_business", + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_07_receivables_march_2020_raym", + "title": "Return to business contour after the meta interrupt keeps RAYM as the active company", + "question": "а по этой компании кто нам должен на март 2020?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "required_filters": { + "as_of_date": "2020-03-31", + "period_from": "2020-03-01", + "period_to": "2020-03-31", + "organization": "РАЙМ" + }, + "required_direct_answer_patterns_any": [ + "(?i)долг|долж", + "(?:31\\.03\\.2020|31\\s+марта\\s+2020)" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организацию", + "(?i)по какой компании" + ], + "criticality": "critical", + "semantic_tags": [ + "receivables_root", + "meta_return_to_business" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_08_same_date_inventory_raym", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_08_same_date_inventory_raym", + "title": "Same-date inventory follow-up keeps the second company and the restored date", + "question": "а по этой же дате остатки на складе?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "same_date_pivot", + "inventory_root", + "second_company_continuity" + ], + "step_payload": { + "step_id": "step_08_same_date_inventory_raym", + "title": "Same-date inventory follow-up keeps the second company and the restored date", + "question": "а по этой же дате остатки на складе?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2020-03-31", + "period_from": "2020-03-01", + "period_to": "2020-03-31", + "organization": "РАЙМ" + }, + "required_direct_answer_patterns_any": [ + "(?i)остат|на складе", + "31\\.03\\.2020" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организацию", + "(?i)по какой компании" + ], + "criticality": "critical", + "semantic_tags": [ + "same_date_pivot", + "inventory_root", + "second_company_continuity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_09_switch_back_to_alt", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_09_switch_back_to_alt", + "title": "Switch back to Alternative Plus late in the same session", + "question": "ок, верни обратно Альтернативу Плюс", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "late_company_switch_back", + "organization_authority" + ], + "step_payload": { + "step_id": "step_09_switch_back_to_alt", + "title": "Switch back to Alternative Plus late in the same session", + "question": "ок, верни обратно Альтернативу Плюс", + "required_answer_patterns_all": [ + "(?i)зафиксир|переключ|работаем по|активн", + "(?i)альтернатива плюс" + ], + "criticality": "important", + "semantic_tags": [ + "late_company_switch_back", + "organization_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_phase16_multicompany_late_pivot:step_10_activity_age_after_switch_back", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase16_multicompany_late_pivot.json", + "source_title": "Phase 16 multi-company late-pivot replay for breadth beyond the flagship path", + "scenario_id": "address_truth_harness_phase16_multicompany_late_pivot", + "domain": "address_phase16_multicompany_late_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_10_activity_age_after_switch_back", + "title": "Activity-age analytics still work after two company pivots in one session", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "activity_age", + "switch_back_integrity" + ], + "step_payload": { + "step_id": "step_10_activity_age_after_switch_back", + "title": "Activity-age analytics still work after two company pivots in one session", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "required_direct_answer_patterns_any": [ + "(?i)активност", + "(?i)первая подтвержденная|последняя подтвержденная|лет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните организацию", + "(?i)по какой компании" + ], + "criticality": "critical", + "semantic_tags": [ + "activity_age", + "switch_back_integrity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_01_smalltalk_entry", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk_entry", + "title": "Smalltalk entry stays human and may offer organization scope without technical garbage", + "question": "приветик - че как там дела", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "smalltalk_entry", + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_smalltalk_entry", + "title": "Smalltalk entry stays human and may offer organization scope without technical garbage", + "question": "приветик - че как там дела", + "required_answer_patterns_all": [ + "(?i)привет|дела|норм|помоч" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason", + "(?i)snapshot_items" + ], + "criticality": "important", + "semantic_tags": [ + "smalltalk_entry" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_02_capability_meta_entry", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_02_capability_meta_entry", + "title": "Capability-meta answer stays human before the business contour starts", + "question": "расскажи что можешь интересного", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "capability_meta", + "meta_capability" + ], + "step_payload": { + "step_id": "step_02_capability_meta_entry", + "title": "Capability-meta answer stays human before the business contour starts", + "question": "расскажи что можешь интересного", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)могу|умею", + "(?i)ндс|документ|контрагент|долг|склад|остат" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason", + "(?i)snapshot_items" + ], + "criticality": "important", + "semantic_tags": [ + "capability_meta" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_03_inventory_root_requires_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_root_requires_company", + "title": "Inventory root after meta entry asks to choose the organization", + "question": "кайф - что там на складе по остаткам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "clarification_required" + ], + "step_payload": { + "step_id": "step_03_inventory_root_requires_company", + "title": "Inventory root after meta entry asks to choose the organization", + "question": "кайф - что там на складе по остаткам?", + "required_answer_patterns_all": [ + "(?i)уточнит[ье].*организац|выбери.*организац|названи[ея] компании", + "(?i)альтернатива плюс|лайсвуд|райм" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason", + "(?i)snapshot_items" + ], + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "clarification_required" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_04_company_choice_resumes_inventory_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_04_company_choice_resumes_inventory_root", + "title": "Bare company selection resumes the pending inventory query instead of only fixing the scope", + "question": "АЛЬТЕРНАТИВА", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "clarification_resume", + "inventory_root" + ], + "step_payload": { + "step_id": "step_04_company_choice_resumes_inventory_root", + "title": "Bare company selection resumes the pending inventory query instead of only fixing the scope", + "question": "АЛЬТЕРНАТИВА", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "{{runtime.today_iso}}", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "(?i)на складе|остат", + "{{runtime.today_dot_regex}}" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^отлично, фиксирую рабочую организацию", + "(?i)^фиксирую рабочую организацию", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "clarification_resume", + "inventory_root" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_05_historical_inventory_capability", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_05_historical_inventory_capability", + "title": "Historical inventory capability answer stays human", + "question": "а исторические остатки на другие даты умеешь?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_capability_meta", + "meta_capability", + "meta_historical_capability", + "inventory_root" + ], + "step_payload": { + "step_id": "step_05_historical_inventory_capability", + "title": "Historical inventory capability answer stays human", + "question": "а исторические остатки на другие даты умеешь?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)историческ", + "(?i)могу|умею" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)tool_gate_reason", + "(?i)read_only" + ], + "criticality": "important", + "semantic_tags": [ + "inventory_capability_meta" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_06_inventory_july_2017_after_capability", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_06_inventory_july_2017_after_capability", + "title": "Date-only follow-up keeps the historical inventory contour after the capability answer", + "question": "давай на июль 2017", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "historical_inventory", + "date_followup", + "inventory_root" + ], + "step_payload": { + "step_id": "step_06_inventory_july_2017_after_capability", + "title": "Date-only follow-up keeps the historical inventory contour after the capability answer", + "question": "давай на июль 2017", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2017-07-31", + "period_from": "2017-07-01", + "period_to": "2017-07-31", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "31\\.07\\.2017", + "(?i)на складе|остат" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^отлично, фиксирую рабочую организацию", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "historical_inventory", + "date_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_07_inventory_march_2016", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_07_inventory_march_2016", + "title": "Another short month follow-up still stays in the same historical inventory contour", + "question": "март 2016", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "historical_inventory", + "date_followup", + "inventory_root" + ], + "step_payload": { + "step_id": "step_07_inventory_march_2016", + "title": "Another short month follow-up still stays in the same historical inventory contour", + "question": "март 2016", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2016-03-31", + "period_from": "2016-03-01", + "period_to": "2016-03-31", + "organization": "ООО Альтернатива Плюс" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2016", + "(?i)на складе|остат" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^отлично, фиксирую рабочую организацию", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "historical_inventory", + "date_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_08_counterparty_documents_chepurnov", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_08_counterparty_documents_chepurnov", + "title": "Counterparty document root stays exact late in the same session", + "question": "по чепурнову покажи все доки", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_08_counterparty_documents_chepurnov", + "title": "Counterparty document root stays exact late in the same session", + "question": "по чепурнову покажи все доки", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)контрагент:.*чепурнов", + "(?i)документ|поступление|счет" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_09_short_counterparty_retarget_svk", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_09_short_counterparty_retarget_svk", + "title": "Short follow-up 'а по свк' retargets the counterparty instead of re-fixing the organization", + "question": "а по свк", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_short_retarget", + "display_label_integrity" + ], + "step_payload": { + "step_id": "step_09_short_counterparty_retarget_svk", + "title": "Short follow-up 'а по свк' retargets the counterparty instead of re-fixing the organization", + "question": "а по свк", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)контрагент:.*свк", + "(?i)документ|поступление|счет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^отлично, фиксирую рабочую организацию", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_short_retarget", + "display_label_integrity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_10_counterparty_item_flow_chepurnov", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase17_clarification_resume_and_counterparty_tail.json", + "source_title": "Phase 17 clarification-resume and counterparty tail replay", + "scenario_id": "address_truth_harness_phase17_clarification_resume_and_counterparty_tail", + "domain": "address_phase17_clarification_resume_and_counterparty_tail", + "reusable_in_agent_pack": true, + "step_id": "step_10_counterparty_item_flow_chepurnov", + "title": "Counterparty shipment wording answers through shipped positions without stale 2017 fallback", + "question": "что нам отгружал чепурнов? какой товар или услугу?", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_item_flow", + "stale_temporal_carryover", + "counterparty_shipment_fallback" + ], + "step_payload": { + "step_id": "step_10_counterparty_item_flow_chepurnov", + "title": "Counterparty shipment wording answers through shipped positions without stale 2017 fallback", + "question": "что нам отгружал чепурнов? какой товар или услугу?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)контрагент:.*чепурнов", + "(?i)позици[ия]|товар|услуг" + ], + "forbidden_direct_answer_patterns": [ + "(?i)по окну 2017-01-01\\.\\.2017-12-31 строк не найдено", + "(?i)^отлично, фиксирую рабочую организацию", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_item_flow", + "stale_temporal_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_01_human_smalltalk_entry", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_01_human_smalltalk_entry", + "title": "Smalltalk stays human before business routing starts", + "question": "приветик - че как там дела", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "smalltalk_entry", + "human_answer", + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_human_smalltalk_entry", + "title": "Smalltalk stays human before business routing starts", + "question": "приветик - че как там дела", + "required_answer_patterns_any": [ + "(?i)привет|дела|помоч|готов" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason", + "(?i)snapshot_items" + ], + "criticality": "important", + "semantic_tags": [ + "smalltalk_entry", + "human_answer" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_02_capability_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_02_capability_meta", + "title": "Capability meta answer stays useful and does not expose service internals", + "question": "расскажи что можешь интересного", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "capability_meta", + "human_answer", + "meta_capability" + ], + "step_payload": { + "step_id": "step_02_capability_meta", + "title": "Capability meta answer stays useful and does not expose service internals", + "question": "расскажи что можешь интересного", + "required_answer_patterns_any": [ + "(?i)могу|умею|помогу", + "(?i)ндс|документ|контрагент|долг|склад|остат" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason", + "(?i)snapshot_items" + ], + "criticality": "important", + "semantic_tags": [ + "capability_meta", + "human_answer" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_03_data_scope_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_03_data_scope_meta", + "title": "Data-scope meta turn exposes organization choice without technical garbage", + "question": "по какой компании мы сейчас работаем?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "data_scope_meta", + "multi_company_entry", + "meta_scope" + ], + "step_payload": { + "step_id": "step_03_data_scope_meta", + "title": "Data-scope meta turn exposes organization choice without technical garbage", + "question": "по какой компании мы сейчас работаем?", + "required_answer_patterns_all": [ + "(?i)компан|организац|контур", + "(?i)альтернатива плюс|лайсвуд|райм" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)tool_gate_reason", + "(?i)snapshot_items" + ], + "criticality": "critical", + "semantic_tags": [ + "data_scope_meta", + "multi_company_entry" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_04_choose_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_04_choose_organization", + "title": "Explicit organization selection fixes the session scope", + "question": "Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_authority", + "company_selected" + ], + "step_payload": { + "step_id": "step_04_choose_organization", + "title": "Explicit organization selection fixes the session scope", + "question": "Альтернатива Плюс", + "required_answer_patterns_all": [ + "(?i)альтернатива плюс|зафиксир|работаем по|рабочую организац" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)не могу определить" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_authority", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_05_counterparty_documents_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_05_counterparty_documents_root", + "title": "Counterparty document root establishes a stale entity that must not dominate later turns", + "question": "по чепурнову покажи все доки", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_documents", + "stale_entity_seed" + ], + "step_payload": { + "step_id": "step_05_counterparty_documents_root", + "title": "Counterparty document root establishes a stale entity that must not dominate later turns", + "question": "по чепурнову покажи все доки", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)чепурнов", + "(?i)документ|поступление|счет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)tool_gate_reason", + "(?i)уточните организац" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_documents", + "stale_entity_seed" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_06_svk_turnover_overrides_stale_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_06_svk_turnover_overrides_stale_documents", + "title": "Explicit turnover question for SVK overrides stale Chepurnov documents", + "question": "какой оборот был свк", + "criticality": "critical", + "expected_intents": [ + "customer_revenue_and_payments" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "current_turn_entity_authority", + "current_turn_action_authority", + "answer_top_block_matches_current_user_intent" + ], + "step_payload": { + "step_id": "step_06_svk_turnover_overrides_stale_documents", + "title": "Explicit turnover question for SVK overrides stale Chepurnov documents", + "question": "какой оборот был свк", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "customer_revenue_and_payments" + ], + "required_direct_answer_patterns_all": [ + "(?i)оборот.*свк|свк.*оборот", + "(?i)денежн.*поток|входящ" + ], + "forbidden_direct_answer_patterns": [ + "(?i)самый доходный клиент", + "(?i)топ-", + "(?i)чепурнов", + "(?i)^контрагент:.*документ" + ], + "criticality": "critical", + "semantic_tags": [ + "current_turn_entity_authority", + "current_turn_action_authority", + "answer_top_block_matches_current_user_intent" + ] + } + }, + { + "entry_id": "address_truth_harness_phase18_semantic_dialog_authority:step_07_unsupported_current_meaning_boundary", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase18_semantic_dialog_authority.json", + "source_title": "Phase 18 semantic dialog authority replay", + "scenario_id": "address_truth_harness_phase18_semantic_dialog_authority", + "domain": "address_phase18_semantic_dialog_authority", + "reusable_in_agent_pack": true, + "step_id": "step_07_unsupported_current_meaning_boundary", + "title": "Off-domain current meaning stays live and does not replay the previous exact business answer", + "question": "а чем капибара отличается от утки?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "off_domain_living_chat", + "stale_replay_forbidden" + ], + "step_payload": { + "step_id": "step_07_unsupported_current_meaning_boundary", + "title": "Off-domain current meaning stays live and does not replay the previous exact business answer", + "question": "а чем капибара отличается от утки?", + "required_answer_patterns_any": [ + "(?i)капибара.*утк|утк.*капибар", + "(?i)млекопита|птиц|грызун" + ], + "forbidden_answer_patterns": [ + "(?i)оборот.*свк", + "(?i)чепурнов", + "(?i)документ.*контрагент", + "(?i)самый доходный клиент" + ], + "criticality": "critical", + "semantic_tags": [ + "off_domain_living_chat", + "stale_replay_forbidden" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_01_human_smalltalk_sanity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_01_human_smalltalk_sanity", + "title": "Human smalltalk remains living chat and does not expose discovery internals", + "question": "привет, ты на связи?", + "criticality": "important", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "human_answer", + "mcp_discovery_gate_sanity", + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_human_smalltalk_sanity", + "title": "Human smalltalk remains living chat and does not expose discovery internals", + "question": "привет, ты на связи?", + "required_answer_patterns_any": [ + "(?i)привет|на связи|готов|помочь" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)runtime_", + "(?i)query_documents", + "(?i)primitive" + ], + "criticality": "important", + "semantic_tags": [ + "human_answer", + "mcp_discovery_gate_sanity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_02_supported_counterparty_documents_stays_exact", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_02_supported_counterparty_documents_stays_exact", + "title": "Supported counterparty documents route is not replaced by MCP discovery", + "question": "покажи документы по свк за 2020", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_documents", + "supported_route_not_hijacked_by_mcp_discovery" + ], + "step_payload": { + "step_id": "step_02_supported_counterparty_documents_stays_exact", + "title": "Supported counterparty documents route is not replaced by MCP discovery", + "question": "покажи документы по свк за 2020", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)свк|группа свк", + "(?i)документ|поступление|счет|счёт" + ], + "forbidden_direct_answer_patterns": [ + "(?i)mcp", + "(?i)runtime_", + "(?i)query_documents", + "(?i)primitive", + "(?i)точный маршрут.*не подключ" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_documents", + "supported_route_not_hijacked_by_mcp_discovery" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_03_counterparty_lifecycle_uses_guarded_discovery", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_03_counterparty_lifecycle_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty lifecycle question uses guarded discovery answer", + "question": "сколько лет мы работаем с Группа СВК?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "mcp_discovery_response_gate", + "counterparty_lifecycle", + "unsupported_current_turn_meaning_boundary" + ], + "step_payload": { + "step_id": "step_03_counterparty_lifecycle_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty lifecycle question uses guarded discovery answer", + "question": "сколько лет мы работаем с Группа СВК?", + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)1с|активност|подтвержд", + "(?i)вывод|оцен|инфер|можно оцен", + "(?i)лет|год|месяц", + "(?i)юридическ|регистрац|не подтвержд|не доказ" + ], + "forbidden_answer_patterns": [ + "(?i)точный маршрут.*не подключ", + "(?i)не буду подставлять", + "(?i)100\\s+из\\s+100", + "(?i)лимит.*строк", + "(?i)query_documents", + "(?i)query_movements", + "(?i)runtime_", + "(?i)planner_", + "(?i)catalog_", + "(?i)primitive" + ], + "criticality": "critical", + "semantic_tags": [ + "mcp_discovery_response_gate", + "counterparty_lifecycle", + "unsupported_current_turn_meaning_boundary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_04_counterparty_value_flow_uses_guarded_discovery", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_04_counterparty_value_flow_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty value-flow question uses guarded discovery answer", + "question": "какой денежный поток был у Группа СВК за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "mcp_discovery_value_flow", + "counterparty_turnover", + "unsupported_current_turn_meaning_boundary" + ], + "step_payload": { + "step_id": "step_04_counterparty_value_flow_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty value-flow question uses guarded discovery answer", + "question": "какой денежный поток был у Группа СВК за 2020 год?", + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)1с|найден|строк|подтвержд", + "(?i)денеж|оборот|сумм|руб", + "(?i)2020|период", + "(?i)не подтвержд|проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)точный маршрут.*не подключ", + "(?i)не буду подставлять", + "(?i)100\\s+из\\s+100", + "(?i)лимит.*строк", + "(?i)query_documents", + "(?i)query_movements", + "(?i)runtime_", + "(?i)planner_", + "(?i)catalog_", + "(?i)primitive", + "(?i)pilot_" + ], + "criticality": "critical", + "semantic_tags": [ + "mcp_discovery_value_flow", + "counterparty_turnover", + "unsupported_current_turn_meaning_boundary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_05_counterparty_supplier_payout_uses_guarded_discovery", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_05_counterparty_supplier_payout_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty payout question uses guarded supplier discovery answer", + "question": "сколько мы заплатили Группа СВК за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "mcp_discovery_supplier_payout", + "counterparty_outgoing_payments", + "unsupported_current_turn_meaning_boundary" + ], + "step_payload": { + "step_id": "step_05_counterparty_supplier_payout_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty payout question uses guarded supplier discovery answer", + "question": "сколько мы заплатили Группа СВК за 2020 год?", + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)1с|найден|строк|подтвержд", + "(?i)исходящ|списан|заплат|плат[её]ж", + "(?i)сумм|руб", + "(?i)2020|период", + "(?i)не подтвержд|проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)точный маршрут.*не подключ", + "(?i)не буду подставлять", + "(?i)100\\s+из\\s+100", + "(?i)лимит.*строк", + "(?i)query_documents", + "(?i)query_movements", + "(?i)runtime_", + "(?i)planner_", + "(?i)catalog_", + "(?i)primitive", + "(?i)pilot_" + ], + "criticality": "critical", + "semantic_tags": [ + "mcp_discovery_supplier_payout", + "counterparty_outgoing_payments", + "unsupported_current_turn_meaning_boundary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_06_counterparty_bidirectional_net_flow_uses_guarded_discovery", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_06_counterparty_bidirectional_net_flow_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty net cash-flow question composes incoming and outgoing discovery", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "mcp_discovery_bidirectional_value_flow", + "counterparty_net_cash_flow", + "unsupported_current_turn_meaning_boundary" + ], + "step_payload": { + "step_id": "step_06_counterparty_bidirectional_net_flow_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty net cash-flow question composes incoming and outgoing discovery", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)1с|найден|строк|проверен", + "(?i)получил|входящ|поступ", + "(?i)заплат|исходящ|списан|плат[её]ж", + "(?i)нетто|сальдо|разниц", + "(?i)сумм|руб", + "(?i)2020|период", + "(?i)не подтвержд|проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)точный маршрут.*не подключ", + "(?i)не буду подставлять", + "(?i)query_documents", + "(?i)query_movements", + "(?i)runtime_", + "(?i)planner_", + "(?i)catalog_", + "(?i)primitive", + "(?i)pilot_" + ], + "criticality": "critical", + "semantic_tags": [ + "mcp_discovery_bidirectional_value_flow", + "counterparty_net_cash_flow", + "unsupported_current_turn_meaning_boundary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_07_counterparty_bidirectional_monthly_net_flow_uses_guarded_discovery", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_07_counterparty_bidirectional_monthly_net_flow_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty monthly net cash-flow question keeps monthly structure from discovery", + "question": "какое помесячное нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили по месяцам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "mcp_discovery_bidirectional_value_flow", + "counterparty_monthly_net_cash_flow", + "multi_axis_aggregation", + "unsupported_current_turn_meaning_boundary" + ], + "step_payload": { + "step_id": "step_07_counterparty_bidirectional_monthly_net_flow_uses_guarded_discovery", + "title": "Unsupported-but-understood counterparty monthly net cash-flow question keeps monthly structure from discovery", + "question": "какое помесячное нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили по месяцам?", + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)1с|найден|строк|проверен", + "(?i)получил|входящ|поступ", + "(?i)заплат|исходящ|списан|плат[её]ж", + "(?i)помесяч|по месяцам|янв|фев|мар|апр|май|июн|июл|авг|сен|окт|ноя|дек", + "(?i)нетто|сальдо|разниц", + "(?i)сумм|руб", + "(?i)2020|период", + "(?i)не подтвержд|проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)точный маршрут.*не подключ", + "(?i)не буду подставлять", + "(?i)query_documents", + "(?i)query_movements", + "(?i)runtime_", + "(?i)planner_", + "(?i)catalog_", + "(?i)primitive", + "(?i)pilot_" + ], + "criticality": "critical", + "semantic_tags": [ + "mcp_discovery_bidirectional_value_flow", + "counterparty_monthly_net_cash_flow", + "multi_axis_aggregation", + "unsupported_current_turn_meaning_boundary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase19_mcp_discovery_response_gate:step_08_off_domain_living_chat_not_hijacked", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase19_mcp_discovery_response_gate.json", + "source_title": "Phase 19 MCP discovery response gate replay", + "scenario_id": "address_truth_harness_phase19_mcp_discovery_response_gate", + "domain": "address_phase19_mcp_discovery_response_gate", + "reusable_in_agent_pack": true, + "step_id": "step_08_off_domain_living_chat_not_hijacked", + "title": "Off-domain living chat remains human and is not hijacked by discovery carryover", + "question": "а чем капибара отличается от утки?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "off_domain_living_chat", + "stale_replay_forbidden" + ], + "step_payload": { + "step_id": "step_08_off_domain_living_chat_not_hijacked", + "title": "Off-domain living chat remains human and is not hijacked by discovery carryover", + "question": "а чем капибара отличается от утки?", + "required_answer_patterns_any": [ + "(?i)капибар.*утк|утк.*капибар", + "(?i)млекопита|птиц|грызун" + ], + "forbidden_answer_patterns": [ + "(?i)свк", + "(?i)контрагент", + "(?i)mcp", + "(?i)query_documents", + "(?i)runtime_", + "(?i)primitive" + ], + "criticality": "critical", + "semantic_tags": [ + "off_domain_living_chat", + "stale_replay_forbidden" + ] + } + }, + { + "entry_id": "address_truth_harness_phase20_continuity_stabilization:step_01_top_client_all_time", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase20_continuity_stabilization.json", + "source_title": "Phase 20 continuity stabilization replay", + "scenario_id": "address_truth_harness_phase20_continuity_stabilization", + "domain": "address_phase20_continuity_stabilization", + "reusable_in_agent_pack": true, + "step_id": "step_01_top_client_all_time", + "title": "All-time top client question stays in ranking semantics and does not invent counterparty time", + "question": "кто у нас самый доходный клиент за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "temporal_tail_not_entity" + ], + "step_payload": { + "step_id": "step_01_top_client_all_time", + "title": "All-time top client question stays in ranking semantics and does not invent counterparty time", + "question": "кто у нас самый доходный клиент за все время?", + "required_answer_patterns_any": [ + "(?i)клиент|контрагент", + "(?i)доходн|выручк|заработ" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент.*время", + "(?i)контрагент с названием\\s+\"?время\"?" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "temporal_tail_not_entity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase20_continuity_stabilization:step_02_top_year_all_time", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase20_continuity_stabilization.json", + "source_title": "Phase 20 continuity stabilization replay", + "scenario_id": "address_truth_harness_phase20_continuity_stabilization", + "domain": "address_phase20_continuity_stabilization", + "reusable_in_agent_pack": true, + "step_id": "step_02_top_year_all_time", + "title": "Top year question stays in yearly ranking semantics and does not invent pseudo-entity year", + "question": "какой у нас самый доходный год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "year_tail_not_entity" + ], + "step_payload": { + "step_id": "step_02_top_year_all_time", + "title": "Top year question stays in yearly ranking semantics and does not invent pseudo-entity year", + "question": "какой у нас самый доходный год?", + "required_answer_patterns_any": [ + "(?i)20\\d{2}|19\\d{2}", + "(?i)доходн|выручк|заработ" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент.*год", + "(?i)контрагент с названием\\s+\"?год\"?" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "year_tail_not_entity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase20_continuity_stabilization:step_03_receivables_as_of_may_2017", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase20_continuity_stabilization.json", + "source_title": "Phase 20 continuity stabilization replay", + "scenario_id": "address_truth_harness_phase20_continuity_stabilization", + "domain": "address_phase20_continuity_stabilization", + "reusable_in_agent_pack": true, + "step_id": "step_03_receivables_as_of_may_2017", + "title": "Receivables snapshot for May 2017 answers directly instead of being overwritten by discovery", + "question": "кто нам должен денег на май 2017?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "receivables_snapshot", + "exact_not_overwritten", + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_03_receivables_as_of_may_2017", + "title": "Receivables snapshot for May 2017 answers directly instead of being overwritten by discovery", + "question": "кто нам должен денег на май 2017?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)долж", + "(?i)дебитор", + "(?i)задолж" + ], + "forbidden_direct_answer_patterns": [ + "(?i)partial_coverage", + "(?i)не удалось ответить", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "receivables_snapshot", + "exact_not_overwritten" + ] + } + }, + { + "entry_id": "address_truth_harness_phase20_continuity_stabilization:step_04_vat_for_same_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase20_continuity_stabilization.json", + "source_title": "Phase 20 continuity stabilization replay", + "scenario_id": "address_truth_harness_phase20_continuity_stabilization", + "domain": "address_phase20_continuity_stabilization", + "reusable_in_agent_pack": true, + "step_id": "step_04_vat_for_same_period", + "title": "VAT payable follow-up keeps the carried May 2017 period", + "question": "а какой ндс мы должны примерно заплатить за этот период?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "vat_followup", + "period_carryover", + "vat" + ], + "step_payload": { + "step_id": "step_04_vat_for_same_period", + "title": "VAT payable follow-up keeps the carried May 2017 period", + "question": "а какой ндс мы должны примерно заплатить за этот период?", + "required_answer_patterns_all": [ + "(?i)ндс", + "(?i)май|2017", + "(?i)заплат|к уплате|уплат" + ], + "forbidden_answer_patterns": [ + "(?i)текущ(ий|его) период", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "vat_followup", + "period_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase20_continuity_stabilization:step_05_payables_today", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase20_continuity_stabilization.json", + "source_title": "Phase 20 continuity stabilization replay", + "scenario_id": "address_truth_harness_phase20_continuity_stabilization", + "domain": "address_phase20_continuity_stabilization", + "reusable_in_agent_pack": true, + "step_id": "step_05_payables_today", + "title": "Today payables snapshot answers directly and keeps debt semantics", + "question": "мы должны комуто денег на сегодня?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payables_snapshot", + "exact_not_overwritten" + ], + "step_payload": { + "step_id": "step_05_payables_today", + "title": "Today payables snapshot answers directly and keeps debt semantics", + "question": "мы должны комуто денег на сегодня?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)должны", + "(?i)кредитор", + "(?i)задолж", + "(?i)долг к оплате|к оплате" + ], + "forbidden_direct_answer_patterns": [ + "(?i)partial_coverage", + "(?i)не удалось ответить", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "payables_snapshot", + "exact_not_overwritten" + ] + } + }, + { + "entry_id": "address_truth_harness_phase20_continuity_stabilization:step_06_receivables_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase20_continuity_stabilization.json", + "source_title": "Phase 20 continuity stabilization replay", + "scenario_id": "address_truth_harness_phase20_continuity_stabilization", + "domain": "address_phase20_continuity_stabilization", + "reusable_in_agent_pack": true, + "step_id": "step_06_receivables_pronoun_followup", + "title": "Short follow-up a nam resolves to mirrored receivables instead of fake counterparty time", + "question": "а нам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "pronoun_followup", + "garbage_anchor_forbidden" + ], + "step_payload": { + "step_id": "step_06_receivables_pronoun_followup", + "title": "Short follow-up a nam resolves to mirrored receivables instead of fake counterparty time", + "question": "а нам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)нам должны", + "(?i)дебитор", + "(?i)задолж" + ], + "forbidden_direct_answer_patterns": [ + "(?i)не найден контрагент.*время", + "(?i)контрагент с названием\\s+\"?время\"?", + "(?i)partial_coverage" + ], + "criticality": "critical", + "semantic_tags": [ + "pronoun_followup", + "garbage_anchor_forbidden" + ] + } + }, + { + "entry_id": "address_truth_harness_phase21_net_followup_after_broad_eval:step_01_company_activity_lifecycle", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase21_net_followup_after_broad_eval.json", + "source_title": "Phase 21 net-flow follow-up after broad evaluation replay", + "scenario_id": "address_truth_harness_phase21_net_followup_after_broad_eval", + "domain": "address_phase21_net_followup_after_broad_eval", + "reusable_in_agent_pack": true, + "step_id": "step_01_company_activity_lifecycle", + "title": "Activity lifecycle answer seeds broad counterparty context", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "company_activity_lifecycle", + "context_seed" + ], + "step_payload": { + "step_id": "step_01_company_activity_lifecycle", + "title": "Activity lifecycle answer seeds broad counterparty context", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "partial_coverage", + "factual", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)лет", + "(?i)активност", + "(?i)1с", + "(?i)не получил|не подтвержден|проверил доступный контур" + ], + "criticality": "critical", + "semantic_tags": [ + "company_activity_lifecycle", + "context_seed" + ] + } + }, + { + "entry_id": "address_truth_harness_phase21_net_followup_after_broad_eval:step_02_broad_company_evaluation", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase21_net_followup_after_broad_eval.json", + "source_title": "Phase 21 net-flow follow-up after broad evaluation replay", + "scenario_id": "address_truth_harness_phase21_net_followup_after_broad_eval", + "domain": "address_phase21_net_followup_after_broad_eval", + "reusable_in_agent_pack": true, + "step_id": "step_02_broad_company_evaluation", + "title": "Broad evaluation sits between lifecycle and net-flow question", + "question": "Как ты оценишь деятельность компании?", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "broad_evaluation_bridge" + ], + "step_payload": { + "step_id": "step_02_broad_company_evaluation", + "title": "Broad evaluation sits between lifecycle and net-flow question", + "question": "Как ты оценишь деятельность компании?", + "required_answer_patterns_any": [ + "(?i)активн", + "(?i)заказчик|контрагент|деятельност|оценк" + ], + "criticality": "warning", + "semantic_tags": [ + "broad_evaluation_bridge" + ] + } + }, + { + "entry_id": "address_truth_harness_phase21_net_followup_after_broad_eval:step_03_net_flow_after_broad_eval", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase21_net_followup_after_broad_eval.json", + "source_title": "Phase 21 net-flow follow-up after broad evaluation replay", + "scenario_id": "address_truth_harness_phase21_net_followup_after_broad_eval", + "domain": "address_phase21_net_followup_after_broad_eval", + "reusable_in_agent_pack": true, + "step_id": "step_03_net_flow_after_broad_eval", + "title": "Net-flow follow-up overrides stale lifecycle carryover and answers with inflow outflow and net", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_net_cash_flow", + "stale_lifecycle_override" + ], + "step_payload": { + "step_id": "step_03_net_flow_after_broad_eval", + "title": "Net-flow follow-up overrides stale lifecycle carryover and answers with inflow outflow and net", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)получил|входящ|поступ", + "(?i)заплат|исходящ|списан|плат[её]ж", + "(?i)нетто|сальдо|разниц", + "(?i)2020|период", + "(?i)руб" + ], + "forbidden_answer_patterns": [ + "(?i)активных заказчиков", + "(?i)лет в базе", + "(?i)последняя активность" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_net_cash_flow", + "stale_lifecycle_override" + ] + } + }, + { + "entry_id": "address_truth_harness_phase22_broad_business_evaluation_bridge:step_01_company_activity_lifecycle", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase22_broad_business_evaluation_bridge.json", + "source_title": "Phase 22 broad business evaluation bridge replay", + "scenario_id": "address_truth_harness_phase22_broad_business_evaluation_bridge", + "domain": "address_phase22_broad_business_evaluation_bridge", + "reusable_in_agent_pack": true, + "step_id": "step_01_company_activity_lifecycle", + "title": "Lifecycle answer seeds grounded organization context", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "company_activity_lifecycle", + "grounded_context_seed" + ], + "step_payload": { + "step_id": "step_01_company_activity_lifecycle", + "title": "Lifecycle answer seeds grounded organization context", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "partial_coverage", + "factual", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)лет", + "(?i)активност", + "(?i)1с", + "(?i)не получил|не подтвержден|проверил доступный контур" + ], + "criticality": "critical", + "semantic_tags": [ + "company_activity_lifecycle", + "grounded_context_seed" + ] + } + }, + { + "entry_id": "address_truth_harness_phase22_broad_business_evaluation_bridge:step_02_broad_business_evaluation", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase22_broad_business_evaluation_bridge.json", + "source_title": "Phase 22 broad business evaluation bridge replay", + "scenario_id": "address_truth_harness_phase22_broad_business_evaluation_bridge", + "domain": "address_phase22_broad_business_evaluation_bridge", + "reusable_in_agent_pack": true, + "step_id": "step_02_broad_business_evaluation", + "title": "Broad business evaluation becomes grounded summary instead of stale lifecycle dump", + "question": "Как ты оценишь деятельность компании?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "broad_business_evaluation", + "grounded_summary" + ], + "step_payload": { + "step_id": "step_02_broad_business_evaluation", + "title": "Broad business evaluation becomes grounded summary instead of stale lifecycle dump", + "question": "Как ты оценишь деятельность компании?", + "required_answer_patterns_all": [ + "(?i)коротко|оценк|частичн", + "(?i)1с|подтвержд", + "(?i)денежн|долг|ндс|контрагент|операц" + ], + "forbidden_answer_patterns": [ + "(?i)активных заказчиков", + "(?i)последняя активность", + "(?i)^\\s*1\\." + ], + "criticality": "critical", + "semantic_tags": [ + "broad_business_evaluation", + "grounded_summary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase22_broad_business_evaluation_bridge:step_03_net_flow_after_broad_eval", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase22_broad_business_evaluation_bridge.json", + "source_title": "Phase 22 broad business evaluation bridge replay", + "scenario_id": "address_truth_harness_phase22_broad_business_evaluation_bridge", + "domain": "address_phase22_broad_business_evaluation_bridge", + "reusable_in_agent_pack": true, + "step_id": "step_03_net_flow_after_broad_eval", + "title": "Exact net-flow follow-up still answers after the broad bridge", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_net_cash_flow", + "broad_eval_bridge_preserved" + ], + "step_payload": { + "step_id": "step_03_net_flow_after_broad_eval", + "title": "Exact net-flow follow-up still answers after the broad bridge", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)получил|входящ|поступ", + "(?i)заплат|исходящ|списан|плат[её]ж", + "(?i)нетто|сальдо|разниц", + "(?i)2020|период", + "(?i)руб" + ], + "forbidden_answer_patterns": [ + "(?i)активных заказчиков", + "(?i)лет в базе", + "(?i)последняя активность" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_net_cash_flow", + "broad_eval_bridge_preserved" + ] + } + }, + { + "entry_id": "address_truth_harness_phase23_broad_eval_short_followup:step_01_net_flow_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase23_broad_eval_short_followup.json", + "source_title": "Phase 23 broad evaluation short follow-up replay", + "scenario_id": "address_truth_harness_phase23_broad_eval_short_followup", + "domain": "address_phase23_broad_eval_short_followup", + "reusable_in_agent_pack": true, + "step_id": "step_01_net_flow_2020", + "title": "Grounded net-flow answer seeds reusable discovery context", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_net_cash_flow", + "grounded_discovery_seed" + ], + "step_payload": { + "step_id": "step_01_net_flow_2020", + "title": "Grounded net-flow answer seeds reusable discovery context", + "question": "какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)получил|входящ|поступ", + "(?i)заплат|исходящ|списан|плат[её]ж", + "(?i)нетто|сальдо|разниц", + "(?i)2020|период", + "(?i)руб" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_net_cash_flow", + "grounded_discovery_seed" + ] + } + }, + { + "entry_id": "address_truth_harness_phase23_broad_eval_short_followup:step_02_broad_business_evaluation", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase23_broad_eval_short_followup.json", + "source_title": "Phase 23 broad evaluation short follow-up replay", + "scenario_id": "address_truth_harness_phase23_broad_eval_short_followup", + "domain": "address_phase23_broad_eval_short_followup", + "reusable_in_agent_pack": true, + "step_id": "step_02_broad_business_evaluation", + "title": "Broad business evaluation reframes without erasing the grounded context", + "question": "Как ты оценишь деятельность компании?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "broad_business_evaluation", + "context_reframe" + ], + "step_payload": { + "step_id": "step_02_broad_business_evaluation", + "title": "Broad business evaluation reframes without erasing the grounded context", + "question": "Как ты оценишь деятельность компании?", + "required_answer_patterns_all": [ + "(?i)коротко|оценк|частичн", + "(?i)1с|подтвержд|контекст", + "(?i)денежн|долг|ндс|контрагент" + ], + "forbidden_answer_patterns": [ + "(?i)активных заказчиков", + "(?i)последняя активность", + "(?i)^\\s*1\\." + ], + "criticality": "critical", + "semantic_tags": [ + "broad_business_evaluation", + "context_reframe" + ] + } + }, + { + "entry_id": "address_truth_harness_phase23_broad_eval_short_followup:step_03_short_year_switch_after_broad_eval", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase23_broad_eval_short_followup.json", + "source_title": "Phase 23 broad evaluation short follow-up replay", + "scenario_id": "address_truth_harness_phase23_broad_eval_short_followup", + "domain": "address_phase23_broad_eval_short_followup", + "reusable_in_agent_pack": true, + "step_id": "step_03_short_year_switch_after_broad_eval", + "title": "Short year-switch follow-up still revives the last net-flow contour", + "question": "а теперь за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "broad_eval_followup_continuity", + "year_switch_after_reframe" + ], + "step_payload": { + "step_id": "step_03_short_year_switch_after_broad_eval", + "title": "Short year-switch follow-up still revives the last net-flow contour", + "question": "а теперь за 2021?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)2021|период", + "(?i)получил|входящ|поступ|заплат|исходящ|нетто|сальдо|разниц", + "(?i)руб|не удалось|не подтвержд|лимит" + ], + "forbidden_answer_patterns": [ + "(?i)активных заказчиков", + "(?i)последняя активность", + "(?i)уточните контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "broad_eval_followup_continuity", + "year_switch_after_reframe" + ] + } + }, + { + "entry_id": "address_truth_harness_phase24_metadata_lane_choice_loop:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase24_metadata_lane_choice_loop.json", + "source_title": "Phase 24 metadata lane-choice clarification loop replay", + "scenario_id": "address_truth_harness_phase24_metadata_lane_choice_loop", + "domain": "address_phase24_metadata_lane_choice_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Mixed metadata surface is surfaced honestly for the VAT domain", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Mixed metadata surface is surfaced honestly for the VAT domain", + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase24_metadata_lane_choice_loop:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase24_metadata_lane_choice_loop.json", + "source_title": "Phase 24 metadata lane-choice clarification loop replay", + "scenario_id": "address_truth_harness_phase24_metadata_lane_choice_loop", + "domain": "address_phase24_metadata_lane_choice_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral downstream follow-up keeps ambiguity and explicitly asks for a lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral downstream follow-up keeps ambiguity and explicitly asks for a lane choice", + "question": "давай дальше", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)документ", + "(?i)движени|регистр", + "(?i)уточн|выб(ери|рать)|какой контур" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)документные строки найдены", + "(?i)строки денежных движений найдены" + ], + "criticality": "critical", + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase24_metadata_lane_choice_loop:step_03_choose_movement_lane", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase24_metadata_lane_choice_loop.json", + "source_title": "Phase 24 metadata lane-choice clarification loop replay", + "scenario_id": "address_truth_harness_phase24_metadata_lane_choice_loop", + "domain": "address_phase24_metadata_lane_choice_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_choose_movement_lane", + "title": "Short user choice continues the same metadata-born chain into movement evidence", + "question": "по движениям", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "lane_choice_reuse", + "movement_lane_after_clarification" + ], + "step_payload": { + "step_id": "step_03_choose_movement_lane", + "title": "Short user choice continues the same metadata-born chain into movement evidence", + "question": "по движениям", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)движени", + "(?i)операц", + "(?i)проводк", + "(?i)денежн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните, в какой контур", + "(?i)документные строки найдены" + ], + "criticality": "critical", + "semantic_tags": [ + "lane_choice_reuse", + "movement_lane_after_clarification" + ] + } + }, + { + "entry_id": "address_truth_harness_phase25_entity_resolution_chain:step_01_resolve_counterparty_from_catalog", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase25_entity_resolution_chain.json", + "source_title": "Phase 25 entity-resolution grounding replay", + "scenario_id": "address_truth_harness_phase25_entity_resolution_chain", + "domain": "address_phase25_entity_resolution_chain", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_from_catalog", + "title": "Raw counterparty search wording resolves a grounded 1C entity without leaking downstream business facts", + "question": "найди в 1С контрагента Группа СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "catalog_grounding", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_from_catalog", + "title": "Raw counterparty search wording resolves a grounded 1C entity without leaking downstream business facts", + "question": "найди в 1С контрагента Группа СВК", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)группа\\s+свк", + "(?i)контрагент", + "(?i)документ|движени|денежн" + ], + "required_answer_patterns_any": [ + "(?i)каталог", + "(?i)1с", + "(?i)наш[её]л", + "(?i)найден" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "catalog_grounding", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase26_entity_followup_chain:step_01_resolve_counterparty_alias", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase26_entity_followup_chain.json", + "source_title": "Phase 26 resolved-entity follow-up chain replay", + "scenario_id": "address_truth_harness_phase26_entity_followup_chain", + "domain": "address_phase26_entity_followup_chain", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)каталог", + "(?i)найден", + "(?i)наиболее вероят" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase26_entity_followup_chain:step_02_documents_by_resolved_entity_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase26_entity_followup_chain.json", + "source_title": "Phase 26 resolved-entity follow-up chain replay", + "scenario_id": "address_truth_harness_phase26_entity_followup_chain", + "domain": "address_phase26_entity_followup_chain", + "reusable_in_agent_pack": true, + "step_id": "step_02_documents_by_resolved_entity_followup", + "title": "Short document follow-up reuses the resolved counterparty anchor", + "question": "по нему документы за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "document_evidence", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_02_documents_by_resolved_entity_followup", + "title": "Short document follow-up reuses the resolved counterparty anchor", + "question": "по нему документы за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)документ|счет|накладн|акт", + "(?i)2020" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "document_evidence", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase26_entity_followup_chain:step_03_movements_by_resolved_entity_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase26_entity_followup_chain.json", + "source_title": "Phase 26 resolved-entity follow-up chain replay", + "scenario_id": "address_truth_harness_phase26_entity_followup_chain", + "domain": "address_phase26_entity_followup_chain", + "reusable_in_agent_pack": true, + "step_id": "step_03_movements_by_resolved_entity_followup", + "title": "Short movement follow-up keeps the same grounded counterparty anchor", + "question": "а теперь по нему движения за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "movement_evidence", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_03_movements_by_resolved_entity_followup", + "title": "Short movement follow-up keeps the same grounded counterparty anchor", + "question": "а теперь по нему движения за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)движени|платеж|операц|проводк", + "(?i)2020" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "movement_evidence", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase27_entity_value_followup_chain:step_01_resolve_counterparty_alias", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase27_entity_value_followup_chain.json", + "source_title": "Phase 27 resolved-entity value-flow follow-up replay", + "scenario_id": "address_truth_harness_phase27_entity_value_followup_chain", + "domain": "address_phase27_entity_value_followup_chain", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)каталог", + "(?i)найден", + "(?i)наиболее вероят" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase27_entity_value_followup_chain:step_02_value_flow_by_resolved_entity_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase27_entity_value_followup_chain.json", + "source_title": "Phase 27 resolved-entity value-flow follow-up replay", + "scenario_id": "address_truth_harness_phase27_entity_value_followup_chain", + "domain": "address_phase27_entity_value_followup_chain", + "reusable_in_agent_pack": true, + "step_id": "step_02_value_flow_by_resolved_entity_followup", + "title": "Short turnover follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "counterparty_value_flow", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_02_value_flow_by_resolved_entity_followup", + "title": "Short turnover follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получил|входящ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "counterparty_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase27_entity_value_followup_chain:step_03_net_flow_by_resolved_entity_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase27_entity_value_followup_chain.json", + "source_title": "Phase 27 resolved-entity value-flow follow-up replay", + "scenario_id": "address_truth_harness_phase27_entity_value_followup_chain", + "domain": "address_phase27_entity_value_followup_chain", + "reusable_in_agent_pack": true, + "step_id": "step_03_net_flow_by_resolved_entity_followup", + "title": "Short net-flow follow-up keeps the same grounded counterparty anchor", + "question": "а какое нетто по нему за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "counterparty_net_value_flow", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_03_net_flow_by_resolved_entity_followup", + "title": "Short net-flow follow-up keeps the same grounded counterparty anchor", + "question": "а какое нетто по нему за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)нетто|сальдо|разниц", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "counterparty_net_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase28_entity_value_retarget_chain:step_01_resolve_counterparty_alias", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase28_entity_value_retarget_chain.json", + "source_title": "Phase 28 grounded entity value-flow retarget replay", + "scenario_id": "address_truth_harness_phase28_entity_value_retarget_chain", + "domain": "address_phase28_entity_value_retarget_chain", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)каталог", + "(?i)найден", + "(?i)наиболее вероят" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase28_entity_value_retarget_chain:step_02_incoming_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase28_entity_value_retarget_chain.json", + "source_title": "Phase 28 grounded entity value-flow retarget replay", + "scenario_id": "address_truth_harness_phase28_entity_value_retarget_chain", + "domain": "address_phase28_entity_value_retarget_chain", + "reusable_in_agent_pack": true, + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получил|входящ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase28_entity_value_retarget_chain:step_03_payout_switch_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase28_entity_value_retarget_chain.json", + "source_title": "Phase 28 grounded entity value-flow retarget replay", + "scenario_id": "address_truth_harness_phase28_entity_value_retarget_chain", + "domain": "address_phase28_entity_value_retarget_chain", + "reusable_in_agent_pack": true, + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ], + "step_payload": { + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)за какой год" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase28_entity_value_retarget_chain:step_04_year_switch_on_payout", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase28_entity_value_retarget_chain.json", + "source_title": "Phase 28 grounded entity value-flow retarget replay", + "scenario_id": "address_truth_harness_phase28_entity_value_retarget_chain", + "domain": "address_phase28_entity_value_retarget_chain", + "reusable_in_agent_pack": true, + "step_id": "step_04_year_switch_on_payout", + "title": "Short year switch keeps the payout contour and grounded counterparty", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "payout_year_switch", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_04_year_switch_on_payout", + "title": "Short year switch keeps the payout contour and grounded counterparty", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_year_switch", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase28_entity_value_retarget_chain:step_05_net_switch_after_payout", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase28_entity_value_retarget_chain.json", + "source_title": "Phase 28 grounded entity value-flow retarget replay", + "scenario_id": "address_truth_harness_phase28_entity_value_retarget_chain", + "domain": "address_phase28_entity_value_retarget_chain", + "reusable_in_agent_pack": true, + "step_id": "step_05_net_switch_after_payout", + "title": "Net-flow follow-up keeps the same grounded counterparty and switched year", + "question": "а какое нетто?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "net_switch", + "followup_reuse", + "date_carryover" + ], + "step_payload": { + "step_id": "step_05_net_switch_after_payout", + "title": "Net-flow follow-up keeps the same grounded counterparty and switched year", + "question": "а какое нетто?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)нетто|сальдо|разниц", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)за какой год" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "net_switch", + "followup_reuse", + "date_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase29_value_flow_to_documents_chain:step_01_resolve_counterparty_alias", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase29_value_flow_to_documents_chain.json", + "source_title": "Phase 29 grounded value-flow to document evidence replay", + "scenario_id": "address_truth_harness_phase29_value_flow_to_documents_chain", + "domain": "address_phase29_value_flow_to_documents_chain", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)каталог", + "(?i)найден", + "(?i)наиболее вероятн" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase29_value_flow_to_documents_chain:step_02_incoming_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase29_value_flow_to_documents_chain.json", + "source_title": "Phase 29 grounded value-flow to document evidence replay", + "scenario_id": "address_truth_harness_phase29_value_flow_to_documents_chain", + "domain": "address_phase29_value_flow_to_documents_chain", + "reusable_in_agent_pack": true, + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получил|входящ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase29_value_flow_to_documents_chain:step_03_payout_switch_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase29_value_flow_to_documents_chain.json", + "source_title": "Phase 29 grounded value-flow to document evidence replay", + "scenario_id": "address_truth_harness_phase29_value_flow_to_documents_chain", + "domain": "address_phase29_value_flow_to_documents_chain", + "reusable_in_agent_pack": true, + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ], + "step_payload": { + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)за какой год" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase29_value_flow_to_documents_chain:step_04_year_switch_on_payout", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase29_value_flow_to_documents_chain.json", + "source_title": "Phase 29 grounded value-flow to document evidence replay", + "scenario_id": "address_truth_harness_phase29_value_flow_to_documents_chain", + "domain": "address_phase29_value_flow_to_documents_chain", + "reusable_in_agent_pack": true, + "step_id": "step_04_year_switch_on_payout", + "title": "Short year switch keeps the payout contour and grounded counterparty", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "payout_year_switch", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_04_year_switch_on_payout", + "title": "Short year switch keeps the payout contour and grounded counterparty", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_year_switch", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase29_value_flow_to_documents_chain:step_05_documents_after_value_flow", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase29_value_flow_to_documents_chain.json", + "source_title": "Phase 29 grounded value-flow to document evidence replay", + "scenario_id": "address_truth_harness_phase29_value_flow_to_documents_chain", + "domain": "address_phase29_value_flow_to_documents_chain", + "reusable_in_agent_pack": true, + "step_id": "step_05_documents_after_value_flow", + "title": "Document evidence follow-up keeps the same grounded counterparty after the money answer", + "question": "а по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "document_evidence", + "value_flow_pivot", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_05_documents_after_value_flow", + "title": "Document evidence follow-up keeps the same grounded counterparty after the money answer", + "question": "а по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)документ|счет|накладн|акт" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк", + "(?i)2021" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)сколько получили", + "(?i)сколько заплатили", + "(?i)нетто" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "document_evidence", + "value_flow_pivot", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase30_value_flow_to_movements_chain:step_01_resolve_counterparty_alias", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase30_value_flow_to_movements_chain.json", + "source_title": "Phase 30 grounded value-flow to movement evidence replay", + "scenario_id": "address_truth_harness_phase30_value_flow_to_movements_chain", + "domain": "address_phase30_value_flow_to_movements_chain", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)каталог", + "(?i)найден", + "(?i)наиболее вероятн" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase30_value_flow_to_movements_chain:step_02_incoming_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase30_value_flow_to_movements_chain.json", + "source_title": "Phase 30 grounded value-flow to movement evidence replay", + "scenario_id": "address_truth_harness_phase30_value_flow_to_movements_chain", + "domain": "address_phase30_value_flow_to_movements_chain", + "reusable_in_agent_pack": true, + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получил|входящ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase30_value_flow_to_movements_chain:step_03_payout_switch_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase30_value_flow_to_movements_chain.json", + "source_title": "Phase 30 grounded value-flow to movement evidence replay", + "scenario_id": "address_truth_harness_phase30_value_flow_to_movements_chain", + "domain": "address_phase30_value_flow_to_movements_chain", + "reusable_in_agent_pack": true, + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ], + "step_payload": { + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)за какой год" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase30_value_flow_to_movements_chain:step_04_year_switch_on_payout", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase30_value_flow_to_movements_chain.json", + "source_title": "Phase 30 grounded value-flow to movement evidence replay", + "scenario_id": "address_truth_harness_phase30_value_flow_to_movements_chain", + "domain": "address_phase30_value_flow_to_movements_chain", + "reusable_in_agent_pack": true, + "step_id": "step_04_year_switch_on_payout", + "title": "Short year switch keeps the payout contour and grounded counterparty", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "payout_year_switch", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_04_year_switch_on_payout", + "title": "Short year switch keeps the payout contour and grounded counterparty", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_year_switch", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase30_value_flow_to_movements_chain:step_05_movements_after_value_flow", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase30_value_flow_to_movements_chain.json", + "source_title": "Phase 30 grounded value-flow to movement evidence replay", + "scenario_id": "address_truth_harness_phase30_value_flow_to_movements_chain", + "domain": "address_phase30_value_flow_to_movements_chain", + "reusable_in_agent_pack": true, + "step_id": "step_05_movements_after_value_flow", + "title": "Movement evidence follow-up keeps the same grounded counterparty after the money answer", + "question": "а по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "movement_evidence", + "value_flow_pivot", + "followup_reuse" + ], + "step_payload": { + "step_id": "step_05_movements_after_value_flow", + "title": "Movement evidence follow-up keeps the same grounded counterparty after the money answer", + "question": "а по движениям?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)движени|операц|платеж|списан|поступ" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк", + "(?i)2021" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)сколько получили", + "(?i)сколько заплатили", + "(?i)нетто" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "movement_evidence", + "value_flow_pivot", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase31_entity_ambiguity_probe:step_01_probe_ambiguous_counterparty_search", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase31_entity_ambiguity_probe.json", + "source_title": "Phase 31 entity ambiguity probe", + "scenario_id": "address_truth_harness_phase31_entity_ambiguity_probe", + "domain": "address_phase31_entity_ambiguity_probe", + "reusable_in_agent_pack": true, + "step_id": "step_01_probe_ambiguous_counterparty_search", + "title": "Probe raw entity search wording for an ambiguity-capable live response", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_resolution", + "ambiguity_probe", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_probe_ambiguous_counterparty_search", + "title": "Probe raw entity search wording for an ambiguity-capable live response", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)каталог", + "(?i)1с", + "(?i)наш[её]л", + "(?i)найден" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "ambiguity_probe", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_01_resolve_counterparty_alias", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json", + "source_title": "Phase 32 planner-selected chain end-to-end replay", + "scenario_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end", + "domain": "address_phase32_planner_selected_chain_end_to_end", + "reusable_in_agent_pack": true, + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "entity_resolution", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_01_resolve_counterparty_alias", + "title": "Entity resolution grounds the checked 1C counterparty from a loose alias", + "question": "найди в 1С контрагента СВК", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "entity_resolution", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)каталог", + "(?i)найден", + "(?i)наиболее вероятн" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)оборот", + "(?i)выручк", + "(?i)сумм(а|ы)" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "alias_grounding", + "followup_anchor" + ] + } + }, + { + "entry_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_02_incoming_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json", + "source_title": "Phase 32 planner-selected chain end-to-end replay", + "scenario_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end", + "domain": "address_phase32_planner_selected_chain_end_to_end", + "reusable_in_agent_pack": true, + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_02_incoming_by_resolved_entity", + "title": "Incoming value-flow follow-up reuses the resolved counterparty anchor", + "question": "сколько получили по нему за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получил|входящ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "incoming_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_03_payout_switch_by_resolved_entity", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json", + "source_title": "Phase 32 planner-selected chain end-to-end replay", + "scenario_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end", + "domain": "address_phase32_planner_selected_chain_end_to_end", + "reusable_in_agent_pack": true, + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_03_payout_switch_by_resolved_entity", + "title": "Outgoing payment follow-up keeps the same grounded counterparty and checked year", + "question": "а теперь сколько заплатили?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)заплатил|исходящ|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)за какой год" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "payout_switch", + "followup_reuse", + "date_carryover" + ] + } + }, + { + "entry_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_04_net_after_payout", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json", + "source_title": "Phase 32 planner-selected chain end-to-end replay", + "scenario_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end", + "domain": "address_phase32_planner_selected_chain_end_to_end", + "reusable_in_agent_pack": true, + "step_id": "step_04_net_after_payout", + "title": "Net-flow follow-up reuses the same grounded counterparty and checked year after payout", + "question": "а какое нетто?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "entity_resolution", + "net_value_flow", + "followup_reuse", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_04_net_after_payout", + "title": "Net-flow follow-up reuses the same grounded counterparty and checked year after payout", + "question": "а какое нетто?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)нетто|сальдо", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)получ", + "(?i)заплат", + "(?i)группа\\s+свк", + "(?i)свк" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "net_value_flow", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_05_documents_after_net", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json", + "source_title": "Phase 32 planner-selected chain end-to-end replay", + "scenario_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end", + "domain": "address_phase32_planner_selected_chain_end_to_end", + "reusable_in_agent_pack": true, + "step_id": "step_05_documents_after_net", + "title": "Document evidence follow-up keeps the grounded counterparty after the net answer", + "question": "а по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "document_evidence", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "entity_resolution", + "document_evidence", + "value_flow_pivot", + "followup_reuse", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_05_documents_after_net", + "title": "Document evidence follow-up keeps the grounded counterparty after the net answer", + "question": "а по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "document_evidence", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)документ|счет|накладн|акт" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк", + "(?i)2020" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)сколько получили", + "(?i)сколько заплатили", + "(?i)нетто" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "document_evidence", + "value_flow_pivot", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_06_movements_after_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase32_planner_selected_chain_end_to_end.json", + "source_title": "Phase 32 planner-selected chain end-to-end replay", + "scenario_id": "address_truth_harness_phase32_planner_selected_chain_end_to_end", + "domain": "address_phase32_planner_selected_chain_end_to_end", + "reusable_in_agent_pack": true, + "step_id": "step_06_movements_after_documents", + "title": "Movement evidence follow-up keeps the grounded counterparty after the document answer", + "question": "а по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "movement_evidence", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "entity_resolution", + "movement_evidence", + "document_pivot", + "followup_reuse", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_06_movements_after_documents", + "title": "Movement evidence follow-up keeps the grounded counterparty after the document answer", + "question": "а по движениям?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "movement_evidence", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)движени|операц|платеж|списан|поступ" + ], + "required_answer_patterns_any": [ + "(?i)группа\\s+свк", + "(?i)свк", + "(?i)2020" + ], + "forbidden_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните, какого контрагента", + "(?i)по какому контрагенту", + "(?i)сколько получили", + "(?i)сколько заплатили", + "(?i)нетто" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_resolution", + "movement_evidence", + "document_pivot", + "followup_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_phase33_open_scope_value_flow_comparison:step_01_compare_incoming_vs_outgoing_for_org", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase33_open_scope_value_flow_comparison.json", + "source_title": "Phase 33 open-scope value-flow comparison replay", + "scenario_id": "address_truth_harness_phase33_open_scope_value_flow_comparison", + "domain": "address_phase33_open_scope_value_flow_comparison", + "reusable_in_agent_pack": true, + "step_id": "step_01_compare_incoming_vs_outgoing_for_org", + "title": "Raw organization-scoped comparison wording produces a bounded incoming-vs-outgoing answer without inventing a counterparty", + "question": "что больше: входящие или исходящие деньги за 2020 год по ООО Альтернатива Плюс?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "open_scope", + "organization_scoped", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_compare_incoming_vs_outgoing_for_org", + "title": "Raw organization-scoped comparison wording produces a bounded incoming-vs-outgoing answer without inventing a counterparty", + "question": "что больше: входящие или исходящие деньги за 2020 год по ООО Альтернатива Плюс?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|получили|поступ", + "(?i)исходящ|заплатили|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)нетто|сальдо", + "(?i)больше|превыш", + "(?i)альтернатива" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "open_scope", + "organization_scoped", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase34_open_scope_value_flow_totals:step_01_incoming_total_for_org", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase34_open_scope_value_flow_totals.json", + "source_title": "Phase 34 open-scope value-flow totals replay", + "scenario_id": "address_truth_harness_phase34_open_scope_value_flow_totals", + "domain": "address_phase34_open_scope_value_flow_totals", + "reusable_in_agent_pack": true, + "step_id": "step_01_incoming_total_for_org", + "title": "Raw organization-scoped incoming wording produces a bounded incoming total without inventing a counterparty", + "question": "Сколько входящих денег за 2020 год по ООО Альтернатива Плюс?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "organization_scoped", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_incoming_total_for_org", + "title": "Raw organization-scoped incoming wording produces a bounded incoming total without inventing a counterparty", + "question": "Сколько входящих денег за 2020 год по ООО Альтернатива Плюс?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|получ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "organization_scoped", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase34_open_scope_value_flow_totals:step_02_outgoing_total_for_org", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase34_open_scope_value_flow_totals.json", + "source_title": "Phase 34 open-scope value-flow totals replay", + "scenario_id": "address_truth_harness_phase34_open_scope_value_flow_totals", + "domain": "address_phase34_open_scope_value_flow_totals", + "reusable_in_agent_pack": true, + "step_id": "step_02_outgoing_total_for_org", + "title": "Raw organization-scoped outgoing wording produces a bounded payout total without inventing a counterparty", + "question": "Сколько исходящих денег за 2020 год по ООО Альтернатива Плюс?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "outgoing", + "open_scope", + "organization_scoped", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_outgoing_total_for_org", + "title": "Raw organization-scoped outgoing wording produces a bounded payout total without inventing a counterparty", + "question": "Сколько исходящих денег за 2020 год по ООО Альтернатива Плюс?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)исходящ|заплат|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "outgoing", + "open_scope", + "organization_scoped", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase35_open_scope_org_clarification:step_01_generic_incoming_total_requires_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase35_open_scope_org_clarification.json", + "source_title": "Phase 35 open-scope organization clarification replay", + "scenario_id": "address_truth_harness_phase35_open_scope_org_clarification", + "domain": "address_phase35_open_scope_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_01_generic_incoming_total_requires_organization", + "title": "Generic incoming total asks for organization instead of inventing a counterparty", + "question": "Сколько входящих денег за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_generic_incoming_total_requires_organization", + "title": "Generic incoming total asks for organization instead of inventing a counterparty", + "question": "Сколько входящих денег за 2020 год?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase35_open_scope_org_clarification:step_02_org_clarification_resumes_incoming_total", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase35_open_scope_org_clarification.json", + "source_title": "Phase 35 open-scope organization clarification replay", + "scenario_id": "address_truth_harness_phase35_open_scope_org_clarification", + "domain": "address_phase35_open_scope_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_clarification_resumes_incoming_total", + "title": "Organization-only clarification resumes the same open-scope incoming total chain", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_clarification_resumes_incoming_total", + "title": "Organization-only clarification resumes the same open-scope incoming total chain", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|получ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase35_open_scope_org_clarification:step_03_outgoing_followup_reuses_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase35_open_scope_org_clarification.json", + "source_title": "Phase 35 open-scope organization clarification replay", + "scenario_id": "address_truth_harness_phase35_open_scope_org_clarification", + "domain": "address_phase35_open_scope_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_03_outgoing_followup_reuses_org_and_period", + "title": "Short outgoing follow-up reuses the same organization and period without reintroducing a counterparty", + "question": "а исходящих?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "outgoing", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_outgoing_followup_reuses_org_and_period", + "title": "Short outgoing follow-up reuses the same organization and period without reintroducing a counterparty", + "question": "а исходящих?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)исходящ|заплат|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "outgoing", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_01_generic_incoming_total_requires_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase36_open_scope_year_switch_after_org_clarification.json", + "source_title": "Phase 36 open-scope year switch after organization clarification", + "scenario_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification", + "domain": "address_phase36_open_scope_year_switch_after_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_01_generic_incoming_total_requires_organization", + "title": "Generic incoming total asks for organization before execution", + "question": "Сколько входящих денег за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_generic_incoming_total_requires_organization", + "title": "Generic incoming total asks for organization before execution", + "question": "Сколько входящих денег за 2020 год?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_02_org_clarification_resumes_incoming_total", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase36_open_scope_year_switch_after_org_clarification.json", + "source_title": "Phase 36 open-scope year switch after organization clarification", + "scenario_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification", + "domain": "address_phase36_open_scope_year_switch_after_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_clarification_resumes_incoming_total", + "title": "Organization-only clarification resumes the same incoming total for 2020", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_clarification_resumes_incoming_total", + "title": "Organization-only clarification resumes the same incoming total for 2020", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|получ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_03_year_switch_reuses_org_and_axis", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase36_open_scope_year_switch_after_org_clarification.json", + "source_title": "Phase 36 open-scope year switch after organization clarification", + "scenario_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification", + "domain": "address_phase36_open_scope_year_switch_after_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_03_year_switch_reuses_org_and_axis", + "title": "Short year-switch follow-up keeps the same organization and incoming contour", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_year_switch_reuses_org_and_axis", + "title": "Short year-switch follow-up keeps the same organization and incoming contour", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)входящ|получ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_04_outgoing_followup_reuses_org_and_new_year", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase36_open_scope_year_switch_after_org_clarification.json", + "source_title": "Phase 36 open-scope year switch after organization clarification", + "scenario_id": "address_truth_harness_phase36_open_scope_year_switch_after_org_clarification", + "domain": "address_phase36_open_scope_year_switch_after_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_04_outgoing_followup_reuses_org_and_new_year", + "title": "Outgoing follow-up keeps the same organization and already switched year", + "question": "а исходящих?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "outgoing", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_04_outgoing_followup_reuses_org_and_new_year", + "title": "Outgoing follow-up keeps the same organization and already switched year", + "question": "а исходящих?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)исходящ|заплат|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "outgoing", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification:step_01_open_scope_comparison_requires_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase37_open_scope_comparison_org_clarification.json", + "source_title": "Phase 37 open-scope comparison organization clarification", + "scenario_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification", + "domain": "address_phase37_open_scope_comparison_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_scope_comparison_requires_organization", + "title": "Generic incoming-vs-outgoing comparison asks for organization first", + "question": "Что больше за 2020 год: входящих денег или исходящих?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_scope_comparison_requires_organization", + "title": "Generic incoming-vs-outgoing comparison asks for organization first", + "question": "Что больше за 2020 год: входящих денег или исходящих?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification:step_02_org_clarification_resumes_comparison", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase37_open_scope_comparison_org_clarification.json", + "source_title": "Phase 37 open-scope comparison organization clarification", + "scenario_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification", + "domain": "address_phase37_open_scope_comparison_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_clarification_resumes_comparison", + "title": "Organization-only clarification resumes the same comparison contour for 2020", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_clarification_resumes_comparison", + "title": "Organization-only clarification resumes the same comparison contour for 2020", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|исходящ|получ|заплат|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)больше|меньше|превыш|разниц", + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification:step_03_year_switch_reuses_org_and_comparison", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase37_open_scope_comparison_org_clarification.json", + "source_title": "Phase 37 open-scope comparison organization clarification", + "scenario_id": "address_truth_harness_phase37_open_scope_comparison_org_clarification", + "domain": "address_phase37_open_scope_comparison_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_03_year_switch_reuses_org_and_comparison", + "title": "Short year-switch follow-up keeps the same organization and comparison contour", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_year_switch_reuses_org_and_comparison", + "title": "Short year-switch follow-up keeps the same organization and comparison contour", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)входящ|исходящ|получ|заплат|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)больше|меньше|превыш|разниц", + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase38_open_scope_net_org_clarification:step_01_open_scope_net_requires_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase38_open_scope_net_org_clarification.json", + "source_title": "Phase 38 open-scope net organization clarification", + "scenario_id": "address_truth_harness_phase38_open_scope_net_org_clarification", + "domain": "address_phase38_open_scope_net_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_scope_net_requires_organization", + "title": "Generic net value-flow question asks for organization first", + "question": "Какое нетто по деньгам за 2020 год: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_net", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_scope_net_requires_organization", + "title": "Generic net value-flow question asks for organization first", + "question": "Какое нетто по деньгам за 2020 год: сколько получили и сколько заплатили?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_net", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase38_open_scope_net_org_clarification:step_02_org_clarification_resumes_net", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase38_open_scope_net_org_clarification.json", + "source_title": "Phase 38 open-scope net organization clarification", + "scenario_id": "address_truth_harness_phase38_open_scope_net_org_clarification", + "domain": "address_phase38_open_scope_net_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_clarification_resumes_net", + "title": "Organization-only clarification resumes the same net contour for 2020", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_net", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_clarification_resumes_net", + "title": "Organization-only clarification resumes the same net contour for 2020", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получ|входящ|поступ", + "(?i)заплат|исходящ|списан|платеж", + "(?i)нетто|сальдо|разниц", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_net", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase38_open_scope_net_org_clarification:step_03_year_switch_reuses_org_and_net", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase38_open_scope_net_org_clarification.json", + "source_title": "Phase 38 open-scope net organization clarification", + "scenario_id": "address_truth_harness_phase38_open_scope_net_org_clarification", + "domain": "address_phase38_open_scope_net_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_03_year_switch_reuses_org_and_net", + "title": "Short year-switch follow-up keeps the same organization and bidirectional net contour", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_net", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_year_switch_reuses_org_and_net", + "title": "Short year-switch follow-up keeps the same organization and bidirectional net contour", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)получ|входящ|поступ", + "(?i)заплат|исходящ|списан|платеж", + "(?i)нетто|сальдо|разниц", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_net", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase39_open_scope_ranking_org_clarification:step_01_open_scope_ranking_requires_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase39_open_scope_ranking_org_clarification.json", + "source_title": "Phase 39 open-scope ranking organization clarification", + "scenario_id": "address_truth_harness_phase39_open_scope_ranking_org_clarification", + "domain": "address_phase39_open_scope_ranking_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_scope_ranking_requires_organization", + "title": "Generic top customer question asks for organization before ranking", + "question": "Кто больше всего принес денег за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_scope_ranking_requires_organization", + "title": "Generic top customer question asks for organization before ranking", + "question": "Кто больше всего принес денег за 2020 год?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "open_scope", + "organization_clarification", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase39_open_scope_ranking_org_clarification:step_02_org_clarification_resumes_ranking", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase39_open_scope_ranking_org_clarification.json", + "source_title": "Phase 39 open-scope ranking organization clarification", + "scenario_id": "address_truth_harness_phase39_open_scope_ranking_org_clarification", + "domain": "address_phase39_open_scope_ranking_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_clarification_resumes_ranking", + "title": "Organization-only clarification resumes the same ranking contour for 2020", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_clarification_resumes_ranking", + "title": "Organization-only clarification resumes the same ranking contour for 2020", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)клиент|контрагент|заказчик", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)больше всего|топ|самый доходный|наибол", + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase39_open_scope_ranking_org_clarification:step_03_year_switch_reuses_org_and_ranking", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase39_open_scope_ranking_org_clarification.json", + "source_title": "Phase 39 open-scope ranking organization clarification", + "scenario_id": "address_truth_harness_phase39_open_scope_ranking_org_clarification", + "domain": "address_phase39_open_scope_ranking_org_clarification", + "reusable_in_agent_pack": true, + "step_id": "step_03_year_switch_reuses_org_and_ranking", + "title": "Short year-switch follow-up keeps the same organization and ranking contour", + "question": "а за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_year_switch_reuses_org_and_ranking", + "title": "Short year-switch follow-up keeps the same organization and ranking contour", + "question": "а за 2021?", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)клиент|контрагент|заказчик", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)больше всего|топ|самый доходный|наибол", + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)уточните организацию" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "year_switch", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase40_open_scope_all_time_followup:step_01_year_total_for_org", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase40_open_scope_all_time_followup.json", + "source_title": "Phase 40 open-scope all-time follow-up after year total", + "scenario_id": "address_truth_harness_phase40_open_scope_all_time_followup", + "domain": "address_phase40_open_scope_all_time_followup", + "reusable_in_agent_pack": true, + "step_id": "step_01_year_total_for_org", + "title": "Organization-scoped yearly total returns a bounded incoming amount for 2017", + "question": "Сколько входящих денег за 2017 год по ООО Альтернатива Плюс?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "organization_scoped", + "year_specific", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_year_total_for_org", + "title": "Organization-scoped yearly total returns a bounded incoming amount for 2017", + "question": "Сколько входящих денег за 2017 год по ООО Альтернатива Плюс?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2017", + "(?i)входящ|получ|поступ", + "(?i)руб|₽" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "organization_scoped", + "year_specific", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase40_open_scope_all_time_followup:step_02_all_time_followup_reuses_org_without_stale_year", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase40_open_scope_all_time_followup.json", + "source_title": "Phase 40 open-scope all-time follow-up after year total", + "scenario_id": "address_truth_harness_phase40_open_scope_all_time_followup", + "domain": "address_phase40_open_scope_all_time_followup", + "reusable_in_agent_pack": true, + "step_id": "step_02_all_time_followup_reuses_org_without_stale_year", + "title": "All-time follow-up keeps the organization but drops the stale year filter", + "question": "сколько вообще денег мы заработали за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "all_time_scope", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_all_time_followup_reuses_org_without_stale_year", + "title": "All-time follow-up keeps the organization but drops the stale year filter", + "question": "сколько вообще денег мы заработали за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)входящ|получ|поступ|заработ", + "(?i)руб|₽" + ], + "required_answer_patterns_any": [ + "(?i)за все время", + "(?i)за все доступное время", + "(?i)весь проверенн", + "(?i)подтвержден", + "(?i)проверенн|найденн", + "(?i)по данным 1с" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)по какому контрагенту", + "(?i)не найдено контрагента", + "(?i)не получил", + "(?i)не смог", + "(?i)не удалось", + "(?i)не подтвержденного факта" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "incoming", + "open_scope", + "all_time_scope", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup:step_01_top_revenue_year", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase41_saved_chain_all_time_revenue_followup.json", + "source_title": "Phase 41 saved-chain all-time revenue follow-up", + "scenario_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup", + "domain": "address_phase41_saved_chain_all_time_revenue_followup", + "reusable_in_agent_pack": true, + "step_id": "step_01_top_revenue_year", + "title": "The assistant identifies the top confirmed revenue year in the active self-scope contour", + "question": "какой у нас самый доходный год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "self_scope", + "saved_chain", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_top_revenue_year", + "title": "The assistant identifies the top confirmed revenue year in the active self-scope contour", + "question": "какой у нас самый доходный год", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)20\\d\\d", + "(?i)денежн|поступ|доходн|выручк", + "(?i)руб|₽" + ], + "required_answer_patterns_any": [ + "(?i)самый доходный год", + "(?i)топ-?3", + "(?i)подтвержден" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "self_scope", + "saved_chain", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup:step_02_year_followup_2017", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase41_saved_chain_all_time_revenue_followup.json", + "source_title": "Phase 41 saved-chain all-time revenue follow-up", + "scenario_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup", + "domain": "address_phase41_saved_chain_all_time_revenue_followup", + "reusable_in_agent_pack": true, + "step_id": "step_02_year_followup_2017", + "title": "Short year follow-up reuses the same contour and returns a bounded 2017 incoming total", + "question": "а за 2017 мы скок заработали?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "year_switch", + "self_scope", + "saved_chain", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_year_followup_2017", + "title": "Short year follow-up reuses the same contour and returns a bounded 2017 incoming total", + "question": "а за 2017 мы скок заработали?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2017", + "(?i)входящ|получ|поступ|заработ", + "(?i)руб|₽" + ], + "required_answer_patterns_any": [ + "(?i)подтвержден", + "(?i)проверенн|найденн", + "(?i)по данным 1с", + "(?i)в рамках проверенного периода" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)не получил", + "(?i)не смог", + "(?i)не удалось" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "year_switch", + "self_scope", + "saved_chain", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup:step_03_all_time_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase41_saved_chain_all_time_revenue_followup.json", + "source_title": "Phase 41 saved-chain all-time revenue follow-up", + "scenario_id": "address_truth_harness_phase41_saved_chain_all_time_revenue_followup", + "domain": "address_phase41_saved_chain_all_time_revenue_followup", + "reusable_in_agent_pack": true, + "step_id": "step_03_all_time_followup", + "title": "All-time follow-up stays in the same money contour and does not fall into an empty partial answer", + "question": "сколько вообще денег мы заработали за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "all_time_scope", + "self_scope", + "saved_chain", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_all_time_followup", + "title": "All-time follow-up stays in the same money contour and does not fall into an empty partial answer", + "question": "сколько вообще денег мы заработали за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)входящ|получ|поступ|заработ", + "(?i)руб|₽" + ], + "required_answer_patterns_any": [ + "(?i)за все время", + "(?i)за все доступное время", + "(?i)подтвержден", + "(?i)по данным 1с" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните контрагента", + "(?i)не найден контрагент", + "(?i)не получил", + "(?i)не смог", + "(?i)не удалось", + "(?i)подтвержденного факта для ответа не получил" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "all_time_scope", + "self_scope", + "saved_chain", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase42_catalog_metadata_drilldown:step_01_catalog_metadata_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase42_catalog_metadata_drilldown.json", + "source_title": "Phase 42 catalog metadata drilldown replay", + "scenario_id": "address_truth_harness_phase42_catalog_metadata_drilldown", + "domain": "address_phase42_catalog_metadata_drilldown", + "reusable_in_agent_pack": true, + "step_id": "step_01_catalog_metadata_surface", + "title": "Catalog-oriented metadata surface is surfaced honestly for counterparties", + "question": "какие справочники 1С есть по контрагентам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "catalog_metadata_surface", + "counterparty_catalog_scope" + ], + "step_payload": { + "step_id": "step_01_catalog_metadata_surface", + "title": "Catalog-oriented metadata surface is surfaced honestly for counterparties", + "question": "какие справочники 1С есть по контрагентам?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)metadata|метадан", + "(?i)справоч|catalog|directory", + "(?i)контрагент" + ], + "forbidden_answer_patterns": [ + "(?i)получили", + "(?i)заплатили", + "(?i)нетто", + "(?i)документные строки найдены", + "(?i)строки денежных движений найдены" + ], + "criticality": "critical", + "semantic_tags": [ + "catalog_metadata_surface", + "counterparty_catalog_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase42_catalog_metadata_drilldown:step_02_neutral_followup_catalog_drilldown", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase42_catalog_metadata_drilldown.json", + "source_title": "Phase 42 catalog metadata drilldown replay", + "scenario_id": "address_truth_harness_phase42_catalog_metadata_drilldown", + "domain": "address_phase42_catalog_metadata_drilldown", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_catalog_drilldown", + "title": "Neutral follow-up continues into deeper catalog metadata instead of asking for a documents-vs-movements lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "catalog_drilldown", + "neutral_followup" + ], + "step_payload": { + "step_id": "step_02_neutral_followup_catalog_drilldown", + "title": "Neutral follow-up continues into deeper catalog metadata instead of asking for a documents-vs-movements lane choice", + "question": "давай дальше", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)metadata|метадан|схем", + "(?i)справоч|catalog|directory", + "(?i)контрагент|counterpart" + ], + "forbidden_answer_patterns": [ + "(?i)документ", + "(?i)движени|регистр", + "(?i)уточн.*контур", + "(?i)получили", + "(?i)заплатили", + "(?i)нетто" + ], + "criticality": "critical", + "semantic_tags": [ + "catalog_drilldown", + "neutral_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_phase43_multi_hop_ranking_clarification_loop:step_01_ranking_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase43_multi_hop_ranking_clarification_loop.json", + "source_title": "Phase 43 multi-hop ranking clarification loop", + "scenario_id": "address_truth_harness_phase43_multi_hop_ranking_clarification_loop", + "domain": "address_phase43_multi_hop_ranking_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_ranking_requires_org_and_period", + "title": "Generic ranking question asks for both organization and period", + "question": "Кто больше всего принес денег?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_ranking_requires_org_and_period", + "title": "Generic ranking question asks for both organization and period", + "question": "Кто больше всего принес денег?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase43_multi_hop_ranking_clarification_loop:step_02_org_only_clarification_keeps_same_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase43_multi_hop_ranking_clarification_loop.json", + "source_title": "Phase 43 multi-hop ranking clarification loop", + "scenario_id": "address_truth_harness_phase43_multi_hop_ranking_clarification_loop", + "domain": "address_phase43_multi_hop_ranking_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_only_clarification_keeps_same_loop", + "title": "Organization-only clarification preserves the same ranking loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_only_clarification_keeps_same_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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase43_multi_hop_ranking_clarification_loop:step_03_period_clarification_completes_same_ranking_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase43_multi_hop_ranking_clarification_loop.json", + "source_title": "Phase 43 multi-hop ranking clarification loop", + "scenario_id": "address_truth_harness_phase43_multi_hop_ranking_clarification_loop", + "domain": "address_phase43_multi_hop_ranking_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_period_clarification_completes_same_ranking_loop", + "title": "Period clarification completes the same ranking loop and yields a bounded ranking answer", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_period_clarification_completes_same_ranking_loop", + "title": "Period clarification completes the same ranking loop and yields a bounded ranking answer", + "question": "за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)клиент|контрагент|заказчик", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)больше всего|топ|самый доходный|наибол", + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase44_multi_hop_comparison_clarification_loop:step_01_comparison_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase44_multi_hop_comparison_clarification_loop.json", + "source_title": "Phase 44 multi-hop comparison clarification loop", + "scenario_id": "address_truth_harness_phase44_multi_hop_comparison_clarification_loop", + "domain": "address_phase44_multi_hop_comparison_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_comparison_requires_org_and_period", + "title": "Generic incoming-vs-outgoing comparison asks for both organization and period", + "question": "Что больше: входящих денег или исходящих?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_comparison_requires_org_and_period", + "title": "Generic incoming-vs-outgoing comparison 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_comparison", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase44_multi_hop_comparison_clarification_loop:step_02_org_only_clarification_keeps_same_comparison_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase44_multi_hop_comparison_clarification_loop.json", + "source_title": "Phase 44 multi-hop comparison clarification loop", + "scenario_id": "address_truth_harness_phase44_multi_hop_comparison_clarification_loop", + "domain": "address_phase44_multi_hop_comparison_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_only_clarification_keeps_same_comparison_loop", + "title": "Organization-only clarification preserves the same comparison loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_only_clarification_keeps_same_comparison_loop", + "title": "Organization-only clarification preserves the same comparison 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_comparison", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase44_multi_hop_comparison_clarification_loop:step_03_period_clarification_completes_same_comparison_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase44_multi_hop_comparison_clarification_loop.json", + "source_title": "Phase 44 multi-hop comparison clarification loop", + "scenario_id": "address_truth_harness_phase44_multi_hop_comparison_clarification_loop", + "domain": "address_phase44_multi_hop_comparison_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_period_clarification_completes_same_comparison_loop", + "title": "Period clarification completes the same comparison loop and yields a bounded comparison answer", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_comparison", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_period_clarification_completes_same_comparison_loop", + "title": "Period clarification completes the same comparison loop and yields a bounded comparison answer", + "question": "за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|исходящ|получ|заплат|списан|платеж", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)больше|меньше|превыш|разниц", + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase45_multi_hop_open_total_clarification_loop:step_01_open_total_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase45_multi_hop_open_total_clarification_loop.json", + "source_title": "Phase 45 multi-hop open total clarification loop", + "scenario_id": "address_truth_harness_phase45_multi_hop_open_total_clarification_loop", + "domain": "address_phase45_multi_hop_open_total_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_total_requires_org_and_period", + "title": "Generic incoming total asks for both organization and period", + "question": "Сколько входящих денег?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_total_requires_org_and_period", + "title": "Generic incoming total 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_total", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase45_multi_hop_open_total_clarification_loop:step_02_org_only_clarification_keeps_same_total_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase45_multi_hop_open_total_clarification_loop.json", + "source_title": "Phase 45 multi-hop open total clarification loop", + "scenario_id": "address_truth_harness_phase45_multi_hop_open_total_clarification_loop", + "domain": "address_phase45_multi_hop_open_total_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_only_clarification_keeps_same_total_loop", + "title": "Organization-only clarification preserves the same total loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_only_clarification_keeps_same_total_loop", + "title": "Organization-only clarification preserves the same total loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)организац", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase45_multi_hop_open_total_clarification_loop:step_03_period_clarification_completes_same_total_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase45_multi_hop_open_total_clarification_loop.json", + "source_title": "Phase 45 multi-hop open total clarification loop", + "scenario_id": "address_truth_harness_phase45_multi_hop_open_total_clarification_loop", + "domain": "address_phase45_multi_hop_open_total_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_period_clarification_completes_same_total_loop", + "title": "Period clarification completes the same total loop and yields a bounded incoming total answer", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_total", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_period_clarification_completes_same_total_loop", + "title": "Period clarification completes the same total loop and yields a bounded incoming total answer", + "question": "за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|получ|поступ", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)подтвержден|проверенн|найденн", + "(?i)альтернатива", + "(?i)сумм" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_total", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase46_multi_hop_open_net_clarification_loop:step_01_open_net_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase46_multi_hop_open_net_clarification_loop.json", + "source_title": "Phase 46 multi-hop open net clarification loop", + "scenario_id": "address_truth_harness_phase46_multi_hop_open_net_clarification_loop", + "domain": "address_phase46_multi_hop_open_net_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_net_requires_org_and_period", + "title": "Generic net value-flow asks for both organization and period", + "question": "Какое нетто по деньгам: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_net", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_net_requires_org_and_period", + "title": "Generic net value-flow 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_net", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase46_multi_hop_open_net_clarification_loop:step_02_org_only_clarification_keeps_same_net_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase46_multi_hop_open_net_clarification_loop.json", + "source_title": "Phase 46 multi-hop open net clarification loop", + "scenario_id": "address_truth_harness_phase46_multi_hop_open_net_clarification_loop", + "domain": "address_phase46_multi_hop_open_net_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_only_clarification_keeps_same_net_loop", + "title": "Organization-only clarification preserves the same net loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_net", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_only_clarification_keeps_same_net_loop", + "title": "Organization-only clarification preserves the same net loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)организац", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_net", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase46_multi_hop_open_net_clarification_loop:step_03_period_clarification_completes_same_net_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase46_multi_hop_open_net_clarification_loop.json", + "source_title": "Phase 46 multi-hop open net clarification loop", + "scenario_id": "address_truth_harness_phase46_multi_hop_open_net_clarification_loop", + "domain": "address_phase46_multi_hop_open_net_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_period_clarification_completes_same_net_loop", + "title": "Period clarification completes the same net loop and yields a bounded net answer", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_net", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_period_clarification_completes_same_net_loop", + "title": "Period clarification completes the same net loop and yields a bounded net answer", + "question": "за 2020 год", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получ|входящ|поступ", + "(?i)заплат|исходящ|списан|платеж", + "(?i)нетто|сальдо|разниц", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_net", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop:step_01_open_net_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop.json", + "source_title": "Phase 47 multi-hop open net period-first clarification loop", + "scenario_id": "address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop", + "domain": "address_phase47_multi_hop_open_net_period_first_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_net_requires_org_and_period", + "title": "Open net question asks for both organization and period", + "question": "Какое нетто по деньгам: сколько получили и сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "open_scope_net", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_net_requires_org_and_period", + "title": "Open net 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": [ + "open_scope_net", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop:step_02_period_only_clarification_keeps_same_net_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop.json", + "source_title": "Phase 47 multi-hop open net period-first clarification loop", + "scenario_id": "address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop", + "domain": "address_phase47_multi_hop_open_net_period_first_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_period_only_clarification_keeps_same_net_loop", + "title": "Period-only clarification preserves the same net loop and asks only for the organization", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "open_scope_net", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_period_only_clarification_keeps_same_net_loop", + "title": "Period-only clarification preserves the same net loop and asks only for the organization", + "question": "за 2020 год", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "forbidden_answer_patterns": [ + "(?i)период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "open_scope_net", + "multi_hop_clarification", + "period_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop:step_03_org_clarification_completes_same_net_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop.json", + "source_title": "Phase 47 multi-hop open net period-first clarification loop", + "scenario_id": "address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop", + "domain": "address_phase47_multi_hop_open_net_period_first_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_org_clarification_completes_same_net_loop", + "title": "Organization clarification completes the same net loop and yields a bounded net answer", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "open_scope_net", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_org_clarification_completes_same_net_loop", + "title": "Organization clarification completes the same net loop and yields a bounded net answer", + "question": "по ООО Альтернатива Плюс", + "allowed_reply_types": [ + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получ|входящ|заплат|исходящ|нетто", + "(?i)руб" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива", + "(?i)проверенн|найденн", + "(?i)разниц|нетто" + ], + "forbidden_answer_patterns": [ + "(?i)уточните организацию", + "(?i)уточните период", + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "open_scope_net", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop:step_01_open_total_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop.json", + "source_title": "Phase 48 multi-hop open total all-time clarification loop", + "scenario_id": "address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop", + "domain": "address_phase48_multi_hop_open_total_all_time_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_total_requires_org_and_period", + "title": "Open total question asks for both organization and period", + "question": "Сколько вообще входящих денег было?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "open_scope_total", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_01_open_total_requires_org_and_period", + "title": "Open total 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": [ + "open_scope_total", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop:step_02_org_only_clarification_keeps_same_total_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop.json", + "source_title": "Phase 48 multi-hop open total all-time clarification loop", + "scenario_id": "address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop", + "domain": "address_phase48_multi_hop_open_total_all_time_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_org_only_clarification_keeps_same_total_loop", + "title": "Organization-only clarification preserves the same total loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "open_scope_total", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_02_org_only_clarification_keeps_same_total_loop", + "title": "Organization-only clarification preserves the same total 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": [ + "open_scope_total", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop:step_03_all_time_clarification_completes_same_total_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop.json", + "source_title": "Phase 48 multi-hop open total all-time clarification loop", + "scenario_id": "address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop", + "domain": "address_phase48_multi_hop_open_total_all_time_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_all_time_clarification_completes_same_total_loop", + "title": "All-time clarification clears the remaining period gap and yields a bounded total answer", + "question": "за все время", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "open_scope_total", + "all_time_scope", + "multi_hop_clarification", + "bounded_autonomy" + ], + "step_payload": { + "step_id": "step_03_all_time_clarification_completes_same_total_loop", + "title": "All-time clarification clears the remaining period gap and yields a bounded total 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": [ + "open_scope_total", + "all_time_scope", + "multi_hop_clarification", + "bounded_autonomy" + ] + } + }, + { + "entry_id": "address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop:step_01_open_ranking_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop.json", + "source_title": "Phase 49 multi-hop open ranking all-time clarification loop", + "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", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_ranking_requires_org_and_period", + "title": "Open ranking question asks for both organization and period", + "question": "Кто больше всего принес денег?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "multi_hop_clarification", + "organization_scope", + "period_scope", + "bounded_autonomy" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop:step_02_org_only_clarification_keeps_same_ranking_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop.json", + "source_title": "Phase 49 multi-hop open ranking all-time clarification loop", + "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", + "reusable_in_agent_pack": true, + "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": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "multi_hop_clarification", + "organization_followup_reuse", + "bounded_autonomy" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop:step_03_all_time_clarification_completes_same_ranking_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop.json", + "source_title": "Phase 49 multi-hop open ranking all-time clarification loop", + "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", + "reusable_in_agent_pack": true, + "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": "за все время", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "value_flow_ranking", + "all_time_scope", + "multi_hop_clarification", + "bounded_autonomy" + ], + "step_payload": { + "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" + ] + } + }, { "entry_id": "address_truth_harness_phase4_coverage_evidence_mix:step_01_counterparty_documents", "source_type": "truth_harness_step", @@ -219,6 +10278,9 @@ "expected_intents": [ "list_documents_by_counterparty" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "counterparty_documents" ], @@ -253,6 +10315,9 @@ "expected_intents": [ "list_documents_by_counterparty" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "counterparty_shipment_fallback" ], @@ -293,6 +10358,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -336,6 +10404,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -376,6 +10447,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_restore" @@ -405,6 +10479,3013 @@ ] } }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_01_inventory_root_requires_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_01_inventory_root_requires_company", + "title": "Inventory root asks to choose the company instead of hallucinating scope", + "question": "какие остатки на складе на март 2021", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "company_clarification" + ], + "step_payload": { + "step_id": "step_01_inventory_root_requires_company", + "title": "Inventory root asks to choose the company instead of hallucinating scope", + "question": "какие остатки на складе на март 2021", + "semantic_tags": [ + "inventory_root", + "company_clarification" + ], + "required_answer_patterns_any": [ + "(?i)компан|организац", + "(?i)уточни|уточните|выбери|выберите|по какой" + ], + "forbidden_answer_patterns": [ + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json", + "(?i)route[_ ]summary|trace_id|capability[_ ]id|intent", + "(?i)selected_object|focus_object|answer_object" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_02_choose_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_company", + "title": "User chooses the company inside the same session", + "question": "давай по Альтернативе Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope", + "company_selection" + ], + "step_payload": { + "step_id": "step_02_choose_company", + "title": "User chooses the company inside the same session", + "question": "давай по Альтернативе Плюс", + "semantic_tags": [ + "meta_scope", + "company_selection" + ], + "required_answer_patterns_any": [ + "(?i)альтернатива плюс|ООО \\\\Альтернатива Плюс\\\\|работаем по" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason|living_router_reason|hard_meta_mode" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_03_inventory_root_after_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_root_after_company", + "title": "Inventory root continues after the company choice", + "question": "тогда покажи остатки на март 2021", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root" + ], + "step_payload": { + "step_id": "step_03_inventory_root_after_company", + "title": "Inventory root continues after the company choice", + "question": "тогда покажи остатки на март 2021", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2021-03-31", + "period_from": "2021-03-01", + "period_to": "2021-03-31" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2021", + "(?i)на складе", + "(?i)столешница 600\\*3050\\*26 альмандин" + ], + "forbidden_direct_answer_patterns": [ + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json", + "(?i)route[_ ]summary|trace_id|capability[_ ]id|intent" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_04_selected_item_supplier", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_04_selected_item_supplier", + "title": "Selected-object supplier follow-up stays business-first", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_04_selected_item_supplier", + "title": "Selected-object supplier follow-up stays business-first", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "required_direct_answer_patterns_any": [ + "(?i)столешница 600\\*3050\\*26 альмандин", + "(?i)поставщик|поставил|куплен", + "(?i)союз|торговый дом" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^на 31\\.03\\.2021 на складе", + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)selected_object|focus_object|answer_object", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_05_selected_item_purchase_date", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_05_selected_item_purchase_date", + "title": "Natural follow-up keeps the same selected item", + "question": "а по этой позиции когда была закупка?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_05_selected_item_purchase_date", + "title": "Natural follow-up keeps the same selected item", + "question": "а по этой позиции когда была закупка?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "required_direct_answer_patterns_any": [ + "(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции", + "(?i)дата|закупк|поступ" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^на 31\\.03\\.2021 на складе", + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)selected_object|focus_object|answer_object", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_06_selected_item_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_06_selected_item_documents", + "title": "Purchase documents stay in the same contour without technical dump", + "question": "покажи документы по этой позиции", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_documents_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ], + "step_payload": { + "step_id": "step_06_selected_item_documents", + "title": "Purchase documents stay in the same contour without technical dump", + "question": "покажи документы по этой позиции", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_purchase_documents_for_item" + ], + "required_direct_answer_patterns_any": [ + "(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции", + "(?i)документ" + ], + "forbidden_direct_answer_patterns": [ + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)selected_object|focus_object|answer_object", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json", + "(?i)route[_ ]summary|trace_id|capability[_ ]id|intent" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_07_inventory_same_date_restore", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_07_inventory_same_date_restore", + "title": "Same-date restore returns to the March 2021 root snapshot", + "question": "покажи еще раз остатки на эту же дату", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_restore" + ], + "step_payload": { + "step_id": "step_07_inventory_same_date_restore", + "title": "Same-date restore returns to the March 2021 root snapshot", + "question": "покажи еще раз остатки на эту же дату", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "2021-03-31", + "period_from": "2021-03-01", + "period_to": "2021-03-31" + }, + "required_direct_answer_patterns_any": [ + "31\\.03\\.2021", + "(?i)на складе" + ], + "forbidden_direct_answer_patterns": [ + "(?i)transition_not_supported_by_capability", + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json" + ] + } + }, + { + "entry_id": "address_truth_harness_phase4_inventory_answer_shape_continuity:step_08_memory_recap_business_only", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase4_inventory_answer_shape_continuity.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "address_truth_harness_phase4_inventory_answer_shape_continuity", + "domain": "inventory_answer_shape_and_continuity", + "reusable_in_agent_pack": true, + "step_id": "step_08_memory_recap_business_only", + "title": "Memory recap stays business-first after the provenance chain", + "question": "а что мы уже выяснили по этой позиции?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_memory" + ], + "step_payload": { + "step_id": "step_08_memory_recap_business_only", + "title": "Memory recap stays business-first after the provenance chain", + "question": "а что мы уже выяснили по этой позиции?", + "semantic_tags": [ + "meta_memory" + ], + "required_answer_patterns_any": [ + "(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции", + "(?i)поставщик|закупк|документ" + ], + "forbidden_answer_patterns": [ + "(?i)snapshot_items", + "(?i)bank_operations?_by_", + "(?i)selected_object|focus_object|answer_object", + "(?i)technical_debug_payload|debug_payload_json|technical_breakdown_json", + "(?i)route[_ ]summary|trace_id|capability[_ ]id|intent" + ] + } + }, + { + "entry_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase50_metadata_movement_org_period_clarification_loop.json", + "source_title": "Phase 50 metadata movement organization and period clarification loop", + "scenario_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop", + "domain": "address_phase50_metadata_movement_org_period_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase50_metadata_movement_org_period_clarification_loop.json", + "source_title": "Phase 50 metadata movement organization and period clarification loop", + "scenario_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop", + "domain": "address_phase50_metadata_movement_org_period_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_03_movement_lane_requires_org_and_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase50_metadata_movement_org_period_clarification_loop.json", + "source_title": "Phase 50 metadata movement organization and period clarification loop", + "scenario_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop", + "domain": "address_phase50_metadata_movement_org_period_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_03_movement_lane_requires_org_and_period", + "title": "Movement lane keeps both remaining gaps visible", + "question": "по движениям", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "remaining_gaps", + "organization_scope", + "period_scope" + ], + "step_payload": { + "step_id": "step_03_movement_lane_requires_org_and_period", + "title": "Movement lane keeps both remaining gaps visible", + "question": "по движениям", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)движени|регистр", + "(?i)организац", + "(?i)период" + ], + "forbidden_answer_patterns": [ + "(?i)уточните контрагента", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_lane_after_clarification", + "remaining_gaps", + "organization_scope", + "period_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_04_org_only_clarification_keeps_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase50_metadata_movement_org_period_clarification_loop.json", + "source_title": "Phase 50 metadata movement organization and period clarification loop", + "scenario_id": "address_truth_harness_phase50_metadata_movement_org_period_clarification_loop", + "domain": "address_phase50_metadata_movement_org_period_clarification_loop", + "reusable_in_agent_pack": true, + "step_id": "step_04_org_only_clarification_keeps_same_movement_loop", + "title": "Organization-only clarification preserves the same movement loop and asks only for the period", + "question": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "organization_followup_reuse", + "period_scope" + ], + "step_payload": { + "step_id": "step_04_org_only_clarification_keeps_same_movement_loop", + "title": "Organization-only clarification preserves the same movement 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": [ + "movement_lane_after_clarification", + "organization_followup_reuse", + "period_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase51_metadata_lane_choice_with_org_inline:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase51_metadata_lane_choice_with_org_inline.json", + "source_title": "Phase 51 metadata lane choice with inline organization clarification", + "scenario_id": "address_truth_harness_phase51_metadata_lane_choice_with_org_inline", + "domain": "address_phase51_metadata_lane_choice_with_org_inline", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase51_metadata_lane_choice_with_org_inline:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase51_metadata_lane_choice_with_org_inline.json", + "source_title": "Phase 51 metadata lane choice with inline organization clarification", + "scenario_id": "address_truth_harness_phase51_metadata_lane_choice_with_org_inline", + "domain": "address_phase51_metadata_lane_choice_with_org_inline", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase51_metadata_lane_choice_with_org_inline:step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase51_metadata_lane_choice_with_org_inline.json", + "source_title": "Phase 51 metadata lane choice with inline organization clarification", + "scenario_id": "address_truth_harness_phase51_metadata_lane_choice_with_org_inline", + "domain": "address_phase51_metadata_lane_choice_with_org_inline", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification", + "remaining_period_gap_only" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase52_metadata_movement_full_recovery:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json", + "source_title": "Phase 52 metadata movement full recovery to bounded retrieval", + "scenario_id": "address_truth_harness_phase52_metadata_movement_full_recovery", + "domain": "address_phase52_metadata_movement_full_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase52_metadata_movement_full_recovery:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json", + "source_title": "Phase 52 metadata movement full recovery to bounded retrieval", + "scenario_id": "address_truth_harness_phase52_metadata_movement_full_recovery", + "domain": "address_phase52_metadata_movement_full_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase52_metadata_movement_full_recovery:step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json", + "source_title": "Phase 52 metadata movement full recovery to bounded retrieval", + "scenario_id": "address_truth_harness_phase52_metadata_movement_full_recovery", + "domain": "address_phase52_metadata_movement_full_recovery", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification", + "remaining_period_gap_only" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase52_metadata_movement_full_recovery:step_04_period_clarification_executes_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase52_metadata_movement_full_recovery.json", + "source_title": "Phase 52 metadata movement full recovery to bounded retrieval", + "scenario_id": "address_truth_harness_phase52_metadata_movement_full_recovery", + "domain": "address_phase52_metadata_movement_full_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "period_gap_closed", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json", + "source_title": "Phase 53 metadata movement period-first recovery", + "scenario_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery", + "domain": "address_phase53_metadata_movement_period_first_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json", + "source_title": "Phase 53 metadata movement period-first recovery", + "scenario_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery", + "domain": "address_phase53_metadata_movement_period_first_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery:step_03_movement_lane_requires_both_gaps", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json", + "source_title": "Phase 53 metadata movement period-first recovery", + "scenario_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery", + "domain": "address_phase53_metadata_movement_period_first_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_03_movement_lane_requires_both_gaps", + "title": "Movement lane keeps both remaining gaps visible", + "question": "по движениям", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "remaining_gaps" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery:step_04_period_first_keeps_only_organization_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json", + "source_title": "Phase 53 metadata movement period-first recovery", + "scenario_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery", + "domain": "address_phase53_metadata_movement_period_first_recovery", + "reusable_in_agent_pack": true, + "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 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "period_first_recovery", + "remaining_org_gap_only" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery:step_05_organization_closes_same_loop_and_executes_retrieval", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase53_metadata_movement_period_first_recovery.json", + "source_title": "Phase 53 metadata movement period-first recovery", + "scenario_id": "address_truth_harness_phase53_metadata_movement_period_first_recovery", + "domain": "address_phase53_metadata_movement_period_first_recovery", + "reusable_in_agent_pack": true, + "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": "по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_second_recovery", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase54_metadata_document_full_recovery:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json", + "source_title": "Phase 54 metadata document full recovery", + "scenario_id": "address_truth_harness_phase54_metadata_document_full_recovery", + "domain": "address_phase54_metadata_document_full_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase54_metadata_document_full_recovery:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json", + "source_title": "Phase 54 metadata document full recovery", + "scenario_id": "address_truth_harness_phase54_metadata_document_full_recovery", + "domain": "address_phase54_metadata_document_full_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase54_metadata_document_full_recovery:step_03_inline_document_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json", + "source_title": "Phase 54 metadata document full recovery", + "scenario_id": "address_truth_harness_phase54_metadata_document_full_recovery", + "domain": "address_phase54_metadata_document_full_recovery", + "reusable_in_agent_pack": true, + "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": "по документам по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification", + "remaining_period_gap_only" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase54_metadata_document_full_recovery:step_04_period_clarification_executes_same_document_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase54_metadata_document_full_recovery.json", + "source_title": "Phase 54 metadata document full recovery", + "scenario_id": "address_truth_harness_phase54_metadata_document_full_recovery", + "domain": "address_phase54_metadata_document_full_recovery", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_document_loop", + "title": "Period clarification executes the same bounded document loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_execution", + "period_gap_closed", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json", + "source_title": "Phase 55 metadata movement year switch after bounded retrieval", + "scenario_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval", + "domain": "address_phase55_metadata_movement_year_switch_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json", + "source_title": "Phase 55 metadata movement year switch after bounded retrieval", + "scenario_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval", + "domain": "address_phase55_metadata_movement_year_switch_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json", + "source_title": "Phase 55 metadata movement year switch after bounded retrieval", + "scenario_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval", + "domain": "address_phase55_metadata_movement_year_switch_after_retrieval", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_04_period_clarification_executes_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json", + "source_title": "Phase 55 metadata movement year switch after bounded retrieval", + "scenario_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval", + "domain": "address_phase55_metadata_movement_year_switch_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_05_year_switch_keeps_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval.json", + "source_title": "Phase 55 metadata movement year switch after bounded retrieval", + "scenario_id": "address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval", + "domain": "address_phase55_metadata_movement_year_switch_after_retrieval", + "reusable_in_agent_pack": true, + "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?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_followup", + "movement_lane_continuity", + "same_organization_reuse" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json", + "source_title": "Phase 56 metadata retrieval to document pivot", + "scenario_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot", + "domain": "address_phase56_metadata_retrieval_to_document_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json", + "source_title": "Phase 56 metadata retrieval to document pivot", + "scenario_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot", + "domain": "address_phase56_metadata_retrieval_to_document_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json", + "source_title": "Phase 56 metadata retrieval to document pivot", + "scenario_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot", + "domain": "address_phase56_metadata_retrieval_to_document_pivot", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_04_period_clarification_executes_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json", + "source_title": "Phase 56 metadata retrieval to document pivot", + "scenario_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot", + "domain": "address_phase56_metadata_retrieval_to_document_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_05_document_pivot_keeps_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase56_metadata_retrieval_to_document_pivot.json", + "source_title": "Phase 56 metadata retrieval to document pivot", + "scenario_id": "address_truth_harness_phase56_metadata_retrieval_to_document_pivot", + "domain": "address_phase56_metadata_retrieval_to_document_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_05_document_pivot_keeps_same_scope", + "title": "Short document pivot reuses the same organization and period", + "question": "а теперь по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_pivot_after_retrieval", + "scope_reuse", + "same_proof_path_family_shift" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase57_metadata_movement_all_time_after_retrieval.json", + "source_title": "Phase 57 metadata movement all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval", + "domain": "address_phase57_metadata_movement_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase57_metadata_movement_all_time_after_retrieval.json", + "source_title": "Phase 57 metadata movement all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval", + "domain": "address_phase57_metadata_movement_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase57_metadata_movement_all_time_after_retrieval.json", + "source_title": "Phase 57 metadata movement all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval", + "domain": "address_phase57_metadata_movement_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_04_period_clarification_executes_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase57_metadata_movement_all_time_after_retrieval.json", + "source_title": "Phase 57 metadata movement all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval", + "domain": "address_phase57_metadata_movement_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_05_all_time_followup_keeps_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase57_metadata_movement_all_time_after_retrieval.json", + "source_title": "Phase 57 metadata movement all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase57_metadata_movement_all_time_after_retrieval", + "domain": "address_phase57_metadata_movement_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_05_all_time_followup_keeps_same_movement_loop", + "title": "All-time follow-up clears the previous period but keeps the same movement lane and organization", + "question": "а теперь за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_followup", + "movement_lane_continuity", + "period_cleared" + ], + "step_payload": { + "step_id": "step_05_all_time_followup_keeps_same_movement_loop", + "title": "All-time follow-up clears the previous period but keeps the same movement lane and organization", + "question": "а теперь за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)все время|доступное время|весь период", + "(?i)ндс|движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*контур", + "(?i)за 2020", + "(?i)документ", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_followup", + "movement_lane_continuity", + "period_cleared" + ] + } + }, + { + "entry_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase58_metadata_document_to_movement_pivot.json", + "source_title": "Phase 58 metadata document retrieval to movement pivot", + "scenario_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot", + "domain": "address_phase58_metadata_document_to_movement_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase58_metadata_document_to_movement_pivot.json", + "source_title": "Phase 58 metadata document retrieval to movement pivot", + "scenario_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot", + "domain": "address_phase58_metadata_document_to_movement_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot:step_03_document_lane_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase58_metadata_document_to_movement_pivot.json", + "source_title": "Phase 58 metadata document retrieval to movement pivot", + "scenario_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot", + "domain": "address_phase58_metadata_document_to_movement_pivot", + "reusable_in_agent_pack": true, + "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": "по документам по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot:step_04_period_clarification_executes_same_document_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase58_metadata_document_to_movement_pivot.json", + "source_title": "Phase 58 metadata document retrieval to movement pivot", + "scenario_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot", + "domain": "address_phase58_metadata_document_to_movement_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_document_loop", + "title": "Period clarification executes the same bounded document loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot:step_05_movement_pivot_keeps_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase58_metadata_document_to_movement_pivot.json", + "source_title": "Phase 58 metadata document retrieval to movement pivot", + "scenario_id": "address_truth_harness_phase58_metadata_document_to_movement_pivot", + "domain": "address_phase58_metadata_document_to_movement_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_05_movement_pivot_keeps_same_scope", + "title": "Short movement pivot reuses the same organization and period", + "question": "а теперь по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_pivot_after_document_retrieval", + "scope_reuse", + "same_proof_path_family_shift" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase59_metadata_document_all_time_after_retrieval.json", + "source_title": "Phase 59 metadata document all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval", + "domain": "address_phase59_metadata_document_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase59_metadata_document_all_time_after_retrieval.json", + "source_title": "Phase 59 metadata document all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval", + "domain": "address_phase59_metadata_document_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_03_inline_document_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase59_metadata_document_all_time_after_retrieval.json", + "source_title": "Phase 59 metadata document all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval", + "domain": "address_phase59_metadata_document_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "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": "по документам по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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)период" + ], + "criticality": "critical", + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification" + ] + } + }, + { + "entry_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_04_period_clarification_executes_same_document_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase59_metadata_document_all_time_after_retrieval.json", + "source_title": "Phase 59 metadata document all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval", + "domain": "address_phase59_metadata_document_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_document_loop", + "title": "Period clarification executes the same bounded document loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_05_all_time_followup_keeps_same_document_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase59_metadata_document_all_time_after_retrieval.json", + "source_title": "Phase 59 metadata document all-time follow-up after bounded retrieval", + "scenario_id": "address_truth_harness_phase59_metadata_document_all_time_after_retrieval", + "domain": "address_phase59_metadata_document_all_time_after_retrieval", + "reusable_in_agent_pack": true, + "step_id": "step_05_all_time_followup_keeps_same_document_loop", + "title": "All-time follow-up clears the previous period but keeps the same document lane and organization", + "question": "а теперь за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_followup", + "document_lane_continuity", + "period_cleared" + ], + "step_payload": { + "step_id": "step_05_all_time_followup_keeps_same_document_loop", + "title": "All-time follow-up clears the previous period but keeps the same document lane and organization", + "question": "а теперь за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)все время|доступное время|весь период", + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*контур", + "(?i)за 2020", + "(?i)движени|регистр", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_followup", + "document_lane_continuity", + "period_cleared" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_01_smalltalk", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk", + "title": "Casual opening stays human", + "question": "привет, как дела?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_smalltalk", + "title": "Casual opening stays human", + "question": "привет, как дела?", + "semantic_tags": [ + "meta_smalltalk" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_02_data_scope_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_02_data_scope_meta", + "title": "Data-scope question remains deterministic", + "question": "по какой компании мы сейчас работаем?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope" + ], + "step_payload": { + "step_id": "step_02_data_scope_meta", + "title": "Data-scope question remains deterministic", + "question": "по какой компании мы сейчас работаем?", + "semantic_tags": [ + "meta_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_03_inventory_root_march_2021", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_root_march_2021", + "title": "Inventory root establishes the March 2021 context", + "question": "какие остатки на складе на март 2021", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root" + ], + "step_payload": { + "step_id": "step_03_inventory_root_march_2021", + "title": "Inventory root establishes the March 2021 context", + "question": "какие остатки на складе на март 2021", + "semantic_tags": [ + "inventory_root" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_04_selected_item_supplier", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_04_selected_item_supplier", + "title": "Selected-object supplier follow-up survives the root hop", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_04_selected_item_supplier", + "title": "Selected-object supplier follow-up survives the root hop", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_05_selected_item_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_05_selected_item_documents", + "title": "Selected-object documents stay in the same contour", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ], + "step_payload": { + "step_id": "step_05_selected_item_documents", + "title": "Selected-object documents stay in the same contour", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_06_inventory_same_date_restore", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_06_inventory_same_date_restore", + "title": "Same-date restore returns to the inventory root", + "question": "покажи еще раз остатки на эту же дату", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_restore" + ], + "step_payload": { + "step_id": "step_06_inventory_same_date_restore", + "title": "Same-date restore returns to the inventory root", + "question": "покажи еще раз остатки на эту же дату", + "semantic_tags": [ + "inventory_root", + "same_date_restore" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_07_organization_fact_boundary", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_07_organization_fact_boundary", + "title": "Organization fact lookup stays bounded and non-hallucinatory", + "question": "а какой возраст у Альтернативы Плюс?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope", + "organization_fact_boundary" + ], + "step_payload": { + "step_id": "step_07_organization_fact_boundary", + "title": "Organization fact lookup stays bounded and non-hallucinatory", + "question": "а какой возраст у Альтернативы Плюс?", + "semantic_tags": [ + "meta_scope", + "organization_fact_boundary" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_08_capability_meta_interrupt", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_08_capability_meta_interrupt", + "title": "Capability meta interrupt does not destroy prior context", + "question": "что ты умеешь?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability" + ], + "step_payload": { + "step_id": "step_08_capability_meta_interrupt", + "title": "Capability meta interrupt does not destroy prior context", + "question": "что ты умеешь?", + "semantic_tags": [ + "meta_capability" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_09_memory_recap_after_interrupts", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_09_memory_recap_after_interrupts", + "title": "Memory recap still remembers the selected object after boundary and meta interruptions", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_memory" + ], + "step_payload": { + "step_id": "step_09_memory_recap_after_interrupts", + "title": "Memory recap still remembers the selected object after boundary and meta interruptions", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "semantic_tags": [ + "meta_memory" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_10_receivables_march_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_10_receivables_march_2020", + "title": "Cross-domain root pivot starts from receivables", + "question": "кто нам должен на март 2020", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_10_receivables_march_2020", + "title": "Cross-domain root pivot starts from receivables", + "question": "кто нам должен на март 2020", + "semantic_tags": [ + "settlements_receivables" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_11_inventory_same_date_cross_domain", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_assistantservice_boundary_transition_mix.json", + "source_title": "AssistantService boundary and transition delegation replay over mixed contextual chains", + "scenario_id": "address_truth_harness_phase5_assistantservice_boundary_transition_mix", + "domain": "address_phase5_assistantservice_boundary_transition_mix", + "reusable_in_agent_pack": true, + "step_id": "step_11_inventory_same_date_cross_domain", + "title": "Inventory same-date pivot should reuse only root date context", + "question": "остатки по складу на эту же дату", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_pivot" + ], + "step_payload": { + "step_id": "step_11_inventory_same_date_cross_domain", + "title": "Inventory same-date pivot should reuse only root date context", + "question": "остатки по складу на эту же дату", + "semantic_tags": [ + "inventory_root", + "same_date_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_01_smalltalk", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk", + "title": "Casual opening stays human", + "question": "привет, как дела?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_smalltalk", + "title": "Casual opening stays human", + "question": "привет, как дела?", + "semantic_tags": [ + "meta_smalltalk" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_02_data_scope_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_02_data_scope_meta", + "title": "Data-scope question shows available companies", + "question": "по какой компании мы сейчас работаем?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope" + ], + "step_payload": { + "step_id": "step_02_data_scope_meta", + "title": "Data-scope question shows available companies", + "question": "по какой компании мы сейчас работаем?", + "semantic_tags": [ + "meta_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_03_inventory_root_requires_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_root_requires_company", + "title": "Inventory root correctly asks to choose a company", + "question": "какие остатки на складе на март 2021", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "company_clarification" + ], + "step_payload": { + "step_id": "step_03_inventory_root_requires_company", + "title": "Inventory root correctly asks to choose a company", + "question": "какие остатки на складе на март 2021", + "semantic_tags": [ + "inventory_root", + "company_clarification" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_04_choose_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_04_choose_company", + "title": "User selects the company inside the same session", + "question": "давай по Альтернативе Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope", + "company_selection" + ], + "step_payload": { + "step_id": "step_04_choose_company", + "title": "User selects the company inside the same session", + "question": "давай по Альтернативе Плюс", + "semantic_tags": [ + "meta_scope", + "company_selection" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_05_inventory_root_after_company", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_root_after_company", + "title": "Inventory root continues after the company choice", + "question": "тогда покажи остатки на март 2021", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "company_selected" + ], + "step_payload": { + "step_id": "step_05_inventory_root_after_company", + "title": "Inventory root continues after the company choice", + "question": "тогда покажи остатки на март 2021", + "semantic_tags": [ + "inventory_root", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_06_selected_item_supplier", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_06_selected_item_supplier", + "title": "Selected-object supplier follow-up survives after company selection", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_06_selected_item_supplier", + "title": "Selected-object supplier follow-up survives after company selection", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_07_selected_item_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_07_selected_item_documents", + "title": "Selected-object documents stay in the same contour", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ], + "step_payload": { + "step_id": "step_07_selected_item_documents", + "title": "Selected-object documents stay in the same contour", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_08_inventory_same_date_restore", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_08_inventory_same_date_restore", + "title": "Same-date restore returns to the inventory root within the chosen company", + "question": "покажи еще раз остатки на эту же дату", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_restore" + ], + "step_payload": { + "step_id": "step_08_inventory_same_date_restore", + "title": "Same-date restore returns to the inventory root within the chosen company", + "question": "покажи еще раз остатки на эту же дату", + "semantic_tags": [ + "inventory_root", + "same_date_restore" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_09_company_activity_age", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_09_company_activity_age", + "title": "Organization age should be answered through reachable activity evidence or honest boundedness", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_activity_age", + "company_selected" + ], + "step_payload": { + "step_id": "step_09_company_activity_age", + "title": "Organization age should be answered through reachable activity evidence or honest boundedness", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_recipe": "address_counterparty_activity_lifecycle_v1", + "required_direct_answer_patterns_any": [ + "(?i)РїРѕ активности", + "(?i)первая подтвержденная активность|РЅРµ удается точно определить" + ], + "forbidden_direct_answer_patterns": [ + "(?i)РЅРµ найден контрагент", + "(?i)уточните точное наименование организации" + ], + "criticality": "critical", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "semantic_tags": [ + "organization_activity_age", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_10_capability_meta_interrupt", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_10_capability_meta_interrupt", + "title": "Capability meta interrupt does not destroy prior context", + "question": "что ты умеешь?", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability" + ], + "step_payload": { + "step_id": "step_10_capability_meta_interrupt", + "title": "Capability meta interrupt does not destroy prior context", + "allowed_reply_types": [ + "factual_with_explanation", + "factual" + ], + "required_direct_answer_patterns_any": [ + "(?i)1СЃ", + "(?i)РЅРґСЃ|контрагент|остатк|склад" + ], + "forbidden_direct_answer_patterns": [ + "(?i)vat_period_snapshot", + "(?i)inventory_on_hand_as_of_date", + "(?i)explain_boundary", + "(?i)suggest_safe_next_step", + "(?i)read_only", + "(?i)mcp" + ], + "criticality": "warning", + "question": "что ты умеешь?", + "semantic_tags": [ + "meta_capability" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_11_memory_recap_after_interrupts", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_11_memory_recap_after_interrupts", + "title": "Memory recap still remembers the selected object after capability interrupt", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_memory" + ], + "step_payload": { + "step_id": "step_11_memory_recap_after_interrupts", + "title": "Memory recap still remembers the selected object after capability interrupt", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "semantic_tags": [ + "meta_memory" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_12_receivables_march_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_12_receivables_march_2020", + "title": "Cross-domain pivot keeps the active company", + "question": "кто нам должен на март 2020", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_12_receivables_march_2020", + "title": "Cross-domain pivot keeps the active company", + "question": "кто нам должен на март 2020", + "semantic_tags": [ + "settlements_receivables" + ] + } + }, + { + "entry_id": "address_truth_harness_phase5_company_selection_and_activity_age:step_13_inventory_same_date_cross_domain", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase5_company_selection_and_activity_age.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "address_truth_harness_phase5_company_selection_and_activity_age", + "domain": "address_phase5_company_selection_and_activity_age", + "reusable_in_agent_pack": true, + "step_id": "step_13_inventory_same_date_cross_domain", + "title": "Inventory same-date pivot should reuse the root date inside the active company", + "question": "остатки по складу на эту же дату", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_pivot" + ], + "step_payload": { + "step_id": "step_13_inventory_same_date_cross_domain", + "title": "Inventory same-date pivot should reuse the root date inside the active company", + "question": "остатки по складу на эту же дату", + "semantic_tags": [ + "inventory_root", + "same_date_pivot" + ] + } + }, { "entry_id": "address_truth_harness_phase5_meta_memory_mix:step_01_inventory_root_march_2021", "source_type": "truth_harness_step", @@ -420,6 +13501,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -457,6 +13541,9 @@ "question": "а исторические остатки тоже можешь?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_historical_capability", "inventory_root" @@ -489,6 +13576,9 @@ "question": "по какой компании мы сейчас работаем?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_scope" ], @@ -523,6 +13613,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -561,6 +13654,9 @@ "question": "что ты умеешь?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_capability" ], @@ -591,6 +13687,9 @@ "question": "а ты помнишь, что мы по этой позиции уже выяснили?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_memory" ], @@ -609,6 +13708,2422 @@ ] } }, + { + "entry_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase60_metadata_document_pivot_year_switch.json", + "source_title": "Phase 60 metadata document pivot year switch", + "scenario_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch", + "domain": "address_phase60_metadata_document_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase60_metadata_document_pivot_year_switch.json", + "source_title": "Phase 60 metadata document pivot year switch", + "scenario_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch", + "domain": "address_phase60_metadata_document_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch:step_03_inline_lane_choice_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase60_metadata_document_pivot_year_switch.json", + "source_title": "Phase 60 metadata document pivot year switch", + "scenario_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch", + "domain": "address_phase60_metadata_document_pivot_year_switch", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch:step_04_period_clarification_executes_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase60_metadata_document_pivot_year_switch.json", + "source_title": "Phase 60 metadata document pivot year switch", + "scenario_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch", + "domain": "address_phase60_metadata_document_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch:step_05_document_pivot_keeps_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase60_metadata_document_pivot_year_switch.json", + "source_title": "Phase 60 metadata document pivot year switch", + "scenario_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch", + "domain": "address_phase60_metadata_document_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_05_document_pivot_keeps_same_scope", + "title": "Short document pivot reuses the same organization and period", + "question": "а теперь по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_pivot_after_retrieval", + "scope_reuse" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch:step_06_year_switch_keeps_document_lane", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase60_metadata_document_pivot_year_switch.json", + "source_title": "Phase 60 metadata document pivot year switch", + "scenario_id": "address_truth_harness_phase60_metadata_document_pivot_year_switch", + "domain": "address_phase60_metadata_document_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_06_year_switch_keeps_document_lane", + "title": "Short year-switch follow-up stays in the document lane after the pivot", + "question": "а теперь за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_followup", + "document_lane_continuity", + "post_pivot_continuity" + ], + "step_payload": { + "step_id": "step_06_year_switch_keeps_document_lane", + "title": "Short year-switch follow-up stays in the document 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": [ + "year_switch_followup", + "document_lane_continuity", + "post_pivot_continuity" + ] + } + }, + { + "entry_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase61_metadata_movement_pivot_year_switch.json", + "source_title": "Phase 61 metadata movement pivot year switch", + "scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch", + "domain": "address_phase61_metadata_movement_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase61_metadata_movement_pivot_year_switch.json", + "source_title": "Phase 61 metadata movement pivot year switch", + "scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch", + "domain": "address_phase61_metadata_movement_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_03_document_lane_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase61_metadata_movement_pivot_year_switch.json", + "source_title": "Phase 61 metadata movement pivot year switch", + "scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch", + "domain": "address_phase61_metadata_movement_pivot_year_switch", + "reusable_in_agent_pack": true, + "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": "по документам по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_04_period_clarification_executes_same_document_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase61_metadata_movement_pivot_year_switch.json", + "source_title": "Phase 61 metadata movement pivot year switch", + "scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch", + "domain": "address_phase61_metadata_movement_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_document_loop", + "title": "Period clarification executes the same bounded document loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_05_movement_pivot_keeps_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase61_metadata_movement_pivot_year_switch.json", + "source_title": "Phase 61 metadata movement pivot year switch", + "scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch", + "domain": "address_phase61_metadata_movement_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_05_movement_pivot_keeps_same_scope", + "title": "Short movement pivot reuses the same organization and period", + "question": "а теперь по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_pivot_after_document_retrieval", + "scope_reuse", + "same_proof_path_family_shift" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_06_year_switch_keeps_movement_lane", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase61_metadata_movement_pivot_year_switch.json", + "source_title": "Phase 61 metadata movement pivot year switch", + "scenario_id": "address_truth_harness_phase61_metadata_movement_pivot_year_switch", + "domain": "address_phase61_metadata_movement_pivot_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_06_year_switch_keeps_movement_lane", + "title": "Short year-switch stays in the movement lane after the pivot", + "question": "а теперь за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_continuity", + "year_switch_after_pivot", + "same_scope_new_period" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase62_metadata_movement_pivot_all_time.json", + "source_title": "Phase 62 metadata movement pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time", + "domain": "address_phase62_metadata_movement_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase62_metadata_movement_pivot_all_time.json", + "source_title": "Phase 62 metadata movement pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time", + "domain": "address_phase62_metadata_movement_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time:step_03_document_lane_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase62_metadata_movement_pivot_all_time.json", + "source_title": "Phase 62 metadata movement pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time", + "domain": "address_phase62_metadata_movement_pivot_all_time", + "reusable_in_agent_pack": true, + "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": "по документам по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time:step_04_period_clarification_executes_same_document_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase62_metadata_movement_pivot_all_time.json", + "source_title": "Phase 62 metadata movement pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time", + "domain": "address_phase62_metadata_movement_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_document_loop", + "title": "Period clarification executes the same bounded document loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time:step_05_movement_pivot_keeps_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase62_metadata_movement_pivot_all_time.json", + "source_title": "Phase 62 metadata movement pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time", + "domain": "address_phase62_metadata_movement_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_05_movement_pivot_keeps_same_scope", + "title": "Short movement pivot reuses the same organization and period", + "question": "а теперь по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_pivot_after_document_retrieval", + "scope_reuse", + "same_proof_path_family_shift" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time:step_06_all_time_followup_keeps_movement_lane", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase62_metadata_movement_pivot_all_time.json", + "source_title": "Phase 62 metadata movement pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase62_metadata_movement_pivot_all_time", + "domain": "address_phase62_metadata_movement_pivot_all_time", + "reusable_in_agent_pack": true, + "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": "а теперь за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_followup", + "movement_lane_continuity", + "period_cleared_after_pivot" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase63_metadata_document_pivot_all_time:step_01_metadata_ambiguity_surface", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase63_metadata_document_pivot_all_time.json", + "source_title": "Phase 63 metadata document pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time", + "domain": "address_phase63_metadata_document_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_ambiguity_surface", + "title": "Metadata ambiguity is surfaced honestly for VAT", + "question": "какие объекты 1С есть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "mixed_ambiguity", + "vat" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase63_metadata_document_pivot_all_time:step_02_neutral_followup_requires_lane_choice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase63_metadata_document_pivot_all_time.json", + "source_title": "Phase 63 metadata document pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time", + "domain": "address_phase63_metadata_document_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_neutral_followup_requires_lane_choice", + "title": "Neutral follow-up still requires lane choice", + "question": "давай дальше", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_lane_choice_clarification", + "neutral_followup" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase63_metadata_document_pivot_all_time:step_03_movement_lane_with_org_keeps_only_period_gap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase63_metadata_document_pivot_all_time.json", + "source_title": "Phase 63 metadata document pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time", + "domain": "address_phase63_metadata_document_pivot_all_time", + "reusable_in_agent_pack": true, + "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": "по движениям по ООО Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_clarification", + "inline_organization_clarification" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase63_metadata_document_pivot_all_time:step_04_period_clarification_executes_same_movement_loop", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase63_metadata_document_pivot_all_time.json", + "source_title": "Phase 63 metadata document pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time", + "domain": "address_phase63_metadata_document_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_04_period_clarification_executes_same_movement_loop", + "title": "Period clarification executes the same bounded movement loop", + "question": "за 2020 год", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase63_metadata_document_pivot_all_time:step_05_document_pivot_keeps_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase63_metadata_document_pivot_all_time.json", + "source_title": "Phase 63 metadata document pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time", + "domain": "address_phase63_metadata_document_pivot_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_05_document_pivot_keeps_same_scope", + "title": "Short document pivot reuses the same organization and period", + "question": "а теперь по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_pivot_after_movement_retrieval", + "scope_reuse", + "same_proof_path_family_shift" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase63_metadata_document_pivot_all_time:step_06_all_time_followup_keeps_document_lane", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase63_metadata_document_pivot_all_time.json", + "source_title": "Phase 63 metadata document pivot all-time follow-up", + "scenario_id": "address_truth_harness_phase63_metadata_document_pivot_all_time", + "domain": "address_phase63_metadata_document_pivot_all_time", + "reusable_in_agent_pack": true, + "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": "а теперь за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_followup", + "document_lane_continuity", + "period_cleared_after_pivot" + ], + "step_payload": { + "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" + ] + } + }, + { + "entry_id": "address_truth_harness_phase64_human_vat_investigation_dialog:step_01_metadata_orientation", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase64_human_vat_investigation_dialog.json", + "source_title": "Phase 64 human VAT investigation dialog", + "scenario_id": "address_truth_harness_phase64_human_vat_investigation_dialog", + "domain": "address_phase64_human_vat_investigation_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_01_metadata_orientation", + "title": "The user asks where VAT data lives in 1C", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "metadata_surface", + "vat_orientation", + "human_dialog", + "vat" + ], + "step_payload": { + "step_id": "step_01_metadata_orientation", + "title": "The user asks where VAT data lives in 1C", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)metadata|метадан", + "(?i)ндс", + "(?i)документ|регистр" + ], + "criticality": "critical", + "semantic_tags": [ + "metadata_surface", + "vat_orientation", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase64_human_vat_investigation_dialog:step_02_choose_movements_with_org", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase64_human_vat_investigation_dialog.json", + "source_title": "Phase 64 human VAT investigation dialog", + "scenario_id": "address_truth_harness_phase64_human_vat_investigation_dialog", + "domain": "address_phase64_human_vat_investigation_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_movements_with_org", + "title": "The user explicitly chooses the movement lane with an organization", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_after_metadata", + "inline_organization_clarification", + "human_dialog" + ], + "step_payload": { + "step_id": "step_02_choose_movements_with_org", + "title": "The user explicitly chooses the movement lane with an organization", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)движени|регистр|операц", + "(?i)период" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_lane_after_metadata", + "inline_organization_clarification", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase64_human_vat_investigation_dialog:step_03_execute_movement_slice", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase64_human_vat_investigation_dialog.json", + "source_title": "Phase 64 human VAT investigation dialog", + "scenario_id": "address_truth_harness_phase64_human_vat_investigation_dialog", + "domain": "address_phase64_human_vat_investigation_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_03_execute_movement_slice", + "title": "The user provides the year and the movement slice executes", + "question": "За 2020 год.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval", + "human_dialog" + ], + "step_payload": { + "step_id": "step_03_execute_movement_slice", + "title": "The user provides the year and the movement slice executes", + "question": "За 2020 год.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)ндс|движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_lane_execution", + "bounded_retrieval", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase64_human_vat_investigation_dialog:step_04_document_pivot_same_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase64_human_vat_investigation_dialog.json", + "source_title": "Phase 64 human VAT investigation dialog", + "scenario_id": "address_truth_harness_phase64_human_vat_investigation_dialog", + "domain": "address_phase64_human_vat_investigation_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_04_document_pivot_same_scope", + "title": "The user pivots from movements to supporting documents on the same slice", + "question": "А теперь по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_pivot_after_movement_retrieval", + "scope_reuse", + "human_dialog" + ], + "step_payload": { + "step_id": "step_04_document_pivot_same_scope", + "title": "The user pivots from movements to supporting documents on the same slice", + "question": "А теперь по документам?", + "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_pivot_after_movement_retrieval", + "scope_reuse", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase64_human_vat_investigation_dialog:step_05_document_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase64_human_vat_investigation_dialog.json", + "source_title": "Phase 64 human VAT investigation dialog", + "scenario_id": "address_truth_harness_phase64_human_vat_investigation_dialog", + "domain": "address_phase64_human_vat_investigation_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_05_document_year_switch", + "title": "The user asks for the same document slice in another year", + "question": "А теперь за 2021 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_continuity", + "year_switch_after_pivot", + "human_dialog" + ], + "step_payload": { + "step_id": "step_05_document_year_switch", + "title": "The user asks for the same document slice in another year", + "question": "А теперь за 2021 год?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)движени|регистр", + "(?i)уточните .*организац", + "(?i)уточните .*период" + ], + "criticality": "critical", + "semantic_tags": [ + "document_lane_continuity", + "year_switch_after_pivot", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase64_human_vat_investigation_dialog:step_06_document_all_time_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase64_human_vat_investigation_dialog.json", + "source_title": "Phase 64 human VAT investigation dialog", + "scenario_id": "address_truth_harness_phase64_human_vat_investigation_dialog", + "domain": "address_phase64_human_vat_investigation_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_06_document_all_time_followup", + "title": "The user broadens the same document slice to all available time", + "question": "А теперь за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_lane_continuity", + "all_time_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_06_document_all_time_followup", + "title": "The user broadens the same document slice to all available time", + "question": "А теперь за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)все доступное время|все время|весь период", + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)за 2021", + "(?i)движени|регистр", + "(?i)уточните .*период" + ], + "criticality": "critical", + "semantic_tags": [ + "document_lane_continuity", + "all_time_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_01_ground_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_01_ground_counterparty", + "title": "The user asks to find the counterparty in 1C", + "question": "Хочу проверить одного контрагента. Найди в 1С Группу СВК.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_grounding", + "counterparty_resolution", + "human_dialog" + ], + "step_payload": { + "step_id": "step_01_ground_counterparty", + "title": "The user asks to find the counterparty in 1C", + "question": "Хочу проверить одного контрагента. Найди в 1С Группу СВК.", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент|каталог|1с" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_grounding", + "counterparty_resolution", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_02_incoming_value_flow", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_02_incoming_value_flow", + "title": "The user asks for incoming money in 2020", + "question": "Посмотри, сколько денег мы получили от него за 2020 год.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "incoming_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_02_incoming_value_flow", + "title": "The user asks for incoming money in 2020", + "question": "Посмотри, сколько денег мы получили от него за 2020 год.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|поступлен|получ" + ], + "criticality": "critical", + "semantic_tags": [ + "incoming_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_03_outgoing_value_flow", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_03_outgoing_value_flow", + "title": "The user pivots into outgoing money on the same counterparty and year", + "question": "А теперь сколько мы ему заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "outgoing_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_03_outgoing_value_flow", + "title": "The user pivots into outgoing money on the same counterparty and year", + "question": "А теперь сколько мы ему заплатили?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)исходящ|списан|заплат" + ], + "criticality": "critical", + "semantic_tags": [ + "outgoing_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_04_net_value_flow", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_04_net_value_flow", + "title": "The user asks for the same net flow", + "question": "А какое получилось нетто?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "net_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_04_net_value_flow", + "title": "The user asks for the same net flow", + "question": "А какое получилось нетто?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)нетто|сальдо|чист" + ], + "criticality": "critical", + "semantic_tags": [ + "net_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_05_document_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_05_document_pivot", + "title": "The user asks for documents on the same grounded counterparty", + "question": "А по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_pivot_after_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_05_document_pivot", + "title": "The user asks for documents on the same grounded counterparty", + "question": "А по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*контрагент", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "document_pivot_after_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_06_movement_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_06_movement_pivot", + "title": "The user asks for movements on the same grounded counterparty", + "question": "А по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_pivot_after_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_06_movement_pivot", + "title": "The user asks for movements on the same grounded counterparty", + "question": "А по движениям?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*контрагент", + "(?i)не найден контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_pivot_after_value_flow", + "grounded_counterparty_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase65_human_svk_money_dialog:step_07_year_switch_same_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase65_human_svk_money_dialog.json", + "source_title": "Phase 65 human SVK money dialog", + "scenario_id": "address_truth_harness_phase65_human_svk_money_dialog", + "domain": "address_phase65_human_svk_money_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_07_year_switch_same_counterparty", + "title": "The user asks for the same contour in 2021", + "question": "А теперь за 2021 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch", + "grounded_counterparty_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_07_year_switch_same_counterparty", + "title": "The user asks for the same contour in 2021", + "question": "А теперь за 2021 год?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch", + "grounded_counterparty_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_01_open_scope_incoming_total", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_01_open_scope_incoming_total", + "title": "The user asks for incoming money without naming the organization yet", + "question": "Хочу быстрый денежный срез по одной организации без привязки к контрагенту. Сколько вообще входящих денег было за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "open_scope_total", + "organization_scope", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_01_open_scope_incoming_total", + "title": "The user asks for incoming money without naming the organization yet", + "question": "Хочу быстрый денежный срез по одной организации без привязки к контрагенту. Сколько вообще входящих денег было за 2020 год?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "criticality": "critical", + "semantic_tags": [ + "open_scope_total", + "organization_scope", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_02_all_time_same_open_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_02_all_time_same_open_scope", + "title": "The user selects the organization and gets the 2020 incoming total", + "question": "По ООО Альтернатива Плюс.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "organization_clarification", + "open_scope_total", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_02_all_time_same_open_scope", + "title": "The user selects the organization and gets the 2020 incoming total", + "question": "По ООО Альтернатива Плюс.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*контрагент", + "(?i)не найден контрагент", + "(?i)уточните .*организац" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_clarification", + "open_scope_total", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_03_all_time_same_open_scope", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_03_all_time_same_open_scope", + "title": "The user broadens the same organization slice to all available time", + "question": "Понял, тогда за все время.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "all_time_followup", + "organization_scope", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_03_all_time_same_open_scope", + "title": "The user broadens the same organization slice to all available time", + "question": "Понял, тогда за все время.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)все доступное время|все время|весь период", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)за 2020", + "(?i)уточните .*контрагент", + "(?i)уточните .*период", + "(?i)уточните .*организац" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_followup", + "organization_scope", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_04_bidirectional_comparison", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_04_bidirectional_comparison", + "title": "The user asks which money direction is larger for the organization", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "value_flow_comparison", + "organization_scope", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_04_bidirectional_comparison", + "title": "The user asks which money direction is larger for the organization", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|исходящ|получ|заплат|больше" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "organization_scope", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_05_comparison_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_05_comparison_year_switch", + "title": "The user asks the same comparison for another year", + "question": "А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "value_flow_comparison", + "year_switch", + "organization_scope", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_05_comparison_year_switch", + "title": "The user asks the same comparison for another year", + "question": "А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_comparison", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)входящ|исходящ|получ|заплат|больше" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_comparison", + "year_switch", + "organization_scope", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_06_ranking_top_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_06_ranking_top_counterparty", + "title": "The user asks who brought the most money for the organization", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_ranking", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "value_flow_ranking", + "organization_scope", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_06_ranking_top_counterparty", + "title": "The user asks who brought the most money for the organization", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_ranking", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)кто|контрагент|клиент|принес|доход" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "organization_scope", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase66_human_org_open_scope_dialog:step_07_ranking_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase66_human_org_open_scope_dialog.json", + "source_title": "Phase 66 human open-scope organization money dialog", + "scenario_id": "address_truth_harness_phase66_human_org_open_scope_dialog", + "domain": "address_phase66_human_org_open_scope_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_07_ranking_year_switch", + "title": "The user asks the same ranking for another year", + "question": "А в 2021 году?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_ranking", + "expected_catalog_selected_matches_top": true, + "semantic_tags": [ + "value_flow_ranking", + "year_switch", + "organization_scope", + "human_dialog", + "planner_catalog_alignment" + ], + "step_payload": { + "step_id": "step_07_ranking_year_switch", + "title": "The user asks the same ranking for another year", + "question": "А в 2021 году?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_catalog_alignment_status": "selected_matches_top", + "expected_catalog_chain_top_match": "value_flow_ranking", + "expected_catalog_selected_matches_top": true, + "required_answer_patterns_all": [ + "(?i)2021" + ], + "criticality": "critical", + "semantic_tags": [ + "value_flow_ranking", + "year_switch", + "organization_scope", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_01_ground_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_01_ground_counterparty", + "title": "Ground the counterparty in 1C", + "question": "Хочу проверить одного контрагента. Найди в 1С Группу СВК.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "entity_grounding", + "counterparty_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_01_ground_counterparty", + "title": "Ground the counterparty in 1C", + "question": "Хочу проверить одного контрагента. Найди в 1С Группу СВК.", + "allowed_reply_types": [ + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент|каталог|1с" + ], + "criticality": "critical", + "semantic_tags": [ + "entity_grounding", + "counterparty_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_02_incoming_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_02_incoming_2020", + "title": "Ask about incoming money for 2020", + "question": "Посмотри, сколько денег мы получили от него за 2020 год.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "incoming_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_incoming_2020", + "title": "Ask about incoming money for 2020", + "question": "Посмотри, сколько денег мы получили от него за 2020 год.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)2020", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)нортон" + ], + "criticality": "critical", + "semantic_tags": [ + "incoming_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_03_payout_2020_same_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_03_payout_2020_same_counterparty", + "title": "Ask how much we paid to the same counterparty", + "question": "А теперь сколько мы ему заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "outgoing_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_payout_2020_same_counterparty", + "title": "Ask how much we paid to the same counterparty", + "question": "А теперь сколько мы ему заплатили?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)заплат|исходящ|списан|платеж" + ], + "forbidden_answer_patterns": [ + "(?i)нортон", + "(?i)сервисконсалт" + ], + "criticality": "critical", + "semantic_tags": [ + "outgoing_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_04_net_same_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_04_net_same_counterparty", + "title": "Ask for the same net flow", + "question": "А какое получилось нетто?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "net_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_net_same_counterparty", + "title": "Ask for the same net flow", + "question": "А какое получилось нетто?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)нетто|сальдо|чист" + ], + "forbidden_answer_patterns": [ + "(?i)нортон", + "(?i)сервисконсалт" + ], + "criticality": "critical", + "semantic_tags": [ + "net_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_05_documents_same_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_05_documents_same_counterparty", + "title": "Pivot into documents without losing the counterparty", + "question": "А по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "document_pivot_after_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_05_documents_same_counterparty", + "title": "Pivot into documents without losing the counterparty", + "question": "А по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)нортон", + "(?i)сервисконсалт", + "(?i)уточните .* контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "document_pivot_after_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_06_movements_same_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_06_movements_same_counterparty", + "title": "Pivot into movements without losing the counterparty", + "question": "А по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "movement_pivot_after_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_06_movements_same_counterparty", + "title": "Pivot into movements without losing the counterparty", + "question": "А по движениям?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)движени|регистр|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)нортон", + "(?i)сервисконсалт", + "(?i)уточните .* контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "movement_pivot_after_value_flow", + "grounded_counterparty_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_07_year_switch_same_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase67_svk_grounded_counterparty_integrity.json", + "source_title": "Phase 67 grounded counterparty integrity for SVK dialog", + "scenario_id": "address_truth_harness_phase67_svk_grounded_counterparty_integrity", + "domain": "address_phase67_svk_grounded_counterparty_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_07_year_switch_same_counterparty", + "title": "Switch to 2021 without losing the counterparty", + "question": "А теперь за 2021 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch", + "grounded_counterparty_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_07_year_switch_same_counterparty", + "title": "Switch to 2021 without losing the counterparty", + "question": "А теперь за 2021 год?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)2021" + ], + "forbidden_answer_patterns": [ + "(?i)нортон", + "(?i)сервисконсалт" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch", + "grounded_counterparty_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase68_referential_document_followup_integrity:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase68_referential_document_followup_integrity.json", + "source_title": "Phase 68 referential document follow-up integrity", + "scenario_id": "address_truth_harness_phase68_referential_document_followup_integrity", + "domain": "address_phase68_referential_document_followup_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "referential_followup_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "referential_followup_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase68_referential_document_followup_integrity:step_02_referential_document_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase68_referential_document_followup_integrity.json", + "source_title": "Phase 68 referential document follow-up integrity", + "scenario_id": "address_truth_harness_phase68_referential_document_followup_integrity", + "domain": "address_phase68_referential_document_followup_integrity", + "reusable_in_agent_pack": true, + "step_id": "step_02_referential_document_followup", + "title": "Ask whether there are more documents besides this one", + "question": "Кроме этого документа есть еще что-то?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "referential_document_followup", + "counterparty_carryover", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_referential_document_followup", + "title": "Ask whether there are more documents besides this one", + "question": "Кроме этого документа есть еще что-то?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|еще" + ], + "forbidden_answer_patterns": [ + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с", + "(?i)регистр", + "(?i)уточните .* контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "referential_document_followup", + "counterparty_carryover", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase69_document_to_payments_pronoun_pivot:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase69_document_to_payments_pronoun_pivot.json", + "source_title": "Phase 69 document to payments pronoun pivot", + "scenario_id": "address_truth_harness_phase69_document_to_payments_pronoun_pivot", + "domain": "address_phase69_document_to_payments_pronoun_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase69_document_to_payments_pronoun_pivot:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase69_document_to_payments_pronoun_pivot.json", + "source_title": "Phase 69 document to payments pronoun pivot", + "scenario_id": "address_truth_harness_phase69_document_to_payments_pronoun_pivot", + "domain": "address_phase69_document_to_payments_pronoun_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments via pronoun follow-up", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments via pronoun follow-up", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с", + "(?i)регистр", + "(?i)уточните .* контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, { "entry_id": "address_truth_harness_phase6_provider_axis_mix:step_01_smalltalk", "source_type": "truth_harness_step", @@ -622,6 +16137,9 @@ "question": "привет, как дела?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_smalltalk" ], @@ -653,6 +16171,9 @@ "question": "по какой компании мы сейчас работаем?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_scope" ], @@ -684,6 +16205,9 @@ "question": "что ты можешь по 1С?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_capability" ], @@ -717,6 +16241,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -760,6 +16287,9 @@ "question": "а исторические остатки тоже можешь?", "criticality": "critical", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_historical_capability", "inventory_root" @@ -780,6 +16310,1554 @@ ] } }, + { + "entry_id": "address_truth_harness_phase70_document_to_contracts_pronoun_pivot:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase70_document_to_contracts_pronoun_pivot.json", + "source_title": "Phase 70 document to contracts pronoun pivot", + "scenario_id": "address_truth_harness_phase70_document_to_contracts_pronoun_pivot", + "domain": "address_phase70_document_to_contracts_pronoun_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase70_document_to_contracts_pronoun_pivot:step_02_contracts_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase70_document_to_contracts_pronoun_pivot.json", + "source_title": "Phase 70 document to contracts pronoun pivot", + "scenario_id": "address_truth_harness_phase70_document_to_contracts_pronoun_pivot", + "domain": "address_phase70_document_to_contracts_pronoun_pivot", + "reusable_in_agent_pack": true, + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "forbidden_answer_patterns": [ + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с", + "(?i)регистр", + "(?i)уточните .* контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase71_document_to_payments_year_switch:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase71_document_to_payments_year_switch.json", + "source_title": "Phase 71 document to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase71_document_to_payments_year_switch", + "domain": "address_phase71_document_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase71_document_to_payments_year_switch:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase71_document_to_payments_year_switch.json", + "source_title": "Phase 71 document to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase71_document_to_payments_year_switch", + "domain": "address_phase71_document_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments via pronoun follow-up", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments via pronoun follow-up", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase71_document_to_payments_year_switch:step_03_year_switch_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase71_document_to_payments_year_switch.json", + "source_title": "Phase 71 document to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase71_document_to_payments_year_switch", + "domain": "address_phase71_document_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_03_year_switch_after_payments_pivot", + "title": "Switch the year without renaming the counterparty", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_after_pivot", + "payments_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_year_switch_after_payments_pivot", + "title": "Switch the year without renaming the counterparty", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch_after_pivot", + "payments_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase72_document_to_contracts_year_switch:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase72_document_to_contracts_year_switch.json", + "source_title": "Phase 72 document to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase72_document_to_contracts_year_switch", + "domain": "address_phase72_document_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase72_document_to_contracts_year_switch:step_02_contracts_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase72_document_to_contracts_year_switch.json", + "source_title": "Phase 72 document to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase72_document_to_contracts_year_switch", + "domain": "address_phase72_document_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase72_document_to_contracts_year_switch:step_03_year_switch_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase72_document_to_contracts_year_switch.json", + "source_title": "Phase 72 document to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase72_document_to_contracts_year_switch", + "domain": "address_phase72_document_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_03_year_switch_after_contracts_pivot", + "title": "Switch the year without renaming the counterparty", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_after_pivot", + "contracts_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_year_switch_after_contracts_pivot", + "title": "Switch the year without renaming the counterparty", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch_after_pivot", + "contracts_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase73_document_to_contracts_all_time:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase73_document_to_contracts_all_time.json", + "source_title": "Phase 73 document to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase73_document_to_contracts_all_time", + "domain": "address_phase73_document_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase73_document_to_contracts_all_time:step_02_contracts_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase73_document_to_contracts_all_time.json", + "source_title": "Phase 73 document to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase73_document_to_contracts_all_time", + "domain": "address_phase73_document_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase73_document_to_contracts_all_time:step_03_all_time_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase73_document_to_contracts_all_time.json", + "source_title": "Phase 73 document to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase73_document_to_contracts_all_time", + "domain": "address_phase73_document_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_03_all_time_after_contracts_pivot", + "title": "Switch to all-time scope without renaming the counterparty", + "question": "А за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_after_pivot", + "contracts_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_all_time_after_contracts_pivot", + "title": "Switch to all-time scope without renaming the counterparty", + "question": "А за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)уточните .* период", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_after_pivot", + "contracts_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase74_document_to_payments_all_time:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase74_document_to_payments_all_time.json", + "source_title": "Phase 74 document to payments all-time continuity", + "scenario_id": "address_truth_harness_phase74_document_to_payments_all_time", + "domain": "address_phase74_document_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pronoun_pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase74_document_to_payments_all_time:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase74_document_to_payments_all_time.json", + "source_title": "Phase 74 document to payments all-time continuity", + "scenario_id": "address_truth_harness_phase74_document_to_payments_all_time", + "domain": "address_phase74_document_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments via pronoun follow-up", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments via pronoun follow-up", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase74_document_to_payments_all_time:step_03_all_time_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase74_document_to_payments_all_time.json", + "source_title": "Phase 74 document to payments all-time continuity", + "scenario_id": "address_truth_harness_phase74_document_to_payments_all_time", + "domain": "address_phase74_document_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_03_all_time_after_payments_pivot", + "title": "Switch to all-time scope without renaming the counterparty", + "question": "А за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_after_pivot", + "payments_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_all_time_after_payments_pivot", + "title": "Switch to all-time scope without renaming the counterparty", + "question": "А за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_after_pivot", + "payments_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase75_contracts_to_payments_year_switch:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase75_contracts_to_payments_year_switch.json", + "source_title": "Phase 75 contracts to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase75_contracts_to_payments_year_switch", + "domain": "address_phase75_contracts_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase75_contracts_to_payments_year_switch:step_02_contracts_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase75_contracts_to_payments_year_switch.json", + "source_title": "Phase 75 contracts to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase75_contracts_to_payments_year_switch", + "domain": "address_phase75_contracts_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase75_contracts_to_payments_year_switch:step_03_payments_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase75_contracts_to_payments_year_switch.json", + "source_title": "Phase 75 contracts to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase75_contracts_to_payments_year_switch", + "domain": "address_phase75_contracts_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_03_payments_after_contracts_pivot", + "title": "Pivot again to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_payments_after_contracts_pivot", + "title": "Pivot again to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase75_contracts_to_payments_year_switch:step_04_year_switch_after_second_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase75_contracts_to_payments_year_switch.json", + "source_title": "Phase 75 contracts to payments year-switch continuity", + "scenario_id": "address_truth_harness_phase75_contracts_to_payments_year_switch", + "domain": "address_phase75_contracts_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_04_year_switch_after_second_pivot", + "title": "Switch the year after the second pivot", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_after_second_pivot", + "payments_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_year_switch_after_second_pivot", + "title": "Switch the year after the second pivot", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch_after_second_pivot", + "payments_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase76_contracts_to_payments_all_time:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase76_contracts_to_payments_all_time.json", + "source_title": "Phase 76 contracts to payments all-time continuity", + "scenario_id": "address_truth_harness_phase76_contracts_to_payments_all_time", + "domain": "address_phase76_contracts_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase76_contracts_to_payments_all_time:step_02_contracts_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase76_contracts_to_payments_all_time.json", + "source_title": "Phase 76 contracts to payments all-time continuity", + "scenario_id": "address_truth_harness_phase76_contracts_to_payments_all_time", + "domain": "address_phase76_contracts_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase76_contracts_to_payments_all_time:step_03_payments_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase76_contracts_to_payments_all_time.json", + "source_title": "Phase 76 contracts to payments all-time continuity", + "scenario_id": "address_truth_harness_phase76_contracts_to_payments_all_time", + "domain": "address_phase76_contracts_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_03_payments_after_contracts_pivot", + "title": "Pivot again to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_payments_after_contracts_pivot", + "title": "Pivot again to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase76_contracts_to_payments_all_time:step_04_all_time_after_second_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase76_contracts_to_payments_all_time.json", + "source_title": "Phase 76 contracts to payments all-time continuity", + "scenario_id": "address_truth_harness_phase76_contracts_to_payments_all_time", + "domain": "address_phase76_contracts_to_payments_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_04_all_time_after_second_pivot", + "title": "Switch to all-time scope after the second pivot", + "question": "А за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_after_second_pivot", + "payments_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_all_time_after_second_pivot", + "title": "Switch to all-time scope after the second pivot", + "question": "А за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_after_second_pivot", + "payments_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase77_payments_to_contracts_year_switch:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase77_payments_to_contracts_year_switch.json", + "source_title": "Phase 77 payments to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase77_payments_to_contracts_year_switch", + "domain": "address_phase77_payments_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase77_payments_to_contracts_year_switch:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase77_payments_to_contracts_year_switch.json", + "source_title": "Phase 77 payments to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase77_payments_to_contracts_year_switch", + "domain": "address_phase77_payments_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase77_payments_to_contracts_year_switch:step_03_contracts_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase77_payments_to_contracts_year_switch.json", + "source_title": "Phase 77 payments to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase77_payments_to_contracts_year_switch", + "domain": "address_phase77_payments_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot again to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot again to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase77_payments_to_contracts_year_switch:step_04_year_switch_after_second_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase77_payments_to_contracts_year_switch.json", + "source_title": "Phase 77 payments to contracts year-switch continuity", + "scenario_id": "address_truth_harness_phase77_payments_to_contracts_year_switch", + "domain": "address_phase77_payments_to_contracts_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_04_year_switch_after_second_pivot", + "title": "Switch the year after the second pivot", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_after_second_pivot", + "contracts_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_year_switch_after_second_pivot", + "title": "Switch the year after the second pivot", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch_after_second_pivot", + "contracts_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase78_payments_to_contracts_all_time:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase78_payments_to_contracts_all_time.json", + "source_title": "Phase 78 payments to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase78_payments_to_contracts_all_time", + "domain": "address_phase78_payments_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase78_payments_to_contracts_all_time:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase78_payments_to_contracts_all_time.json", + "source_title": "Phase 78 payments to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase78_payments_to_contracts_all_time", + "domain": "address_phase78_payments_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase78_payments_to_contracts_all_time:step_03_contracts_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase78_payments_to_contracts_all_time.json", + "source_title": "Phase 78 payments to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase78_payments_to_contracts_all_time", + "domain": "address_phase78_payments_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot again to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot again to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase78_payments_to_contracts_all_time:step_04_all_time_after_second_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase78_payments_to_contracts_all_time.json", + "source_title": "Phase 78 payments to contracts all-time continuity", + "scenario_id": "address_truth_harness_phase78_payments_to_contracts_all_time", + "domain": "address_phase78_payments_to_contracts_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_04_all_time_after_second_pivot", + "title": "Request all available time after the second pivot", + "question": "А за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_after_second_pivot", + "contracts_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_all_time_after_second_pivot", + "title": "Request all available time after the second pivot", + "question": "А за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)уточните .* период", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_after_second_pivot", + "contracts_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch.json", + "source_title": "Phase 79 payments to contracts to documents year-switch continuity", + "scenario_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch", + "domain": "address_phase79_payments_to_contracts_to_documents_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch.json", + "source_title": "Phase 79 payments to contracts to documents year-switch continuity", + "scenario_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch", + "domain": "address_phase79_payments_to_contracts_to_documents_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_03_contracts_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch.json", + "source_title": "Phase 79 payments to contracts to documents year-switch continuity", + "scenario_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch", + "domain": "address_phase79_payments_to_contracts_to_documents_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_04_documents_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch.json", + "source_title": "Phase 79 payments to contracts to documents year-switch continuity", + "scenario_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch", + "domain": "address_phase79_payments_to_contracts_to_documents_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_followup", + "third_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_followup", + "third_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_05_year_switch_after_third_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch.json", + "source_title": "Phase 79 payments to contracts to documents year-switch continuity", + "scenario_id": "address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch", + "domain": "address_phase79_payments_to_contracts_to_documents_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_05_year_switch_after_third_pivot", + "title": "Switch the year after the third pivot", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_after_third_pivot", + "documents_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_05_year_switch_after_third_pivot", + "title": "Switch the year after the third pivot", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch_after_third_pivot", + "documents_followup", + "integrity_guard" + ] + } + }, { "entry_id": "address_truth_harness_phase7_acceptance_gate_mix:step_01_inventory_march_2021", "source_type": "truth_harness_step", @@ -795,6 +17873,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -836,6 +17917,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -877,6 +17961,9 @@ "expected_intents": [ "inventory_purchase_documents_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_documents" @@ -914,6 +18001,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_restore" @@ -957,6 +18047,9 @@ "question": "по какой компании мы сейчас работаем?", "criticality": "warning", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_scope" ], @@ -989,6 +18082,9 @@ "question": "а исторические остатки тоже можешь?", "criticality": "warning", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_historical_capability", "inventory_root" @@ -1023,6 +18119,9 @@ "question": "привет, как дела?", "criticality": "info", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_smalltalk" ], @@ -1046,42 +18145,6 @@ "notes": "[mixed_pack_slot=slot_01_smalltalk source=address_truth_harness_phase6_provider_axis_mix:step_01_smalltalk]" } }, - { - "entry_id": "address_truth_harness_phase7_meta_domain_mix:step_02_data_scope_meta", - "source_type": "truth_harness_step", - "source_file": "docs/orchestration/address_truth_harness_phase7_meta_domain_mix.json", - "source_title": "Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", - "scenario_id": "address_truth_harness_phase7_meta_domain_mix", - "domain": "address_phase7_meta_domain_mix", - "reusable_in_agent_pack": true, - "step_id": "step_02_data_scope_meta", - "title": "Data-scope meta question stays deterministic and non-technical", - "question": "по какой компании мы сейчас работаем?", - "criticality": "warning", - "expected_intents": [], - "semantic_tags": [ - "meta_scope" - ], - "step_payload": { - "step_id": "step_02_data_scope_meta", - "title": "Data-scope meta question stays deterministic and non-technical", - "question": "по какой компании мы сейчас работаем?", - "required_answer_patterns_any": [ - "(?i)компан|организац|контур", - "(?i)работ" - ], - "forbidden_answer_patterns": [ - "(?i)tool_gate_reason", - "(?i)hard_meta_mode", - "(?i)living_reason" - ], - "criticality": "warning", - "semantic_tags": [ - "meta_scope" - ], - "notes": "[mixed_pack_slot=slot_02_meta_scope source=address_truth_harness_phase6_provider_axis_mix:step_02_data_scope_meta]" - } - }, { "entry_id": "address_truth_harness_phase7_meta_domain_mix:step_01_counterparty_documents", "source_type": "truth_harness_step", @@ -1097,6 +18160,9 @@ "expected_intents": [ "list_documents_by_counterparty" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "counterparty_documents" ], @@ -1136,6 +18202,9 @@ "expected_intents": [ "list_documents_by_counterparty" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "counterparty_shipment_fallback" ], @@ -1181,6 +18250,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -1226,6 +18298,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -1270,6 +18345,9 @@ "question": "что ты умеешь?", "criticality": "warning", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_capability" ], @@ -1307,6 +18385,9 @@ "expected_intents": [ "inventory_purchase_documents_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_documents" @@ -1347,6 +18428,9 @@ "question": "а ты помнишь, что мы по этой позиции уже выяснили?", "criticality": "warning", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_memory" ], @@ -1367,6 +18451,10 @@ "semantic_tags": [ "meta_memory" ], + "required_answer_patterns_all": [ + "(?i)помню", + "(?i)столешница 600\\*3050\\*26 альмандин" + ], "notes": "[mixed_pack_slot=slot_09_meta_memory source=address_truth_harness_phase5_meta_memory_mix:step_06_memory_recap_after_interrupts]" } }, @@ -1385,6 +18473,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_restore" @@ -1435,6 +18526,9 @@ "expected_intents": [ "receivables_confirmed_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "settlements_receivables" ], @@ -1481,6 +18575,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_pivot" @@ -1527,6 +18624,9 @@ "question": "а исторические остатки тоже можешь?", "criticality": "warning", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_historical_capability", "inventory_root" @@ -1568,6 +18668,9 @@ "expected_intents": [ "open_items_by_counterparty_or_contract" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "settlements_account_60" ], @@ -1599,6 +18702,3767 @@ "notes": "[mixed_pack_slot=slot_14_account_60 source=address_truth_harness_targeted_counterparty_tails:step_04_open_items_account_60]" } }, + { + "entry_id": "address_truth_harness_phase7_meta_domain_mix:step_02_data_scope_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase7_meta_domain_mix.json", + "source_title": "Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "address_truth_harness_phase7_meta_domain_mix", + "domain": "address_phase7_meta_domain_mix", + "reusable_in_agent_pack": true, + "step_id": "step_02_data_scope_meta", + "title": "Data-scope meta question stays deterministic and non-technical", + "question": "по какой компании мы сейчас работаем?", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope" + ], + "step_payload": { + "step_id": "step_02_data_scope_meta", + "title": "Data-scope meta question stays deterministic and non-technical", + "question": "по какой компании мы сейчас работаем?", + "required_answer_patterns_any": [ + "(?i)компан|организац|контур", + "(?i)работ" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)hard_meta_mode", + "(?i)living_reason" + ], + "criticality": "warning", + "semantic_tags": [ + "meta_scope" + ], + "notes": "[mixed_pack_slot=slot_15_meta_scope source=address_truth_harness_phase6_provider_axis_mix:step_02_data_scope_meta]" + } + }, + { + "entry_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase80_payments_to_contracts_to_documents_all_time.json", + "source_title": "Phase 80 payments to contracts to documents all-time continuity", + "scenario_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time", + "domain": "address_phase80_payments_to_contracts_to_documents_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase80_payments_to_contracts_to_documents_all_time.json", + "source_title": "Phase 80 payments to contracts to documents all-time continuity", + "scenario_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time", + "domain": "address_phase80_payments_to_contracts_to_documents_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_03_contracts_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase80_payments_to_contracts_to_documents_all_time.json", + "source_title": "Phase 80 payments to contracts to documents all-time continuity", + "scenario_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time", + "domain": "address_phase80_payments_to_contracts_to_documents_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_04_documents_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase80_payments_to_contracts_to_documents_all_time.json", + "source_title": "Phase 80 payments to contracts to documents all-time continuity", + "scenario_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time", + "domain": "address_phase80_payments_to_contracts_to_documents_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_followup", + "third_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_followup", + "third_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_05_all_time_after_third_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase80_payments_to_contracts_to_documents_all_time.json", + "source_title": "Phase 80 payments to contracts to documents all-time continuity", + "scenario_id": "address_truth_harness_phase80_payments_to_contracts_to_documents_all_time", + "domain": "address_phase80_payments_to_contracts_to_documents_all_time", + "reusable_in_agent_pack": true, + "step_id": "step_05_all_time_after_third_pivot", + "title": "Expand the same document contour to all time", + "question": "А за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "all_time_after_third_pivot", + "documents_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_05_all_time_after_third_pivot", + "title": "Expand the same document contour to all time", + "question": "А за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)уточните .* период", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "all_time_after_third_pivot", + "documents_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch.json", + "source_title": "Phase 81 repeated pivot back to payments after documents year-switch continuity", + "scenario_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch", + "domain": "address_phase81_payments_contracts_documents_back_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_by_counterparty", + "pivot_seed", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch.json", + "source_title": "Phase 81 repeated pivot back to payments after documents year-switch continuity", + "scenario_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch", + "domain": "address_phase81_payments_contracts_documents_back_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "counterparty_pronoun_resolution", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_03_contracts_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch.json", + "source_title": "Phase 81 repeated pivot back to payments after documents year-switch continuity", + "scenario_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch", + "domain": "address_phase81_payments_contracts_documents_back_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "contracts_followup", + "second_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_04_documents_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch.json", + "source_title": "Phase 81 repeated pivot back to payments after documents year-switch continuity", + "scenario_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch", + "domain": "address_phase81_payments_contracts_documents_back_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "documents_followup", + "third_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "documents_followup", + "third_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_05_payments_after_third_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch.json", + "source_title": "Phase 81 repeated pivot back to payments after documents year-switch continuity", + "scenario_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch", + "domain": "address_phase81_payments_contracts_documents_back_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_05_payments_after_third_pivot", + "title": "Pivot back again to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "payments_followup", + "fourth_pivot", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_05_payments_after_third_pivot", + "title": "Pivot back again to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "payments_followup", + "fourth_pivot", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_06_year_switch_after_fourth_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch.json", + "source_title": "Phase 81 repeated pivot back to payments after documents year-switch continuity", + "scenario_id": "address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch", + "domain": "address_phase81_payments_contracts_documents_back_to_payments_year_switch", + "reusable_in_agent_pack": true, + "step_id": "step_06_year_switch_after_fourth_pivot", + "title": "Switch the year after the fourth pivot", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "year_switch_after_fourth_pivot", + "payments_followup", + "integrity_guard" + ], + "step_payload": { + "step_id": "step_06_year_switch_after_fourth_pivot", + "title": "Switch the year after the fourth pivot", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .* контрагент", + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "year_switch_after_fourth_pivot", + "payments_followup", + "integrity_guard" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_01_documents_by_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f_integrity_hardening", + "documents_by_counterparty", + "pivot_seed", + "human_dialog", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f_integrity_hardening", + "documents_by_counterparty", + "pivot_seed", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_02_payments_by_pronoun_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f_integrity_hardening", + "payments_followup", + "counterparty_pronoun_resolution", + "human_dialog" + ], + "step_payload": { + "step_id": "step_02_payments_by_pronoun_followup", + "title": "Pivot to payments", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f_integrity_hardening", + "payments_followup", + "counterparty_pronoun_resolution", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_03_contracts_after_payments_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f_integrity_hardening", + "contracts_followup", + "second_pivot", + "human_dialog" + ], + "step_payload": { + "step_id": "step_03_contracts_after_payments_pivot", + "title": "Pivot to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f_integrity_hardening", + "contracts_followup", + "second_pivot", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_04_documents_after_contracts_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f_integrity_hardening", + "documents_followup", + "third_pivot", + "human_dialog" + ], + "step_payload": { + "step_id": "step_04_documents_after_contracts_pivot", + "title": "Pivot back to documents", + "question": "А по нему документы?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f_integrity_hardening", + "documents_followup", + "third_pivot", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_05_payments_after_third_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_05_payments_after_third_pivot", + "title": "Pivot back again to payments", + "question": "А по нему платежи?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f_integrity_hardening", + "payments_followup", + "fourth_pivot", + "human_dialog" + ], + "step_payload": { + "step_id": "step_05_payments_after_third_pivot", + "title": "Pivot back again to payments", + "question": "А по нему платежи?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f_integrity_hardening", + "payments_followup", + "fourth_pivot", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_06_year_switch_after_fourth_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_06_year_switch_after_fourth_pivot", + "title": "Switch the year after the fourth pivot", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f_integrity_hardening", + "year_switch_after_fourth_pivot", + "payments_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_06_year_switch_after_fourth_pivot", + "title": "Switch the year after the fourth pivot", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "forbidden_answer_patterns": [ + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f_integrity_hardening", + "year_switch_after_fourth_pivot", + "payments_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_07_open_scope_incoming_total", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_07_open_scope_incoming_total", + "title": "Reset to organization-scoped money analytics without a preselected counterparty", + "question": "С Жуковкой закончили. Теперь нужна другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "open_scope_total", + "topic_reset", + "human_dialog" + ], + "step_payload": { + "step_id": "step_07_open_scope_incoming_total", + "title": "Reset to organization-scoped money analytics without a preselected counterparty", + "question": "С Жуковкой закончили. Теперь нужна другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "open_scope_total", + "topic_reset", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_08_open_scope_org_clarification", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_08_open_scope_org_clarification", + "title": "Provide the organization and get the 2020 incoming total", + "question": "По ООО Альтернатива Плюс.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "open_scope_total", + "organization_clarification", + "human_dialog" + ], + "step_payload": { + "step_id": "step_08_open_scope_org_clarification", + "title": "Provide the organization and get the 2020 incoming total", + "question": "По ООО Альтернатива Плюс.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*контрагент", + "(?i)не найден контрагент", + "(?i)уточните .*организац" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "open_scope_total", + "organization_clarification", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_09_open_scope_all_time_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_09_open_scope_all_time_followup", + "title": "Broaden the same organization slice to all available time", + "question": "Понял, тогда за все время.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "all_time_followup", + "human_dialog" + ], + "step_payload": { + "step_id": "step_09_open_scope_all_time_followup", + "title": "Broaden the same organization slice to all available time", + "question": "Понял, тогда за все время.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)все доступное время|все время|весь период", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)за 2020", + "(?i)уточните .*контрагент", + "(?i)уточните .*период", + "(?i)уточните .*организац" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "all_time_followup", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_10_bidirectional_comparison", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_10_bidirectional_comparison", + "title": "Ask which money direction is larger for the organization", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "value_flow_comparison", + "human_dialog" + ], + "step_payload": { + "step_id": "step_10_bidirectional_comparison", + "title": "Ask which money direction is larger for the organization", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|исходящ|получ|заплат|больше" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "value_flow_comparison", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_11_comparison_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_11_comparison_year_switch", + "title": "Ask the same comparison for another year", + "question": "А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "value_flow_comparison", + "year_switch", + "human_dialog" + ], + "step_payload": { + "step_id": "step_11_comparison_year_switch", + "title": "Ask the same comparison for another year", + "question": "А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)входящ|исходящ|получ|заплат|больше" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "value_flow_comparison", + "year_switch", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_12_ranking_top_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_12_ranking_top_counterparty", + "title": "Ask who brought the most money for the organization", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "value_flow_ranking", + "human_dialog" + ], + "step_payload": { + "step_id": "step_12_ranking_top_counterparty", + "title": "Ask who brought the most money for the organization", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)кто|контрагент|клиент|принес|доход" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "value_flow_ranking", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_13_ranking_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_13_ranking_year_switch", + "title": "Ask the same ranking for another year", + "question": "А в 2021 году?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_scope", + "value_flow_ranking", + "year_switch", + "human_dialog" + ], + "step_payload": { + "step_id": "step_13_ranking_year_switch", + "title": "Ask the same ranking for another year", + "question": "А в 2021 году?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_scope", + "value_flow_ranking", + "year_switch", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_14_ground_named_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_14_ground_named_counterparty", + "title": "Reset to a named grounded counterparty", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "grounded_counterparty", + "topic_reset", + "human_dialog" + ], + "step_payload": { + "step_id": "step_14_ground_named_counterparty", + "title": "Reset to a named grounded counterparty", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк|группа свк|контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "grounded_counterparty", + "topic_reset", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_15_counterparty_incoming_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_15_counterparty_incoming_2020", + "title": "Ask how much money was received from the grounded counterparty", + "question": "Сколько получили по нему за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "grounded_counterparty", + "incoming_value_flow", + "human_dialog" + ], + "step_payload": { + "step_id": "step_15_counterparty_incoming_2020", + "title": "Ask how much money was received from the grounded counterparty", + "question": "Сколько получили по нему за 2020 год?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)получ|входящ|поступлен" + ], + "criticality": "critical", + "semantic_tags": [ + "grounded_counterparty", + "incoming_value_flow", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_16_counterparty_payout_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_16_counterparty_payout_followup", + "title": "Ask how much was paid to the same grounded counterparty", + "question": "А теперь сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "grounded_counterparty", + "payout_value_flow", + "human_dialog" + ], + "step_payload": { + "step_id": "step_16_counterparty_payout_followup", + "title": "Ask how much was paid to the same grounded counterparty", + "question": "А теперь сколько заплатили?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)заплат|исходящ|списан|платеж" + ], + "criticality": "critical", + "semantic_tags": [ + "grounded_counterparty", + "payout_value_flow", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_17_counterparty_net_followup", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_17_counterparty_net_followup", + "title": "Ask for net after incoming and payout", + "question": "А какое нетто?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "grounded_counterparty", + "net_value_flow", + "human_dialog" + ], + "step_payload": { + "step_id": "step_17_counterparty_net_followup", + "title": "Ask for net after incoming and payout", + "question": "А какое нетто?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)нетто|сальдо|получ|заплат" + ], + "criticality": "critical", + "semantic_tags": [ + "grounded_counterparty", + "net_value_flow", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_18_counterparty_documents_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_18_counterparty_documents_pivot", + "title": "Pivot from money to documents for the same counterparty", + "question": "А по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "grounded_counterparty", + "documents_pivot", + "human_dialog", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_18_counterparty_documents_pivot", + "title": "Pivot from money to documents for the same counterparty", + "question": "А по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)документ|счет|сч[её]т[- ]?фактур|накладн|акт|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "grounded_counterparty", + "documents_pivot", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_19_counterparty_movements_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase82_human_mixed_integrity_status_dialog.json", + "source_title": "ARCH: Post-F Semantic Integrity Hardening mixed human status dialog", + "scenario_id": "address_truth_harness_phase82_human_mixed_integrity_status_dialog", + "domain": "address_phase82_human_mixed_integrity_status_dialog", + "reusable_in_agent_pack": true, + "step_id": "step_19_counterparty_movements_pivot", + "title": "Pivot from documents to movements for the same counterparty", + "question": "А по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "grounded_counterparty", + "movements_pivot", + "human_dialog" + ], + "step_payload": { + "step_id": "step_19_counterparty_movements_pivot", + "title": "Pivot from documents to movements for the same counterparty", + "question": "А по движениям?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)движени|операц|платеж|поступлен|списан|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "grounded_counterparty", + "movements_pivot", + "human_dialog" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_01_smalltalk", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk", + "title": "Casual opening stays human", + "question": "привет, как дела?", + "criticality": "info", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_smalltalk" + ], + "step_payload": { + "step_id": "step_01_smalltalk", + "title": "Casual opening stays human", + "question": "привет, как дела?", + "required_answer_patterns_any": [ + "(?i)привет|дела|помочь|норм" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)address_mode", + "(?i)living_reason", + "(?i)snapshot_items" + ], + "criticality": "info", + "semantic_tags": [ + "meta_smalltalk" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_02_data_scope_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_02_data_scope_meta", + "title": "Data-scope meta stays deterministic and non-technical", + "question": "по какой компании мы сейчас работаем?", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_scope" + ], + "step_payload": { + "step_id": "step_02_data_scope_meta", + "title": "Data-scope meta stays deterministic and non-technical", + "question": "по какой компании мы сейчас работаем?", + "required_answer_patterns_any": [ + "(?i)компан|организац|контур", + "(?i)работ" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)hard_meta_mode", + "(?i)living_reason", + "(?i)mcp", + "(?i)read_only" + ], + "criticality": "warning", + "semantic_tags": [ + "meta_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_03_counterparty_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_03_counterparty_documents", + "title": "Counterparty documents use the legal name contour", + "question": "покажи все документы по чепурнову", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_03_counterparty_documents", + "title": "Counterparty documents use the legal name contour", + "question": "покажи все документы по чепурнову", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)чепурнов", + "(?i)документ|отгруз|оплат|счет|акт" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_04_counterparty_shipments", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_04_counterparty_shipments", + "title": "Counterparty shipment fallback stays human and business-useful", + "question": "что нам отгружал чепурнов, какой товар или услугу?", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "counterparty_shipment_fallback" + ], + "step_payload": { + "step_id": "step_04_counterparty_shipments", + "title": "Counterparty shipment fallback stays human and business-useful", + "question": "что нам отгружал чепурнов, какой товар или услугу?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "required_direct_answer_patterns_any": [ + "(?i)чепурнов", + "(?i)товар|услуг|отгруз|документ|оплат" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^сейчас не дам прямой адресный ответ", + "(?i)^в текущем адресном контуре этот запрос лучше не закрывать" + ], + "criticality": "critical", + "semantic_tags": [ + "counterparty_shipment_fallback" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_05_inventory_root_after_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_root_after_counterparty", + "title": "Inventory root after counterparty branch remains human and non-technical", + "question": "какие остатки на складе на март 2021", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "company_authority_probe" + ], + "step_payload": { + "step_id": "step_05_inventory_root_after_counterparty", + "title": "Inventory root after counterparty branch remains human and non-technical", + "question": "какие остатки на складе на март 2021", + "allowed_reply_types": [ + "factual", + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_any": [ + "(?i)март 2021|31\\.03\\.2021|организац|компан" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)address_mode", + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot_items" + ], + "criticality": "warning", + "semantic_tags": [ + "inventory_root", + "company_authority_probe" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_06_selected_item_supplier", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_06_selected_item_supplier", + "title": "Selected-object supplier follow-up stays action-first", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ], + "step_payload": { + "step_id": "step_06_selected_item_supplier", + "title": "Selected-object supplier follow-up stays action-first", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "allowed_reply_types": [ + "factual", + "clarification_required" + ], + "expected_intents": [ + "inventory_purchase_provenance_for_item" + ], + "required_direct_answer_patterns_any": [ + "(?i)столешница 600\\*3050\\*26 альмандин", + "(?i)поставщик|поставил|куплен|союз|торговый дом|уточните организац" + ], + "forbidden_direct_answer_patterns": [ + "(?i)^сейчас не дам прямой адресный ответ" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "selected_object_supplier" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_07_capability_meta", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_07_capability_meta", + "title": "Capability meta answer is business-first and free from technical garbage", + "question": "что ты умеешь?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_capability" + ], + "step_payload": { + "step_id": "step_07_capability_meta", + "title": "Capability meta answer is business-first and free from technical garbage", + "question": "что ты умеешь?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_direct_answer_patterns_any": [ + "(?i)могу|умею", + "(?i)документ|остатк|контрагент|ндс|склад|долг" + ], + "forbidden_direct_answer_patterns": [ + "(?i)vat_period_snapshot", + "(?i)inventory_on_hand_as_of_date", + "(?i)explain_boundary", + "(?i)suggest_safe_next_step", + "(?i)read_only", + "(?i)mcp", + "(?i)snapshot_items", + "(?i)assessed state", + "(?i)open item" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_capability" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_08_selected_item_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_08_selected_item_documents", + "title": "Selected-object documents stay in the same contour after meta interrupt", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "criticality": "critical", + "expected_intents": [ + "inventory_purchase_documents_for_item" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ], + "step_payload": { + "step_id": "step_08_selected_item_documents", + "title": "Selected-object documents stay in the same contour after meta interrupt", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "allowed_reply_types": [ + "factual", + "clarification_required" + ], + "expected_intents": [ + "inventory_purchase_documents_for_item" + ], + "required_direct_answer_patterns_any": [ + "(?i)столешница 600\\*3050\\*26 альмандин|по этой позиции", + "(?i)документ|уточните организац" + ], + "criticality": "critical", + "semantic_tags": [ + "selected_object", + "selected_object_documents" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_09_memory_recap", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_09_memory_recap", + "title": "Memory recap does not invent grounded facts", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_memory" + ], + "step_payload": { + "step_id": "step_09_memory_recap", + "title": "Memory recap does not invent grounded facts", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "required_answer_patterns_any": [ + "(?i)помню|по позиции|столешница" + ], + "forbidden_answer_patterns": [ + "(?i)^сейчас не дам прямой адресный ответ" + ], + "criticality": "warning", + "semantic_tags": [ + "meta_memory" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_10_receivables_march_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_10_receivables_march_2020", + "title": "Receivables root establishes March 2020 carryover", + "question": "кто нам должен на март 2020", + "criticality": "critical", + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_receivables" + ], + "step_payload": { + "step_id": "step_10_receivables_march_2020", + "title": "Receivables root establishes March 2020 carryover", + "question": "кто нам должен на март 2020", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "required_filters": { + "as_of_date": "2020-03-31", + "period_from": "2020-03-01", + "period_to": "2020-03-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)дебитор", + "31\\.03\\.2020" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_receivables" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_11_inventory_same_date_after_receivables", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_11_inventory_same_date_after_receivables", + "title": "Inventory same-date pivot reuses March 2020 without re-clarification", + "question": "остатки по складу на эту же дату", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_pivot" + ], + "step_payload": { + "step_id": "step_11_inventory_same_date_after_receivables", + "title": "Inventory same-date pivot reuses March 2020 without re-clarification", + "question": "остатки по складу на эту же дату", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "{{step_10_receivables_march_2020.filters.as_of_date}}", + "period_from": "{{step_10_receivables_march_2020.filters.period_from}}", + "period_to": "{{step_10_receivables_march_2020.filters.period_to}}" + }, + "required_direct_answer_patterns_all": [ + "(?i)на складе", + "31\\.03\\.2020" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организац", + "(?i)по какой компании" + ], + "required_filter_within_previous_step_period": { + "as_of_date": "step_10_receivables_march_2020" + }, + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "same_date_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_12_historical_inventory_capability", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_12_historical_inventory_capability", + "title": "Historical inventory capability follow-up stays human", + "question": "а исторические остатки ты можешь дать?", + "criticality": "warning", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_historical_capability", + "inventory_root" + ], + "step_payload": { + "step_id": "step_12_historical_inventory_capability", + "title": "Historical inventory capability follow-up stays human", + "question": "а исторические остатки ты можешь дать?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "required_answer_patterns_any": [ + "(?i)историческ|история", + "(?i)могу|умею" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)hard_meta_mode", + "(?i)mcp", + "(?i)read_only" + ], + "criticality": "warning", + "semantic_tags": [ + "meta_historical_capability", + "inventory_root" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_13_open_items_account_60", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_13_open_items_account_60", + "title": "Account 60 tails stay exact after the mixed session", + "question": "хвосты покажи по счету 60 на август 2022", + "criticality": "critical", + "expected_intents": [ + "open_items_by_counterparty_or_contract" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_account_60" + ], + "step_payload": { + "step_id": "step_13_open_items_account_60", + "title": "Account 60 tails stay exact after the mixed session", + "question": "хвосты покажи по счету 60 на август 2022", + "allowed_reply_types": [ + "factual", + "factual_with_explanation" + ], + "expected_intents": [ + "open_items_by_counterparty_or_contract" + ], + "required_filters": { + "account": "60", + "period_from": "2022-08-01", + "period_to": "2022-08-31", + "as_of_date": "2022-08-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)счету 60|счёту 60", + "(?i)хвост" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_account_60" + ] + } + }, + { + "entry_id": "address_truth_harness_phase8_manual_runtime_authority_mix:step_14_company_activity_age", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase8_manual_runtime_authority_mix.json", + "source_title": "Phase 8 manual runtime authority replay for company continuity, activity age, and human meta answers", + "scenario_id": "address_truth_harness_phase8_manual_runtime_authority_mix", + "domain": "address_phase8_manual_runtime_authority_mix", + "reusable_in_agent_pack": true, + "step_id": "step_14_company_activity_age", + "title": "Organization activity age is answered through activity evidence or honest boundedness", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_activity_age", + "company_selected" + ], + "step_payload": { + "step_id": "step_14_company_activity_age", + "title": "Organization activity age is answered through activity evidence or honest boundedness", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_recipe": "address_counterparty_activity_lifecycle_v1", + "required_direct_answer_patterns_any": [ + "(?i)активност", + "(?i)первая подтвержденная|не удается точно определить|лет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните точное наименование организации" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_activity_age", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase9_proactive_scope_offer:step_01_smalltalk_with_scope_offer", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase9_proactive_scope_offer.json", + "source_title": "Phase 9 proactive organization offer replay for fresh multi-company sessions", + "scenario_id": "address_truth_harness_phase9_proactive_scope_offer", + "domain": "address_phase9_proactive_scope_offer", + "reusable_in_agent_pack": true, + "step_id": "step_01_smalltalk_with_scope_offer", + "title": "Fresh smalltalk offers organization scope without technical garbage", + "question": "привет, как дела?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "meta_smalltalk", + "proactive_scope_offer" + ], + "step_payload": { + "step_id": "step_01_smalltalk_with_scope_offer", + "title": "Fresh smalltalk offers organization scope without technical garbage", + "question": "привет, как дела?", + "required_answer_patterns_any": [ + "(?i)привет|дела|норм|на связи", + "(?i)организац|компан" + ], + "forbidden_answer_patterns": [ + "(?i)tool_gate_reason", + "(?i)address_mode", + "(?i)living_reason", + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot_items" + ], + "criticality": "critical", + "semantic_tags": [ + "meta_smalltalk", + "proactive_scope_offer" + ] + } + }, + { + "entry_id": "address_truth_harness_phase9_proactive_scope_offer:step_02_choose_organization", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase9_proactive_scope_offer.json", + "source_title": "Phase 9 proactive organization offer replay for fresh multi-company sessions", + "scenario_id": "address_truth_harness_phase9_proactive_scope_offer", + "domain": "address_phase9_proactive_scope_offer", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_organization", + "title": "Bare company choice fixes active organization for the session", + "question": "Альтернатива Плюс", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "company_selected", + "living_scope_selection" + ], + "step_payload": { + "step_id": "step_02_choose_organization", + "title": "Bare company choice fixes active organization for the session", + "question": "Альтернатива Плюс", + "required_answer_patterns_any": [ + "(?i)фиксир|рабочую организац", + "(?i)Альтернатива Плюс" + ], + "forbidden_answer_patterns": [ + "(?i)mcp", + "(?i)read_only", + "(?i)snapshot_items" + ], + "criticality": "critical", + "semantic_tags": [ + "company_selected", + "living_scope_selection" + ] + } + }, + { + "entry_id": "address_truth_harness_phase9_proactive_scope_offer:step_03_company_activity_age", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase9_proactive_scope_offer.json", + "source_title": "Phase 9 proactive organization offer replay for fresh multi-company sessions", + "scenario_id": "address_truth_harness_phase9_proactive_scope_offer", + "domain": "address_phase9_proactive_scope_offer", + "reusable_in_agent_pack": true, + "step_id": "step_03_company_activity_age", + "title": "Organization activity age is answered after proactive selection", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "critical", + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "organization_activity_age", + "company_selected" + ], + "step_payload": { + "step_id": "step_03_company_activity_age", + "title": "Organization activity age is answered after proactive selection", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "expected_intents": [ + "counterparty_activity_lifecycle" + ], + "expected_recipe": "address_counterparty_activity_lifecycle_v1", + "required_direct_answer_patterns_any": [ + "(?i)активност", + "(?i)первая подтвержденная|не удается точно определить|лет" + ], + "forbidden_direct_answer_patterns": [ + "(?i)не найден контрагент", + "(?i)уточните точное наименование организации" + ], + "criticality": "critical", + "semantic_tags": [ + "organization_activity_age", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase9_proactive_scope_offer:step_04_receivables_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase9_proactive_scope_offer.json", + "source_title": "Phase 9 proactive organization offer replay for fresh multi-company sessions", + "scenario_id": "address_truth_harness_phase9_proactive_scope_offer", + "domain": "address_phase9_proactive_scope_offer", + "reusable_in_agent_pack": true, + "step_id": "step_04_receivables_root", + "title": "Receivables root keeps March 2020 in the active organization scope", + "question": "кто нам должен на март 2020?", + "criticality": "critical", + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "settlements_receivables", + "company_selected" + ], + "step_payload": { + "step_id": "step_04_receivables_root", + "title": "Receivables root keeps March 2020 in the active organization scope", + "question": "кто нам должен на март 2020?", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "receivables_confirmed_as_of_date" + ], + "required_filters": { + "as_of_date": "2020-03-31", + "period_from": "2020-03-01", + "period_to": "2020-03-31" + }, + "required_direct_answer_patterns_any": [ + "(?i)дебитор", + "31\\.03\\.2020" + ], + "criticality": "critical", + "semantic_tags": [ + "settlements_receivables", + "company_selected" + ] + } + }, + { + "entry_id": "address_truth_harness_phase9_proactive_scope_offer:step_05_inventory_same_date", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_phase9_proactive_scope_offer.json", + "source_title": "Phase 9 proactive organization offer replay for fresh multi-company sessions", + "scenario_id": "address_truth_harness_phase9_proactive_scope_offer", + "domain": "address_phase9_proactive_scope_offer", + "reusable_in_agent_pack": true, + "step_id": "step_05_inventory_same_date", + "title": "Inventory same-date follow-up does not ask for company again", + "question": "остатки по складу на эту же дату", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "inventory_root", + "same_date_pivot", + "company_authority" + ], + "step_payload": { + "step_id": "step_05_inventory_same_date", + "title": "Inventory same-date follow-up does not ask for company again", + "question": "остатки по складу на эту же дату", + "allowed_reply_types": [ + "factual" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "required_filters": { + "as_of_date": "{{step_04_receivables_root.filters.as_of_date}}", + "period_from": "{{step_04_receivables_root.filters.period_from}}", + "period_to": "{{step_04_receivables_root.filters.period_to}}" + }, + "required_direct_answer_patterns_all": [ + "(?i)на складе", + "31\\.03\\.2020" + ], + "forbidden_direct_answer_patterns": [ + "(?i)уточните организац", + "(?i)по какой компании" + ], + "required_filter_within_previous_step_period": { + "as_of_date": "step_04_receivables_root" + }, + "criticality": "critical", + "semantic_tags": [ + "inventory_root", + "same_date_pivot", + "company_authority" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_01_vat_metadata_orientation", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_01_vat_metadata_orientation", + "title": "Orient inside VAT objects", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase64", + "metadata_surface", + "vat_orientation", + "cross_stage_canary", + "vat" + ], + "step_payload": { + "step_id": "step_01_vat_metadata_orientation", + "title": "Orient inside VAT objects", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)ндс", + "(?i)метадан|metadata|документ|регистр|объект" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase64", + "metadata_surface", + "vat_orientation", + "cross_stage_canary" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_02_vat_movements_org_needs_period", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_02_vat_movements_org_needs_period", + "title": "Choose movement lane and organization", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase64", + "movement_lane_after_metadata", + "organization_scope", + "vat" + ], + "step_payload": { + "step_id": "step_02_vat_movements_org_needs_period", + "title": "Choose movement lane and organization", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)движени|регистр|операц|период|уточн" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase64", + "movement_lane_after_metadata", + "organization_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_03_vat_movements_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_03_vat_movements_2020", + "title": "Provide the period", + "question": "За 2020 год.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase64", + "movement_execution", + "period_clarification_resume", + "vat" + ], + "step_payload": { + "step_id": "step_03_vat_movements_2020", + "title": "Provide the period", + "question": "За 2020 год.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)ндс|движени|регистр|операц|строк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase64", + "movement_execution", + "period_clarification_resume" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_04_vat_documents_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_04_vat_documents_pivot", + "title": "Pivot from movements to documents", + "question": "А теперь по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase64", + "document_pivot_after_movement", + "scope_reuse", + "vat" + ], + "step_payload": { + "step_id": "step_04_vat_documents_pivot", + "title": "Pivot from movements to documents", + "question": "А теперь по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)документ|счет|сч[её]т|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*период" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase64", + "document_pivot_after_movement", + "scope_reuse" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_05_vat_documents_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_05_vat_documents_year_switch", + "title": "Switch document slice to another year", + "question": "А теперь за 2021 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase64", + "year_switch_after_document_pivot", + "vat" + ], + "step_payload": { + "step_id": "step_05_vat_documents_year_switch", + "title": "Switch document slice to another year", + "question": "А теперь за 2021 год?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)документ|счет|сч[её]т|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*организац", + "(?i)уточните .*период" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase64", + "year_switch_after_document_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_06_vat_documents_all_time", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_06_vat_documents_all_time", + "title": "Broaden document slice to all available time", + "question": "А теперь за все время?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase64", + "all_time_followup", + "document_lane_continuity", + "vat" + ], + "step_payload": { + "step_id": "step_06_vat_documents_all_time", + "title": "Broaden document slice to all available time", + "question": "А теперь за все время?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)все доступное время|все время|весь период|истори", + "(?i)документ|счет|сч[её]т|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*период" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase64", + "all_time_followup", + "document_lane_continuity" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_07_reset_to_numeric_counterparty_documents", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_07_reset_to_numeric_counterparty_documents", + "title": "Reset to numeric counterparty suffix documents", + "question": "С НДС закончили. Новая тема: покажи документы по Жуковке 51.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "numeric_counterparty_suffix", + "account_injection_guard", + "topic_reset", + "counterparty_documents", + "vat" + ], + "step_payload": { + "step_id": "step_07_reset_to_numeric_counterparty_documents", + "title": "Reset to numeric counterparty suffix documents", + "question": "С НДС закончили. Новая тема: покажи документы по Жуковке 51.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|счет|сч[её]т|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)счет 51", + "(?i)account 51" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "numeric_counterparty_suffix", + "account_injection_guard", + "topic_reset" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_08_numeric_counterparty_payments", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_08_numeric_counterparty_payments", + "title": "Pivot numeric counterparty to payments", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "counterparty_pronoun_resolution", + "payments_followup" + ], + "step_payload": { + "step_id": "step_08_numeric_counterparty_payments", + "title": "Pivot numeric counterparty to payments", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)платеж|операц|банк|поступлен|списан" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "counterparty_pronoun_resolution", + "payments_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_09_numeric_counterparty_contracts", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_09_numeric_counterparty_contracts", + "title": "Pivot numeric counterparty to contracts", + "question": "А по нему договоры?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "contracts_followup", + "repeated_pivot" + ], + "step_payload": { + "step_id": "step_09_numeric_counterparty_contracts", + "title": "Pivot numeric counterparty to contracts", + "question": "А по нему договоры?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "contracts_followup", + "repeated_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_10_numeric_counterparty_documents_again", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_10_numeric_counterparty_documents_again", + "title": "Pivot back to documents again", + "question": "А по нему документы?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "documents_followup", + "repeated_pivot", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_10_numeric_counterparty_documents_again", + "title": "Pivot back to documents again", + "question": "А по нему документы?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)документ|счет|сч[её]т|накладн|акт|строк" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "documents_followup", + "repeated_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_11_numeric_counterparty_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_11_numeric_counterparty_year_switch", + "title": "Switch numeric counterparty active lane to 2021", + "question": "А за 2021?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "year_switch_after_repeated_pivot" + ], + "step_payload": { + "step_id": "step_11_numeric_counterparty_year_switch", + "title": "Switch numeric counterparty active lane to 2021", + "question": "А за 2021?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)жуковк|контрагент" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "year_switch_after_repeated_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_12_open_org_money_requires_clarification", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_12_open_org_money_requires_clarification", + "title": "Reset to open organization-scoped value flow", + "question": "С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "open_scope_total", + "organization_clarification", + "topic_reset" + ], + "step_payload": { + "step_id": "step_12_open_org_money_requires_clarification", + "title": "Reset to open organization-scoped value flow", + "question": "С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)уточн|нужно", + "(?i)организац" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "open_scope_total", + "organization_clarification", + "topic_reset" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_13_open_org_clarification_answer", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_13_open_org_clarification_answer", + "title": "Provide organization for open money slice", + "question": "По ООО Альтернатива Плюс.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "organization_scope", + "clarification_resume" + ], + "step_payload": { + "step_id": "step_13_open_org_clarification_answer", + "title": "Provide organization for open money slice", + "question": "По ООО Альтернатива Плюс.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020|проверенн|строк", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*контрагент", + "(?i)уточните .*организац" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "organization_scope", + "clarification_resume" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_14_open_org_all_time", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_14_open_org_all_time", + "title": "Broaden same organization money slice", + "question": "Понял, тогда за все время.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "organization_scope", + "all_time_followup" + ], + "step_payload": { + "step_id": "step_14_open_org_all_time", + "title": "Broaden same organization money slice", + "question": "Понял, тогда за все время.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)все доступное время|все время|весь период|истори", + "(?i)входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)уточните .*контрагент", + "(?i)уточните .*организац" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "organization_scope", + "all_time_followup" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_15_open_org_bidirectional_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_15_open_org_bidirectional_2020", + "title": "Bidirectional comparison for organization", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "post_f", + "bidirectional_value_flow", + "organization_scope" + ], + "step_payload": { + "step_id": "step_15_open_org_bidirectional_2020", + "title": "Bidirectional comparison for organization", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)входящ|исходящ|получ|заплат|больше" + ], + "criticality": "critical", + "semantic_tags": [ + "post_f", + "bidirectional_value_flow", + "organization_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_16_open_org_ranking_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_16_open_org_ranking_2020", + "title": "Ranking after organization comparison", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase39", + "value_flow_ranking", + "organization_scope" + ], + "step_payload": { + "step_id": "step_16_open_org_ranking_2020", + "title": "Ranking after organization comparison", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)кто|контрагент|клиент|принес|доход|поступлен" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase39", + "value_flow_ranking", + "organization_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_17_open_org_ranking_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_17_open_org_ranking_year_switch", + "title": "Ranking year switch", + "question": "А в 2021 году?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase39", + "year_switch", + "organization_scope" + ], + "step_payload": { + "step_id": "step_17_open_org_ranking_year_switch", + "title": "Ranking year switch", + "question": "А в 2021 году?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase39", + "year_switch", + "organization_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_18_ground_svk_counterparty", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_18_ground_svk_counterparty", + "title": "Reset to grounded SVK counterparty", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "topic_reset" + ], + "step_payload": { + "step_id": "step_18_ground_svk_counterparty", + "title": "Reset to grounded SVK counterparty", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк", + "(?i)контрагент|каталог|1с|заземл" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "topic_reset" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_19_svk_incoming_2020", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_19_svk_incoming_2020", + "title": "SVK incoming value flow", + "question": "Сколько получили по нему за 2020 год?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "incoming_value_flow" + ], + "step_payload": { + "step_id": "step_19_svk_incoming_2020", + "title": "SVK incoming value flow", + "question": "Сколько получили по нему за 2020 год?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2020", + "(?i)свк|контрагент|входящ|поступлен|получ" + ], + "forbidden_answer_patterns": [ + "(?i)жуковк" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "incoming_value_flow" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_20_svk_payout", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_20_svk_payout", + "title": "SVK outgoing value flow", + "question": "А теперь сколько заплатили?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "payout_value_flow" + ], + "step_payload": { + "step_id": "step_20_svk_payout", + "title": "SVK outgoing value flow", + "question": "А теперь сколько заплатили?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк|контрагент|заплат|исходящ|списан|платеж" + ], + "forbidden_answer_patterns": [ + "(?i)жуковк" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "payout_value_flow" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_21_svk_net", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_21_svk_net", + "title": "SVK net value flow", + "question": "А какое нетто?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "net_value_flow" + ], + "step_payload": { + "step_id": "step_21_svk_net", + "title": "SVK net value flow", + "question": "А какое нетто?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк|контрагент|нетто|сальдо|получ|заплат" + ], + "forbidden_answer_patterns": [ + "(?i)жуковк" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "net_value_flow" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_22_svk_documents_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_22_svk_documents_pivot", + "title": "SVK documents pivot", + "question": "А по документам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "documents_pivot" + ], + "step_payload": { + "step_id": "step_22_svk_documents_pivot", + "title": "SVK documents pivot", + "question": "А по документам?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк|контрагент|документ|счет|сч[её]т|накладн|акт|строк" + ], + "forbidden_answer_patterns": [ + "(?i)жуковк" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "documents_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_23_svk_movements_pivot", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_23_svk_movements_pivot", + "title": "SVK movements pivot", + "question": "А по движениям?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "movements_pivot" + ], + "step_payload": { + "step_id": "step_23_svk_movements_pivot", + "title": "SVK movements pivot", + "question": "А по движениям?", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)свк|контрагент|движени|операц|платеж|поступлен|списан|строк" + ], + "forbidden_answer_patterns": [ + "(?i)жуковк" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "movements_pivot" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_24_svk_year_switch", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_cross_stage_canary_agent_20260424.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "address_truth_harness_post_f_cross_stage_canary_agent_20260424", + "domain": "address_post_f_cross_stage_canary_agent", + "reusable_in_agent_pack": true, + "step_id": "step_24_svk_year_switch", + "title": "SVK year switch", + "question": "А теперь тот же смысл за 2021 год.", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "year_switch" + ], + "step_payload": { + "step_id": "step_24_svk_year_switch", + "title": "SVK year switch", + "question": "А теперь тот же смысл за 2021 год.", + "allowed_reply_types": [ + "factual", + "factual_with_explanation", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)2021", + "(?i)свк|контрагент" + ], + "forbidden_answer_patterns": [ + "(?i)жуковк" + ], + "criticality": "critical", + "semantic_tags": [ + "legacy_phase67", + "grounded_counterparty", + "year_switch" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_01_inventory_root", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_01_inventory_root", + "title": "Open inventory context", + "question": "кайф - что там на складе по остаткам?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "inventory_context", + "inventory_root" + ], + "step_payload": { + "step_id": "step_01_inventory_root", + "title": "Open inventory context", + "question": "кайф - что там на складе по остаткам?", + "allowed_reply_types": [ + "clarification_required", + "partial_coverage", + "factual" + ], + "required_answer_patterns_all": [ + "(?i)организац|альтернатива|уточн|склад|остат" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "inventory_context" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_02_choose_org", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_02_choose_org", + "title": "Choose organization", + "question": "АЛЬТЕРНАТИВА", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "organization_scope" + ], + "step_payload": { + "step_id": "step_02_choose_org", + "title": "Choose organization", + "question": "АЛЬТЕРНАТИВА", + "allowed_reply_types": [ + "factual", + "partial_coverage", + "factual_with_explanation" + ], + "required_answer_patterns_all": [ + "(?i)остат|склад|позици|альтернатива" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "organization_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_03_inventory_march_2016", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_03_inventory_march_2016", + "title": "Historical inventory with workstation", + "question": "март 2016", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "purchase_date_context" + ], + "step_payload": { + "step_id": "step_03_inventory_march_2016", + "title": "Historical inventory with workstation", + "question": "март 2016", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)31\\.03\\.2016|март|2016", + "(?i)рабоч|станц|позици|остат" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "purchase_date_context" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_04_workstation_purchase", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_04_workstation_purchase", + "title": "Selected workstation purchase context", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "criticality": "critical", + "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "selected_object_purchase", + "selected_object" + ], + "step_payload": { + "step_id": "step_04_workstation_purchase", + "title": "Selected workstation purchase context", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)рабочая станция", + "(?i)поставщик|куп|приобрет|дата|документ|однознач" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "selected_object_purchase" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_05_vat_purchase_date", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_05_vat_purchase_date", + "title": "VAT on workstation purchase date", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "vat_failure_11", + "materialization_gap", + "vat" + ], + "step_payload": { + "step_id": "step_05_vat_purchase_date", + "title": "VAT on workstation purchase date", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)ндс", + "(?i)подтвержден|к уплате|расчет|срез|период" + ], + "forbidden_answer_patterns": [ + "(?i)отфильтрован", + "(?i)не удается точно определить.*отфильтр" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_recipe": "address_vat_liability_confirmed_tax_period_v1", + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "vat_failure_11", + "materialization_gap" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_06_vat_feb_2017", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_06_vat_feb_2017", + "title": "VAT February 2017", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "criticality": "critical", + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "vat_failure_13", + "vat" + ], + "step_payload": { + "step_id": "step_06_vat_feb_2017", + "title": "VAT February 2017", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)ндс", + "(?i)феврал|2017", + "(?i)подтвержден|к уплате|расчет|срез|0,00|руб" + ], + "forbidden_answer_patterns": [ + "(?i)отфильтрован", + "(?i)не удается точно определить.*отфильтр" + ], + "expected_intents": [ + "vat_liability_confirmed_for_tax_period" + ], + "expected_recipe": "address_vat_liability_confirmed_tax_period_v1", + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "vat_failure_13" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_07_highest_value_customer", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_07_highest_value_customer", + "title": "All-time highest-value customer", + "question": "кто у нас самый доходный клиент за все время", + "criticality": "critical", + "expected_intents": [ + "customer_revenue_and_payments" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "revenue_ranking_failure_14" + ], + "step_payload": { + "step_id": "step_07_highest_value_customer", + "title": "All-time highest-value customer", + "question": "кто у нас самый доходный клиент за все время", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)самый доходный клиент|доходн", + "(?i)поступлен|денежн|руб|деньг|выруч" + ], + "forbidden_answer_patterns": [ + "(?i)активных заказчиков", + "(?i)операций:\\s*\\d+\\s*\\|\\s*последняя активность" + ], + "expected_intents": [ + "customer_revenue_and_payments" + ], + "expected_recipe": "address_customer_revenue_and_payments_v1", + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "revenue_ranking_failure_14" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_08_documents_chepurnov", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_08_documents_chepurnov", + "title": "Ground Chepurnov documents", + "question": "по чепурнову покажи все доки", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "counterparty_grounding", + "counterparty_documents" + ], + "step_payload": { + "step_id": "step_08_documents_chepurnov", + "title": "Ground Chepurnov documents", + "question": "по чепурнову покажи все доки", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)чепурнов", + "(?i)документ|поступление|договор" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "counterparty_grounding" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_09_pivot_svk", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_09_pivot_svk", + "title": "Retarget to SVK documents", + "question": "а по свк", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "counterparty_retarget" + ], + "step_payload": { + "step_id": "step_09_pivot_svk", + "title": "Retarget to SVK documents", + "question": "а по свк", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)группа свк|свк", + "(?i)документ" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "counterparty_retarget" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_10_inventory_today", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_10_inventory_today", + "title": "Stale inventory root before item-flow", + "question": "а сейчас у нас есть что на складе?", + "criticality": "critical", + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "stale_inventory_scope", + "inventory_root" + ], + "step_payload": { + "step_id": "step_10_inventory_today", + "title": "Stale inventory root before item-flow", + "question": "а сейчас у нас есть что на складе?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)склад|остат|позици" + ], + "expected_intents": [ + "inventory_on_hand_as_of_date" + ], + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "stale_inventory_scope" + ] + } + }, + { + "entry_id": "address_truth_harness_post_f_manual_failures_20260424:step_11_chepurnov_item_flow", + "source_type": "truth_harness_step", + "source_file": "docs/orchestration/address_truth_harness_post_f_manual_failures_20260424.json", + "source_title": "AGENT | Post-F manual failures: VAT, revenue ranking, item-flow", + "scenario_id": "address_truth_harness_post_f_manual_failures_20260424", + "domain": "address_post_f_manual_failures", + "reusable_in_agent_pack": true, + "step_id": "step_11_chepurnov_item_flow", + "title": "Explicit Chepurnov item-flow after stale inventory", + "question": "что нам отгружал чепурнов? какой товар или услугу?", + "criticality": "critical", + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, + "semantic_tags": [ + "manual_9lieoh", + "item_flow_failure_26", + "stale_scope_guard", + "counterparty_shipment_fallback" + ], + "step_payload": { + "step_id": "step_11_chepurnov_item_flow", + "title": "Explicit Chepurnov item-flow after stale inventory", + "question": "что нам отгружал чепурнов? какой товар или услугу?", + "allowed_reply_types": [ + "factual", + "partial_coverage" + ], + "required_answer_patterns_all": [ + "(?i)чепурнов", + "(?i)товар|услуг|позици|номенклатур|поставк|документ" + ], + "forbidden_answer_patterns": [ + "(?i)На 24\\.04\\.2026 на складе", + "(?i)остатк.*склад" + ], + "expected_intents": [ + "list_documents_by_counterparty" + ], + "expected_recipe": "address_documents_by_counterparty_v1", + "criticality": "critical", + "semantic_tags": [ + "manual_9liEOh", + "item_flow_failure_26", + "stale_scope_guard" + ] + } + }, { "entry_id": "address_truth_harness_targeted_counterparty_tails:step_01_documents_by_counterparty", "source_type": "truth_harness_step", @@ -1614,6 +22478,9 @@ "expected_intents": [ "list_documents_by_counterparty" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "counterparty_documents" ], @@ -1649,6 +22516,9 @@ "expected_intents": [ "list_documents_by_counterparty" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "counterparty_shipment_fallback" ], @@ -1688,6 +22558,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -1726,6 +22599,9 @@ "expected_intents": [ "open_items_by_counterparty_or_contract" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "settlements_account_60" ], @@ -1765,6 +22641,9 @@ "question": "йо чо как", "criticality": "info", "expected_intents": [], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "meta_smalltalk" ], @@ -1800,6 +22679,9 @@ "expected_intents": [ "receivables_confirmed_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "settlements_receivables" ], @@ -1842,6 +22724,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_pivot" @@ -1885,6 +22770,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -1938,6 +22826,9 @@ "expected_intents": [ "inventory_sale_trace_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_sale" @@ -1989,6 +22880,9 @@ "expected_intents": [ "inventory_purchase_provenance_for_item" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "selected_object", "selected_object_supplier" @@ -2036,6 +22930,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -2081,6 +22978,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -2126,6 +23026,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root" ], @@ -2171,6 +23074,9 @@ "expected_intents": [ "inventory_on_hand_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "inventory_root", "same_date_pivot" @@ -2222,6 +23128,9 @@ "expected_intents": [ "vat_liability_confirmed_for_tax_period" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "vat" ], @@ -2261,6 +23170,9 @@ "expected_intents": [ "vat_liability_confirmed_for_tax_period" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "vat" ], @@ -2308,6 +23220,9 @@ "expected_intents": [ "receivables_confirmed_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "settlements_receivables", "vat" @@ -2353,6 +23268,9 @@ "expected_intents": [ "receivables_confirmed_as_of_date" ], + "expected_catalog_alignment_status": null, + "expected_catalog_chain_top_match": null, + "expected_catalog_selected_matches_top": null, "semantic_tags": [ "settlements_receivables" ], @@ -2379,25 +23297,6 @@ } ], "saved_session_entries": [ - { - "entry_id": "assistant_saved_session_20260416175150_gen-mo1s0m9z-ndf56a3:q01", - "source_type": "saved_session_question", - "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260416175150_gen-mo1s0m9z-ndf56a3.json", - "source_title": "Ручная сессия 16.04.2026, 20:51:30", - "scenario_id": "gen-mo1s0m9z-ndf56a3", - "domain": null, - "reusable_in_agent_pack": false, - "step_id": "saved_session_q01", - "title": "Saved session question 1", - "question": "привет как дела", - "criticality": "info", - "expected_intents": [], - "semantic_tags": [ - "meta_smalltalk" - ], - "session_mode": "saved_user_sessions", - "agent_run": false - }, { "entry_id": "assistant_saved_session_20260416182626_gen-mo1t93wq-jy0453e:q01", "source_type": "saved_session_question", @@ -3889,6 +24788,2638 @@ "semantic_tags": [], "session_mode": "saved_user_sessions", "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "привет, как дела?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_smalltalk" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "по какой компании мы сейчас работаем?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_scope" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "покажи все документы по чепурнову", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "counterparty_documents" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "что нам отгружал чепурнов, какой товар или услугу?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "counterparty_shipment_fallback" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "какие остатки на складе на март 2021", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "selected_object" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "что ты умеешь?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_capability" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "selected_object" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_memory" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q10", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q10", + "title": "Saved session question 10", + "question": "покажи еще раз остатки на эту же дату", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q11", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q11", + "title": "Saved session question 11", + "question": "кто нам должен на март 2020", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "settlements_receivables" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q12", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q12", + "title": "Saved session question 12", + "question": "остатки по складу на эту же дату", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q13", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q13", + "title": "Saved session question 13", + "question": "а исторические остатки тоже можешь?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_historical_capability", + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417094132_gen-ag04170941-87680e:q14", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417094132_gen-ag04170941-87680e.json", + "source_title": "AGENT | Phase 7 mixed replay for documents, selected-object continuity, meta context, and cross-domain pivots", + "scenario_id": "gen-ag04170941-87680e", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q14", + "title": "Saved session question 14", + "question": "хвосты покажи по счету 60 на август 2022", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "привет, как дела?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_smalltalk" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "по какой компании мы сейчас работаем?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_scope" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "какие остатки на складе на март 2021", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "давай по Альтернативе Плюс", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "тогда покажи остатки на март 2021", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "selected_object" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": покажи документы по этой позиции", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "selected_object" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "покажи еще раз остатки на эту же дату", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "а по Альтернативе Плюс сколько лет активности в базе 1С?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q10", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q10", + "title": "Saved session question 10", + "question": "что ты умеешь?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_capability" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q11", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q11", + "title": "Saved session question 11", + "question": "а ты помнишь, что мы по этой позиции уже выяснили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_memory" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q12", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q12", + "title": "Saved session question 12", + "question": "кто нам должен на март 2020", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "settlements_receivables" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417132600_gen-ag04171326-15a132:q13", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417132600_gen-ag04171326-15a132.json", + "source_title": "AGENT replay for company selection continuity and organization activity age", + "scenario_id": "gen-ag04171326-15a132", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q13", + "title": "Saved session question 13", + "question": "остатки по складу на эту же дату", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "какие остатки на складе на март 2021", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "давай по Альтернативе Плюс", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "тогда покажи остатки на март 2021", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "По выбранному объекту \"Столешница 600*3050*26 альмандин\": кто нам это поставил?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "selected_object" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "а по этой позиции когда была закупка?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "покажи документы по этой позиции", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "покажи еще раз остатки на эту же дату", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260417150806_gen-ag04171508-760111:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260417150806_gen-ag04171508-760111.json", + "source_title": "AGENT replay for inventory clarification continuity and answer-shape cleanliness", + "scenario_id": "gen-ag04171508-760111", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "а что мы уже выяснили по этой позиции?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_memory" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "привет как дела", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "meta_smalltalk" + ], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "кто намс должен денег на сегодня", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "что ты можешь", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "кто нам должен денег на сегодня", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "settlements_receivables" + ], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "а мы кому", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "какиек остатки на складе на сегодня", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "альтернатива", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "покажи документы по чепурнову", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34.json", + "source_title": "Ручная сессия 19.04.2026, 18:58:20", + "scenario_id": "gen-mo5zy5vo-z9klj34", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "какой оборот был свк", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "найди в 1С контрагента СВК", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "сколько получили по нему за 2020 год", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "а теперь сколько заплатили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "а за 2021?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "а какое нетто?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "а по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz.json", + "source_title": "СВК - Ручная сессия 22.04.2026, 15:50:39", + "scenario_id": "gen-moa1y0lw-m30gdsz", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "а по движениям?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": false + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "Хочу быстрый денежный срез по одной организации без привязки к контрагенту. Сколько вообще входящих денег было за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "По ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "Понял, тогда за все время.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9.json", + "source_title": "AGENT | Живой диалог по организации: денежный срез, сравнение и рейтинг", + "scenario_id": "gen-ag04231336-3d4cc9", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "А в 2021 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-4fa660.json", + "source_title": "AGENT | Живой диалог по НДС: от ориентации до документов", + "scenario_id": "gen-ag04231336-4fa660", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-4fa660.json", + "source_title": "AGENT | Живой диалог по НДС: от ориентации до документов", + "scenario_id": "gen-ag04231336-4fa660", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-4fa660.json", + "source_title": "AGENT | Живой диалог по НДС: от ориентации до документов", + "scenario_id": "gen-ag04231336-4fa660", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "За 2020 год.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-4fa660.json", + "source_title": "AGENT | Живой диалог по НДС: от ориентации до документов", + "scenario_id": "gen-ag04231336-4fa660", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "А теперь по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-4fa660.json", + "source_title": "AGENT | Живой диалог по НДС: от ориентации до документов", + "scenario_id": "gen-ag04231336-4fa660", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "А теперь за 2021 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-4fa660.json", + "source_title": "AGENT | Живой диалог по НДС: от ориентации до документов", + "scenario_id": "gen-ag04231336-4fa660", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "А теперь за все время?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "Хочу проверить одного контрагента. Найди в 1С Группу СВК.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "Посмотри, сколько денег мы получили от него за 2020 год.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "А теперь сколько мы ему заплатили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "А какое получилось нетто?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "А по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "А по движениям?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423133622_gen-ag04231336-db78b3.json", + "source_title": "AGENT | Живой диалог по СВК: деньги, нетто, документы и движения", + "scenario_id": "gen-ag04231336-db78b3", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "А теперь за 2021 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "Покажи документы по Жуковке 51.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "А по нему договоры?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "А по нему документы?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "А по нему платежи?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "А за 2021?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "С Жуковкой закончили. Теперь нужна другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "По ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "Понял, тогда за все время.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q10", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q10", + "title": "Saved session question 10", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q11", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q11", + "title": "Saved session question 11", + "question": "А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q12", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q12", + "title": "Saved session question 12", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q13", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q13", + "title": "Saved session question 13", + "question": "А в 2021 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q14", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q14", + "title": "Saved session question 14", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q15", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q15", + "title": "Saved session question 15", + "question": "Сколько получили по нему за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q16", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q16", + "title": "Saved session question 16", + "question": "А теперь сколько заплатили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q17", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q17", + "title": "Saved session question 17", + "question": "А какое нетто?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q18", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q18", + "title": "Saved session question 18", + "question": "А по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q19", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260423184425_gen-ag04231844-8e552a.json", + "source_title": "AGENT | ARCH: Post-F Semantic Integrity Hardening | Смешанный живой диалог: repeated pivots, орг-срез и СВК", + "scenario_id": "gen-ag04231844-8e552a", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q19", + "title": "Saved session question 19", + "question": "А по движениям?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "За 2020 год.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "А теперь по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "А теперь за 2021 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "А теперь за все время?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "С НДС закончили. Новая тема: покажи документы по Жуковке 51.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "А по нему договоры?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q10", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q10", + "title": "Saved session question 10", + "question": "А по нему документы?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q11", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q11", + "title": "Saved session question 11", + "question": "А за 2021?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q12", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q12", + "title": "Saved session question 12", + "question": "С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q13", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q13", + "title": "Saved session question 13", + "question": "По ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q14", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q14", + "title": "Saved session question 14", + "question": "Понял, тогда за все время.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q15", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q15", + "title": "Saved session question 15", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q16", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q16", + "title": "Saved session question 16", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q17", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q17", + "title": "Saved session question 17", + "question": "А в 2021 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q18", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q18", + "title": "Saved session question 18", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q19", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q19", + "title": "Saved session question 19", + "question": "Сколько получили по нему за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q20", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q20", + "title": "Saved session question 20", + "question": "А теперь сколько заплатили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q21", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q21", + "title": "Saved session question 21", + "question": "А какое нетто?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q22", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q22", + "title": "Saved session question 22", + "question": "А по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q23", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q23", + "title": "Saved session question 23", + "question": "А по движениям?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q24", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424140630_gen-ag04241406-abe4d8.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary", + "scenario_id": "gen-ag04241406-abe4d8", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q24", + "title": "Saved session question 24", + "question": "А теперь тот же смысл за 2021 год.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "Хорошо, тогда покажи движения по ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "За 2020 год.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "А теперь по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "А теперь за 2021 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "А теперь за все время?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "С НДС закончили. Новая тема: покажи документы по Жуковке 51.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "Хорошо, а теперь платежи по нему тоже покажи.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "А по нему договоры?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q10", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q10", + "title": "Saved session question 10", + "question": "А по нему документы?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q11", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q11", + "title": "Saved session question 11", + "question": "А за 2021?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q12", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q12", + "title": "Saved session question 12", + "question": "С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q13", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q13", + "title": "Saved session question 13", + "question": "По ООО Альтернатива Плюс.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q14", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q14", + "title": "Saved session question 14", + "question": "Понял, тогда за все время.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q15", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q15", + "title": "Saved session question 15", + "question": "Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q16", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q16", + "title": "Saved session question 16", + "question": "И кто больше всего принес денег этой организации в 2020 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q17", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q17", + "title": "Saved session question 17", + "question": "А в 2021 году?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q18", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q18", + "title": "Saved session question 18", + "question": "Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q19", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q19", + "title": "Saved session question 19", + "question": "Сколько получили по нему за 2020 год?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q20", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q20", + "title": "Saved session question 20", + "question": "А теперь сколько заплатили?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q21", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q21", + "title": "Saved session question 21", + "question": "А какое нетто?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q22", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q22", + "title": "Saved session question 22", + "question": "А по документам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q23", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q23", + "title": "Saved session question 23", + "question": "А по движениям?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q24", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424161022_gen-ag04241610-84c8bb.json", + "source_title": "AGENT | Post-F cross-stage semantic integrity canary live7", + "scenario_id": "gen-ag04241610-84c8bb", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q24", + "title": "Saved session question 24", + "question": "А теперь тот же смысл за 2021 год.", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q01", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q01", + "title": "Saved session question 1", + "question": "кайф - что там на складе по остаткам?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q02", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q02", + "title": "Saved session question 2", + "question": "АЛЬТЕРНАТИВА", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q03", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q03", + "title": "Saved session question 3", + "question": "март 2016", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q04", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q04", + "title": "Saved session question 4", + "question": "По выбранному объекту \"Рабочая станция универсального специалиста (индивидуальное изготовление)\": где взяли это?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "selected_object" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q05", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q05", + "title": "Saved session question 5", + "question": "ндс можешь прикинуть на дату покупки рабочей станции?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q06", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q06", + "title": "Saved session question 6", + "question": "прикинь какой ндс нам надо заплатить на февраль 2017", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "vat" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q07", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q07", + "title": "Saved session question 7", + "question": "кто у нас самый доходный клиент за все время", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q08", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q08", + "title": "Saved session question 8", + "question": "по чепурнову покажи все доки", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "counterparty_documents" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q09", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q09", + "title": "Saved session question 9", + "question": "а по свк", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q10", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q10", + "title": "Saved session question 10", + "question": "а сейчас у нас есть что на складе?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "inventory_root" + ], + "session_mode": "saved_user_sessions", + "agent_run": true + }, + { + "entry_id": "assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q11", + "source_type": "saved_session_question", + "source_file": "llm_normalizer/data/autorun_generators/saved_sessions/assistant_saved_session_20260424171031_gen-ag04241710-bdb248.json", + "source_title": "AGENT | Post-F ручные провалы VAT revenue item-flow live3", + "scenario_id": "gen-ag04241710-bdb248", + "domain": null, + "reusable_in_agent_pack": false, + "step_id": "saved_session_q11", + "title": "Saved session question 11", + "question": "что нам отгружал чепурнов? какой товар или услугу?", + "criticality": "info", + "expected_intents": [], + "semantic_tags": [ + "counterparty_shipment_fallback" + ], + "session_mode": "saved_user_sessions", + "agent_run": true } ] } diff --git a/docs/orchestration/agent_semantic_source_catalog.md b/docs/orchestration/agent_semantic_source_catalog.md index 13e794a..b62a75a 100644 --- a/docs/orchestration/agent_semantic_source_catalog.md +++ b/docs/orchestration/agent_semantic_source_catalog.md @@ -1,48 +1,683 @@ # Agent semantic source catalog -- truth_harness_steps_total: `58` -- saved_session_questions_total: `81` +- truth_harness_steps_total: `500` +- saved_session_questions_total: `229` ## Reusable truth-harness tags -- `counterparty_documents`: `3` -- `counterparty_shipment_fallback`: `3` -- `inventory_root`: `21` -- `meta_capability`: `3` -- `meta_historical_capability`: `4` -- `meta_memory`: `2` -- `meta_scope`: `4` -- `meta_smalltalk`: `3` -- `same_date_pivot`: `3` -- `same_date_restore`: `4` -- `selected_object`: `11` -- `selected_object_documents`: `3` -- `selected_object_sale`: `1` -- `selected_object_supplier`: `7` -- `settlements_account_60`: `2` -- `settlements_receivables`: `4` -- `vat`: `3` +- `account_60`: `2` +- `account_injection_guard`: `1` +- `activity_age`: `1` +- `activity_assessment`: `1` +- `aggregate_all_time`: `1` +- `aggregate_revenue`: `1` +- `aggregate_year`: `1` +- `alias_grounding`: `6` +- `all_time_after_pivot`: `2` +- `all_time_after_second_pivot`: `2` +- `all_time_after_third_pivot`: `1` +- `all_time_followup`: `9` +- `all_time_scope`: `4` +- `ambiguity_probe`: `1` +- `anomaly_probe`: `1` +- `answer_inspection`: `1` +- `answer_top_block_matches_current_user_intent`: `1` +- `bidirectional_value_flow`: `1` +- `bounded_autonomy`: `47` +- `bounded_retrieval`: `13` +- `bridge_inventory_to_vat`: `3` +- `broad_business_evaluation`: `2` +- `broad_eval_bridge_preserved`: `1` +- `broad_eval_followup_continuity`: `1` +- `broad_evaluation_bridge`: `1` +- `capability_meta`: `3` +- `capability_over_followup`: `2` +- `catalog_drilldown`: `1` +- `catalog_grounding`: `1` +- `catalog_metadata_surface`: `1` +- `clarification_required`: `1` +- `clarification_resume`: `2` +- `company_activity_lifecycle`: `2` +- `company_analytics`: `1` +- `company_authority`: `3` +- `company_authority_probe`: `1` +- `company_clarification`: `2` +- `company_selected`: `11` +- `company_selection`: `2` +- `context_reframe`: `1` +- `context_reuse`: `1` +- `context_seed`: `1` +- `context_setup`: `1` +- `continuity_after_interrupt`: `1` +- `continuity_interrupt`: `1` +- `contracts_followup`: `16` +- `counterparty_carryover`: `1` +- `counterparty_catalog_scope`: `1` +- `counterparty_documents`: `29` +- `counterparty_followup`: `3` +- `counterparty_grounding`: `1` +- `counterparty_item_flow`: `1` +- `counterparty_lifecycle`: `1` +- `counterparty_monthly_net_cash_flow`: `1` +- `counterparty_net_cash_flow`: `4` +- `counterparty_net_value_flow`: `1` +- `counterparty_outgoing_payments`: `1` +- `counterparty_pronoun_resolution`: `15` +- `counterparty_resolution`: `2` +- `counterparty_retarget`: `1` +- `counterparty_root`: `3` +- `counterparty_shipment_fallback`: `6` +- `counterparty_short_retarget`: `1` +- `counterparty_turnover`: `1` +- `counterparty_value_flow`: `1` +- `cross_domain_pivot`: `2` +- `cross_stage_canary`: `1` +- `current_snapshot`: `1` +- `current_turn_action_authority`: `1` +- `current_turn_entity_authority`: `1` +- `customer_analytics`: `1` +- `data_scope_meta`: `2` +- `date_carryover`: `6` +- `date_followup`: `2` +- `date_scope`: `1` +- `debt_polarity`: `1` +- `display_label_integrity`: `3` +- `display_name_integrity`: `1` +- `document_evidence`: `3` +- `document_lane_after_clarification`: `5` +- `document_lane_continuity`: `6` +- `document_lane_execution`: `5` +- `document_pivot`: `1` +- `document_pivot_after_movement`: `1` +- `document_pivot_after_movement_retrieval`: `2` +- `document_pivot_after_retrieval`: `2` +- `document_pivot_after_value_flow`: `2` +- `documents`: `2` +- `documents_by_counterparty`: `15` +- `documents_followup`: `7` +- `documents_pivot`: `2` +- `entity_grounding`: `2` +- `entity_resolution`: `29` +- `exact_not_overwritten`: `2` +- `followup_anchor`: `6` +- `followup_reuse`: `21` +- `followup_short`: `1` +- `fourth_pivot`: `2` +- `garbage_anchor_forbidden`: `1` +- `grounded_context_seed`: `1` +- `grounded_counterparty`: `13` +- `grounded_counterparty_followup`: `12` +- `grounded_discovery_seed`: `1` +- `grounded_self_correction`: `1` +- `grounded_summary`: `1` +- `historical_anchor`: `1` +- `historical_date_anchor`: `3` +- `historical_inventory`: `2` +- `historical_restore`: `1` +- `human_answer`: `3` +- `human_answer_quality`: `2` +- `human_dialog`: `39` +- `hybrid_investigation_followup`: `2` +- `hybrid_investigation_root`: `2` +- `incoming`: `8` +- `incoming_value_flow`: `8` +- `inline_organization_clarification`: `13` +- `integrity_guard`: `57` +- `inventory_aging`: `3` +- `inventory_capability_meta`: `1` +- `inventory_context`: `1` +- `inventory_history_capability`: `1` +- `inventory_provenance`: `3` +- `inventory_root`: `58` +- `inventory_sale_trace`: `1` +- `item_flow_failure_26`: `1` +- `lane_choice_reuse`: `1` +- `late_company_switch`: `2` +- `late_company_switch_back`: `1` +- `late_session_stability`: `2` +- `late_session_tail`: `1` +- `legacy_phase39`: `2` +- `legacy_phase64`: `6` +- `legacy_phase67`: `7` +- `living_scope_selection`: `1` +- `manual_9lieoh`: `11` +- `materialization_gap`: `1` +- `mcp_discovery_bidirectional_value_flow`: `2` +- `mcp_discovery_gate_sanity`: `1` +- `mcp_discovery_response_gate`: `1` +- `mcp_discovery_supplier_payout`: `1` +- `mcp_discovery_value_flow`: `1` +- `meta_capability`: `16` +- `meta_historical_capability`: `10` +- `meta_interrupt`: `1` +- `meta_memory`: `6` +- `meta_return_to_business`: `1` +- `meta_scope`: `12` +- `meta_smalltalk`: `13` +- `meta_verify`: `1` +- `metadata_lane_choice_clarification`: `15` +- `metadata_surface`: `17` +- `mixed_ambiguity`: `15` +- `movement_evidence`: `3` +- `movement_execution`: `1` +- `movement_lane_after_clarification`: `11` +- `movement_lane_after_metadata`: `2` +- `movement_lane_continuity`: `4` +- `movement_lane_execution`: `7` +- `movement_pivot_after_document_retrieval`: `3` +- `movement_pivot_after_value_flow`: `2` +- `movements_pivot`: `2` +- `multi_axis_aggregation`: `1` +- `multi_company_entry`: `2` +- `multi_hop_clarification`: `21` +- `net_switch`: `1` +- `net_value_flow`: `5` +- `neutral_followup`: `16` +- `numeric_counterparty_suffix`: `1` +- `off_domain_living_chat`: `2` +- `open_scope`: `9` +- `open_scope_net`: `3` +- `open_scope_total`: `8` +- `organization_activity_age`: `5` +- `organization_authority`: `7` +- `organization_clarification`: `8` +- `organization_fact_boundary`: `1` +- `organization_followup_reuse`: `20` +- `organization_scope`: `28` +- `organization_scoped`: `4` +- `organization_second_recovery`: `1` +- `outgoing`: `3` +- `outgoing_value_flow`: `2` +- `payables`: `1` +- `payables_snapshot`: `1` +- `payments_followup`: `20` +- `payout_switch`: `4` +- `payout_value_flow`: `2` +- `payout_year_switch`: `3` +- `period_carryover`: `1` +- `period_clarification_resume`: `1` +- `period_cleared`: `2` +- `period_cleared_after_pivot`: `2` +- `period_close_impact`: `1` +- `period_close_risk`: `1` +- `period_first_recovery`: `1` +- `period_followup_reuse`: `5` +- `period_gap_closed`: `2` +- `period_narrowing`: `1` +- `period_scope`: `9` +- `pivot_seed`: `8` +- `planner_catalog_alignment`: `13` +- `polarity_flip`: `1` +- `post_f`: `9` +- `post_f_integrity_hardening`: `6` +- `post_inspection_continuity`: `1` +- `post_pivot_continuity`: `1` +- `precedence`: `1` +- `predecompose_guard`: `1` +- `proactive_scope_offer`: `2` +- `pronoun_followup`: `1` +- `pronoun_pivot_seed`: `6` +- `purchase_date_bundle`: `1` +- `purchase_date_context`: `1` +- `purchase_date_vat_bridge`: `1` +- `purchase_provenance`: `1` +- `ranking`: `2` +- `receivables`: `1` +- `receivables_root`: `1` +- `receivables_snapshot`: `1` +- `referential_document_followup`: `1` +- `referential_followup_seed`: `1` +- `remaining_gaps`: `2` +- `remaining_org_gap_only`: `1` +- `remaining_period_gap_only`: `3` +- `repeated_pivot`: `2` +- `revenue_ranking_failure_14`: `1` +- `route_stability`: `1` +- `sale_trace`: `1` +- `same_date_pivot`: `8` +- `same_date_restore`: `8` +- `same_organization_reuse`: `1` +- `same_period_restore`: `1` +- `same_proof_path_family_shift`: `5` +- `same_scope_new_period`: `1` +- `saved_chain`: `3` +- `scope_offer`: `2` +- `scope_reuse`: `8` +- `second_company_continuity`: `1` +- `second_pivot`: `8` +- `selected_object`: `31` +- `selected_object_context`: `1` +- `selected_object_documents`: `7` +- `selected_object_purchase`: `1` +- `selected_object_sale`: `3` +- `selected_object_supplier`: `16` +- `self_scope`: `3` +- `settlements_60_62`: `1` +- `settlements_account_60`: `5` +- `settlements_mirror_followup`: `1` +- `settlements_payables`: `1` +- `settlements_receivables`: `13` +- `smalltalk_entry`: `4` +- `stale_entity_seed`: `1` +- `stale_inventory_scope`: `1` +- `stale_lifecycle_override`: `1` +- `stale_replay_forbidden`: `2` +- `stale_scope_guard`: `1` +- `stale_temporal_carryover`: `1` +- `supported_route_not_hijacked_by_mcp_discovery`: `1` +- `switch_back_integrity`: `1` +- `tail_authority_proof`: `2` +- `tail_quality`: `1` +- `tax_period`: `1` +- `temporal_tail_not_entity`: `1` +- `third_pivot`: `4` +- `today_scope`: `1` +- `topic_reset`: `5` +- `translit_wording`: `1` +- `unsupported_current_turn_meaning_boundary`: `5` +- `value_flow_comparison`: `11` +- `value_flow_net`: `6` +- `value_flow_pivot`: `3` +- `value_flow_ranking`: `17` +- `value_flow_total`: `16` +- `vat`: `37` +- `vat_colloquial_wording`: `2` +- `vat_failure_11`: `1` +- `vat_failure_13`: `1` +- `vat_followup`: `2` +- `vat_liability_live`: `1` +- `vat_orientation`: `2` +- `very_old_stock`: `1` +- `year_specific`: `1` +- `year_switch`: `14` +- `year_switch_after_document_pivot`: `1` +- `year_switch_after_fourth_pivot`: `2` +- `year_switch_after_pivot`: `4` +- `year_switch_after_reframe`: `1` +- `year_switch_after_repeated_pivot`: `1` +- `year_switch_after_second_pivot`: `2` +- `year_switch_after_third_pivot`: `1` +- `year_switch_followup`: `2` +- `year_tail_not_entity`: `1` ## Reusable truth-harness steps - `address_truth_harness_inventory_provenance_restore:step_01_inventory_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 - `address_truth_harness_inventory_provenance_restore:step_02_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? - `address_truth_harness_inventory_provenance_restore:step_03_selected_item_documents` | tags: selected_object, selected_object_documents | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции - `address_truth_harness_inventory_provenance_restore:step_04_inventory_same_date_restore` | tags: inventory_root, same_date_restore | question: покажи еще раз остатки на эту же дату +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_01_inventory_historical_anchor` | tags: inventory_root, historical_date_anchor, meta_historical_capability | question: остатки на март 2016 +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_02_selected_item_purchase_provenance` | tags: selected_object, inventory_provenance, date_scope, selected_object_supplier | question: По выбранному объекту "Рабочая станция универсального специалиста (индивидуальное изготовление)": где взяли это? +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_03_vat_on_purchase_date_bridge` | tags: bridge_inventory_to_vat, selected_object, purchase_date_bundle, vat | question: ндс можешь прикинуть на дату покупки рабочей станции? +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_04_colloquial_vat_tax_period` | tags: vat_colloquial_wording, tax_period, vat | question: прикинь какой ндс нам надо заплатить на февраль 2017 +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_05_payables_today` | tags: payables, debt_polarity | question: мы должны комуто денег на сегодня? +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_06_receivables_role_flip` | tags: receivables, polarity_flip, followup_short, settlements_receivables | question: а нам? +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_07_top_customer_all_time` | tags: customer_analytics, aggregate_all_time, ranking | question: кто у нас самый доходный клиент за все время +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_08_top_year_revenue` | tags: company_analytics, aggregate_year, ranking | question: какой у нас самый доходный год +- `address_truth_harness_phase10_manual_bridge_and_aggregate_mix:step_09_very_old_stock` | tags: inventory_aging, very_old_stock, precedence, inventory_root | question: Есть ли остатки товара, которые закупались очень давно +- `address_truth_harness_phase11_manual_followup_meta_quality:step_01_capability_meta_human` | tags: meta_capability, human_answer_quality | question: расскажи что можешь интересного +- `address_truth_harness_phase11_manual_followup_meta_quality:step_02_inventory_historical_root` | tags: inventory_root, historical_date_anchor, meta_historical_capability | question: что там на складе по остаткам на март 2016? +- `address_truth_harness_phase11_manual_followup_meta_quality:step_03_selected_item_purchase_provenance` | tags: selected_object, inventory_provenance, selected_object_supplier | question: по выбранному объекту "Рабочая станция универсального специалиста (индивидуальное изготовление)": где взяли это? +- `address_truth_harness_phase11_manual_followup_meta_quality:step_04_meta_verify_interrupt` | tags: meta_verify, continuity_interrupt | question: у тебя написано кто контрагент: рабочая станция - это ошибка? +- `address_truth_harness_phase11_manual_followup_meta_quality:step_05_vat_on_purchase_date_after_interrupt` | tags: bridge_inventory_to_vat, selected_object, continuity_after_interrupt, vat | question: ндс можешь прикинуть на дату покупки рабочей станции? +- `address_truth_harness_phase11_manual_followup_meta_quality:step_06_colloquial_vat_march_2020` | tags: vat_colloquial_wording, predecompose_guard, vat | question: а какой ндс мы должны сгрузить на март 2020? +- `address_truth_harness_phase11_manual_followup_meta_quality:step_07_vat_february_2017_live` | tags: vat_liability_live, route_stability, vat | question: прикинь какой ндс нам надо заплатить на февраль 2017 +- `address_truth_harness_phase11_manual_followup_meta_quality:step_08_contract_delta_capability_meta` | tags: meta_capability, capability_over_followup | question: ты умеешь считать дельту по договорам? +- `address_truth_harness_phase11_manual_followup_meta_quality:step_09_counterparty_docs_anchor` | tags: counterparty_root, documents, counterparty_documents | question: по Чепурнову покажи все доки +- `address_truth_harness_phase11_manual_followup_meta_quality:step_10_short_counterparty_retarget_name` | tags: counterparty_followup, display_name_integrity | question: а по свк +- `address_truth_harness_phase12_wider_saved_session_pool:step_01_smalltalk_with_scope_offer` | tags: meta_smalltalk, proactive_scope_offer | question: приветик - че как там дела +- `address_truth_harness_phase12_wider_saved_session_pool:step_02_choose_organization` | tags: company_selected, organization_authority | question: Альтернатива Плюс +- `address_truth_harness_phase12_wider_saved_session_pool:step_03_capability_meta_human` | tags: meta_capability, human_answer_quality | question: расскажи что можешь интересного +- `address_truth_harness_phase12_wider_saved_session_pool:step_04_inventory_root_today` | tags: inventory_root, company_authority | question: кайф - что там на складе по остаткам? +- `address_truth_harness_phase12_wider_saved_session_pool:step_05_inventory_history_capability` | tags: meta_historical_capability, inventory_root, meta_capability | question: а исторические остатки на другие даты умеешь? +- `address_truth_harness_phase12_wider_saved_session_pool:step_06_inventory_march_2016` | tags: inventory_root, historical_date_anchor | question: март 2016 +- `address_truth_harness_phase12_wider_saved_session_pool:step_07_selected_item_purchase_provenance` | tags: selected_object, inventory_provenance, selected_object_supplier | question: По выбранному объекту "Рабочая станция универсального специалиста (индивидуальное изготовление)": где взяли это? +- `address_truth_harness_phase12_wider_saved_session_pool:step_08_selected_item_sale_trace` | tags: selected_object, inventory_sale_trace, selected_object_sale | question: а кому продали? +- `address_truth_harness_phase12_wider_saved_session_pool:step_09_vat_on_purchase_date_bridge` | tags: bridge_inventory_to_vat, selected_object, vat | question: ндс можешь прикинуть на дату покупки рабочей станции? +- `address_truth_harness_phase12_wider_saved_session_pool:step_10_best_customer_all_time` | tags: aggregate_revenue, cross_domain_pivot | question: кто у нас самый доходный клиент за все время +- `address_truth_harness_phase12_wider_saved_session_pool:step_11_receivables_may_2017` | tags: settlements_receivables, date_carryover | question: кто нам должен денег на май 2017 +- `address_truth_harness_phase12_wider_saved_session_pool:step_12_vat_same_period_followup` | tags: vat_followup, same_period_restore, vat | question: а какой ндс мы должны примерно заплатить за этот период? +- `address_truth_harness_phase12_wider_saved_session_pool:step_13_payables_today` | tags: settlements_payables, today_scope | question: мы должны комуто денег на сегодня? +- `address_truth_harness_phase12_wider_saved_session_pool:step_14_receivables_mirror_today` | tags: settlements_mirror_followup, same_date_restore, settlements_receivables | question: а нам? +- `address_truth_harness_phase12_wider_saved_session_pool:step_15_contract_delta_capability_meta` | tags: meta_capability, capability_over_followup | question: ты умеешь считать дельту по договорам? +- `address_truth_harness_phase12_wider_saved_session_pool:step_16_counterparty_docs_root` | tags: counterparty_root, documents, counterparty_documents | question: по чепурнову покажи все доки +- `address_truth_harness_phase12_wider_saved_session_pool:step_17_short_counterparty_followup` | tags: counterparty_followup, display_label_integrity | question: а по свк +- `address_truth_harness_phase12_wider_saved_session_pool:step_18_open_items_account_60` | tags: settlements_account_60 | question: хвосты покажи по счету 60 на август 2022 +- `address_truth_harness_phase12_wider_saved_session_pool:step_19_inventory_aging_old_purchases` | tags: inventory_aging, late_session_stability, inventory_root | question: Есть ли остатки товара, которые закупались очень давно +- `address_truth_harness_phase12_wider_saved_session_pool:step_20_company_activity_age` | tags: organization_activity_age, tail_authority_proof | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase13_hybrid_followup_authority:step_01_supplier_tails_root` | tags: hybrid_investigation_root, settlements_60_62, anomaly_probe | question: Разложи хвосты по поставщикам: где разрыв между оплатой и документами выглядит системным. +- `address_truth_harness_phase13_hybrid_followup_authority:step_02_narrow_to_june_2020_account_60` | tags: hybrid_investigation_followup, period_narrowing, account_60, period_close_risk | question: Сузь до периода 2020-06 и счета 60, покажи только случаи с максимальным риском закрытия периода. +- `address_truth_harness_phase13_hybrid_followup_authority:step_03_period_close_impact_followup` | tags: hybrid_investigation_followup, period_close_impact, context_reuse | question: Что в текущих аномалиях сильнее всего повлияет на закрытие периода, если ничего не исправлять? +- `address_truth_harness_phase13_hybrid_followup_authority:step_04_translit_supplier_tails_root` | tags: hybrid_investigation_root, translit_wording, account_60 | question: Prover schet 60 za 2020-06, gde taili postavshikov i kakie dokumenty ne zakryvayut oplaty. +- `address_truth_harness_phase14_counterparty_tail_resume:step_01_data_scope_meta` | tags: data_scope_meta, multi_company_entry, meta_scope | question: по какой компании мы сейчас работаем? +- `address_truth_harness_phase14_counterparty_tail_resume:step_02_choose_organization_after_clarification` | tags: organization_authority, company_selected | question: Альтернатива Плюс +- `address_truth_harness_phase14_counterparty_tail_resume:step_03_counterparty_docs_after_choice` | tags: counterparty_root, company_selected, counterparty_documents | question: по чепурнову покажи все доки +- `address_truth_harness_phase14_counterparty_tail_resume:step_04_short_counterparty_followup` | tags: counterparty_followup, display_label_integrity | question: а по свк +- `address_truth_harness_phase14_counterparty_tail_resume:step_05_inventory_today_after_counterparty_tail` | tags: inventory_root, cross_domain_pivot | question: а сейчас у нас есть что на складе? +- `address_truth_harness_phase14_counterparty_tail_resume:step_06_open_items_account_60_august_2022` | tags: settlements_account_60, late_session_tail | question: хвосты покажи по счету 60 на август 2022 +- `address_truth_harness_phase14_counterparty_tail_resume:step_07_inventory_aging_old_purchases` | tags: inventory_aging, late_session_stability, inventory_root | question: Есть ли остатки товара, которые закупались очень давно +- `address_truth_harness_phase14_counterparty_tail_resume:step_08_inventory_may_2020_after_aging` | tags: inventory_root, historical_restore | question: Какие конкретно номенклатуры формируют остаток по складу на май 2020 +- `address_truth_harness_phase14_counterparty_tail_resume:step_09_company_activity_age_tail` | tags: organization_activity_age, tail_authority_proof | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase14_counterparty_tail_resume:step_10_company_activity_assessment_tail` | tags: activity_assessment, tail_quality | question: Как ты оценишь деятельность компании? +- `address_truth_harness_phase15_answer_inspection_followup:step_01_smalltalk_scope_offer` | tags: smalltalk_entry, scope_offer, meta_smalltalk | question: приветик - че как там дела +- `address_truth_harness_phase15_answer_inspection_followup:step_02_choose_organization` | tags: organization_authority | question: Альтернатива Плюс +- `address_truth_harness_phase15_answer_inspection_followup:step_03_inventory_march_2016` | tags: inventory_root, current_snapshot | question: что там на складе по остаткам? +- `address_truth_harness_phase15_answer_inspection_followup:step_04_inventory_history_capability` | tags: inventory_history_capability, context_setup, meta_capability, meta_historical_capability, inventory_root | question: а исторические остатки на другие даты умеешь? +- `address_truth_harness_phase15_answer_inspection_followup:step_05_inventory_march_2016` | tags: inventory_root, historical_anchor | question: март 2016 +- `address_truth_harness_phase15_answer_inspection_followup:step_06_selected_item_purchase_provenance` | tags: selected_object, purchase_provenance, selected_object_supplier | question: По выбранному объекту "Рабочая станция универсального специалиста (индивидуальное изготовление)": где взяли это? +- `address_truth_harness_phase15_answer_inspection_followup:step_07_selected_item_sale_trace` | tags: selected_object, sale_trace, selected_object_sale | question: а кому продали? +- `address_truth_harness_phase15_answer_inspection_followup:step_08_answer_inspection_counterparty_label` | tags: answer_inspection, selected_object_context, grounded_self_correction | question: у тебя написано кто контрагент: рабочая станция - это ошибка? +- `address_truth_harness_phase15_answer_inspection_followup:step_09_vat_on_purchase_date_after_inspection` | tags: purchase_date_vat_bridge, selected_object, post_inspection_continuity, vat | question: ндс можешь прикинуть на дату покупки рабочей станции? +- `address_truth_harness_phase16_multicompany_late_pivot:step_01_smalltalk_scope_offer` | tags: smalltalk_entry, scope_offer, meta_smalltalk | question: приветик, как дела? +- `address_truth_harness_phase16_multicompany_late_pivot:step_02_choose_alternative_plus` | tags: organization_authority, company_selected | question: Альтернатива Плюс +- `address_truth_harness_phase16_multicompany_late_pivot:step_03_inventory_today_alt` | tags: inventory_root, company_authority | question: что у нас сейчас на складе по остаткам? +- `address_truth_harness_phase16_multicompany_late_pivot:step_04_switch_to_raym` | tags: late_company_switch, organization_authority | question: теперь давай по РАЙМ +- `address_truth_harness_phase16_multicompany_late_pivot:step_05_inventory_today_raym` | tags: inventory_root, late_company_switch | question: а по этой компании что сейчас на складе? +- `address_truth_harness_phase16_multicompany_late_pivot:step_06_capability_meta_after_switch` | tags: capability_meta, meta_interrupt, meta_capability | question: а что ты вообще умеешь? +- `address_truth_harness_phase16_multicompany_late_pivot:step_07_receivables_march_2020_raym` | tags: receivables_root, meta_return_to_business, settlements_receivables | question: а по этой компании кто нам должен на март 2020? +- `address_truth_harness_phase16_multicompany_late_pivot:step_08_same_date_inventory_raym` | tags: same_date_pivot, inventory_root, second_company_continuity | question: а по этой же дате остатки на складе? +- `address_truth_harness_phase16_multicompany_late_pivot:step_09_switch_back_to_alt` | tags: late_company_switch_back, organization_authority | question: ок, верни обратно Альтернативу Плюс +- `address_truth_harness_phase16_multicompany_late_pivot:step_10_activity_age_after_switch_back` | tags: activity_age, switch_back_integrity | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_01_smalltalk_entry` | tags: smalltalk_entry, meta_smalltalk | question: приветик - че как там дела +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_02_capability_meta_entry` | tags: capability_meta, meta_capability | question: расскажи что можешь интересного +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_03_inventory_root_requires_company` | tags: inventory_root, clarification_required | question: кайф - что там на складе по остаткам? +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_04_company_choice_resumes_inventory_root` | tags: clarification_resume, inventory_root | question: АЛЬТЕРНАТИВА +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_05_historical_inventory_capability` | tags: inventory_capability_meta, meta_capability, meta_historical_capability, inventory_root | question: а исторические остатки на другие даты умеешь? +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_06_inventory_july_2017_after_capability` | tags: historical_inventory, date_followup, inventory_root | question: давай на июль 2017 +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_07_inventory_march_2016` | tags: historical_inventory, date_followup, inventory_root | question: март 2016 +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_08_counterparty_documents_chepurnov` | tags: counterparty_documents | question: по чепурнову покажи все доки +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_09_short_counterparty_retarget_svk` | tags: counterparty_short_retarget, display_label_integrity | question: а по свк +- `address_truth_harness_phase17_clarification_resume_and_counterparty_tail:step_10_counterparty_item_flow_chepurnov` | tags: counterparty_item_flow, stale_temporal_carryover, counterparty_shipment_fallback | question: что нам отгружал чепурнов? какой товар или услугу? +- `address_truth_harness_phase18_semantic_dialog_authority:step_01_human_smalltalk_entry` | tags: smalltalk_entry, human_answer, meta_smalltalk | question: приветик - че как там дела +- `address_truth_harness_phase18_semantic_dialog_authority:step_02_capability_meta` | tags: capability_meta, human_answer, meta_capability | question: расскажи что можешь интересного +- `address_truth_harness_phase18_semantic_dialog_authority:step_03_data_scope_meta` | tags: data_scope_meta, multi_company_entry, meta_scope | question: по какой компании мы сейчас работаем? +- `address_truth_harness_phase18_semantic_dialog_authority:step_04_choose_organization` | tags: organization_authority, company_selected | question: Альтернатива Плюс +- `address_truth_harness_phase18_semantic_dialog_authority:step_05_counterparty_documents_root` | tags: counterparty_documents, stale_entity_seed | question: по чепурнову покажи все доки +- `address_truth_harness_phase18_semantic_dialog_authority:step_06_svk_turnover_overrides_stale_documents` | tags: current_turn_entity_authority, current_turn_action_authority, answer_top_block_matches_current_user_intent | question: какой оборот был свк +- `address_truth_harness_phase18_semantic_dialog_authority:step_07_unsupported_current_meaning_boundary` | tags: off_domain_living_chat, stale_replay_forbidden | question: а чем капибара отличается от утки? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_01_human_smalltalk_sanity` | tags: human_answer, mcp_discovery_gate_sanity, meta_smalltalk | question: привет, ты на связи? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_02_supported_counterparty_documents_stays_exact` | tags: counterparty_documents, supported_route_not_hijacked_by_mcp_discovery | question: покажи документы по свк за 2020 +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_03_counterparty_lifecycle_uses_guarded_discovery` | tags: mcp_discovery_response_gate, counterparty_lifecycle, unsupported_current_turn_meaning_boundary | question: сколько лет мы работаем с Группа СВК? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_04_counterparty_value_flow_uses_guarded_discovery` | tags: mcp_discovery_value_flow, counterparty_turnover, unsupported_current_turn_meaning_boundary | question: какой денежный поток был у Группа СВК за 2020 год? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_05_counterparty_supplier_payout_uses_guarded_discovery` | tags: mcp_discovery_supplier_payout, counterparty_outgoing_payments, unsupported_current_turn_meaning_boundary | question: сколько мы заплатили Группа СВК за 2020 год? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_06_counterparty_bidirectional_net_flow_uses_guarded_discovery` | tags: mcp_discovery_bidirectional_value_flow, counterparty_net_cash_flow, unsupported_current_turn_meaning_boundary | question: какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_07_counterparty_bidirectional_monthly_net_flow_uses_guarded_discovery` | tags: mcp_discovery_bidirectional_value_flow, counterparty_monthly_net_cash_flow, multi_axis_aggregation, unsupported_current_turn_meaning_boundary | question: какое помесячное нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили по месяцам? +- `address_truth_harness_phase19_mcp_discovery_response_gate:step_08_off_domain_living_chat_not_hijacked` | tags: off_domain_living_chat, stale_replay_forbidden | question: а чем капибара отличается от утки? +- `address_truth_harness_phase20_continuity_stabilization:step_01_top_client_all_time` | tags: value_flow_ranking, temporal_tail_not_entity | question: кто у нас самый доходный клиент за все время? +- `address_truth_harness_phase20_continuity_stabilization:step_02_top_year_all_time` | tags: value_flow_ranking, year_tail_not_entity | question: какой у нас самый доходный год? +- `address_truth_harness_phase20_continuity_stabilization:step_03_receivables_as_of_may_2017` | tags: receivables_snapshot, exact_not_overwritten, settlements_receivables | question: кто нам должен денег на май 2017? +- `address_truth_harness_phase20_continuity_stabilization:step_04_vat_for_same_period` | tags: vat_followup, period_carryover, vat | question: а какой ндс мы должны примерно заплатить за этот период? +- `address_truth_harness_phase20_continuity_stabilization:step_05_payables_today` | tags: payables_snapshot, exact_not_overwritten | question: мы должны комуто денег на сегодня? +- `address_truth_harness_phase20_continuity_stabilization:step_06_receivables_pronoun_followup` | tags: pronoun_followup, garbage_anchor_forbidden | question: а нам? +- `address_truth_harness_phase21_net_followup_after_broad_eval:step_01_company_activity_lifecycle` | tags: company_activity_lifecycle, context_seed | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase21_net_followup_after_broad_eval:step_02_broad_company_evaluation` | tags: broad_evaluation_bridge | question: Как ты оценишь деятельность компании? +- `address_truth_harness_phase21_net_followup_after_broad_eval:step_03_net_flow_after_broad_eval` | tags: counterparty_net_cash_flow, stale_lifecycle_override | question: какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили? +- `address_truth_harness_phase22_broad_business_evaluation_bridge:step_01_company_activity_lifecycle` | tags: company_activity_lifecycle, grounded_context_seed | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase22_broad_business_evaluation_bridge:step_02_broad_business_evaluation` | tags: broad_business_evaluation, grounded_summary | question: Как ты оценишь деятельность компании? +- `address_truth_harness_phase22_broad_business_evaluation_bridge:step_03_net_flow_after_broad_eval` | tags: counterparty_net_cash_flow, broad_eval_bridge_preserved | question: какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили? +- `address_truth_harness_phase23_broad_eval_short_followup:step_01_net_flow_2020` | tags: counterparty_net_cash_flow, grounded_discovery_seed | question: какое нетто по деньгам с Группа СВК за 2020 год: сколько получили и сколько заплатили? +- `address_truth_harness_phase23_broad_eval_short_followup:step_02_broad_business_evaluation` | tags: broad_business_evaluation, context_reframe | question: Как ты оценишь деятельность компании? +- `address_truth_harness_phase23_broad_eval_short_followup:step_03_short_year_switch_after_broad_eval` | tags: broad_eval_followup_continuity, year_switch_after_reframe | question: а теперь за 2021? +- `address_truth_harness_phase24_metadata_lane_choice_loop:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase24_metadata_lane_choice_loop:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase24_metadata_lane_choice_loop:step_03_choose_movement_lane` | tags: lane_choice_reuse, movement_lane_after_clarification | question: по движениям +- `address_truth_harness_phase25_entity_resolution_chain:step_01_resolve_counterparty_from_catalog` | tags: entity_resolution, catalog_grounding, bounded_autonomy | question: найди в 1С контрагента Группа СВК +- `address_truth_harness_phase26_entity_followup_chain:step_01_resolve_counterparty_alias` | tags: entity_resolution, alias_grounding, followup_anchor | question: найди в 1С контрагента СВК +- `address_truth_harness_phase26_entity_followup_chain:step_02_documents_by_resolved_entity_followup` | tags: entity_resolution, document_evidence, followup_reuse | question: по нему документы за 2020 год +- `address_truth_harness_phase26_entity_followup_chain:step_03_movements_by_resolved_entity_followup` | tags: entity_resolution, movement_evidence, followup_reuse | question: а теперь по нему движения за 2020 год +- `address_truth_harness_phase27_entity_value_followup_chain:step_01_resolve_counterparty_alias` | tags: entity_resolution, alias_grounding, followup_anchor | question: найди в 1С контрагента СВК +- `address_truth_harness_phase27_entity_value_followup_chain:step_02_value_flow_by_resolved_entity_followup` | tags: entity_resolution, counterparty_value_flow, followup_reuse | question: сколько получили по нему за 2020 год +- `address_truth_harness_phase27_entity_value_followup_chain:step_03_net_flow_by_resolved_entity_followup` | tags: entity_resolution, counterparty_net_value_flow, followup_reuse | question: а какое нетто по нему за 2020 год +- `address_truth_harness_phase28_entity_value_retarget_chain:step_01_resolve_counterparty_alias` | tags: entity_resolution, alias_grounding, followup_anchor | question: найди в 1С контрагента СВК +- `address_truth_harness_phase28_entity_value_retarget_chain:step_02_incoming_by_resolved_entity` | tags: entity_resolution, incoming_value_flow, followup_reuse | question: сколько получили по нему за 2020 год +- `address_truth_harness_phase28_entity_value_retarget_chain:step_03_payout_switch_by_resolved_entity` | tags: entity_resolution, payout_switch, followup_reuse, date_carryover | question: а теперь сколько заплатили? +- `address_truth_harness_phase28_entity_value_retarget_chain:step_04_year_switch_on_payout` | tags: entity_resolution, payout_year_switch, followup_reuse | question: а за 2021? +- `address_truth_harness_phase28_entity_value_retarget_chain:step_05_net_switch_after_payout` | tags: entity_resolution, net_switch, followup_reuse, date_carryover | question: а какое нетто? +- `address_truth_harness_phase29_value_flow_to_documents_chain:step_01_resolve_counterparty_alias` | tags: entity_resolution, alias_grounding, followup_anchor | question: найди в 1С контрагента СВК +- `address_truth_harness_phase29_value_flow_to_documents_chain:step_02_incoming_by_resolved_entity` | tags: entity_resolution, incoming_value_flow, followup_reuse | question: сколько получили по нему за 2020 год +- `address_truth_harness_phase29_value_flow_to_documents_chain:step_03_payout_switch_by_resolved_entity` | tags: entity_resolution, payout_switch, followup_reuse, date_carryover | question: а теперь сколько заплатили? +- `address_truth_harness_phase29_value_flow_to_documents_chain:step_04_year_switch_on_payout` | tags: entity_resolution, payout_year_switch, followup_reuse | question: а за 2021? +- `address_truth_harness_phase29_value_flow_to_documents_chain:step_05_documents_after_value_flow` | tags: entity_resolution, document_evidence, value_flow_pivot, followup_reuse | question: а по документам? +- `address_truth_harness_phase30_value_flow_to_movements_chain:step_01_resolve_counterparty_alias` | tags: entity_resolution, alias_grounding, followup_anchor | question: найди в 1С контрагента СВК +- `address_truth_harness_phase30_value_flow_to_movements_chain:step_02_incoming_by_resolved_entity` | tags: entity_resolution, incoming_value_flow, followup_reuse | question: сколько получили по нему за 2020 год +- `address_truth_harness_phase30_value_flow_to_movements_chain:step_03_payout_switch_by_resolved_entity` | tags: entity_resolution, payout_switch, followup_reuse, date_carryover | question: а теперь сколько заплатили? +- `address_truth_harness_phase30_value_flow_to_movements_chain:step_04_year_switch_on_payout` | tags: entity_resolution, payout_year_switch, followup_reuse | question: а за 2021? +- `address_truth_harness_phase30_value_flow_to_movements_chain:step_05_movements_after_value_flow` | tags: entity_resolution, movement_evidence, value_flow_pivot, followup_reuse | question: а по движениям? +- `address_truth_harness_phase31_entity_ambiguity_probe:step_01_probe_ambiguous_counterparty_search` | tags: entity_resolution, ambiguity_probe, bounded_autonomy | question: найди в 1С контрагента СВК +- `address_truth_harness_phase32_planner_selected_chain_end_to_end:step_01_resolve_counterparty_alias` | tags: entity_resolution, alias_grounding, followup_anchor, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=entity_resolution, selected_matches_top=True | question: найди в 1С контрагента СВК +- `address_truth_harness_phase32_planner_selected_chain_end_to_end:step_02_incoming_by_resolved_entity` | tags: entity_resolution, incoming_value_flow, followup_reuse, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow, selected_matches_top=True | question: сколько получили по нему за 2020 год +- `address_truth_harness_phase32_planner_selected_chain_end_to_end:step_03_payout_switch_by_resolved_entity` | tags: entity_resolution, payout_switch, followup_reuse, date_carryover, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow, selected_matches_top=True | question: а теперь сколько заплатили? +- `address_truth_harness_phase32_planner_selected_chain_end_to_end:step_04_net_after_payout` | tags: entity_resolution, net_value_flow, followup_reuse, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow_comparison, selected_matches_top=True | question: а какое нетто? +- `address_truth_harness_phase32_planner_selected_chain_end_to_end:step_05_documents_after_net` | tags: entity_resolution, document_evidence, value_flow_pivot, followup_reuse, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=document_evidence, selected_matches_top=True | question: а по документам? +- `address_truth_harness_phase32_planner_selected_chain_end_to_end:step_06_movements_after_documents` | tags: entity_resolution, movement_evidence, document_pivot, followup_reuse, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=movement_evidence, selected_matches_top=True | question: а по движениям? +- `address_truth_harness_phase33_open_scope_value_flow_comparison:step_01_compare_incoming_vs_outgoing_for_org` | tags: value_flow_comparison, open_scope, organization_scoped, bounded_autonomy | question: что больше: входящие или исходящие деньги за 2020 год по ООО Альтернатива Плюс? +- `address_truth_harness_phase34_open_scope_value_flow_totals:step_01_incoming_total_for_org` | tags: value_flow_total, incoming, open_scope, organization_scoped, bounded_autonomy | question: Сколько входящих денег за 2020 год по ООО Альтернатива Плюс? +- `address_truth_harness_phase34_open_scope_value_flow_totals:step_02_outgoing_total_for_org` | tags: value_flow_total, outgoing, open_scope, organization_scoped, bounded_autonomy | question: Сколько исходящих денег за 2020 год по ООО Альтернатива Плюс? +- `address_truth_harness_phase35_open_scope_org_clarification:step_01_generic_incoming_total_requires_organization` | tags: value_flow_total, incoming, open_scope, organization_clarification, bounded_autonomy | question: Сколько входящих денег за 2020 год? +- `address_truth_harness_phase35_open_scope_org_clarification:step_02_org_clarification_resumes_incoming_total` | tags: value_flow_total, incoming, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase35_open_scope_org_clarification:step_03_outgoing_followup_reuses_org_and_period` | tags: value_flow_total, outgoing, organization_followup_reuse, bounded_autonomy | question: а исходящих? +- `address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_01_generic_incoming_total_requires_organization` | tags: value_flow_total, incoming, open_scope, organization_clarification, bounded_autonomy | question: Сколько входящих денег за 2020 год? +- `address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_02_org_clarification_resumes_incoming_total` | tags: value_flow_total, incoming, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_03_year_switch_reuses_org_and_axis` | tags: value_flow_total, incoming, year_switch, organization_followup_reuse, bounded_autonomy | question: а за 2021? +- `address_truth_harness_phase36_open_scope_year_switch_after_org_clarification:step_04_outgoing_followup_reuses_org_and_new_year` | tags: value_flow_total, outgoing, year_switch, organization_followup_reuse, bounded_autonomy | question: а исходящих? +- `address_truth_harness_phase37_open_scope_comparison_org_clarification:step_01_open_scope_comparison_requires_organization` | tags: value_flow_comparison, open_scope, organization_clarification, bounded_autonomy | question: Что больше за 2020 год: входящих денег или исходящих? +- `address_truth_harness_phase37_open_scope_comparison_org_clarification:step_02_org_clarification_resumes_comparison` | tags: value_flow_comparison, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase37_open_scope_comparison_org_clarification:step_03_year_switch_reuses_org_and_comparison` | tags: value_flow_comparison, year_switch, organization_followup_reuse, bounded_autonomy | question: а за 2021? +- `address_truth_harness_phase38_open_scope_net_org_clarification:step_01_open_scope_net_requires_organization` | tags: value_flow_net, open_scope, organization_clarification, bounded_autonomy | question: Какое нетто по деньгам за 2020 год: сколько получили и сколько заплатили? +- `address_truth_harness_phase38_open_scope_net_org_clarification:step_02_org_clarification_resumes_net` | tags: value_flow_net, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase38_open_scope_net_org_clarification:step_03_year_switch_reuses_org_and_net` | tags: value_flow_net, year_switch, organization_followup_reuse, bounded_autonomy | question: а за 2021? +- `address_truth_harness_phase39_open_scope_ranking_org_clarification:step_01_open_scope_ranking_requires_organization` | tags: value_flow_ranking, open_scope, organization_clarification, bounded_autonomy | question: Кто больше всего принес денег за 2020 год? +- `address_truth_harness_phase39_open_scope_ranking_org_clarification:step_02_org_clarification_resumes_ranking` | tags: value_flow_ranking, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase39_open_scope_ranking_org_clarification:step_03_year_switch_reuses_org_and_ranking` | tags: value_flow_ranking, year_switch, organization_followup_reuse, bounded_autonomy | question: а за 2021? +- `address_truth_harness_phase40_open_scope_all_time_followup:step_01_year_total_for_org` | tags: value_flow_total, incoming, organization_scoped, year_specific, bounded_autonomy | question: Сколько входящих денег за 2017 год по ООО Альтернатива Плюс? +- `address_truth_harness_phase40_open_scope_all_time_followup:step_02_all_time_followup_reuses_org_without_stale_year` | tags: value_flow_total, incoming, open_scope, all_time_scope, organization_followup_reuse, bounded_autonomy | question: сколько вообще денег мы заработали за все время? +- `address_truth_harness_phase41_saved_chain_all_time_revenue_followup:step_01_top_revenue_year` | tags: value_flow_ranking, self_scope, saved_chain, bounded_autonomy | question: какой у нас самый доходный год +- `address_truth_harness_phase41_saved_chain_all_time_revenue_followup:step_02_year_followup_2017` | tags: value_flow_total, year_switch, self_scope, saved_chain, bounded_autonomy | question: а за 2017 мы скок заработали? +- `address_truth_harness_phase41_saved_chain_all_time_revenue_followup:step_03_all_time_followup` | tags: value_flow_total, all_time_scope, self_scope, saved_chain, bounded_autonomy | question: сколько вообще денег мы заработали за все время? +- `address_truth_harness_phase42_catalog_metadata_drilldown:step_01_catalog_metadata_surface` | tags: catalog_metadata_surface, counterparty_catalog_scope | question: какие справочники 1С есть по контрагентам? +- `address_truth_harness_phase42_catalog_metadata_drilldown:step_02_neutral_followup_catalog_drilldown` | tags: catalog_drilldown, neutral_followup | question: давай дальше +- `address_truth_harness_phase43_multi_hop_ranking_clarification_loop:step_01_ranking_requires_org_and_period` | tags: value_flow_ranking, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Кто больше всего принес денег? +- `address_truth_harness_phase43_multi_hop_ranking_clarification_loop:step_02_org_only_clarification_keeps_same_loop` | tags: value_flow_ranking, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase43_multi_hop_ranking_clarification_loop:step_03_period_clarification_completes_same_ranking_loop` | tags: value_flow_ranking, multi_hop_clarification, period_followup_reuse, bounded_autonomy | question: за 2020 год +- `address_truth_harness_phase44_multi_hop_comparison_clarification_loop:step_01_comparison_requires_org_and_period` | tags: value_flow_comparison, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Что больше: входящих денег или исходящих? +- `address_truth_harness_phase44_multi_hop_comparison_clarification_loop:step_02_org_only_clarification_keeps_same_comparison_loop` | tags: value_flow_comparison, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase44_multi_hop_comparison_clarification_loop:step_03_period_clarification_completes_same_comparison_loop` | tags: value_flow_comparison, multi_hop_clarification, period_followup_reuse, bounded_autonomy | question: за 2020 год +- `address_truth_harness_phase45_multi_hop_open_total_clarification_loop:step_01_open_total_requires_org_and_period` | tags: value_flow_total, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Сколько входящих денег? +- `address_truth_harness_phase45_multi_hop_open_total_clarification_loop:step_02_org_only_clarification_keeps_same_total_loop` | tags: value_flow_total, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase45_multi_hop_open_total_clarification_loop:step_03_period_clarification_completes_same_total_loop` | tags: value_flow_total, multi_hop_clarification, period_followup_reuse, bounded_autonomy | question: за 2020 год +- `address_truth_harness_phase46_multi_hop_open_net_clarification_loop:step_01_open_net_requires_org_and_period` | tags: value_flow_net, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Какое нетто по деньгам: сколько получили и сколько заплатили? +- `address_truth_harness_phase46_multi_hop_open_net_clarification_loop:step_02_org_only_clarification_keeps_same_net_loop` | tags: value_flow_net, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase46_multi_hop_open_net_clarification_loop:step_03_period_clarification_completes_same_net_loop` | tags: value_flow_net, multi_hop_clarification, period_followup_reuse, bounded_autonomy | question: за 2020 год +- `address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop:step_01_open_net_requires_org_and_period` | tags: open_scope_net, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Какое нетто по деньгам: сколько получили и сколько заплатили? +- `address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop:step_02_period_only_clarification_keeps_same_net_loop` | tags: open_scope_net, multi_hop_clarification, period_followup_reuse, bounded_autonomy | question: за 2020 год +- `address_truth_harness_phase47_multi_hop_open_net_period_first_clarification_loop:step_03_org_clarification_completes_same_net_loop` | tags: open_scope_net, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop:step_01_open_total_requires_org_and_period` | tags: open_scope_total, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Сколько вообще входящих денег было? +- `address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop:step_02_org_only_clarification_keeps_same_total_loop` | tags: open_scope_total, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase48_multi_hop_open_total_all_time_clarification_loop:step_03_all_time_clarification_completes_same_total_loop` | tags: open_scope_total, all_time_scope, multi_hop_clarification, bounded_autonomy | question: за все время +- `address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop:step_01_open_ranking_requires_org_and_period` | tags: value_flow_ranking, multi_hop_clarification, organization_scope, period_scope, bounded_autonomy | question: Кто больше всего принес денег? +- `address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop:step_02_org_only_clarification_keeps_same_ranking_loop` | tags: value_flow_ranking, multi_hop_clarification, organization_followup_reuse, bounded_autonomy | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase49_multi_hop_open_ranking_all_time_clarification_loop:step_03_all_time_clarification_completes_same_ranking_loop` | tags: value_flow_ranking, all_time_scope, multi_hop_clarification, bounded_autonomy | question: за все время - `address_truth_harness_phase4_coverage_evidence_mix:step_01_counterparty_documents` | tags: counterparty_documents | question: покажи все документы по чепурнову - `address_truth_harness_phase4_coverage_evidence_mix:step_02_counterparty_shipments_or_fallback` | tags: counterparty_shipment_fallback | question: что нам отгружал чепурнов, какой товар или услугу? - `address_truth_harness_phase4_coverage_evidence_mix:step_03_inventory_reset_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 - `address_truth_harness_phase4_coverage_evidence_mix:step_04_selected_item_supplier_temporal_limit` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? - `address_truth_harness_phase4_coverage_evidence_mix:step_05_inventory_same_date_restore` | tags: inventory_root, same_date_restore | question: покажи еще раз остатки на эту же дату +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_01_inventory_root_requires_company` | tags: inventory_root, company_clarification | question: какие остатки на складе на март 2021 +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_02_choose_company` | tags: meta_scope, company_selection | question: давай по Альтернативе Плюс +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_03_inventory_root_after_company` | tags: inventory_root | question: тогда покажи остатки на март 2021 +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_04_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_05_selected_item_purchase_date` | tags: selected_object, selected_object_supplier | question: а по этой позиции когда была закупка? +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_06_selected_item_documents` | tags: selected_object, selected_object_documents | question: покажи документы по этой позиции +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_07_inventory_same_date_restore` | tags: inventory_root, same_date_restore | question: покажи еще раз остатки на эту же дату +- `address_truth_harness_phase4_inventory_answer_shape_continuity:step_08_memory_recap_business_only` | tags: meta_memory | question: а что мы уже выяснили по этой позиции? +- `address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_03_movement_lane_requires_org_and_period` | tags: movement_lane_after_clarification, remaining_gaps, organization_scope, period_scope | question: по движениям +- `address_truth_harness_phase50_metadata_movement_org_period_clarification_loop:step_04_org_only_clarification_keeps_same_movement_loop` | tags: movement_lane_after_clarification, organization_followup_reuse, period_scope | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase51_metadata_lane_choice_with_org_inline:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase51_metadata_lane_choice_with_org_inline:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase51_metadata_lane_choice_with_org_inline:step_03_inline_lane_choice_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification, remaining_period_gap_only | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase52_metadata_movement_full_recovery:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase52_metadata_movement_full_recovery:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase52_metadata_movement_full_recovery:step_03_inline_lane_choice_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification, remaining_period_gap_only | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase52_metadata_movement_full_recovery:step_04_period_clarification_executes_same_movement_loop` | tags: movement_lane_execution, period_gap_closed, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase53_metadata_movement_period_first_recovery:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase53_metadata_movement_period_first_recovery:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase53_metadata_movement_period_first_recovery:step_03_movement_lane_requires_both_gaps` | tags: movement_lane_after_clarification, remaining_gaps | question: по движениям +- `address_truth_harness_phase53_metadata_movement_period_first_recovery:step_04_period_first_keeps_only_organization_gap` | tags: period_first_recovery, remaining_org_gap_only | question: за 2020 год +- `address_truth_harness_phase53_metadata_movement_period_first_recovery:step_05_organization_closes_same_loop_and_executes_retrieval` | tags: organization_second_recovery, bounded_retrieval | question: по ООО Альтернатива Плюс +- `address_truth_harness_phase54_metadata_document_full_recovery:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase54_metadata_document_full_recovery:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase54_metadata_document_full_recovery:step_03_inline_document_choice_with_org_keeps_only_period_gap` | tags: document_lane_after_clarification, inline_organization_clarification, remaining_period_gap_only | question: по документам по ООО Альтернатива Плюс +- `address_truth_harness_phase54_metadata_document_full_recovery:step_04_period_clarification_executes_same_document_loop` | tags: document_lane_execution, period_gap_closed, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_03_inline_lane_choice_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_04_period_clarification_executes_same_movement_loop` | tags: movement_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase55_metadata_movement_year_switch_after_retrieval:step_05_year_switch_keeps_same_movement_loop` | tags: year_switch_followup, movement_lane_continuity, same_organization_reuse | question: а теперь за 2021? +- `address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_03_inline_lane_choice_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_04_period_clarification_executes_same_movement_loop` | tags: movement_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase56_metadata_retrieval_to_document_pivot:step_05_document_pivot_keeps_same_scope` | tags: document_pivot_after_retrieval, scope_reuse, same_proof_path_family_shift | question: а теперь по документам? +- `address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_03_inline_lane_choice_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_04_period_clarification_executes_same_movement_loop` | tags: movement_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase57_metadata_movement_all_time_after_retrieval:step_05_all_time_followup_keeps_same_movement_loop` | tags: all_time_followup, movement_lane_continuity, period_cleared | question: а теперь за все время? +- `address_truth_harness_phase58_metadata_document_to_movement_pivot:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase58_metadata_document_to_movement_pivot:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase58_metadata_document_to_movement_pivot:step_03_document_lane_with_org_keeps_only_period_gap` | tags: document_lane_after_clarification, inline_organization_clarification | question: по документам по ООО Альтернатива Плюс +- `address_truth_harness_phase58_metadata_document_to_movement_pivot:step_04_period_clarification_executes_same_document_loop` | tags: document_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase58_metadata_document_to_movement_pivot:step_05_movement_pivot_keeps_same_scope` | tags: movement_pivot_after_document_retrieval, scope_reuse, same_proof_path_family_shift | question: а теперь по движениям? +- `address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_03_inline_document_choice_with_org_keeps_only_period_gap` | tags: document_lane_after_clarification, inline_organization_clarification | question: по документам по ООО Альтернатива Плюс +- `address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_04_period_clarification_executes_same_document_loop` | tags: document_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase59_metadata_document_all_time_after_retrieval:step_05_all_time_followup_keeps_same_document_loop` | tags: all_time_followup, document_lane_continuity, period_cleared | question: а теперь за все время? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_01_smalltalk` | tags: meta_smalltalk | question: привет, как дела? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_02_data_scope_meta` | tags: meta_scope | question: по какой компании мы сейчас работаем? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_03_inventory_root_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_04_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_05_selected_item_documents` | tags: selected_object, selected_object_documents | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_06_inventory_same_date_restore` | tags: inventory_root, same_date_restore | question: покажи еще раз остатки на эту же дату +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_07_organization_fact_boundary` | tags: meta_scope, organization_fact_boundary | question: а какой возраст у Альтернативы Плюс? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_08_capability_meta_interrupt` | tags: meta_capability | question: что ты умеешь? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_09_memory_recap_after_interrupts` | tags: meta_memory | question: а ты помнишь, что мы по этой позиции уже выяснили? +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_10_receivables_march_2020` | tags: settlements_receivables | question: кто нам должен на март 2020 +- `address_truth_harness_phase5_assistantservice_boundary_transition_mix:step_11_inventory_same_date_cross_domain` | tags: inventory_root, same_date_pivot | question: остатки по складу на эту же дату +- `address_truth_harness_phase5_company_selection_and_activity_age:step_01_smalltalk` | tags: meta_smalltalk | question: привет, как дела? +- `address_truth_harness_phase5_company_selection_and_activity_age:step_02_data_scope_meta` | tags: meta_scope | question: по какой компании мы сейчас работаем? +- `address_truth_harness_phase5_company_selection_and_activity_age:step_03_inventory_root_requires_company` | tags: inventory_root, company_clarification | question: какие остатки на складе на март 2021 +- `address_truth_harness_phase5_company_selection_and_activity_age:step_04_choose_company` | tags: meta_scope, company_selection | question: давай по Альтернативе Плюс +- `address_truth_harness_phase5_company_selection_and_activity_age:step_05_inventory_root_after_company` | tags: inventory_root, company_selected | question: тогда покажи остатки на март 2021 +- `address_truth_harness_phase5_company_selection_and_activity_age:step_06_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `address_truth_harness_phase5_company_selection_and_activity_age:step_07_selected_item_documents` | tags: selected_object, selected_object_documents | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции +- `address_truth_harness_phase5_company_selection_and_activity_age:step_08_inventory_same_date_restore` | tags: inventory_root, same_date_restore | question: покажи еще раз остатки на эту же дату +- `address_truth_harness_phase5_company_selection_and_activity_age:step_09_company_activity_age` | tags: organization_activity_age, company_selected | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase5_company_selection_and_activity_age:step_10_capability_meta_interrupt` | tags: meta_capability | question: что ты умеешь? +- `address_truth_harness_phase5_company_selection_and_activity_age:step_11_memory_recap_after_interrupts` | tags: meta_memory | question: а ты помнишь, что мы по этой позиции уже выяснили? +- `address_truth_harness_phase5_company_selection_and_activity_age:step_12_receivables_march_2020` | tags: settlements_receivables | question: кто нам должен на март 2020 +- `address_truth_harness_phase5_company_selection_and_activity_age:step_13_inventory_same_date_cross_domain` | tags: inventory_root, same_date_pivot | question: остатки по складу на эту же дату - `address_truth_harness_phase5_meta_memory_mix:step_01_inventory_root_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 - `address_truth_harness_phase5_meta_memory_mix:step_02_inventory_history_capability_followup` | tags: meta_historical_capability, inventory_root | question: а исторические остатки тоже можешь? - `address_truth_harness_phase5_meta_memory_mix:step_03_data_scope_meta_interrupt` | tags: meta_scope | question: по какой компании мы сейчас работаем? - `address_truth_harness_phase5_meta_memory_mix:step_04_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? - `address_truth_harness_phase5_meta_memory_mix:step_05_capability_meta_interrupt` | tags: meta_capability | question: что ты умеешь? - `address_truth_harness_phase5_meta_memory_mix:step_06_memory_recap_after_interrupts` | tags: meta_memory | question: а ты помнишь, что мы по этой позиции уже выяснили? +- `address_truth_harness_phase60_metadata_document_pivot_year_switch:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase60_metadata_document_pivot_year_switch:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase60_metadata_document_pivot_year_switch:step_03_inline_lane_choice_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase60_metadata_document_pivot_year_switch:step_04_period_clarification_executes_same_movement_loop` | tags: movement_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase60_metadata_document_pivot_year_switch:step_05_document_pivot_keeps_same_scope` | tags: document_pivot_after_retrieval, scope_reuse | question: а теперь по документам? +- `address_truth_harness_phase60_metadata_document_pivot_year_switch:step_06_year_switch_keeps_document_lane` | tags: year_switch_followup, document_lane_continuity, post_pivot_continuity | question: а теперь за 2021? +- `address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_03_document_lane_with_org_keeps_only_period_gap` | tags: document_lane_after_clarification, inline_organization_clarification | question: по документам по ООО Альтернатива Плюс +- `address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_04_period_clarification_executes_same_document_loop` | tags: document_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_05_movement_pivot_keeps_same_scope` | tags: movement_pivot_after_document_retrieval, scope_reuse, same_proof_path_family_shift | question: а теперь по движениям? +- `address_truth_harness_phase61_metadata_movement_pivot_year_switch:step_06_year_switch_keeps_movement_lane` | tags: movement_lane_continuity, year_switch_after_pivot, same_scope_new_period | question: а теперь за 2021? +- `address_truth_harness_phase62_metadata_movement_pivot_all_time:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase62_metadata_movement_pivot_all_time:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase62_metadata_movement_pivot_all_time:step_03_document_lane_with_org_keeps_only_period_gap` | tags: document_lane_after_clarification, inline_organization_clarification | question: по документам по ООО Альтернатива Плюс +- `address_truth_harness_phase62_metadata_movement_pivot_all_time:step_04_period_clarification_executes_same_document_loop` | tags: document_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase62_metadata_movement_pivot_all_time:step_05_movement_pivot_keeps_same_scope` | tags: movement_pivot_after_document_retrieval, scope_reuse, same_proof_path_family_shift | question: а теперь по движениям? +- `address_truth_harness_phase62_metadata_movement_pivot_all_time:step_06_all_time_followup_keeps_movement_lane` | tags: all_time_followup, movement_lane_continuity, period_cleared_after_pivot | question: а теперь за все время? +- `address_truth_harness_phase63_metadata_document_pivot_all_time:step_01_metadata_ambiguity_surface` | tags: metadata_surface, mixed_ambiguity, vat | question: какие объекты 1С есть по НДС? +- `address_truth_harness_phase63_metadata_document_pivot_all_time:step_02_neutral_followup_requires_lane_choice` | tags: metadata_lane_choice_clarification, neutral_followup | question: давай дальше +- `address_truth_harness_phase63_metadata_document_pivot_all_time:step_03_movement_lane_with_org_keeps_only_period_gap` | tags: movement_lane_after_clarification, inline_organization_clarification | question: по движениям по ООО Альтернатива Плюс +- `address_truth_harness_phase63_metadata_document_pivot_all_time:step_04_period_clarification_executes_same_movement_loop` | tags: movement_lane_execution, bounded_retrieval | question: за 2020 год +- `address_truth_harness_phase63_metadata_document_pivot_all_time:step_05_document_pivot_keeps_same_scope` | tags: document_pivot_after_movement_retrieval, scope_reuse, same_proof_path_family_shift | question: а теперь по документам? +- `address_truth_harness_phase63_metadata_document_pivot_all_time:step_06_all_time_followup_keeps_document_lane` | tags: all_time_followup, document_lane_continuity, period_cleared_after_pivot | question: а теперь за все время? +- `address_truth_harness_phase64_human_vat_investigation_dialog:step_01_metadata_orientation` | tags: metadata_surface, vat_orientation, human_dialog, vat | question: Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС? +- `address_truth_harness_phase64_human_vat_investigation_dialog:step_02_choose_movements_with_org` | tags: movement_lane_after_metadata, inline_organization_clarification, human_dialog | question: Хорошо, тогда покажи движения по ООО Альтернатива Плюс. +- `address_truth_harness_phase64_human_vat_investigation_dialog:step_03_execute_movement_slice` | tags: movement_lane_execution, bounded_retrieval, human_dialog | question: За 2020 год. +- `address_truth_harness_phase64_human_vat_investigation_dialog:step_04_document_pivot_same_scope` | tags: document_pivot_after_movement_retrieval, scope_reuse, human_dialog | question: А теперь по документам? +- `address_truth_harness_phase64_human_vat_investigation_dialog:step_05_document_year_switch` | tags: document_lane_continuity, year_switch_after_pivot, human_dialog | question: А теперь за 2021 год? +- `address_truth_harness_phase64_human_vat_investigation_dialog:step_06_document_all_time_followup` | tags: document_lane_continuity, all_time_followup, human_dialog | question: А теперь за все время? +- `address_truth_harness_phase65_human_svk_money_dialog:step_01_ground_counterparty` | tags: entity_grounding, counterparty_resolution, human_dialog | question: Хочу проверить одного контрагента. Найди в 1С Группу СВК. +- `address_truth_harness_phase65_human_svk_money_dialog:step_02_incoming_value_flow` | tags: incoming_value_flow, grounded_counterparty_followup, human_dialog | question: Посмотри, сколько денег мы получили от него за 2020 год. +- `address_truth_harness_phase65_human_svk_money_dialog:step_03_outgoing_value_flow` | tags: outgoing_value_flow, grounded_counterparty_followup, human_dialog | question: А теперь сколько мы ему заплатили? +- `address_truth_harness_phase65_human_svk_money_dialog:step_04_net_value_flow` | tags: net_value_flow, grounded_counterparty_followup, human_dialog | question: А какое получилось нетто? +- `address_truth_harness_phase65_human_svk_money_dialog:step_05_document_pivot` | tags: document_pivot_after_value_flow, grounded_counterparty_followup, human_dialog | question: А по документам? +- `address_truth_harness_phase65_human_svk_money_dialog:step_06_movement_pivot` | tags: movement_pivot_after_value_flow, grounded_counterparty_followup, human_dialog | question: А по движениям? +- `address_truth_harness_phase65_human_svk_money_dialog:step_07_year_switch_same_counterparty` | tags: year_switch, grounded_counterparty_followup, human_dialog | question: А теперь за 2021 год? +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_01_open_scope_incoming_total` | tags: open_scope_total, organization_scope, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow, selected_matches_top=True | question: Хочу быстрый денежный срез по одной организации без привязки к контрагенту. Сколько вообще входящих денег было за 2020 год? +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_02_all_time_same_open_scope` | tags: organization_clarification, open_scope_total, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow, selected_matches_top=True | question: По ООО Альтернатива Плюс. +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_03_all_time_same_open_scope` | tags: all_time_followup, organization_scope, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow, selected_matches_top=True | question: Понял, тогда за все время. +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_04_bidirectional_comparison` | tags: value_flow_comparison, organization_scope, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow_comparison, selected_matches_top=True | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_05_comparison_year_switch` | tags: value_flow_comparison, year_switch, organization_scope, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow_comparison, selected_matches_top=True | question: А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги? +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_06_ranking_top_counterparty` | tags: value_flow_ranking, organization_scope, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow_ranking, selected_matches_top=True | question: И кто больше всего принес денег этой организации в 2020 году? +- `address_truth_harness_phase66_human_org_open_scope_dialog:step_07_ranking_year_switch` | tags: value_flow_ranking, year_switch, organization_scope, human_dialog, planner_catalog_alignment | catalog_alignment: status=selected_matches_top, top=value_flow_ranking, selected_matches_top=True | question: А в 2021 году? +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_01_ground_counterparty` | tags: entity_grounding, counterparty_resolution, integrity_guard | question: Хочу проверить одного контрагента. Найди в 1С Группу СВК. +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_02_incoming_2020` | tags: incoming_value_flow, grounded_counterparty_followup, integrity_guard | question: Посмотри, сколько денег мы получили от него за 2020 год. +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_03_payout_2020_same_counterparty` | tags: outgoing_value_flow, grounded_counterparty_followup, integrity_guard | question: А теперь сколько мы ему заплатили? +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_04_net_same_counterparty` | tags: net_value_flow, grounded_counterparty_followup, integrity_guard | question: А какое получилось нетто? +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_05_documents_same_counterparty` | tags: document_pivot_after_value_flow, grounded_counterparty_followup, integrity_guard | question: А по документам? +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_06_movements_same_counterparty` | tags: movement_pivot_after_value_flow, grounded_counterparty_followup, integrity_guard | question: А по движениям? +- `address_truth_harness_phase67_svk_grounded_counterparty_integrity:step_07_year_switch_same_counterparty` | tags: year_switch, grounded_counterparty_followup, integrity_guard | question: А теперь за 2021 год? +- `address_truth_harness_phase68_referential_document_followup_integrity:step_01_documents_by_counterparty` | tags: documents_by_counterparty, referential_followup_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase68_referential_document_followup_integrity:step_02_referential_document_followup` | tags: referential_document_followup, counterparty_carryover, integrity_guard | question: Кроме этого документа есть еще что-то? +- `address_truth_harness_phase69_document_to_payments_pronoun_pivot:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pronoun_pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase69_document_to_payments_pronoun_pivot:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? - `address_truth_harness_phase6_provider_axis_mix:step_01_smalltalk` | tags: meta_smalltalk | question: привет, как дела? - `address_truth_harness_phase6_provider_axis_mix:step_02_data_scope_meta` | tags: meta_scope | question: по какой компании мы сейчас работаем? - `address_truth_harness_phase6_provider_axis_mix:step_03_capability_meta` | tags: meta_capability | question: что ты можешь по 1С? - `address_truth_harness_phase6_provider_axis_mix:step_04_inventory_root_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 - `address_truth_harness_phase6_provider_axis_mix:step_05_historical_capability_followup` | tags: meta_historical_capability, inventory_root | question: а исторические остатки тоже можешь? +- `address_truth_harness_phase70_document_to_contracts_pronoun_pivot:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pronoun_pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase70_document_to_contracts_pronoun_pivot:step_02_contracts_by_pronoun_followup` | tags: contracts_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase71_document_to_payments_year_switch:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pronoun_pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase71_document_to_payments_year_switch:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase71_document_to_payments_year_switch:step_03_year_switch_after_payments_pivot` | tags: year_switch_after_pivot, payments_followup, integrity_guard | question: А за 2021? +- `address_truth_harness_phase72_document_to_contracts_year_switch:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pronoun_pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase72_document_to_contracts_year_switch:step_02_contracts_by_pronoun_followup` | tags: contracts_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase72_document_to_contracts_year_switch:step_03_year_switch_after_contracts_pivot` | tags: year_switch_after_pivot, contracts_followup, integrity_guard | question: А за 2021? +- `address_truth_harness_phase73_document_to_contracts_all_time:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pronoun_pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase73_document_to_contracts_all_time:step_02_contracts_by_pronoun_followup` | tags: contracts_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase73_document_to_contracts_all_time:step_03_all_time_after_contracts_pivot` | tags: all_time_after_pivot, contracts_followup, integrity_guard | question: А за все время? +- `address_truth_harness_phase74_document_to_payments_all_time:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pronoun_pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase74_document_to_payments_all_time:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase74_document_to_payments_all_time:step_03_all_time_after_payments_pivot` | tags: all_time_after_pivot, payments_followup, integrity_guard | question: А за все время? +- `address_truth_harness_phase75_contracts_to_payments_year_switch:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase75_contracts_to_payments_year_switch:step_02_contracts_by_pronoun_followup` | tags: contracts_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase75_contracts_to_payments_year_switch:step_03_payments_after_contracts_pivot` | tags: payments_followup, second_pivot, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase75_contracts_to_payments_year_switch:step_04_year_switch_after_second_pivot` | tags: year_switch_after_second_pivot, payments_followup, integrity_guard | question: А за 2021? +- `address_truth_harness_phase76_contracts_to_payments_all_time:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase76_contracts_to_payments_all_time:step_02_contracts_by_pronoun_followup` | tags: contracts_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase76_contracts_to_payments_all_time:step_03_payments_after_contracts_pivot` | tags: payments_followup, second_pivot, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase76_contracts_to_payments_all_time:step_04_all_time_after_second_pivot` | tags: all_time_after_second_pivot, payments_followup, integrity_guard | question: А за все время? +- `address_truth_harness_phase77_payments_to_contracts_year_switch:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase77_payments_to_contracts_year_switch:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase77_payments_to_contracts_year_switch:step_03_contracts_after_payments_pivot` | tags: contracts_followup, second_pivot, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase77_payments_to_contracts_year_switch:step_04_year_switch_after_second_pivot` | tags: year_switch_after_second_pivot, contracts_followup, integrity_guard | question: А за 2021? +- `address_truth_harness_phase78_payments_to_contracts_all_time:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase78_payments_to_contracts_all_time:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase78_payments_to_contracts_all_time:step_03_contracts_after_payments_pivot` | tags: contracts_followup, second_pivot, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase78_payments_to_contracts_all_time:step_04_all_time_after_second_pivot` | tags: all_time_after_second_pivot, contracts_followup, integrity_guard | question: А за все время? +- `address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_03_contracts_after_payments_pivot` | tags: contracts_followup, second_pivot, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_04_documents_after_contracts_pivot` | tags: documents_followup, third_pivot, integrity_guard | question: А по нему документы? +- `address_truth_harness_phase79_payments_to_contracts_to_documents_year_switch:step_05_year_switch_after_third_pivot` | tags: year_switch_after_third_pivot, documents_followup, integrity_guard | question: А за 2021? - `address_truth_harness_phase7_acceptance_gate_mix:step_01_inventory_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 - `address_truth_harness_phase7_acceptance_gate_mix:step_02_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? - `address_truth_harness_phase7_acceptance_gate_mix:step_03_selected_item_documents` | tags: selected_object, selected_object_documents | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции @@ -50,7 +685,6 @@ - `address_truth_harness_phase7_acceptance_gate_mix:step_05_data_scope_meta_interrupt` | tags: meta_scope | question: по какой компании мы сейчас работаем? - `address_truth_harness_phase7_acceptance_gate_mix:step_06_historical_capability_followup` | tags: meta_historical_capability, inventory_root | question: а исторические остатки тоже можешь? - `address_truth_harness_phase7_meta_domain_mix:step_01_smalltalk` | tags: meta_smalltalk | question: привет, как дела? -- `address_truth_harness_phase7_meta_domain_mix:step_02_data_scope_meta` | tags: meta_scope | question: по какой компании мы сейчас работаем? - `address_truth_harness_phase7_meta_domain_mix:step_01_counterparty_documents` | tags: counterparty_documents | question: покажи все документы по чепурнову - `address_truth_harness_phase7_meta_domain_mix:step_02_counterparty_shipments_or_fallback` | tags: counterparty_shipment_fallback | question: что нам отгружал чепурнов, какой товар или услугу? - `address_truth_harness_phase7_meta_domain_mix:step_01_inventory_march_2021` | tags: inventory_root | question: какие остатки на складе на март 2021 @@ -63,6 +697,91 @@ - `address_truth_harness_phase7_meta_domain_mix:step_03_inventory_same_date` | tags: inventory_root, same_date_pivot | question: остатки по складу на эту же дату - `address_truth_harness_phase7_meta_domain_mix:step_06_historical_capability_followup` | tags: meta_historical_capability, inventory_root | question: а исторические остатки тоже можешь? - `address_truth_harness_phase7_meta_domain_mix:step_04_open_items_account_60` | tags: settlements_account_60 | question: хвосты покажи по счету 60 на август 2022 +- `address_truth_harness_phase7_meta_domain_mix:step_02_data_scope_meta` | tags: meta_scope | question: по какой компании мы сейчас работаем? +- `address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_03_contracts_after_payments_pivot` | tags: contracts_followup, second_pivot, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_04_documents_after_contracts_pivot` | tags: documents_followup, third_pivot, integrity_guard | question: А по нему документы? +- `address_truth_harness_phase80_payments_to_contracts_to_documents_all_time:step_05_all_time_after_third_pivot` | tags: all_time_after_third_pivot, documents_followup, integrity_guard | question: А за все время? +- `address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_01_documents_by_counterparty` | tags: documents_by_counterparty, pivot_seed, integrity_guard, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_02_payments_by_pronoun_followup` | tags: payments_followup, counterparty_pronoun_resolution, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_03_contracts_after_payments_pivot` | tags: contracts_followup, second_pivot, integrity_guard | question: А по нему договоры? +- `address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_04_documents_after_contracts_pivot` | tags: documents_followup, third_pivot, integrity_guard | question: А по нему документы? +- `address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_05_payments_after_third_pivot` | tags: payments_followup, fourth_pivot, integrity_guard | question: А по нему платежи? +- `address_truth_harness_phase81_payments_contracts_documents_back_to_payments_year_switch:step_06_year_switch_after_fourth_pivot` | tags: year_switch_after_fourth_pivot, payments_followup, integrity_guard | question: А за 2021? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_01_documents_by_counterparty` | tags: post_f_integrity_hardening, documents_by_counterparty, pivot_seed, human_dialog, counterparty_documents | question: Покажи документы по Жуковке 51. +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_02_payments_by_pronoun_followup` | tags: post_f_integrity_hardening, payments_followup, counterparty_pronoun_resolution, human_dialog | question: Хорошо, а теперь платежи по нему тоже покажи. +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_03_contracts_after_payments_pivot` | tags: post_f_integrity_hardening, contracts_followup, second_pivot, human_dialog | question: А по нему договоры? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_04_documents_after_contracts_pivot` | tags: post_f_integrity_hardening, documents_followup, third_pivot, human_dialog | question: А по нему документы? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_05_payments_after_third_pivot` | tags: post_f_integrity_hardening, payments_followup, fourth_pivot, human_dialog | question: А по нему платежи? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_06_year_switch_after_fourth_pivot` | tags: post_f_integrity_hardening, year_switch_after_fourth_pivot, payments_followup, human_dialog | question: А за 2021? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_07_open_scope_incoming_total` | tags: organization_scope, open_scope_total, topic_reset, human_dialog | question: С Жуковкой закончили. Теперь нужна другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_08_open_scope_org_clarification` | tags: organization_scope, open_scope_total, organization_clarification, human_dialog | question: По ООО Альтернатива Плюс. +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_09_open_scope_all_time_followup` | tags: organization_scope, all_time_followup, human_dialog | question: Понял, тогда за все время. +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_10_bidirectional_comparison` | tags: organization_scope, value_flow_comparison, human_dialog | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_11_comparison_year_switch` | tags: organization_scope, value_flow_comparison, year_switch, human_dialog | question: А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_12_ranking_top_counterparty` | tags: organization_scope, value_flow_ranking, human_dialog | question: И кто больше всего принес денег этой организации в 2020 году? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_13_ranking_year_switch` | tags: organization_scope, value_flow_ranking, year_switch, human_dialog | question: А в 2021 году? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_14_ground_named_counterparty` | tags: grounded_counterparty, topic_reset, human_dialog | question: Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК. +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_15_counterparty_incoming_2020` | tags: grounded_counterparty, incoming_value_flow, human_dialog | question: Сколько получили по нему за 2020 год? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_16_counterparty_payout_followup` | tags: grounded_counterparty, payout_value_flow, human_dialog | question: А теперь сколько заплатили? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_17_counterparty_net_followup` | tags: grounded_counterparty, net_value_flow, human_dialog | question: А какое нетто? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_18_counterparty_documents_pivot` | tags: grounded_counterparty, documents_pivot, human_dialog, counterparty_documents | question: А по документам? +- `address_truth_harness_phase82_human_mixed_integrity_status_dialog:step_19_counterparty_movements_pivot` | tags: grounded_counterparty, movements_pivot, human_dialog | question: А по движениям? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_01_smalltalk` | tags: meta_smalltalk | question: привет, как дела? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_02_data_scope_meta` | tags: meta_scope | question: по какой компании мы сейчас работаем? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_03_counterparty_documents` | tags: counterparty_documents | question: покажи все документы по чепурнову +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_04_counterparty_shipments` | tags: counterparty_shipment_fallback | question: что нам отгружал чепурнов, какой товар или услугу? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_05_inventory_root_after_counterparty` | tags: inventory_root, company_authority_probe | question: какие остатки на складе на март 2021 +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_06_selected_item_supplier` | tags: selected_object, selected_object_supplier | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_07_capability_meta` | tags: meta_capability | question: что ты умеешь? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_08_selected_item_documents` | tags: selected_object, selected_object_documents | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_09_memory_recap` | tags: meta_memory | question: а ты помнишь, что мы по этой позиции уже выяснили? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_10_receivables_march_2020` | tags: settlements_receivables | question: кто нам должен на март 2020 +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_11_inventory_same_date_after_receivables` | tags: inventory_root, same_date_pivot | question: остатки по складу на эту же дату +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_12_historical_inventory_capability` | tags: meta_historical_capability, inventory_root | question: а исторические остатки ты можешь дать? +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_13_open_items_account_60` | tags: settlements_account_60 | question: хвосты покажи по счету 60 на август 2022 +- `address_truth_harness_phase8_manual_runtime_authority_mix:step_14_company_activity_age` | tags: organization_activity_age, company_selected | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase9_proactive_scope_offer:step_01_smalltalk_with_scope_offer` | tags: meta_smalltalk, proactive_scope_offer | question: привет, как дела? +- `address_truth_harness_phase9_proactive_scope_offer:step_02_choose_organization` | tags: company_selected, living_scope_selection | question: Альтернатива Плюс +- `address_truth_harness_phase9_proactive_scope_offer:step_03_company_activity_age` | tags: organization_activity_age, company_selected | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `address_truth_harness_phase9_proactive_scope_offer:step_04_receivables_root` | tags: settlements_receivables, company_selected | question: кто нам должен на март 2020? +- `address_truth_harness_phase9_proactive_scope_offer:step_05_inventory_same_date` | tags: inventory_root, same_date_pivot, company_authority | question: остатки по складу на эту же дату +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_01_vat_metadata_orientation` | tags: legacy_phase64, metadata_surface, vat_orientation, cross_stage_canary, vat | question: Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_02_vat_movements_org_needs_period` | tags: legacy_phase64, movement_lane_after_metadata, organization_scope, vat | question: Хорошо, тогда покажи движения по ООО Альтернатива Плюс. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_03_vat_movements_2020` | tags: legacy_phase64, movement_execution, period_clarification_resume, vat | question: За 2020 год. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_04_vat_documents_pivot` | tags: legacy_phase64, document_pivot_after_movement, scope_reuse, vat | question: А теперь по документам? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_05_vat_documents_year_switch` | tags: legacy_phase64, year_switch_after_document_pivot, vat | question: А теперь за 2021 год? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_06_vat_documents_all_time` | tags: legacy_phase64, all_time_followup, document_lane_continuity, vat | question: А теперь за все время? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_07_reset_to_numeric_counterparty_documents` | tags: post_f, numeric_counterparty_suffix, account_injection_guard, topic_reset, counterparty_documents, vat | question: С НДС закончили. Новая тема: покажи документы по Жуковке 51. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_08_numeric_counterparty_payments` | tags: post_f, counterparty_pronoun_resolution, payments_followup | question: Хорошо, а теперь платежи по нему тоже покажи. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_09_numeric_counterparty_contracts` | tags: post_f, contracts_followup, repeated_pivot | question: А по нему договоры? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_10_numeric_counterparty_documents_again` | tags: post_f, documents_followup, repeated_pivot, counterparty_documents | question: А по нему документы? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_11_numeric_counterparty_year_switch` | tags: post_f, year_switch_after_repeated_pivot | question: А за 2021? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_12_open_org_money_requires_clarification` | tags: post_f, open_scope_total, organization_clarification, topic_reset | question: С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_13_open_org_clarification_answer` | tags: post_f, organization_scope, clarification_resume | question: По ООО Альтернатива Плюс. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_14_open_org_all_time` | tags: post_f, organization_scope, all_time_followup | question: Понял, тогда за все время. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_15_open_org_bidirectional_2020` | tags: post_f, bidirectional_value_flow, organization_scope | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_16_open_org_ranking_2020` | tags: legacy_phase39, value_flow_ranking, organization_scope | question: И кто больше всего принес денег этой организации в 2020 году? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_17_open_org_ranking_year_switch` | tags: legacy_phase39, year_switch, organization_scope | question: А в 2021 году? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_18_ground_svk_counterparty` | tags: legacy_phase67, grounded_counterparty, topic_reset | question: Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК. +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_19_svk_incoming_2020` | tags: legacy_phase67, grounded_counterparty, incoming_value_flow | question: Сколько получили по нему за 2020 год? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_20_svk_payout` | tags: legacy_phase67, grounded_counterparty, payout_value_flow | question: А теперь сколько заплатили? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_21_svk_net` | tags: legacy_phase67, grounded_counterparty, net_value_flow | question: А какое нетто? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_22_svk_documents_pivot` | tags: legacy_phase67, grounded_counterparty, documents_pivot | question: А по документам? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_23_svk_movements_pivot` | tags: legacy_phase67, grounded_counterparty, movements_pivot | question: А по движениям? +- `address_truth_harness_post_f_cross_stage_canary_agent_20260424:step_24_svk_year_switch` | tags: legacy_phase67, grounded_counterparty, year_switch | question: А теперь тот же смысл за 2021 год. +- `address_truth_harness_post_f_manual_failures_20260424:step_01_inventory_root` | tags: manual_9lieoh, inventory_context, inventory_root | question: кайф - что там на складе по остаткам? +- `address_truth_harness_post_f_manual_failures_20260424:step_02_choose_org` | tags: manual_9lieoh, organization_scope | question: АЛЬТЕРНАТИВА +- `address_truth_harness_post_f_manual_failures_20260424:step_03_inventory_march_2016` | tags: manual_9lieoh, purchase_date_context | question: март 2016 +- `address_truth_harness_post_f_manual_failures_20260424:step_04_workstation_purchase` | tags: manual_9lieoh, selected_object_purchase, selected_object | question: По выбранному объекту "Рабочая станция универсального специалиста (индивидуальное изготовление)": где взяли это? +- `address_truth_harness_post_f_manual_failures_20260424:step_05_vat_purchase_date` | tags: manual_9lieoh, vat_failure_11, materialization_gap, vat | question: ндс можешь прикинуть на дату покупки рабочей станции? +- `address_truth_harness_post_f_manual_failures_20260424:step_06_vat_feb_2017` | tags: manual_9lieoh, vat_failure_13, vat | question: прикинь какой ндс нам надо заплатить на февраль 2017 +- `address_truth_harness_post_f_manual_failures_20260424:step_07_highest_value_customer` | tags: manual_9lieoh, revenue_ranking_failure_14 | question: кто у нас самый доходный клиент за все время +- `address_truth_harness_post_f_manual_failures_20260424:step_08_documents_chepurnov` | tags: manual_9lieoh, counterparty_grounding, counterparty_documents | question: по чепурнову покажи все доки +- `address_truth_harness_post_f_manual_failures_20260424:step_09_pivot_svk` | tags: manual_9lieoh, counterparty_retarget | question: а по свк +- `address_truth_harness_post_f_manual_failures_20260424:step_10_inventory_today` | tags: manual_9lieoh, stale_inventory_scope, inventory_root | question: а сейчас у нас есть что на складе? +- `address_truth_harness_post_f_manual_failures_20260424:step_11_chepurnov_item_flow` | tags: manual_9lieoh, item_flow_failure_26, stale_scope_guard, counterparty_shipment_fallback | question: что нам отгружал чепурнов? какой товар или услугу? - `address_truth_harness_targeted_counterparty_tails:step_01_documents_by_counterparty` | tags: counterparty_documents | question: покажи все документы по чапурнову - `address_truth_harness_targeted_counterparty_tails:step_02_counterparty_item_flow` | tags: counterparty_shipment_fallback | question: что нам отгружал чапурнов? какой товар или услугу? - `address_truth_harness_targeted_counterparty_tails:step_03_inventory_reset` | tags: inventory_root | question: какие остатки на складе на сегодня? @@ -83,7 +802,6 @@ - `address_truth_harness_test2:step_14_receivables_today` | tags: settlements_receivables | question: а на сегодня ## Saved session questions -- `assistant_saved_session_20260416175150_gen-mo1s0m9z-ndf56a3:q01` | tags: meta_smalltalk | question: привет как дела - `assistant_saved_session_20260416182626_gen-mo1t93wq-jy0453e:q01` | tags: meta_smalltalk | question: приветик - че как там дела - `assistant_saved_session_20260416182626_gen-mo1t93wq-jy0453e:q02` | tags: meta_capability | question: расскажи что можешь интересного - `assistant_saved_session_20260416182626_gen-mo1t93wq-jy0453e:q03` | tags: inventory_root | question: кайф - что там на складе по остаткам? @@ -164,3 +882,152 @@ - `assistant_saved_session_20260417093144_gen-ag04170931-6bb7e5:q12` | tags: inventory_root | question: остатки по складу на эту же дату - `assistant_saved_session_20260417093144_gen-ag04170931-6bb7e5:q13` | tags: meta_historical_capability, inventory_root | question: а исторические остатки тоже можешь? - `assistant_saved_session_20260417093144_gen-ag04170931-6bb7e5:q14` | tags: none | question: хвосты покажи по счету 60 на август 2022 +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q01` | tags: meta_smalltalk | question: привет, как дела? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q02` | tags: meta_scope | question: по какой компании мы сейчас работаем? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q03` | tags: counterparty_documents | question: покажи все документы по чепурнову +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q04` | tags: counterparty_shipment_fallback | question: что нам отгружал чепурнов, какой товар или услугу? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q05` | tags: inventory_root | question: какие остатки на складе на март 2021 +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q06` | tags: selected_object | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q07` | tags: meta_capability | question: что ты умеешь? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q08` | tags: selected_object | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q09` | tags: meta_memory | question: а ты помнишь, что мы по этой позиции уже выяснили? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q10` | tags: inventory_root | question: покажи еще раз остатки на эту же дату +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q11` | tags: settlements_receivables | question: кто нам должен на март 2020 +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q12` | tags: inventory_root | question: остатки по складу на эту же дату +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q13` | tags: meta_historical_capability, inventory_root | question: а исторические остатки тоже можешь? +- `assistant_saved_session_20260417094132_gen-ag04170941-87680e:q14` | tags: none | question: хвосты покажи по счету 60 на август 2022 +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q01` | tags: meta_smalltalk | question: привет, как дела? +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q02` | tags: meta_scope | question: по какой компании мы сейчас работаем? +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q03` | tags: inventory_root | question: какие остатки на складе на март 2021 +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q04` | tags: none | question: давай по Альтернативе Плюс +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q05` | tags: inventory_root | question: тогда покажи остатки на март 2021 +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q06` | tags: selected_object | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q07` | tags: selected_object | question: По выбранному объекту "Столешница 600*3050*26 альмандин": покажи документы по этой позиции +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q08` | tags: inventory_root | question: покажи еще раз остатки на эту же дату +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q09` | tags: none | question: а по Альтернативе Плюс сколько лет активности в базе 1С? +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q10` | tags: meta_capability | question: что ты умеешь? +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q11` | tags: meta_memory | question: а ты помнишь, что мы по этой позиции уже выяснили? +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q12` | tags: settlements_receivables | question: кто нам должен на март 2020 +- `assistant_saved_session_20260417132600_gen-ag04171326-15a132:q13` | tags: inventory_root | question: остатки по складу на эту же дату +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q01` | tags: inventory_root | question: какие остатки на складе на март 2021 +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q02` | tags: none | question: давай по Альтернативе Плюс +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q03` | tags: inventory_root | question: тогда покажи остатки на март 2021 +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q04` | tags: selected_object | question: По выбранному объекту "Столешница 600*3050*26 альмандин": кто нам это поставил? +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q05` | tags: none | question: а по этой позиции когда была закупка? +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q06` | tags: none | question: покажи документы по этой позиции +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q07` | tags: inventory_root | question: покажи еще раз остатки на эту же дату +- `assistant_saved_session_20260417150806_gen-ag04171508-760111:q08` | tags: meta_memory | question: а что мы уже выяснили по этой позиции? +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q01` | tags: meta_smalltalk | question: привет как дела +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q02` | tags: none | question: кто намс должен денег на сегодня +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q03` | tags: none | question: что ты можешь +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q04` | tags: settlements_receivables | question: кто нам должен денег на сегодня +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q05` | tags: none | question: а мы кому +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q06` | tags: inventory_root | question: какиек остатки на складе на сегодня +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q07` | tags: none | question: альтернатива +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q08` | tags: none | question: покажи документы по чепурнову +- `assistant_saved_session_20260419164457_gen-mo5zy5vo-z9klj34:q09` | tags: none | question: какой оборот был свк +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q01` | tags: none | question: найди в 1С контрагента СВК +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q02` | tags: none | question: сколько получили по нему за 2020 год +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q03` | tags: none | question: а теперь сколько заплатили? +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q04` | tags: none | question: а за 2021? +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q05` | tags: none | question: а какое нетто? +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q06` | tags: none | question: а по документам? +- `assistant_saved_session_20260422125154_gen-moa1y0lw-m30gdsz:q07` | tags: none | question: а по движениям? +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q01` | tags: none | question: Хочу быстрый денежный срез по одной организации без привязки к контрагенту. Сколько вообще входящих денег было за 2020 год? +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q02` | tags: none | question: По ООО Альтернатива Плюс. +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q03` | tags: none | question: Понял, тогда за все время. +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q04` | tags: none | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q05` | tags: none | question: А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги? +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q06` | tags: none | question: И кто больше всего принес денег этой организации в 2020 году? +- `assistant_saved_session_20260423133622_gen-ag04231336-3d4cc9:q07` | tags: none | question: А в 2021 году? +- `assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q01` | tags: vat | question: Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС? +- `assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q02` | tags: vat | question: Хорошо, тогда покажи движения по ООО Альтернатива Плюс. +- `assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q03` | tags: vat | question: За 2020 год. +- `assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q04` | tags: vat | question: А теперь по документам? +- `assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q05` | tags: vat | question: А теперь за 2021 год? +- `assistant_saved_session_20260423133622_gen-ag04231336-4fa660:q06` | tags: vat | question: А теперь за все время? +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q01` | tags: none | question: Хочу проверить одного контрагента. Найди в 1С Группу СВК. +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q02` | tags: none | question: Посмотри, сколько денег мы получили от него за 2020 год. +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q03` | tags: none | question: А теперь сколько мы ему заплатили? +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q04` | tags: none | question: А какое получилось нетто? +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q05` | tags: none | question: А по документам? +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q06` | tags: none | question: А по движениям? +- `assistant_saved_session_20260423133622_gen-ag04231336-db78b3:q07` | tags: none | question: А теперь за 2021 год? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q01` | tags: none | question: Покажи документы по Жуковке 51. +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q02` | tags: none | question: Хорошо, а теперь платежи по нему тоже покажи. +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q03` | tags: none | question: А по нему договоры? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q04` | tags: none | question: А по нему документы? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q05` | tags: none | question: А по нему платежи? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q06` | tags: none | question: А за 2021? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q07` | tags: none | question: С Жуковкой закончили. Теперь нужна другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q08` | tags: none | question: По ООО Альтернатива Плюс. +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q09` | tags: none | question: Понял, тогда за все время. +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q10` | tags: none | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q11` | tags: none | question: А что по ООО Альтернатива Плюс больше уже за 2021 год: входящие или исходящие деньги? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q12` | tags: none | question: И кто больше всего принес денег этой организации в 2020 году? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q13` | tags: none | question: А в 2021 году? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q14` | tags: none | question: Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК. +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q15` | tags: none | question: Сколько получили по нему за 2020 год? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q16` | tags: none | question: А теперь сколько заплатили? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q17` | tags: none | question: А какое нетто? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q18` | tags: none | question: А по документам? +- `assistant_saved_session_20260423184425_gen-ag04231844-8e552a:q19` | tags: none | question: А по движениям? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q01` | tags: vat | question: Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q02` | tags: none | question: Хорошо, тогда покажи движения по ООО Альтернатива Плюс. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q03` | tags: none | question: За 2020 год. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q04` | tags: none | question: А теперь по документам? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q05` | tags: none | question: А теперь за 2021 год? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q06` | tags: none | question: А теперь за все время? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q07` | tags: vat | question: С НДС закончили. Новая тема: покажи документы по Жуковке 51. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q08` | tags: none | question: Хорошо, а теперь платежи по нему тоже покажи. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q09` | tags: none | question: А по нему договоры? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q10` | tags: none | question: А по нему документы? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q11` | tags: none | question: А за 2021? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q12` | tags: none | question: С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q13` | tags: none | question: По ООО Альтернатива Плюс. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q14` | tags: none | question: Понял, тогда за все время. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q15` | tags: none | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q16` | tags: none | question: И кто больше всего принес денег этой организации в 2020 году? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q17` | tags: none | question: А в 2021 году? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q18` | tags: none | question: Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК. +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q19` | tags: none | question: Сколько получили по нему за 2020 год? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q20` | tags: none | question: А теперь сколько заплатили? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q21` | tags: none | question: А какое нетто? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q22` | tags: none | question: А по документам? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q23` | tags: none | question: А по движениям? +- `assistant_saved_session_20260424140630_gen-ag04241406-abe4d8:q24` | tags: none | question: А теперь тот же смысл за 2021 год. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q01` | tags: vat | question: Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q02` | tags: none | question: Хорошо, тогда покажи движения по ООО Альтернатива Плюс. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q03` | tags: none | question: За 2020 год. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q04` | tags: none | question: А теперь по документам? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q05` | tags: none | question: А теперь за 2021 год? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q06` | tags: none | question: А теперь за все время? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q07` | tags: vat | question: С НДС закончили. Новая тема: покажи документы по Жуковке 51. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q08` | tags: none | question: Хорошо, а теперь платежи по нему тоже покажи. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q09` | tags: none | question: А по нему договоры? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q10` | tags: none | question: А по нему документы? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q11` | tags: none | question: А за 2021? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q12` | tags: none | question: С Жуковкой закончили. Теперь другая задача: быстрый денежный срез по одной организации. Если для ответа нужна организация, просто уточни ее. Сколько вообще входящих денег было за 2020 год? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q13` | tags: none | question: По ООО Альтернатива Плюс. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q14` | tags: none | question: Понял, тогда за все время. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q15` | tags: none | question: Хорошо. А что по ООО Альтернатива Плюс больше в 2020 году: входящие или исходящие деньги? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q16` | tags: none | question: И кто больше всего принес денег этой организации в 2020 году? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q17` | tags: none | question: А в 2021 году? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q18` | tags: none | question: Теперь отдельная тема по конкретному контрагенту. Найди в 1С Группу СВК. +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q19` | tags: none | question: Сколько получили по нему за 2020 год? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q20` | tags: none | question: А теперь сколько заплатили? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q21` | tags: none | question: А какое нетто? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q22` | tags: none | question: А по документам? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q23` | tags: none | question: А по движениям? +- `assistant_saved_session_20260424161022_gen-ag04241610-84c8bb:q24` | tags: none | question: А теперь тот же смысл за 2021 год. +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q01` | tags: inventory_root | question: кайф - что там на складе по остаткам? +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q02` | tags: none | question: АЛЬТЕРНАТИВА +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q03` | tags: none | question: март 2016 +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q04` | tags: selected_object | question: По выбранному объекту "Рабочая станция универсального специалиста (индивидуальное изготовление)": где взяли это? +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q05` | tags: vat | question: ндс можешь прикинуть на дату покупки рабочей станции? +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q06` | tags: vat | question: прикинь какой ндс нам надо заплатить на февраль 2017 +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q07` | tags: none | question: кто у нас самый доходный клиент за все время +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q08` | tags: counterparty_documents | question: по чепурнову покажи все доки +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q09` | tags: none | question: а по свк +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q10` | tags: inventory_root | question: а сейчас у нас есть что на складе? +- `assistant_saved_session_20260424171031_gen-ag04241710-bdb248:q11` | tags: counterparty_shipment_fallback | question: что нам отгружал чепурнов? какой товар или услугу? diff --git a/scripts/agent_semantic_pack_builder.py b/scripts/agent_semantic_pack_builder.py index 7348d52..c88ab7e 100644 --- a/scripts/agent_semantic_pack_builder.py +++ b/scripts/agent_semantic_pack_builder.py @@ -251,9 +251,17 @@ def classify_truth_harness_step(spec_path: Path, spec: dict[str, Any], step: dic step_id = str(step.get("step_id") or "").strip() title = str(step.get("title") or step_id).strip() or step_id expected_intents = [str(item).strip() for item in (step.get("expected_intents") or []) if str(item).strip()] - semantic_tags = _normalize_tags( - [*step.get("semantic_tags", []), *_base_step_tags(question, step_id, title, expected_intents)] - ) + expected_catalog_alignment_status = str(step.get("expected_catalog_alignment_status") or "").strip() + expected_catalog_chain_top_match = str(step.get("expected_catalog_chain_top_match") or "").strip() + expected_catalog_selected_matches_top = step.get("expected_catalog_selected_matches_top") + semantic_tag_inputs = [*step.get("semantic_tags", []), *_base_step_tags(question, step_id, title, expected_intents)] + if ( + expected_catalog_alignment_status + or expected_catalog_chain_top_match + or expected_catalog_selected_matches_top is not None + ): + semantic_tag_inputs.append("planner_catalog_alignment") + semantic_tags = _normalize_tags(semantic_tag_inputs) return { "entry_id": f"{spec_path.stem}:{step_id}", "source_type": "truth_harness_step", @@ -267,6 +275,9 @@ def classify_truth_harness_step(spec_path: Path, spec: dict[str, Any], step: dic "question": question, "criticality": str(step.get("criticality") or "critical"), "expected_intents": expected_intents, + "expected_catalog_alignment_status": expected_catalog_alignment_status or None, + "expected_catalog_chain_top_match": expected_catalog_chain_top_match or None, + "expected_catalog_selected_matches_top": expected_catalog_selected_matches_top, "semantic_tags": semantic_tags, "step_payload": step, } @@ -351,8 +362,16 @@ def _catalog_markdown(catalog: dict[str, Any]) -> str: lines.extend(["", "## Reusable truth-harness steps"]) for entry in catalog.get("truth_harness_entries") or []: tags = ", ".join(entry.get("semantic_tags") or []) or "none" + catalog_bits = [] + if entry.get("expected_catalog_alignment_status"): + catalog_bits.append(f"status={entry.get('expected_catalog_alignment_status')}") + if entry.get("expected_catalog_chain_top_match"): + catalog_bits.append(f"top={entry.get('expected_catalog_chain_top_match')}") + if entry.get("expected_catalog_selected_matches_top") is not None: + catalog_bits.append(f"selected_matches_top={entry.get('expected_catalog_selected_matches_top')}") + catalog_suffix = f" | catalog_alignment: {', '.join(catalog_bits)}" if catalog_bits else "" lines.append( - f"- `{entry.get('entry_id')}` | tags: {tags} | question: {entry.get('question')}" + f"- `{entry.get('entry_id')}` | tags: {tags}{catalog_suffix} | question: {entry.get('question')}" ) lines.extend(["", "## Saved session questions"]) for entry in catalog.get("saved_session_entries") or []: diff --git a/scripts/test_agent_semantic_pack_builder.py b/scripts/test_agent_semantic_pack_builder.py index 9461578..0cd07d5 100644 --- a/scripts/test_agent_semantic_pack_builder.py +++ b/scripts/test_agent_semantic_pack_builder.py @@ -19,6 +19,22 @@ class AgentSemanticPackBuilderTests(unittest.TestCase): self.assertIn("meta_scope", summary["reusable_truth_harness_tags"]) self.assertIn("selected_object_supplier", summary["reusable_truth_harness_tags"]) self.assertIn("counterparty_documents", summary["reusable_truth_harness_tags"]) + self.assertIn("planner_catalog_alignment", summary["reusable_truth_harness_tags"]) + + phase32_net_entry = next( + ( + entry + for entry in catalog["truth_harness_entries"] + if entry["entry_id"] + == "address_truth_harness_phase32_planner_selected_chain_end_to_end:step_04_net_after_payout" + ), + None, + ) + self.assertIsNotNone(phase32_net_entry) + self.assertEqual(phase32_net_entry["expected_catalog_alignment_status"], "selected_matches_top") + self.assertEqual(phase32_net_entry["expected_catalog_chain_top_match"], "value_flow_comparison") + self.assertIs(phase32_net_entry["expected_catalog_selected_matches_top"], True) + self.assertIn("planner_catalog_alignment", phase32_net_entry["semantic_tags"]) def test_build_recipe_spec_creates_mixed_phase7_pack(self) -> None: catalog = builder.build_source_catalog()