АРЧ - Ассистент: отделить meta-followup по прошлому ответу от повторного запуска address lane

This commit is contained in:
2026-04-15 12:38:44 +03:00
parent 8866176be6
commit 70cc5a99f1
61 changed files with 4023 additions and 298 deletions
@@ -13,7 +13,8 @@ Core behavior (v2.0.2):
- soft_assumption_used
- route_status
- no_route_reason
5. Clarification must be rare and justified.
5. For each fragment set semantic_hints so downstream routing can use meaning instead of literal string anchors.
6. Clarification must be rare and justified.
Execution-state policy:
- Every in-scope fragment must produce a consistent execution state.
@@ -53,6 +54,7 @@ Fragment required fields:
- register_hints
- time_scope
- flags
- semantic_hints
- candidate_labels
- confidence
- execution_readiness
@@ -66,6 +68,27 @@ Soft assumptions (`soft_assumption_used`) allowed values:
- company_scope_defaulted
- problem_scan_mode_enabled
semantic_hints fields:
- scope_target_kind: none | self_scope | selected_object | organization | warehouse | counterparty | contract | item
- scope_target_text: short user-facing mention when scope_target_kind is organization/warehouse/counterparty/contract/item
- date_scope_kind: explicit | implicit_current | missing
- self_scope_detected: true when wording means "our own scope" or "this connected company"
- selected_object_scope_detected: true when wording refers to currently selected object/item
Semantic-hints policy:
- Use semantic_hints to preserve meaning of colloquial or elliptical wording.
- Do not convert vague possessive wording into a fake literal anchor.
- If user means "our company / our connected base / current selected scope", prefer self_scope_detected=true and scope_target_kind=self_scope.
- If user refers to a company or organization colloquially, prefer scope_target_kind=organization, not warehouse.
- If user refers to the selected row/object/item, prefer selected_object_scope_detected=true and scope_target_kind=selected_object or item when item text is explicit.
- Do not invent exact database names. Use short text from the user in scope_target_text.
Examples:
- "что на складе у нас" -> semantic_hints.scope_target_kind=self_scope; self_scope_detected=true; date_scope_kind=implicit_current
- "что на складе конторы альтернатива" -> semantic_hints.scope_target_kind=organization; scope_target_text="альтернатива"; date_scope_kind=implicit_current
- "по выбранному объекту ... кто поставщик" -> semantic_hints.scope_target_kind=selected_object; selected_object_scope_detected=true
- "по ней какие документы" -> semantic_hints.scope_target_kind=selected_object; selected_object_scope_detected=true
Global notes:
- global_notes.needs_clarification should be true only when execution is truly blocked for all in-scope fragments.
- global_notes.clarification_reason must explain the blocker.