Post-F: укрепить VAT, даты остатков и SVK follow-up
This commit is contained in:
+481
@@ -0,0 +1,481 @@
|
||||
{
|
||||
"schema_version": "domain_truth_harness_spec_v1",
|
||||
"scenario_id": "address_truth_harness_phase89_open_world_semantic_control_gate_ehmo_subset",
|
||||
"domain": "open_world_bounded_autonomy_breadth_semantic_control_gate",
|
||||
"title": "Phase 89 Open-World Semantic Control Gate EHMO critical subset",
|
||||
"description": "Strict live subset derived from assistant-stage1-EHMOy3lNFt. Covers business overview continuity, wrong-lane prevention, stale frame reset, SVK pivot integrity, metadata continuation, VAT metadata, selected-object profitability, and final summary semantics.",
|
||||
"source_export": "docs\\orchestration\\manual_qa_open_world_breadth_99_fat_gui_pack_20260505.json",
|
||||
"bindings": {},
|
||||
"steps": [
|
||||
{
|
||||
"step_id": "step_001_smalltalk_sanity",
|
||||
"title": "001_smalltalk_sanity",
|
||||
"question": "привет, ты на связи? перед большим прогоном отвечай живо, но не теряй потом бизнес-контекст",
|
||||
"criticality": "info",
|
||||
"semantic_tags": [
|
||||
"human_answer",
|
||||
"meta_smalltalk",
|
||||
"context_guard"
|
||||
],
|
||||
"notes": "EHMO subset source=001_smalltalk_sanity; review_focus=Ассистент должен ответить нормально и не начать преждевременно искать данные 1С.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_002_business_overview_2020_full",
|
||||
"title": "002_business_overview_2020_full",
|
||||
"question": "Дай взрослый бизнес-обзор ООО Альтернатива Плюс за 2020 год по данным 1С: обороты, входящие и исходящие деньги, нетто, НДС, дебиторка, кредиторка, склад, клиенты, поставщики, договоры, документы, что подтверждено и что пока нельзя утверждать.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"organization_scope",
|
||||
"explicit_period",
|
||||
"analyst_synthesis"
|
||||
],
|
||||
"notes": "EHMO subset source=002_business_overview_2020_full; review_focus=Проверить полноту бизнес-обзора и честность границ: нетто не должно выдаваться за прибыль.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"2020"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_003_money_breakdown",
|
||||
"title": "003_money_breakdown",
|
||||
"question": "Раскрой деньги подробнее: сколько всего получили, сколько заплатили, какой чистый денежный поток, кто главный клиент и кто главный поставщик в 2020.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"money_flow",
|
||||
"top_customer",
|
||||
"top_supplier",
|
||||
"followup_reuse"
|
||||
],
|
||||
"notes": "EHMO subset source=003_money_breakdown; review_focus=Должен сохраняться scope ООО Альтернатива Плюс и период 2020.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"2020"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_005_profit_margin_boundary",
|
||||
"title": "005_profit_margin_boundary",
|
||||
"question": "Можно ли по этим данным посчитать нормальную прибыль и маржу компании? Если нет, дай proxy-анализ и объясни, каких учетных доказательств не хватает.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"profit_margin_boundary",
|
||||
"missing_proof_families"
|
||||
],
|
||||
"notes": "EHMO subset source=005_profit_margin_boundary; review_focus=Ответ не должен фантазировать exact P&L; должен назвать missing proof families.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_008_vat_2020",
|
||||
"title": "008_vat_2020",
|
||||
"question": "Что с НДС за 2020 год по Альтернативе Плюс: какая позиция видна, на чем она основана и чего не хватает для налогового вывода?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"vat",
|
||||
"explicit_period",
|
||||
"tax_boundary"
|
||||
],
|
||||
"notes": "EHMO subset source=008_vat_2020; review_focus=VAT-период должен быть 2020, без materialization gap и без выдуманного налогового заключения.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id",
|
||||
"2000-01-01"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"2020"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_013_inventory_date",
|
||||
"title": "013_inventory_date",
|
||||
"question": "Покажи складской срез Альтернативы Плюс на 2026-04-16: что есть в остатках, какие самые заметные позиции, и что это говорит о бизнесе.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"inventory_position",
|
||||
"explicit_date",
|
||||
"inventory_boundary"
|
||||
],
|
||||
"notes": "EHMO subset source=013_inventory_date; review_focus=Нужен складской факт на дату без превращения его в полное здоровье бизнеса.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"2026|2026-04-16|16[.-]04"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_014_inventory_reserve_boundary",
|
||||
"title": "014_inventory_reserve_boundary",
|
||||
"question": "Можно ли из этого сказать, что склад ликвидный или что надо создавать резервы/списывать неликвид? Если нет, что именно подтверждено и чего не хватает?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"inventory_reserve_boundary",
|
||||
"missing_proof_families"
|
||||
],
|
||||
"notes": "EHMO subset source=014_inventory_reserve_boundary; review_focus=Нельзя выдавать reserve/liquidation evidence без подтвержденных маршрутов.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_016_contract_counterparty_profile",
|
||||
"title": "016_contract_counterparty_profile",
|
||||
"question": "Сколько реально активных контрагентов и договоров видно по Альтернативе Плюс, какие роли у контрагентов, и какие договоры используются чаще всего?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"counterparty_population",
|
||||
"contract_usage_profile"
|
||||
],
|
||||
"notes": "EHMO subset source=016_contract_counterparty_profile; review_focus=Должен быть профиль, а не generic metadata ответ.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_018_business_audit_synthesis",
|
||||
"title": "018_business_audit_synthesis",
|
||||
"question": "Собери это как нормальный бизнес-аудит: сильные стороны, риски, что уже можно сказать уверенно, что только proxy, и что директору проверить руками.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"business_overview",
|
||||
"analyst_synthesis",
|
||||
"human_answer_quality"
|
||||
],
|
||||
"notes": "EHMO subset source=018_business_audit_synthesis; review_focus=Нужен взрослый аналитический ответ, а не короткий высер или debug.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_019_pivot_find_svk",
|
||||
"title": "019_pivot_find_svk",
|
||||
"question": "Теперь резко переключаемся: найди в 1С контрагента СВК.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"entity_resolution",
|
||||
"counterparty_pivot",
|
||||
"stale_scope_guard"
|
||||
],
|
||||
"notes": "EHMO subset source=019_pivot_find_svk; review_focus=Должен смениться focus с организации на контрагента, без залипания Альтернативы как контрагента.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_020_svk_incoming_2020",
|
||||
"title": "020_svk_incoming_2020",
|
||||
"question": "Сколько получили по нему за 2020 год?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"value_flow",
|
||||
"incoming_value_flow",
|
||||
"followup_anchor",
|
||||
"explicit_period"
|
||||
],
|
||||
"notes": "EHMO subset source=020_svk_incoming_2020; review_focus=Scope: выбранный СВК как контрагент, период 2020.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"2020"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_021_svk_outgoing_2020",
|
||||
"title": "021_svk_outgoing_2020",
|
||||
"question": "А теперь сколько заплатили?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"value_flow",
|
||||
"outgoing_value_flow",
|
||||
"followup_reuse",
|
||||
"date_carryover"
|
||||
],
|
||||
"notes": "EHMO subset source=021_svk_outgoing_2020; review_focus=Проверить payout switch и carryover периода/контрагента.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"2020"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_022_svk_net",
|
||||
"title": "022_svk_net",
|
||||
"question": "А какое нетто по СВК: сколько получили минус сколько заплатили?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"value_flow_comparison",
|
||||
"net_value_flow",
|
||||
"followup_reuse"
|
||||
],
|
||||
"notes": "EHMO subset source=022_svk_net; review_focus=Нетто должно быть по СВК, не по организации в целом.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_023_svk_documents",
|
||||
"title": "023_svk_documents",
|
||||
"question": "А по документам СВК что видно?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"document_evidence",
|
||||
"counterparty_followup",
|
||||
"document_pivot"
|
||||
],
|
||||
"notes": "EHMO subset source=023_svk_documents; review_focus=Переход value-flow -> documents не должен терять selected counterparty.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_024_svk_movements",
|
||||
"title": "024_svk_movements",
|
||||
"question": "А по движениям?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"movement_evidence",
|
||||
"document_pivot",
|
||||
"followup_reuse"
|
||||
],
|
||||
"notes": "EHMO subset source=024_svk_movements; review_focus=Движения должны относиться к текущему СВК/document context.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_039_metadata_counterparty_catalogs",
|
||||
"title": "039_metadata_counterparty_catalogs",
|
||||
"question": "Какие справочники 1С есть по контрагентам?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"phase83_canary",
|
||||
"catalog_metadata_surface"
|
||||
],
|
||||
"notes": "EHMO subset source=039_metadata_counterparty_catalogs; review_focus=Metadata lane должен ответить полезно, не ломая бизнес-контекст.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_040_metadata_drilldown_neutral",
|
||||
"title": "040_metadata_drilldown_neutral",
|
||||
"question": "давай дальше",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"phase83_canary",
|
||||
"neutral_followup",
|
||||
"catalog_drilldown"
|
||||
],
|
||||
"notes": "EHMO subset source=040_metadata_drilldown_neutral; review_focus=Нейтральный follow-up должен продолжить metadata drilldown, а не предыдущий деньги/Жуковку.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_041_metadata_document_fields",
|
||||
"title": "041_metadata_document_fields",
|
||||
"question": "Какие поля и связи стоит смотреть у документов реализации и поступления, если я хочу потом идти в продажи, закупки, оплату и движения?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"metadata_surface",
|
||||
"dynamic_schema_traversal",
|
||||
"route_planning"
|
||||
],
|
||||
"notes": "EHMO subset source=041_metadata_document_fields; review_focus=Проверить полезность маршрутизации без жесткой скрепки.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_046_vat_metadata",
|
||||
"title": "046_vat_metadata",
|
||||
"question": "Мне нужно понять, где в 1С по НДС вообще лежат данные. Какие объекты стоит смотреть по НДС?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"post_f_canary",
|
||||
"vat_metadata",
|
||||
"dynamic_schema_traversal"
|
||||
],
|
||||
"notes": "EHMO subset source=046_vat_metadata; review_focus=Metadata answer should be useful and not block VAT facts incorrectly.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id",
|
||||
"2000-01-01"
|
||||
],
|
||||
"required_answer_patterns_all": [
|
||||
"(?i)1C|1?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_056_selected_item_profitability",
|
||||
"title": "056_selected_item_profitability",
|
||||
"question": "По выбранному объекту \"Четки Пост (84*117)\": сколько заработали на продаже, какие закупочные и продажные документы это подтверждают?",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"selected_object_continuity",
|
||||
"inventory_item_profitability",
|
||||
"profit_boundary"
|
||||
],
|
||||
"notes": "EHMO subset source=056_selected_item_profitability; review_focus=Selected-item profitability should avoid company-level profit confusion.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
},
|
||||
{
|
||||
"step_id": "step_061_final_manual_review_summary",
|
||||
"title": "061_final_manual_review_summary",
|
||||
"question": "Финально собери executive summary по всему диалогу: где ответы были подтвержденными, где proxy, где не хватило доказательств, и какие места мне руками смотреть особенно внимательно.",
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"manual_review_summary",
|
||||
"context_integrity",
|
||||
"analyst_synthesis"
|
||||
],
|
||||
"notes": "EHMO subset source=061_final_manual_review_summary; review_focus=Финальный ответ должен удержать контекст всего прогона и честно выделить рискованные зоны.",
|
||||
"forbidden_answer_patterns": [
|
||||
"(?i)business_overview_route_template_v1",
|
||||
"(?i)mcp_discovery",
|
||||
"(?i)runtime_",
|
||||
"(?i)query_documents",
|
||||
"(?i)query_movements",
|
||||
"(?i)capability_id",
|
||||
"(?i)selected_chain_id"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user