NODEDC_1C/docs/ADDRESS/address_query/step5_increment_update_2026...

5.7 KiB
Raw Permalink Blame History

Step-5 Increment Update (2026-04-15)

Дата: 2026-04-15
Статус: active
Связанные документы:

  • step5_architecture_ux_quality_plan_v1_2026-04-08.md
  • project_status_rails_graph_2026-04-08.md
  • followup_context_root_pivot_audit_2026-04-15.md

1. Что именно обновлено в runtime

В текущем инкременте зафиксирован bounded fix для cross-domain carryover:

  1. Если пользователь находится внутри inventory drilldown по выбранной позиции,
  2. и следующим коротким сообщением делает pivot в чужой учетный домен,
  3. runtime больше не тянет selected item в новый route,
  4. а сохраняет только root context.

Практически это выражается так:

  • followupSelectionMode = carry_root_context
  • followupContext.root_context_only = true

Сохраняются только root-level поля:

  • organization
  • warehouse
  • as_of_date
  • period_from
  • period_to

Не сохраняются:

  • item
  • object-level previous_intent
  • object-level anchor

2. Почему это решение считается чистым

Это решение не спорит с текущей архитектурой rails, потому что:

  1. не меняет execution semantics existing exact capabilities;
  2. не отключает inventory selected-object carryover внутри inventory domain;
  3. не подменяет root frame object frame-ом и наоборот;
  4. не лечит UX-проблемы через query-level костыли.

То есть это не "новая архитектура", а аккуратный guard на границе между:

  • follow-up orchestration,
  • selected-object navigation,
  • domain pivot policy.

3. Что показал свежий live audit

Разбор прогона из C:\Users\DCTOUCH\Desktop\test.txt подтверждает:

Уже нормально

  1. VAT root route сам по себе работает.
  2. Data-scope вопрос по базе/организации работает.
  3. Multiple-organization clarification в этом сценарии работает корректно.
  4. Inventory selected-object sale trace доходит до exact capability.

Еще не закрыто

  1. Meta follow-up это много или мало? все еще replays предыдущий factual VAT answer.
  2. Новый inventory root-query после VAT все еще несет previous_intent = vat_payable_forecast.
  3. После limited selected-object sale step короткое а купили у кого может выпасть в non_domain_query_indexed.
  4. В extraction все еще возможен мусорный warehouse = "за май".

4. Как интерпретировать эти дефекты

Важно не смешивать разные классы проблем:

A. Route/intent problem

Когда нужный intent вообще не распознан или address lane не запускается.

B. Retrieval/execution problem

Когда route выбран корректно, но retrieval возвращает empty_match / no_raw_rows.

C. Answer-shape problem

Когда данные/intent корректны, но форма ответа не соответствует пользовательскому вопросу.

D. Follow-up continuity problem

Когда новый короткий вопрос не унаследовал допустимый контекст из предыдущего шага.

Свежий прогон содержит все четыре типа, но в разных местах. Это важно для планирования, чтобы не чинить retrieval-пустоту как orchestration-баг и наоборот.

5. Следующий bounded backlog

P0

  1. meta_followup_answer_policy Для evaluative short follow-up поверх VAT/tax factual summary запретить replay полного ответа.

  2. root_domain_pivot_resets_previous_intent Для нового root inventory query после VAT/tax не тянуть previous_intent из чужого домена.

  3. selected_object_continuity_after_limited_result После limited inventory drilldown answer short follow-up должен оставаться в address lane.

P1

  1. invalid_warehouse_anchor_guard Темпоральные куски вроде за май не должны заполнять warehouse.

  2. acceptance_split_for_empty_match В acceptance нужно отдельно учитывать:

    • route matched but empty
    • route not matched
    • follow-up continuity lost

6. Обязательные regression chains

  1. прогноз НДС -> это много или мало?
  2. прогноз НДС -> остаток на складе за май 2020
  3. inventory selected item -> кому продали -> а купили у кого
  4. остаток на складе за май 2020 с проверкой admissibility для warehouse

7. Итог

Состояние на 2026-04-15 выглядит так:

  • bounded root-context-only fix — правильный;
  • inventory rails не надо откатывать;
  • текущие open issues лежат рядом с ним, а не внутри него;
  • дальнейшая работа должна идти через изолированные policy/acceptance fixes, а не через очередной общий rewrite follow-up логики.