Files
clickstream-data-platform/Makefile
T
ddadminandClaude Opus 5 2890c7f9fb feat(generator): каркас проекта и контракт схемы события
- Зачем:
  - этап 2 начинается с формы: контракт схемы — источник истины и для
    генерации событий, и для DDL хранилища, а имена пакета и модулей
    задают границы всем следующим тикетам этапа.
- Что:
  - заведён uv-проект generator/ (pyproject.toml и uv.lock в git; numpy,
    pytest и ruff), пакет clickstream_generator.
  - schema.py — контракт: чистые данные о 47 колонках выгрузки (имя
    Метрики, тип ClickHouse, тип numpy, имя для DDS, группа); порядок
    несёт сам кортеж COLUMNS, отдельного поля с номером нет намеренно.
  - schema_doc.py собирает из контракта описание выгрузки
    docs/formats/clickstream-event.md — по нему пишется сторона
    хранилища; документ руками не правится.
  - тесты: инварианты контракта (состав, уникальность, заполненность,
    согласие типов и порядок групп) и свежесть описания выгрузки.
  - цели make lint, make test и make docs; README, AGENTS.md и
    CONTEXT.md дополнены генератором, форматами и словарной статьёй.
- Проверка:
  - make test (248 тестов), make lint, make config-test;
  - make docs, затем git diff --exit-code docs/ — пусто.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 22:22:14 +03:00

43 lines
849 B
Makefile

COMPOSE ?= docker compose
.PHONY: up down clean ps logs config-test lint test docs smoke smoke-cluster smoke-guards
up:
$(COMPOSE) up --detach --build --wait --wait-timeout 600
down:
$(COMPOSE) down --remove-orphans
clean:
$(COMPOSE) down --volumes --remove-orphans
ps:
$(COMPOSE) ps
logs:
$(COMPOSE) logs --follow
config-test:
COMPOSE_BIN="$(COMPOSE)" ./scripts/config-test.sh
./tests/stand-smoke-static.sh
lint:
cd generator && uv run ruff check && uv run ruff format --check
test:
cd generator && uv run pytest
docs:
cd generator && uv run python -m clickstream_generator.schema_doc \
../docs/formats/clickstream-event.md
smoke:
COMPOSE_BIN="$(COMPOSE)" ./scripts/stand-smoke.sh
smoke-cluster:
./scripts/clickhouse-smoke.sh
smoke-guards:
./tests/smoke-guards.sh
COMPOSE_BIN="$(COMPOSE)" ./tests/stand-smoke-guards.sh