From f45ad53b7f4999fd18e609c5b70b79e54218ebdb Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Tue, 25 Aug 2026 11:58:54 -0400 Subject: [PATCH] =?UTF-8?q?docs(dq):=20classes=5Fvs=5Finventory=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B0=20=D1=82=D0=B5=D1=85=D0=BD?= =?UTF-8?q?=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=BE=D0=B9=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - сверка с описью подглядывает внутрь генератора: у настоящего магазина такого оракула нет, и выдавать её за учебный урок DQ нельзя (развилка из комментария к #157). - Что: - в dm.md проверка счётчиков классов помечена технической, её обещание сужено честно: до витрин доехал рождённый мир; верно ли мир рождён, проверка не видит — опись считает тот же генератор. - в §8 мастер-спеки читатель счётчиков «самопроверка лабы сверки» заменён на техническую проверку classes_vs_inventory звена DQ. - словарь: короткий термин «Техническая проверка» в CONTEXT.md — только язык, решение живёт в dm.md; та же формулировка читателя в inventory.md. - Проверка: - grep -rn "лабы сверки" docs/ — упоминаний не осталось. Co-Authored-By: Claude Fable 5 --- CONTEXT.md | 5 +++++ docs/architecture/dm.md | 6 +++++- docs/architecture/orders/inventory.md | 2 +- docs/specs/2026-07-30-stand-v2-realism.md | 7 ++++--- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CONTEXT.md b/CONTEXT.md index fd73d35..b7135b1 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -209,3 +209,8 @@ _Избегать_: описание схемы, документация кон потоковый приём событий. _Избегать_: путать с приёмником и пакетным режимом — те про сторону генератора, про отправку; забор — про сторону хранилища, про чтение. + +**Техническая проверка**: +Проверка, чей оракул — внутренний эталон стенда (опись мира), которого у +настоящего магазина нет. За учебный урок DQ не выдаётся. +_Избегать_: DQ-проверка — та работает на наблюдаемых данных магазина. diff --git a/docs/architecture/dm.md b/docs/architecture/dm.md index 7371074..1e96218 100644 --- a/docs/architecture/dm.md +++ b/docs/architecture/dm.md @@ -87,7 +87,11 @@ Airflow. Партиция — день данных; прогон звена DQ - счётная сверка сессий с эталоном `VisitID` — кука × день, эталон читается из `ods.event_v` ([модель сессии](dds/session.md)); - счётчики классов расхождений против описи мира — по дням с закрытым - окном; + окном. Проверка техническая, не урок DQ: её оракул — опись генератора, + а у настоящего магазина оракула нет. Обещание узкое и честное: до + витрин доехал тот мир, который родился, — одна растяжка через весь + путь вместо сторожей на каждом шаге. Верно ли сам мир рождён, она + не видит: опись считает тот же генератор; - счётные сверки витрин стенда с их DDS-источниками. Результаты ложатся в `dm.dq_summary`. Звено — не только сторож конвейера, diff --git a/docs/architecture/orders/inventory.md b/docs/architecture/orders/inventory.md index 7c4d95d..6362a66 100644 --- a/docs/architecture/orders/inventory.md +++ b/docs/architecture/orders/inventory.md @@ -19,7 +19,7 @@ итоговой судьбе заказов дня. В строке закрытого дня поле `orders` хранит число заказов каждого класса; пока окно открыто, поля нет. При N сыгранных днях закрыты N − 7 (день d закрывается слепком d + 6, а последний - отправленный слепок несёт день N − 2). Для этих счётчиков запланирована + отправленный слепок несёт день N − 2). Их читатель — техническая проверка `classes_vs_inventory` из DQ-звена этапа 4. - **Контрольные числа идентичности не заводятся вовсе**: uniq известных пользователей и число двухкуковых пар растут, пока мир едет, — опоры из них diff --git a/docs/specs/2026-07-30-stand-v2-realism.md b/docs/specs/2026-07-30-stand-v2-realism.md index c55762b..e9e2fdf 100644 --- a/docs/specs/2026-07-30-stand-v2-realism.md +++ b/docs/specs/2026-07-30-stand-v2-realism.md @@ -537,9 +537,10 @@ Kafka день переигрывается генератором заново: «слепок переснимается и даёт те же байты» опись сторожит наравне с днями; - заказная сторона: счётчики наблюдаемых классов расхождений после приоритета; каждый показывает число заказов и хранится только для дня с - закрытым окном (самопроверка лабы сверки; при N сыгранных днях таких дней - N − 7). Отдельных полей для общего числа заказов и выручки в описи пока - нет: для них не назван читатель; + закрытым окном (читатель — техническая проверка `classes_vs_inventory` + звена DQ; при N сыгранных днях таких дней N − 7). Отдельных полей для + общего числа заказов и выручки в описи пока нет: для них не назван + читатель; - контрольные числа идентичности не заводятся: uniq известных пользователей и число двухкуковых покупателей растут, пока мир едет, а счётчик без названного читателя в опись не кладётся