- recognition-result.v1.schema.json и recognition-result-message.v1.schema.json — байтовые копии схем 1.2 / 1.0 (до 9b1a4cc), примеры 1.x — examples/v1/; живут до удаления маппера 1.x ядра (K-8) - statement-code-orders.yaml — упорядоченные перечни кодов ББ/ОФР по редакциям 66n / fsbu4 и вариантам full / simplified, с законными повторами (Р-20: 1220, 1520, 2410 у fsbu4; раздел III НКО у 66n) и кодами печатных форм 1С из fixtures (1105, 1130, 1140, 1215, 1231, 1530, 2420, 2460, 2530, 2930) (K-5) - validate_contracts.py: схемы v1 и examples/v1/, проверка формы перечня кодов; make venv ставит PyYAML - v2.0: header.okei (+ _text, _confidence) и okei в headerField (K-22); columns[].column_index — столбец сетки кандидата (K-6); line_refs — только строки lines[]; ref Excel — имя листа в кавычках по правилу Excel (S-15); статус ОСВ — по контрольным суммам §1.4 листа (S-22); примеры приведены к этим правилам Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
42 lines
2.4 KiB
Makefile
42 lines
2.4 KiB
Makefile
# Команды проверки репозитория arm-ka-docs. Запуск из корня репозитория.
|
||
# Сервисных целей (lint/test/up...) здесь нет: описание общих целей сервисов — dev/checks.md.
|
||
VENV := .venv
|
||
# Если окружение создано (`make venv`) — берём его интерпретатор, иначе системный python3 (в нём должны быть jsonschema и PyYAML)
|
||
PY := $(if $(wildcard $(VENV)/bin/python),$(CURDIR)/$(VENV)/bin/python,python3)
|
||
CHANGE ?= slice-0-skeleton
|
||
# Текущая версия модели данных — по ней рисуются диаграммы (make diagrams)
|
||
DBML ?= model/data-model-v5.19.dbml
|
||
|
||
.PHONY: venv validate-contracts validate-openspec test-snapshot test-sync-web sync-web check diagrams
|
||
|
||
# Зависимости скриптов проверки контракта — jsonschema и PyYAML (перечни кодов форм contracts/statement-code-orders.yaml)
|
||
venv:
|
||
uv venv --python 3.11 --allow-existing $(VENV)
|
||
uv pip install --python $(VENV)/bin/python jsonschema pyyaml
|
||
|
||
# Примеры contracts/examples/ (и examples/v1/ окна перехода) против схем JSON Schema 2020-12 + перечни кодов форм
|
||
validate-contracts:
|
||
$(PY) scripts/validate_contracts.py
|
||
|
||
# Спека текущего изменения OpenSpec (нужен CLI openspec в PATH)
|
||
validate-openspec:
|
||
openspec validate $(CHANGE) --strict
|
||
|
||
# Снимок для контура вырезает артефакты агента на любой глубине (dev/contour-transfer-guide.md §3); нужны git и bash
|
||
test-snapshot:
|
||
scripts/test_prepare_contour_snapshot.sh
|
||
|
||
# sync-web.sh на синтетических репозиториях: точка синхронизации, перенос набора, отказ при расхождении, пайплайн переноса
|
||
test-sync-web:
|
||
scripts/test_sync_web.sh
|
||
|
||
# Синхронизация arm-core/web с arm-web@test одной командой (worktree, issue, PR); SYNC_ARGS="--check" или "--dry-run"
|
||
sync-web:
|
||
scripts/sync-web.sh $(SYNC_ARGS)
|
||
|
||
check: validate-contracts validate-openspec test-snapshot test-sync-web
|
||
|
||
# Диаграммы model/diagrams/part01…09.{svg,png} из $(DBML); нужен npx (Node.js), зависимостей Python нет
|
||
diagrams:
|
||
python3 scripts/gen_model_diagrams.py $(DBML)
|