NODEDC_1C/docs/ADDRESS/address_query/runtime_readiness_matrix_v1.md

11 KiB
Raw Blame History

Runtime Readiness Matrix V1 (Code Sync)

Дата: 2026-04-13

Формат: 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 open_contracts_confirmed_as_of_date STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS exact core работает; остаточный риск теперь в entity normalization и качестве 76-аналитик усиливать identity quality gates, special/dirty split и executive summary
AQ-P0-01H list_open_contracts (diagnostic) STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS heuristic shortlist пригоден только для диагностики и не должен подменять exact final output держать как diagnostic-only capability и не смешивать с exact-path
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 functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
AQ-B1-11 document_type_and_account_section_profile STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
AQ-B1-12 counterparty_population_and_roles STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
AQ-B2-13 counterparty_activity_lifecycle STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS и использовать Batch-2 как reference-domain для следующей волны
AQ-B1-14 contract_usage_overview STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
AQ-B3-15 customer_revenue_and_payments STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
AQ-B3-16 supplier_payouts_profile STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
AQ-B3-17 contract_usage_and_value STRUCTURALLY_VISIBLE LIVE_QUERYABLE_WITH_LIMITS functional gates закрыты; остаточный риск в operational стабильности auto-nightly/MCP канала держать comparator PASS (R6) и переходить к Batch-2 lifecycle
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-13)

  • В runtime появился отдельный exact intent для открытых договоров:

    • open_contracts_confirmed_as_of_date
    • address_open_contracts_confirmed_as_of_date_v1
  • list_open_contracts сохранен как diagnostic heuristic-layer и больше не считается целевым final route для прямого бизнес-вопроса об открытых договорах.

  • Для open-contracts exact добавлен второй business-layer поверх точного snapshot:

    • net_open_balance
    • gross_open_balance
    • balance_components[]
    • split special_valid vs dirty_unresolved
  • Актуальный targeted code gate:

    • addressQueryRuntimeM23 + assistantLivingRouter + assistantWave17 regression = 367/367 PASS.
  • В 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 run test -- addressQueryRuntimeM23.test.ts assistantAddressFollowupContext.test.ts --testTimeout 30000 -> 223/223.
    • npm --prefix llm_normalizer/backend run build -> PASS.
  • Domain live gates (2026-04-03):

    • Batch-1 pack: docs/ADDRESS/runs/2026-04-03_Address_Domain_General_B1_PhaseC_LiveGate_R3/ -> strict 28/28.
    • Batch-3 pack: docs/ADDRESS/runs/2026-04-03_Address_Domain_General_B3_Value_LiveGate_R2/ -> strict 33/33.
  • Global nightly regression после фиксов:

    • docs/ADDRESS/runs/2026-04-03_Address_Nightly_Regression_Post_AnchorHardening_R6/nightly_summary.json -> overall_ok=true (stress_102: 102/102, followup_25: 25/25, comparator PASS).
  • Operational note (2026-04-08):

    • авто-запуск nightly из Task Scheduler дал overall_ok=false из-за инфраструктурного MCP fetch failed: fetch failed в части вызовов, не как функциональный откат доменных intent-ов.
    • ручной контрольный nightly (2026-04-08 10:29) показал точечный flake в AQ-P0-07 семействе (S019: materialized_but_not_anchor_matched), при этом followup_25 остался 25/25.
    • повторный контрольный nightly (2026-04-08 10:51) закрыт в PASS: stress_102=102/102, followup_25=25/25, comparator PASS (docs/ADDRESS/runs/2026-04-08_Address_Nightly_Regression_2026-04-08_10-51-20/nightly_summary.json).
  • Batch-2 lifecycle Phase-A probe (2026-04-08):

    • report: docs/ADDRESS/address_query/wave1_batch2_phaseA_probe_report_2026-04-08.md
    • baseline coverage: semantic_match 4/10
    • основные gap-и: Q12/Q13/Q27 -> unsupported, Q26 -> drift в counterparty_population_and_roles, Q31/Q32 -> drift в anchor-required lookup ветки.
  • Batch-2 lifecycle Phase-B resolver hotpass (2026-04-08):

    • report: docs/ADDRESS/address_query/wave1_batch2_phaseB_resolver_hotpass_2026-04-08.md
    • фактический результат: route match 6/6 на Q12/Q13/Q26/Q27/Q31/Q32
    • кодовый gate: addressQueryRuntimeM23.test.ts = 220/220, assistantAddressFollowupContext.test.ts = 3/3, build=PASS.
  • Batch-2 lifecycle Phase-C domain gate (2026-04-08):

    • run: docs/ADDRESS/runs/2026-04-08_Address_Batch2_Lifecycle_FullGate_PhaseC_PostFix2/
    • фактический результат: strict 36/36, false_factual_rate=0, execution_error_rate=0.
  • Global non-regression после Phase-C (2026-04-08):

    • run: docs/ADDRESS/runs/2026-04-08_Address_Nightly_Regression_2026-04-08_13-19-24/nightly_summary.json
    • фактический результат: stress_102=102/102, followup_25=25/25, comparator 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