ЮИ - Автопрогоны: доработать иконки и hover-состояния saved sessions
This commit is contained in:
+22
@@ -138,6 +138,8 @@ Completed in the current working pass:
|
||||
- counterparty document root wording is now recovered through unicode-safe exact signals instead of depending on mojibake-sensitive legacy phrases;
|
||||
- declined Russian account wording like `по счёту 60` now restores account scope inside polarity/runtime guards instead of collapsing into `other_numeric`;
|
||||
- exact address intents can now stay in the address lane even if the semantic guard overflags deep investigation without an actual investigative user request;
|
||||
- selected-object inventory follow-ups can now override a stale stock root intent when the semantic contract already marks `selected_object_scope_detected`, including exact user wording like `по выбранному объекту ... где взяли это`;
|
||||
- explicit capability-meta wording for `дельта по договорам` now keeps the asked capability in the user-facing answer instead of collapsing into the generic `что ты умеешь` catalog reply.
|
||||
- live replay `address_truth_harness_phase7_meta_domain_mix_live_20260417_post_arch_fix_rerun2` is accepted end-to-end with `14/14` steps green, including the previously broken `step_01_counterparty_documents` and `step_04_open_items_account_60`.
|
||||
|
||||
Still open after this pass:
|
||||
@@ -211,6 +213,26 @@ Still open after the accepted phase10 replay:
|
||||
- the user-facing VAT explanation block is now correct and grounded, but some long exact answers still feel heavier than the target human product tone;
|
||||
- the next architecture slice should keep moving from repaired bridge authority into answer-shaping cleanup and broader saved-session replay coverage, not back into isolated wording tweaks.
|
||||
|
||||
Latest phase11 manual follow-up/meta-quality evidence after the current hardening loop:
|
||||
|
||||
- live replay `address_truth_harness_phase11_manual_followup_meta_quality_live_20260418_rerun6` is accepted end-to-end with `10/10` steps green;
|
||||
- the previously broken `ты умеешь считать дельту по договорам?` branch is now protected by an explicit authority rule:
|
||||
- raw capability-meta intent outranks canonical predecompose rewrites that look like address retrieval;
|
||||
- stale VAT follow-up continuity no longer wins over a fresh capability/meta question in the same session;
|
||||
- the previously broken short counterparty retarget `а по свк` is now clean on the real assistant path:
|
||||
- the display label uses the most specific confirmed counterparty name instead of a generic group fallback or a stale carryover anchor;
|
||||
- short uppercase Cyrillic acronyms like `СВК` no longer get stripped by the user-facing sanitizer as false mojibake;
|
||||
- the replay acceptance rule now targets the real regression (`Контрагент: Группа Найдено ...`) instead of incorrectly rejecting valid names like `Контрагент: Группа СВК.`;
|
||||
- this phase matters architecturally because it closes two different seam classes at once:
|
||||
- `meta authority vs stale follow-up authority`;
|
||||
- `resolved business label vs boundary sanitization noise`.
|
||||
|
||||
Still open after the accepted phase11 replay:
|
||||
|
||||
- the current phase11 path is now semantically clean, but broader manual/user session packs still need to be replayed before expansion can be called low-risk across new domains;
|
||||
- answer shaping on some long exact list answers is still heavier than the target human product feel, even though the truth path and routing are now correct;
|
||||
- the next architecture slice should move to wider saved-session acceptance coverage and humanized exact-answer presentation, not back to isolated prompt-level repairs.
|
||||
|
||||
## Ready Signal
|
||||
|
||||
The project can leave the current breakpoint when:
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
{
|
||||
"schema_version": "domain_truth_harness_spec_v1",
|
||||
"scenario_id": "address_truth_harness_phase11_manual_followup_meta_quality",
|
||||
"domain": "address_phase11_manual_followup_meta_quality",
|
||||
"title": "Phase 11 manual follow-up and meta-quality replay for orchestration recovery",
|
||||
"description": "Focused AGENT replay rebuilt in clean UTF-8 from the manual saved session assistant-stage1-C_LvgkpSFm. The scenario validates the real remaining seams: human capability-meta answers, historical inventory root continuity, selected-object provenance, VAT bridge from purchase date after a verification interrupt, colloquial VAT wording, capability-meta versus stale VAT follow-up, and short counterparty retarget display integrity.",
|
||||
"bindings": {},
|
||||
"steps": [
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user