Архитектура: централизовать root-frame-aware carryover filters в continuity policy и transition glue

This commit is contained in:
2026-04-19 09:13:09 +03:00
parent a71e1352be
commit c9730c986a
7 changed files with 195 additions and 5 deletions
@@ -415,6 +415,13 @@ Still open after the accepted phase12 replay:
- this matters because follow-up carryover in the top-level service now reads the same root-frame authority that already owns `root_filters / root_anchor / current_frame_kind`, instead of keeping a service-local fallback that could silently prefer drilldown `extracted_filters` over the real `address_root_frame_context`;
- targeted `assistantAddressFollowupContext` and `addressInventoryRootFrameRegression` suites are green after the move, including a new regression that explicitly proves `root_filters` come from `address_root_frame_context.root_filters` rather than from stale drilldown `extracted_filters`;
- this pass strengthens continuity convergence in the top-level orchestration glue without introducing a new case-specific branch.
- the next continuity-authority pass now removes one more duplicate carryover owner from `assistantTransitionPolicy`:
- transition no longer seeds `previous_filters` from raw `previousAddressDebug.extracted_filters` as an isolated local truth source;
- shared continuity now owns that merge through `resolveAddressDebugCarryoverFilters(...)`, which overlays inventory `address_root_frame_context.root_filters` onto stale drilldown filters before the follow-up policy starts composing pivots;
- this matters because the top-level transition glue can now inherit the same root-frame date and warehouse authority that already exists in continuity, instead of silently carrying a stale drilldown `as_of_date` into `root_context_only` pivots;
- targeted `assistantContinuityPolicy` and `assistantTransitionPolicy` suites are green after the move, including explicit regression coverage for `inventory_purchase_documents_for_item -> inventory_on_hand_as_of_date` carryover where `root_filters` must override a stale drilldown date;
- this pass reduces one more hidden state-reconstruction fork between the continuity layer and transition glue without introducing case-specific routing;
- a fresh live rerun of `address_truth_harness_phase12_wider_saved_session_pool` on `2026-04-19` stayed semantically clean on the repaired carryover path and failed only on the already-known time-unstable `today` expectations (`2026-04-18` vs `2026-04-19`) in `inventory_root_today`, `payables_today`, and `receivables_mirror_today`.
## Next Execution Slice (2026-04-18)