АРЧ ЮИ - остановка прогона через гуй
This commit is contained in:
+32
@@ -278,6 +278,38 @@ Latest continuity-authority convergence evidence after the current route pass:
|
||||
- this is still not the end of shaping work: heuristic debt shortlists and some residual catalog-style blocks still need the same cleanup;
|
||||
- this pass does not yet finish full single-owner continuity, but it narrows one of the remaining seams where route arbitration and scope memory could disagree about whether the session was still grounded.
|
||||
|
||||
Latest phase12 wider saved-session replay evidence after the current architecture pass:
|
||||
|
||||
- a new live replay `address_truth_harness_phase12_wider_saved_session_pool_live_20260418_rerun3` is accepted end-to-end with `20/20` steps green;
|
||||
- this wider pack now proves one shared assistant session across a longer mixed path:
|
||||
- first-turn smalltalk with proactive company offer;
|
||||
- explicit company fixation;
|
||||
- capability-meta interruption;
|
||||
- inventory roots and historical roots;
|
||||
- selected-object provenance and sale follow-up;
|
||||
- selected-item -> VAT-period bridge;
|
||||
- revenue aggregate pivot;
|
||||
- payables/receivables polarity mirror;
|
||||
- counterparty documents and short-name follow-up;
|
||||
- account-60 tails;
|
||||
- inventory aging and company activity-age;
|
||||
- the replay exposed one real remaining seam before final acceptance:
|
||||
- colloquial smalltalk entry reached the correct `living_chat + proactive_scope_offer` lane, but the first answer still depended on raw LLM preamble and leaked irrelevant generic chat (`Какой сегодня день?`);
|
||||
- the fix was to convert `first-turn smalltalk + proactive organization offer` into a deterministic guarded entry path instead of trusting uncontrolled LLM preamble above the offer;
|
||||
- colloquial living-chat detection is now unicode-safe and no longer depends on Cyrillic `\\b` boundaries that silently fail in JavaScript regex;
|
||||
- this matters architecturally because another formerly ambient monolith behavior is now an explicit runtime contract:
|
||||
- first-turn proactive company entry is controlled by runtime authority, not prompt luck;
|
||||
- the broader saved-session pack now proves that organization authority, continuity carryover, and top-level chat entry survive one longer real-user trajectory rather than only the earlier flagship chains.
|
||||
|
||||
Still open after the accepted phase12 replay:
|
||||
|
||||
- replay breadth is now better than before, but still not yet broad enough to call multi-domain expansion low-risk by default;
|
||||
- the biggest remaining architecture risk is no longer the original continuity collapse, but the unfinished convergence toward one true single-owner session authority across every hot path;
|
||||
- the next execution slice should therefore continue prioritizing:
|
||||
- more saved-session and multi-trajectory replay breadth;
|
||||
- less duplicated state reconstruction in route / transition / living-chat glue;
|
||||
- controlled expansion only after those broader proofs stay green.
|
||||
|
||||
## Next Execution Slice (2026-04-18)
|
||||
|
||||
The project is now moving from:
|
||||
|
||||
@@ -0,0 +1,488 @@
|
||||
{
|
||||
"schema_version": "domain_truth_harness_spec_v1",
|
||||
"scenario_id": "address_truth_harness_phase12_wider_saved_session_pool",
|
||||
"domain": "address_phase12_wider_saved_session_pool",
|
||||
"title": "Phase 12 wider saved-session replay for multi-trajectory organization authority",
|
||||
"description": "Broad AGENT replay built from the repaired manual session contour and extended with explicit company selection. The scenario validates proactive multi-company entry, capability meta honesty, inventory roots and history, selected-object carryover, VAT bridges and period carryover, receivables/payables polarity flip, counterparty document follow-ups, account 60 tails, old-purchase inventory aging, and organization activity age in one long live session.",
|
||||
"bindings": {},
|
||||
"steps": [
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": "2026-04-18",
|
||||
"organization": "ООО Альтернатива Плюс"
|
||||
},
|
||||
"required_direct_answer_patterns_any": [
|
||||
"(?i)на складе|остат",
|
||||
"18\\.04\\.2026"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"inventory_root",
|
||||
"company_authority"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": "2026-04-18"
|
||||
},
|
||||
"required_direct_answer_patterns_any": [
|
||||
"(?i)долг к оплате|обязательств",
|
||||
"18\\.04\\.2026"
|
||||
],
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"settlements_payables",
|
||||
"today_scope"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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)дебитор",
|
||||
"18\\.04\\.2026"
|
||||
],
|
||||
"required_filters": {
|
||||
"as_of_date": "2026-04-18"
|
||||
},
|
||||
"criticality": "critical",
|
||||
"semantic_tags": [
|
||||
"settlements_mirror_followup",
|
||||
"same_date_restore"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user