# Runtime Readiness Matrix V1 (M2.3b) Дата: 2026-03-29 Формат: `scenario -> structural_readiness -> runtime_readiness -> blocker` ## Статусы - `STRUCTURALLY_VISIBLE` - сущность подтверждена в snapshot/inventory. - `LIVE_QUERYABLE` - в текущем live path можно дать factual без натяжек. - `LIVE_QUERYABLE_WITH_LIMITS` - live path работает, но часто нужен дополнительный anchor. - `REQUIRES_SPECIALIZED_RECIPE` - базовый movement recipe недостаточен для materialization. - `DEEP_ONLY` - сценарий не относится к address V1. ## Матрица (P0/P1) | scenario_id | scenario | structural_readiness | runtime_readiness | current_blocker | next_action | |---|---|---|---|---|---| | AQ-P0-01 | list_open_contracts | STRUCTURALLY_VISIBLE | REQUIRES_SPECIALIZED_RECIPE | weak contract anchors in movement rows | добавить object-aware recipe (`documents/contracts`) | | AQ-P0-02 | list_payables_counterparties | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | empty matches on narrow filters | расширить live evidence pack по контрагентам | | AQ-P0-03 | list_receivables_counterparties | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | empty matches on narrow filters | улучшить фильтрацию и fallback hints | | AQ-P0-04 | account_balance_snapshot | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | dry-run frequently returns `empty_match` on broad `today` filters | lock data-aware positive account/date fixtures | | AQ-P0-05 | open_items_by_counterparty_or_contract (counterparty) | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | missing counterparty anchor in short phrases | усилить anchor-first extraction | | AQ-P0-06 | open_items_by_counterparty_or_contract (contract) | STRUCTURALLY_VISIBLE | REQUIRES_SPECIALIZED_RECIPE | movement rows often miss contract linkage | двухшаговый path: anchor resolution -> focused recipe | | AQ-P0-07 | documents_by_counterparty | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | implemented path, but dry-run still often `empty_match` on current anchors/period | expand data-aware positive fixtures and improve resolver targeting | | AQ-P0-07B | bank_operations_by_counterparty | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | implemented path, but dry-run still often `empty_match` on current anchors/period | expand data-aware positive fixtures and tighten bank-doc targeting | | AQ-P0-08 | documents_by_contract | STRUCTURALLY_VISIBLE | REQUIRES_SPECIALIZED_RECIPE | by-contract live recipe not implemented in runtime V1 | add contract-aware document-list recipe with resolver confidence gate | | AQ-P0-09 | documents_forming_balance | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | implemented, but stage diagnostic shows loss before materialization | diagnose and tune account-scope filtering for live recipes | | AQ-P1-10 | account_turnover_snapshot | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | not in current intent set | расширение intents V1.1 | ## Примечание Матрица разделяет "видимость сущности в inventory" и "операционную готовность live-runtime". Это обязательная опора для приоритезации Sprint B, чтобы не путать structural coverage и runtime proofability. ### Sync note (M2.3b -> live dry-run) `account_balance_snapshot` intentionally remains `LIVE_QUERYABLE_WITH_LIMITS`. Reason: dry-run still shows repeatable `empty_match` on broad `as_of=today` prompts. Promote to `LIVE_QUERYABLE` only after data-aware positive live cases are stable. `documents_forming_balance` is implemented with strict account-scope path. Validation should be based on data-aware acceptance suite, not only safety dry-run. Stage-diagnostic replay (M2.3b) shows split-stage behavior: `D1-D3`: `raw_rows_received > 0` with `rows_after_account_scope = 0` (strict account intents). `D4-D5`: `rows_after_account_scope > 0` and `rows_materialized > 0`, but `rows_after_recipe_filter = 0` (preferred mode progressed to matching stage). Current bottleneck moved forward for non-account intents: resolver/filter matching after materialization. `COMPOUND_FACTUAL_QUERY` currently remains detection-only. Multi-intent decomposition execution is not part of M2.3b and tracked for next increment.