PPrevernal
Espacio de programación con IA

Precedencia de identificadores de prelanzamiento

Compara identificadores de prelanzamiento ya separados, situando los numéricos antes que los de texto.

● ● ●Prevernal●
Flujos de trabajo · Precedencia de identificadores de prelanzamiento ×
import re
IDENT = re.compile(r"[0-9A-Za-z-]+")
def prerelease_cmp(left, right):
    for item in (*left, *right):
        if not isinstance(item, str) or not IDENT.fullmatch(item):
            raise ValueError("identifier")
        if item.isascii() and item.isdigit() and len(item) > 1 and item[0] == "0":
            raise ValueError("leading zero")
    if not left or not right:
        return (not left) - (not right)
    for a, b in zip(left, right):
        if a == b: continue
        an, bn = a.isdigit(), b.isdigit()
        if an != bn: return -1 if an else 1
        if an and len(a) != len(b): return (len(a) > len(b)) - (len(a) < len(b))
        return (a > b) - (a < b)
    return (len(left) > len(right)) - (len(left) < len(right))
✳Compara identificadores de prelanzamiento ya separados, situando los numéricos antes que los de texto.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
Proyecto
Comprueba números de varios dígitos, prefijos compartidos y tuplas vacías de versión estable, rechazando ceros iniciales e identificadores inválidos.
Revisa antes de aplicar
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Modelos
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Flujos de trabajo

Precedencia de identificadores de prelanzamiento

Flujos de trabajo ↗
Flujos de trabajo
import re
IDENT = re.compile(r"[0-9A-Za-z-]+")
def prerelease_cmp(left, right):
    for item in (*left, *right):
        if not isinstance(item, str) or not IDENT.fullmatch(item):
            raise ValueError("identifier")
        if item.isascii() and item.isdigit() and len(item) > 1 and item[0] == "0":
            raise ValueError("leading zero")
    if not left or not right:
        return (not left) - (not right)
    for a, b in zip(left, right):
        if a == b: continue
        an, bn = a.isdigit(), b.isdigit()
        if an != bn: return -1 if an else 1
        if an and len(a) != len(b): return (len(a) > len(b)) - (len(a) < len(b))
        return (a > b) - (a < b)
    return (len(left) > len(right)) - (len(left) < len(right))
Espacio de programación con IA

Haz que las decisiones de versiones puedan rastrearse hasta el código

La gestión de versiones conecta pequeñas funciones de comparación con decisiones importantes de la aplicación. Prevernal es un entorno de programación con IA para Windows donde analizar esa conexión con los archivos pertinentes del proyecto a mano. Empieza por la decisión que parece incorrecta, como qué versión candidata se selecciona, y pide al modelo conectado que inspeccione el proceso que la produce.

Una petición concreta podría comparar identificadores de versiones preliminares usados por tu lógica de actualización. Proporciona etiquetas representativas y el orden que requiere el proyecto. Pide una propuesta que separe etiquetas inválidas de versiones válidas de menor prioridad e inspecciona cómo llega esa distinción al código que llama a la función. Esto centra la tarea en el comportamiento de la aplicación en lugar de convertir la conversación en una lección general de comparación.

Revisa el parche resultante con casos de versiones que ejerciten distintos tipos de identificadores, prefijos iguales y una versión final. Comprueba si el código que llama a la función espera un resultado de comparación o una excepción, y ejecuta las pruebas pertinentes. Si la propuesta cambia la sintaxis aceptada, trátalo como una decisión de compatibilidad, no como una mejora incidental.

Prevernal admite conexiones a endpoints compatibles con OpenAI o de Anthropic. Donde se ofrezca, puede seleccionarse un modelo de IA con los mecanismos de rechazo eliminados para este trabajo; las restricciones del proveedor, los límites de contexto y las herramientas disponibles siguen dependiendo del servicio configurado. El modelo aporta ayuda, mientras que la política de versiones del proyecto aporta los criterios de aceptación.

Revisar un cambio del orden de versiones

¿Qué debe acompañar un informe sobre una candidata de actualización incorrecta?

Proporciona las etiquetas candidatas, la ganadora esperada y el código que la elige. Incluye la política de orden del proyecto. Esa evidencia ayuda a distinguir un defecto de comparación de la lógica de filtrado o selección en otro punto del proceso de actualización.

¿Deben los identificadores inválidos ordenarse por debajo de los válidos?

Solo si lo establece tu contrato. Rechazar y ordenar son decisiones separadas, y clasificar silenciosamente entradas inválidas puede ocultar errores anteriores. Pregunta cómo gestiona cada caso el código que llama a la función antes de aceptar un cambio de validación.

¿Cómo puede una corrección de sintaxis afectar a los usuarios existentes?

Un analizador más estricto puede rechazar etiquetas que antes pasaban por la aplicación. Identifica de dónde proceden esas etiquetas e incluye valores representativos almacenados o entrantes. Revisa la compatibilidad por separado de si la nueva lógica de comparación parece más limpia.

¿Publica o instala Prevernal versiones de software?

Esta tarea utiliza un entorno de programación para inspeccionar tu implementación relacionada con versiones. La publicación y la instalación pertenecen a los procesos propios de tu proyecto. Verifica el código propuesto con tus comprobaciones antes de usarlo en una decisión de versión.

Descargar para Windows ↗

Prevernal · Actualizado 2026-10-25