Опись мира: счётчики классов A и C #160

Merged
ddmitry merged 2 commits from 157-inventory-class-counters into main 2026-08-25 20:13:40 +03:00
Owner

Зачем

Описи мира нужны контрольные числа классов заказов для дней, чьё окно изменений уже закрыто. Они дают техническую сквозную проверку: до витрин должен доехать тот мир, который родил генератор. Правильность самого мира эта проверка не доказывает — опись считает тот же генератор.

Что

  • В опись добавлены счётчики match, cancelled и amount_delta с приоритетом отмены.
  • Счётчики записываются только для закрытых дней; существующие хеши мира не изменены.
  • Тесты закрепляют границу N − 7, словарь классов и полноту разбиения заказов.
  • Документация отделяет техническую classes_vs_inventory от учебной DQ-самопроверки.

Проверка

  • cd generator && make lint
  • cd generator && make typecheck
  • cd generator && make test — 429 тестов
  • После финальной правки теста: uv run pytest tests/test_inventory.py -q — 3 теста
  • git diff --check origin/main...HEAD

Closes #157

## Зачем Описи мира нужны контрольные числа классов заказов для дней, чьё окно изменений уже закрыто. Они дают техническую сквозную проверку: до витрин должен доехать тот мир, который родил генератор. Правильность самого мира эта проверка не доказывает — опись считает тот же генератор. ## Что - В опись добавлены счётчики `match`, `cancelled` и `amount_delta` с приоритетом отмены. - Счётчики записываются только для закрытых дней; существующие хеши мира не изменены. - Тесты закрепляют границу N − 7, словарь классов и полноту разбиения заказов. - Документация отделяет техническую `classes_vs_inventory` от учебной DQ-самопроверки. ## Проверка - `cd generator && make lint` - `cd generator && make typecheck` - `cd generator && make test` — 429 тестов - После финальной правки теста: `uv run pytest tests/test_inventory.py -q` — 3 теста - `git diff --check origin/main...HEAD` Closes #157
ddmitry added 2 commits 2026-08-25 20:13:20 +03:00
Зачем:
- дать описи контрольные числа для закрытых дней заказного окна;
- зафиксировать словарь наблюдаемых классов без изменения самого мира.

Что:
- посчитаны match, cancelled и amount_delta с приоритетом отмены;
- счётчики добавлены только к дням с закрытым окном;
- опись, тесты и документация приведены к новому формату.

Проверка:
- make lint;
- make typecheck;
- make test — 429 passed;
- uv run pytest tests/test_inventory.py -q — 3 passed после ревью.
- Зачем:
  - сверка с описью подглядывает внутрь генератора: у настоящего магазина
    такого оракула нет, и выдавать её за учебный урок DQ нельзя (развилка
    из комментария к #157).
- Что:
  - в dm.md проверка счётчиков классов помечена технической, её обещание
    сужено честно: до витрин доехал рождённый мир; верно ли мир рождён,
    проверка не видит — опись считает тот же генератор.
  - в §8 мастер-спеки читатель счётчиков «самопроверка лабы сверки»
    заменён на техническую проверку classes_vs_inventory звена DQ.
  - словарь: короткий термин «Техническая проверка» в CONTEXT.md — только
    язык, решение живёт в dm.md; та же формулировка читателя в inventory.md.
- Проверка:
  - grep -rn "лабы сверки" docs/ — упоминаний не осталось.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ddmitry merged commit 4ea9591a16 into main 2026-08-25 20:13:40 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ddmitry/clickstream-data-platform#160