▶ Cierre SO: matriz DB-SO, evolución, integridad y concurrencia real ✔ B3 — evolución SQL doble conserva campos, valores, personalizaciones y revisiones (0.772304ms) ✔ DB-SO-01 crear SO global (46.028737ms) ✔ DB-SO-02 crear aplicación global mantiene su tipo (44.90923ms) ✔ DB-SO-03 licencia global rechazada sin raíz persistida (23.088718ms) ✔ DB-SO-04 instalación válida desde A (127.733456ms) ✔ DB-SO-05 mismo producto desde B, instalación y licencia independientes (176.271701ms) ✔ DB-SO-06 dos activos de A usan el mismo SO global (349.856578ms) ✔ DB-SO-07 particulares y globales equivalentes conservan UUID e instalaciones (128.298352ms) ✔ DB-SO-08 licencia de A válida y particular (106.066739ms) ✔ DB-SO-09 licencia de A no puede vincularse desde B (157.025598ms) ✔ DB-SO-10 SO excluido de ApplicationConfiguration (119.207306ms) ✔ DB-SO-11 desactivar conserva instalaciones usadas (45.964733ms) ✔ DB-SO-12 inactivo bloquea nueva instalación (99.866591ms) ✔ DB-SO-13 historial y resolver conservan SO inactivo (30.539321ms) ✔ DB-SO-14 versión instalada genera revisión sin cambiar producto (354.319274ms) ✔ DB-SO-15 destino de instalación inmutable (212.150241ms) ✔ DB-SO-16 retirada de instalación de producto inactivo (495.50569ms) ✔ DB-SO-17 replay de creación no duplica ni reactiva (29.001209ms) ✔ DB-SO-18 activar/desactivar preserva UUID, historial y referencias (254.702536ms) ✔ DB-SO-19 solo stock: copia y otros tipos no adquieren globalidad (257.351156ms) ✔ DB-SO-20 particular anterior incompleto sigue siendo editable y local (129.748936ms) ✔ C1 — equivalentes concurrentes esperan el lock de catálogo y solo uno persiste (227.933739ms) ✔ C2 — desactivación confirma primero y asociación revalida después de esperar (361.285186ms) ✔ C3 — identidad, instalación, metadatos y desactivación concurrentes (254.404421ms) ✔ C4a — fallo tras escribir raíz global revierte raíz, características y revisiones (82.213889ms) ✔ C4b — fallo en revisión de instalación revierte instalación completa (151.297283ms) ✔ D — contratos v2/v3, propósito, capabilities y autorización (273.826049ms) ✔ F — cerrar gates conserva lectura, historial y retirada legítima (1512.466505ms) ✔ Cierre SO: matriz DB-SO, evolución, integridad y concurrencia real (35512.142313ms) ℹ tests 29 ℹ suites 0 ℹ pass 29 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 36837.510665