- Зачем:
- справочники читает человек со стороны, а «пульт мира», «опись мира»,
«работник» и «сырьё» звучали шуткой или калькой времён разработки
(тикет #214, выбор владельца).
- Что:
- CONTEXT.md: статьи «Паспорт мира», «Даги модельного времени»,
«Шаговый даг», «Сырые данные», старые слова в строках «Избегать»;
пометки в ADR 0005, 0008, 0009 без переписывания решений.
- замены по README, справочникам, путеводителю, лабам, спекам,
комментариям дагов и SQL, тегу дага и панели Grafana; имена в коде
не тронуты.
- world.md и stand.md: 35 находок вычитки внесены, регистр выровнен.
- Проверка:
- make config-test; make lint в корне и в generator/; make test в
generator/ (437 passed); скрипт ссылок из #212 пуст; grep старых
слов вне ADR, research и CONTEXT.md пуст.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QBCtU38qSHg5DvgtnKXcW
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""Запускаемый путеводитель остается коротким и проходит всю цепочку."""
|
|
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
|
|
def test_demo_runs_and_shows_the_whole_chain() -> None:
|
|
"""Сторожит команду и стадии, а проверку чисел мира оставляет паспорту."""
|
|
finished = subprocess.run(
|
|
["make", "--silent", "demo"],
|
|
check=False,
|
|
capture_output=True,
|
|
cwd=Path(__file__).parents[1],
|
|
text=True,
|
|
)
|
|
|
|
assert finished.returncode == 0, finished.stderr
|
|
lines = finished.stdout.splitlines()
|
|
assert [line.partition(":")[0] for line in lines] == [
|
|
"Зерно",
|
|
"Подпотоки D0",
|
|
"Когорта D0",
|
|
"Аудитория D0",
|
|
"Визиты по VisitID",
|
|
"Строки событий",
|
|
]
|
|
assert "когорты D-" in lines[3] and "...D0" in lines[3]
|
|
assert "строк в группе" in lines[4]
|
|
assert all(
|
|
label in lines[5]
|
|
for label in ("pageview", "add_to_cart", "purchase", "заказов")
|
|
)
|