Укрепить агентный луп для проверки контуров 1С
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -208,6 +208,41 @@
|
||||
"forbidden_patterns": ["(?im)^\\s*(Что проверили|Опорные документы):"]
|
||||
}
|
||||
},
|
||||
"counterparty_value_flow_required_surface": {
|
||||
"kind": "answer_text_required_any",
|
||||
"automation_level": "automatic",
|
||||
"description": "Counterparty value-flow answers must surface counterparty scope, incoming amount, outgoing amount, and net/saldo wording.",
|
||||
"issue_codes": ["counterparty_value_flow_misrouted_to_company_profit"],
|
||||
"inputs": ["steps/<step_id>/output.md"],
|
||||
"check": {
|
||||
"artifact_path_include_patterns": ["(?i)(s01_svk_money_documents|s01_select_svk_counterparty_money)"],
|
||||
"required_patterns_any": [
|
||||
"(?is)(?=.*(СВК|Группа\\s+СВК))(?=.*(входящ|получил|получено|получили))(?=.*(исходящ|заплатил|заплачено|заплатили|ушло))(?=.*(нетто|сальдо|разниц|чистый\\s+денежный))"
|
||||
]
|
||||
}
|
||||
},
|
||||
"counterparty_value_flow_profit_accounts_forbidden": {
|
||||
"kind": "answer_text_regex_forbidden",
|
||||
"automation_level": "automatic",
|
||||
"description": "Counterparty received/paid/net-flow answers must not use company profit or 90/91/99 accounts as the direct answer.",
|
||||
"issue_codes": ["counterparty_value_flow_misrouted_to_company_profit"],
|
||||
"inputs": ["steps/<step_id>/output.md"],
|
||||
"check": {
|
||||
"artifact_path_include_patterns": ["(?i)(s01_svk_money_documents|s01_select_svk_counterparty_money)"],
|
||||
"forbidden_patterns": ["(?i)(сч[её]т\\s*(90|91|99)|90[\\./](01|02|09)|91[\\./]|99\\b|company[- ]level\\s+profit)"]
|
||||
}
|
||||
},
|
||||
"bank_counterparty_boundary_required": {
|
||||
"kind": "answer_text_required_any",
|
||||
"automation_level": "semi_automatic",
|
||||
"description": "Money-leader answers that explicitly mention bank role must include a boundary instead of presenting a bank as an ordinary customer/supplier.",
|
||||
"issue_codes": ["bank_counterparty_misclassified_as_business_partner"],
|
||||
"inputs": ["steps/<step_id>/output.md"],
|
||||
"check": {
|
||||
"artifact_path_include_patterns": ["(?i)s02_colloquial_money_leaders"],
|
||||
"required_patterns_any": ["(?is)(банк|банковск|финансов|не\\s+обычн|роль|назначени[ея]|плат[её]ж)"]
|
||||
}
|
||||
},
|
||||
"route_candidate_needs_enablement": {
|
||||
"kind": "stage_review_signal",
|
||||
"automation_level": "semi_automatic",
|
||||
|
||||
@@ -411,7 +411,11 @@
|
||||
"severity": "P0",
|
||||
"business_meaning": "Контрагентский вопрос про получили/заплатили/нетто отвечен company-level прибылью или 90/91/99 вместо контрагентского денежного потока.",
|
||||
"root_layers": ["followup_action_resolution_gap", "answer_shape_mismatch", "domain_scope_leak"],
|
||||
"detectors": ["counterparty_value_flow_profit_mismatch"],
|
||||
"detectors": [
|
||||
"counterparty_value_flow_required_surface",
|
||||
"counterparty_value_flow_profit_accounts_forbidden",
|
||||
"counterparty_value_flow_profit_mismatch"
|
||||
],
|
||||
"allowed_patch_targets": [
|
||||
"llm_normalizer/backend/src/services/assistantMcpDiscoveryResponseCandidate.ts",
|
||||
"llm_normalizer/backend/src/services/assistantMcpDiscoveryRuntimeBridge.ts",
|
||||
@@ -489,7 +493,10 @@
|
||||
"severity": "P1",
|
||||
"business_meaning": "Банк/финансовая организация ошибочно подана как обычный клиент/поставщик без роли, назначения платежа и договорного контекста.",
|
||||
"root_layers": ["business_semantic_role_gap", "domain_scope"],
|
||||
"detectors": ["bank_counterparty_role_boundary_missing"],
|
||||
"detectors": [
|
||||
"bank_counterparty_boundary_required",
|
||||
"bank_counterparty_role_boundary_missing"
|
||||
],
|
||||
"allowed_patch_targets": [
|
||||
"llm_normalizer/backend/src/services/address_runtime/composeStage.ts",
|
||||
"llm_normalizer/backend/src/services/assistantMcpDiscoveryResponseCandidate.ts",
|
||||
|
||||
Reference in New Issue
Block a user