▶ Cierre SO: matriz DB-SO, evolución, integridad y concurrencia real ✔ B3 — evolución SQL doble conserva campos, valores, personalizaciones y revisiones (0.701606ms) ✔ DB-SO-01 crear SO global (42.871762ms) ✔ DB-SO-02 crear aplicación global mantiene su tipo (42.436359ms) ✔ DB-SO-03 licencia global rechazada sin raíz persistida (21.908985ms) ✔ DB-SO-04 instalación válida desde A (121.539228ms) ✔ DB-SO-05 mismo producto desde B, instalación y licencia independientes (162.366074ms) ✔ DB-SO-06 dos activos de A usan el mismo SO global (315.915072ms) ✔ DB-SO-07 particulares y globales equivalentes conservan UUID e instalaciones (137.643465ms) ✔ DB-SO-08 licencia de A válida y particular (117.865997ms) ✔ DB-SO-09 licencia de A no puede vincularse desde B (157.376231ms) ✔ DB-SO-10 SO excluido de ApplicationConfiguration (126.53987ms) ✔ DB-SO-11 desactivar conserva instalaciones usadas (50.935631ms) ✔ DB-SO-12 inactivo bloquea nueva instalación (108.274915ms) ✔ DB-SO-13 historial y resolver conservan SO inactivo (29.59105ms) ✔ DB-SO-14 versión instalada genera revisión sin cambiar producto (365.216789ms) ✔ DB-SO-15 destino de instalación inmutable (223.936693ms) ✔ DB-SO-16 retirada de instalación de producto inactivo (570.283255ms) ✔ DB-SO-17 replay de creación no duplica ni reactiva (33.73864ms) ✔ DB-SO-18 activar/desactivar preserva UUID, historial y referencias (177.183762ms) ✔ DB-SO-19 solo stock: copia y otros tipos no adquieren globalidad (315.072142ms) ✔ DB-SO-20 particular anterior incompleto sigue siendo editable y local (145.260533ms) ✔ C1 — equivalentes concurrentes esperan el lock de catálogo y solo uno persiste (230.848842ms) ✔ C2 — desactivación confirma primero y asociación revalida después de esperar (468.860536ms) ✔ C3 — identidad, instalación, metadatos y desactivación concurrentes (288.411751ms) ✔ C4a — fallo tras escribir raíz global revierte raíz, características y revisiones (76.707246ms) ✔ C4b — fallo en revisión de instalación revierte instalación completa (146.788844ms) ✔ D — contratos v2/v3, propósito, capabilities y autorización (248.643069ms) ✔ F — cerrar gates conserva lectura, historial y retirada legítima (1726.083172ms) ✔ Cierre SO: matriz DB-SO, evolución, integridad y concurrencia real (47759.450137ms) ℹ tests 29 ℹ suites 0 ℹ pass 29 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 49098.971929