This commit is contained in:
2026-04-10 01:46:19 +03:00
parent ccbbf64ddb
commit da6d18f6d5
8 changed files with 480 additions and 125 deletions

View File

@@ -0,0 +1,29 @@
"""Миграция черновика конвейера: плоский список фаз → этапы (стенды) с фазами и проверками."""
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,
}
],
}