Comienza con valores etiquetados
Reúne los valores exactos que cruzarán una frontera del sistema: un UUID en un registro, una versión en los metadatos del paquete o un slug en una ruta. Etiqueta cada valor antes de validarlo. Una cadena parecida a una versión puede seguir una convención local distinta, por lo que el contrato del campo debe decidir la herramienta.
Separa sintaxis y política
El validador UUID aporta observaciones sobre formato, versión y variante. El validador SemVer separa major, minor, patch, pre lanzamiento y metadatos de compilación. El validador de slug detecta problemas de caracteres, mayúsculas y separadores. Son hechos útiles, pero no sustituyen una política que prohíba UUID nulos, reserve un slug o exija un canal de lanzamiento concreto.
Conserva evidencia de los fallos
Guarda la entrada original y la salida del validador. Ante un fallo, muestra el problema gramatical y propone una corrección para que la apruebe su responsable; no cambies silenciosamente el identificador. Si hay una advertencia, registra si el proyecto la acepta y por qué, para que QA pueda repetir la decisión.
Completa lo que el formato no puede saber
Un formato correcto no indica si un UUID colisiona, si un paquete o URL está registrado, si un slug resuelve o si un lanzamiento es compatible con clientes existentes. Para el impacto de versiones, continúa con api-versioning-breaking-change-review. Para rutas y canonical, consulta technical-seo-url-workflows. Los workflows validation-format y validation-validate sirven cuando la revisión incluye más familias de formato.
Cierra con una aceptación explícita
Acepta el registro solo cuando cada valor tenga clase, resultado del validador y decisión de política. Marca como pendientes las comprobaciones externas que aún no se hicieron. El resultado útil es una revisión sintáctica trazable y con límites claros, no una promesa de unicidad global, disponibilidad, propiedad, existencia de URL o compatibilidad de publicación.