ТЗ ступени 6 «Разбери сырые события и сверь результат со стендом» #240

Closed
opened 2026-09-06 23:47:51 +03:00 by ddmitry · 2 comments
Owner

Part of #206

Цель

Подготовить ТЗ ступени 6 «Разбери сырые события и сверь результат со стендом».
Учащийся пакетно разбирает ограниченный срез событий из STG в свою таблицу и
сверяет результат с нетронутым стендовым ODS. Учебный результат — увидеть
разбор потока отдельно от живого приема, научиться читать строгий договор
входа и пользоваться стендовым разбором как образцом для проверки.

Критерии приемки

  • Описан малый повторяемый срез STG, ограниченный сроком хранения сырых
    данных и отбираемый по координатам загрузки; указано, что матвью разбора
    остаются несущей частью стенда и пересоздавать их нельзя.
  • Учащийся создает собственную таблицу годных событий и явно описывает
    строгий прием: объект JSON, точный набор ключей и разбор пяти опорных
    полей; грязная строка не должна молча исчезнуть.
  • Описана построчная сверка своей таблицы со свежим ods.event_v на
    одном зерне по всем 47 полям события, с учетом повторов и того, что
    ods.event_v читает актуальное состояние через FINAL.
  • Границы оракула названы честно: стендовый ODS — образец для сравнения,
    а не независимая истина; неопорные поля нельзя подтвердить другим
    источником, а истекшие по TTL сырые строки проверить уже нельзя.
  • Даны шаги расследования расхождения: отделить пропавшую, лишнюю и
    измененную строку, посмотреть исходный raw, класс ошибки и координаты
    доставки, не трогая прикладные таблицы стенда.
  • В ТЗ есть критерии приемки собственной таблицы, команды проверки и
    адресная уборка только своих объектов и срезов; после задания стенд
    возвращается в исходное состояние.
  • В индекс docs/labs/README.md добавлена ссылка на новое ТЗ ступени 6;
    локальные ссылки и формулировки проверены.
  • Текст прошел writing-for-agents, ai-text-lint и литературную
    вычитку русского языка.

Границы

Меняются только docs/labs/6-1-event-parsing.md и ссылка на него в
docs/labs/README.md. Если индексу программы понадобится уточняющая строка о
статусе ступени 6, изменение ограничивается этой строкой в
docs/specs/2026-09-01-labs-program.md.

Не меняются runtime, исходный парсер, матвью, DDL стенда, даги, Kafka, службы,
ods.event_v, постоянные данные и общая инфраструктура. ТЗ не содержит
готового учебного SQL: оно задает договоры, наблюдаемый результат и порядок
проверки, чтобы учащийся написал разбор сам.

Сначала прочитать

  • docs/specs/2026-09-01-labs-program.md, раздел «Ступень 6» и общее правило
    вычитания.
  • docs/architecture/storage.md, разделы о STG, ODS, строгом приеме,
    шардировании и сроке жизни сырых данных.
  • sql/ddl/20-ods-tables.sql и sql/ddl/30-ods-views.sql — состав события,
    договор матвью и таблицы ошибок.
  • docs/labs/5-3-order-pipeline.md — форма задания с чистой точкой
    остановки и адресной проверкой.
  • AGENTS.md и docs/architecture/testing.md.

Проверка

Проверить локальные ссылки, git diff --check и соответствие ТЗ договору
стенда по коду и документации. Общий стенд не пересоздавать и не очищать.

Part of #206 ## Цель Подготовить ТЗ ступени 6 «Разбери сырые события и сверь результат со стендом». Учащийся пакетно разбирает ограниченный срез событий из STG в свою таблицу и сверяет результат с нетронутым стендовым ODS. Учебный результат — увидеть разбор потока отдельно от живого приема, научиться читать строгий договор входа и пользоваться стендовым разбором как образцом для проверки. ## Критерии приемки - [x] Описан малый повторяемый срез STG, ограниченный сроком хранения сырых данных и отбираемый по координатам загрузки; указано, что матвью разбора остаются несущей частью стенда и пересоздавать их нельзя. - [x] Учащийся создает собственную таблицу годных событий и явно описывает строгий прием: объект JSON, точный набор ключей и разбор пяти опорных полей; грязная строка не должна молча исчезнуть. - [x] Описана построчная сверка своей таблицы со свежим `ods.event_v` на одном зерне по всем 47 полям события, с учетом повторов и того, что `ods.event_v` читает актуальное состояние через `FINAL`. - [x] Границы оракула названы честно: стендовый ODS — образец для сравнения, а не независимая истина; неопорные поля нельзя подтвердить другим источником, а истекшие по TTL сырые строки проверить уже нельзя. - [x] Даны шаги расследования расхождения: отделить пропавшую, лишнюю и измененную строку, посмотреть исходный `raw`, класс ошибки и координаты доставки, не трогая прикладные таблицы стенда. - [x] В ТЗ есть критерии приемки собственной таблицы, команды проверки и адресная уборка только своих объектов и срезов; после задания стенд возвращается в исходное состояние. - [x] В индекс `docs/labs/README.md` добавлена ссылка на новое ТЗ ступени 6; локальные ссылки и формулировки проверены. - [x] Текст прошел `writing-for-agents`, `ai-text-lint` и литературную вычитку русского языка. ## Границы Меняются только `docs/labs/6-1-event-parsing.md` и ссылка на него в `docs/labs/README.md`. Если индексу программы понадобится уточняющая строка о статусе ступени 6, изменение ограничивается этой строкой в `docs/specs/2026-09-01-labs-program.md`. Не меняются runtime, исходный парсер, матвью, DDL стенда, даги, Kafka, службы, `ods.event_v`, постоянные данные и общая инфраструктура. ТЗ не содержит готового учебного SQL: оно задает договоры, наблюдаемый результат и порядок проверки, чтобы учащийся написал разбор сам. ## Сначала прочитать - `docs/specs/2026-09-01-labs-program.md`, раздел «Ступень 6» и общее правило вычитания. - `docs/architecture/storage.md`, разделы о STG, ODS, строгом приеме, шардировании и сроке жизни сырых данных. - `sql/ddl/20-ods-tables.sql` и `sql/ddl/30-ods-views.sql` — состав события, договор матвью и таблицы ошибок. - `docs/labs/5-3-order-pipeline.md` — форма задания с чистой точкой остановки и адресной проверкой. - `AGENTS.md` и `docs/architecture/testing.md`. ## Проверка Проверить локальные ссылки, `git diff --check` и соответствие ТЗ договору стенда по коду и документации. Общий стенд не пересоздавать и не очищать.
ddmitry added the ready-for-agentwayfinder:task labels 2026-09-06 23:47:51 +03:00
ddmitry self-assigned this 2026-09-06 23:47:51 +03:00
Author
Owner

Подготовлен PR «ТЗ ступени 6: разбор сырых событий», коммит 7918eee. Добавлены задание и ссылка в индексе: собственный пакетный разбор, независимый отбор эталона ODS и сверка всех 47 полей.

Проверены локальные ссылки, git diff --check, договоры STG/ODS и права etl. Готовый запрос выбора среза успешно выполнен на стенде; за последние полчаса свежих строк не было. Полный учебный опыт не выполнялся, данные и службы не менялись.

Opus одобрил финальную версию: пять замечаний исправлены и перепроверены, границы задания сохранены. Текст прошел writing-for-agents, ai-text-lint, литературную вычитку и проход на вычитание.

PR готов к просмотру. Критерии выполнены; задача закроется при слиянии PR, пункт карты до слияния остается открытым.

Подготовлен [PR «ТЗ ступени 6: разбор сырых событий»](https://git.dementev.space/ddmitry/clickstream-data-platform/pulls/241), коммит `7918eee`. Добавлены задание и ссылка в индексе: собственный пакетный разбор, независимый отбор эталона ODS и сверка всех 47 полей. Проверены локальные ссылки, `git diff --check`, договоры STG/ODS и права `etl`. Готовый запрос выбора среза успешно выполнен на стенде; за последние полчаса свежих строк не было. Полный учебный опыт не выполнялся, данные и службы не менялись. Opus одобрил финальную версию: пять замечаний исправлены и перепроверены, границы задания сохранены. Текст прошел `writing-for-agents`, `ai-text-lint`, литературную вычитку и проход на вычитание. PR готов к просмотру. Критерии выполнены; задача закроется при слиянии PR, пункт карты до слияния остается открытым.
Author
Owner

Редакторское продолжение после отзыва Fable: в PR #241 добавлен отдельный коммит 6e4680d; актуальный файл docs/labs/6-1-event-parsing.md имеет SHA256 b1893cea6d7e06ffa52f63d0a629d2408a1de6d0bb651a7a05af70a2cad15587. Последнюю прозу проверили координатор и Sol.

В ТЗ оставлена свобода выбрать форму разбора, убраны подсказки с Nullable и готовой схемой 0/1, уточнены пакетная обработка и баланс годных строк, разведены world_live и ручной world_live_day, убрана лишняя персонификация. Граница задания и второй файл PR сохранены.

Предыдущее одобрение Opus относится к версии до этой редакторской правки; новый прогон Opus не заявляется и не требовался. PR остается открытым, задача и пункт карты ждут слияния.

Редакторское продолжение после отзыва Fable: в PR #241 добавлен отдельный коммит `6e4680d`; актуальный файл `docs/labs/6-1-event-parsing.md` имеет SHA256 `b1893cea6d7e06ffa52f63d0a629d2408a1de6d0bb651a7a05af70a2cad15587`. Последнюю прозу проверили координатор и Sol. В ТЗ оставлена свобода выбрать форму разбора, убраны подсказки с Nullable и готовой схемой 0/1, уточнены пакетная обработка и баланс годных строк, разведены `world_live` и ручной `world_live_day`, убрана лишняя персонификация. Граница задания и второй файл PR сохранены. Предыдущее одобрение Opus относится к версии до этой редакторской правки; новый прогон Opus не заявляется и не требовался. PR остается открытым, задача и пункт карты ждут слияния.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ddmitry/clickstream-data-platform#240