# Runtime Readiness Matrix V1 (Code Sync) Дата: 2026-04-03 Формат: `scenario -> structural_readiness -> runtime_readiness -> blocker` ## Статусы - `STRUCTURALLY_VISIBLE` - сущность подтверждена в inventory/snapshot. - `LIVE_QUERYABLE` - stable factual path без ограничений (пока практически не используется). - `LIVE_QUERYABLE_WITH_LIMITS` - live path работает, но результат зависит от anchor/period precision и fallback-веток. - `REQUIRES_SPECIALIZED_RECIPE` - нужен отдельный recipe/исполнительный путь. - `DEEP_ONLY` - сценарий вне address V1. - `UNKNOWN` - runtime статус не зафиксирован. ## Матрица (по текущему коду + актуальным run-пакам) | scenario_id | scenario | structural_readiness | runtime_readiness | current_blocker | next_action | |---|---|---|---|---|---| | AQ-P0-01 | list_open_contracts | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | contract candidates зависят от качества movement materialization | усилить contract resolver confidence и стабилизировать non-empty профили | | AQ-P0-02 | list_payables_counterparties | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | broad prompts могут давать sparse/empty | держать curated positive + периодные подсказки | | AQ-P0-03 | list_receivables_counterparties | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | broad prompts могут давать sparse/empty | держать curated positive + периодные подсказки | | AQ-P0-04 | account_balance_snapshot | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | часть кейсов упирается в account-scope/materialization | продолжить account token/shape audit | | AQ-P0-05 | open_items_by_counterparty_or_contract | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | обязателен anchor (`counterparty OR contract`) | донастройка anchor extraction и ambiguity handling | | AQ-P0-06 | list_documents_by_counterparty | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | возможны anchor mismatches и period misses | поддерживать auto-broaden + anchor fallback аудит | | AQ-P0-07 | bank_operations_by_counterparty | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | возможны anchor mismatches и period misses | поддерживать auto-broaden + anchor fallback аудит | | AQ-P0-08 | list_documents_by_contract | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | document-filter может обнулять rows по узкому окну | contract docs fallback + resolver hardening | | AQ-P0-08B | bank_operations_by_contract | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | устойчивость зависит от contract anchor качества | усилить contract normalization и follow-up carryover | | AQ-P0-09 | documents_forming_balance | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | account-family чувствителен к row-shape/materialization | продолжить materialization diagnostics | | AQ-B1-10 | period_coverage_profile | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | новый management intent, еще не закрыт domain-gate Batch-1 | закрыть Phase B/C gate на `Q1..Q7 + Q28` | | AQ-B1-11 | document_type_and_account_section_profile | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | новый management intent, требуется gate-проверка ranking стабильности | закрыть Phase B/C gate на `Q1..Q7 + Q28` | | AQ-B1-12 | counterparty_population_and_roles | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | нужен финальный live-gate по Batch-1 acceptance pack | закрыть Phase C для `Q1..Q7 + Q28` и прогнать global `102 + 25` | | AQ-B2-13 | counterparty_activity_lifecycle | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | lifecycle-сценарии требуют отдельного доменного live-pack (Batch-2) | собрать Batch-2 acceptance и закрыть route gate | | AQ-B1-14 | contract_usage_overview | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | требуется финальный live-gate на all-time/period вариациях | закрыть Phase C для `Q1..Q7 + Q28` | | AQ-B3-15 | customer_revenue_and_payments | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | value-ranking path реализован, но не закрыт Batch-3 live gate | прогнать целевой Batch-3 pack + global regression `102 + 25` | | AQ-B3-16 | supplier_payouts_profile | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | value-ranking path реализован, но не закрыт Batch-3 live gate | прогнать целевой Batch-3 pack + global regression `102 + 25` | | AQ-B3-17 | contract_usage_and_value | STRUCTURALLY_VISIBLE | LIVE_QUERYABLE_WITH_LIMITS | ranking по договорам реализован, требуется live-подтверждение на edge cases | закрыть Batch-3 domain acceptance и comparator к baseline | | AQ-P1-10 | account_turnover_snapshot | STRUCTURALLY_VISIBLE | UNKNOWN | intent/recipe отсутствуют в runtime | планировать как отдельный домен Step-4 | | AQ-P1-11 | list_documents_by_type | STRUCTURALLY_VISIBLE | UNKNOWN | intent/recipe отсутствуют в runtime | планировать как отдельный домен Step-4 | ## Sync Notes (2026-04-03) - В runtime реализованы by-contract intents: - `list_documents_by_contract` - `bank_operations_by_contract` - В runtime реализованы management intents Batch-1: - `period_coverage_profile` - `document_type_and_account_section_profile` - В runtime реализованы management/value intents следующих слоев: - `counterparty_population_and_roles` - `counterparty_activity_lifecycle` - `contract_usage_overview` - `customer_revenue_and_payments` - `supplier_payouts_profile` - `contract_usage_and_value` - Для value-слоя зафиксирован стандарт ранжирования: `top-20` по умолчанию (если пользователь не указал иной лимит). - Добавлена устойчивость к сленгу/опечаткам в intent routing (в т.ч. фразы вида `приходы самые высокие`, `кликентов самый высокий чек`). - Targeted code gate зеленый: - `npm --prefix llm_normalizer/backend test -- addressQueryRuntimeM23.test.ts` -> `186/186`. - `npm --prefix llm_normalizer/backend run build` -> `PASS`. - `COMPOUND_FACTUAL_QUERY` остается detection-only (без multi-intent execution). - Финальные gate-артефакты стабильности: - stress `102/102`: `docs/ADDRESS/runs/2026-04-02_Address_Slang_Live_Stress_2026-04-02_12-57-27/run_summary.json` - follow-up `25/25`: `docs/ADDRESS/runs/2026-04-02_Address_Followup_Context_Chains_2026-04-02_19-15-Run5/run_summary.json`