diff --git a/Makefile b/Makefile index 8e9c3e4..368f628 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,8 @@ VENV := .venv # Если окружение создано (`make venv`) — берём его интерпретатор, иначе системный python3 (в нём должны быть jsonschema и PyYAML) PY := $(if $(wildcard $(VENV)/bin/python),$(CURDIR)/$(VENV)/bin/python,python3) -CHANGE ?= slice-0-skeleton +# Пусто — проверяются все change'и и спеки; `make validate-openspec CHANGE=` — один change +CHANGE ?= # Текущая версия модели данных — по ней рисуются диаграммы (make diagrams) DBML ?= model/data-model-v5.19.dbml @@ -18,9 +19,9 @@ venv: validate-contracts: $(PY) scripts/validate_contracts.py -# Спека текущего изменения OpenSpec (нужен CLI openspec в PATH) +# Спеки и change'и OpenSpec (нужен CLI openspec в PATH) validate-openspec: - openspec validate $(CHANGE) --strict + openspec validate $(if $(CHANGE),$(CHANGE),--all) --strict # Снимок для контура вырезает артефакты агента на любой глубине (dev/contour-transfer-guide.md §3); нужны git и bash test-snapshot: diff --git a/dev/checks.md b/dev/checks.md index 3fc41dd..9e5e03a 100644 --- a/dev/checks.md +++ b/dev/checks.md @@ -179,7 +179,7 @@ PR убедитесь, что `docs` и `fixtures` доступны (пропу |---|---| | `make venv` | `.venv` (Python 3.11, `uv`) с `jsonschema` и `PyYAML` — зависимостями скриптов (после обновления репозитория — перезапустить) | | `make validate-contracts` | `python scripts/validate_contracts.py`: примеры `contracts/examples/` против текущих схем JSON Schema 2020-12, примеры `contracts/examples/v1/` — против схем прежнего MAJOR `*.v1.schema.json` (окно перехода на контракт 2.0), форма упорядоченных перечней кодов `contracts/statement-code-orders.yaml` (коды — 4 цифры формы; в варианте `full` код стоит 1 + (вхождений в `repeats`) раз, в `simplified` — не чаще); код 1 при любой ошибке | -| `make validate-openspec` | `openspec validate slice-0-skeleton --strict` (другое изменение: `make validate-openspec CHANGE=`) | +| `make validate-openspec` | `openspec validate --all --strict` — все спеки и незаархивированные change'и (один change: `make validate-openspec CHANGE=`) | | `make check` | все проверки выше и `test-snapshot`, `test-sync-web`, `test-sync-statements` | | `make test-sync-statements` | сценарии `sync-statements.sh` на синтетических репозиториях: коды `--check`, `--in-place`, `--dry-run`, отказ при прямой правке | | `make sync-statements` | копия пакета `arm_statements` в хост одной командой (worktree, issue, PR); `SYNC_ARGS="--host arm-core [--check\|--dry-run]"` |