"""Миграция черновика конвейера: плоский список фаз → этапы (стенды) с фазами и проверками.""" from __future__ import annotations import uuid from typing import Any def migrate_definition(defn: Any) -> dict: """Приводит definition к schema_version 2 с ключом stages.""" if not isinstance(defn, dict): return {"schema_version": 2, "stages": []} if defn.get("stages"): return defn phases = defn.get("phases") or [] if not phases: return {"schema_version": 2, "stages": []} return { "schema_version": 2, "stages": [ { "id": str(uuid.uuid4()), "name": "Этап 1", "description": "Импорт: ранее фазы задавались без этапов (стендов).", "checks": [], "phases": phases, } ], }