Fundamentos · Unidad 3 de 4
Una versión es un contrato
Una versión es un contrato, no una etiqueta. El proveedor declara la versión concreta que implementa (su contractVersion); el consumidor declara el rango que puede aceptar (su constraint). La asimetría es deliberada: quien implementa afirma un hecho, quien consume expresa tolerancia, y el resolver compara el hecho contra el rango.
Al terminar podrás
- Distinguir la versión concreta del proveedor del rango del consumidor
- Elegir entre subir al proveedor y relajar el constraint
Entender
Una versión es un contrato, no una etiqueta. El proveedor declara la versión concreta que implementa (su contractVersion); el consumidor declara el rango que puede aceptar (su constraint). La asimetría es deliberada: quien implementa afirma un hecho, quien consume expresa tolerancia, y el resolver compara el hecho contra el rango.
Cuando el proveedor existe pero su contractVersion cae fuera del rango pedido, el requisito sigue abierto: una implementación fuera de rango no puede sostener la forma esperada. El resolver separa el lado del contrato (MILPA_CONTRACT_VERSION_UNSUPPORTED) del lado de la capacidad (MILPA_CAPABILITY_VERSION_UNSUPPORTED) para que cada uno enseñe su propio camino de actualización.
Los dos arreglos legítimos son simétricos al contrato: subir el proveedor a una versión que satisfaga el constraint, o relajar el constraint del requirente si la versión instalada es aceptable. Borrar el requisito no cierra el contrato: lo esconde.
Ver
Abrir Siembra tu milpa
Un requisito abierto bloquea la germinación; un proveedor fuera de rango deja el requisito tan abierto como uno ausente.
Hacer
Ejecuta la práctica en tu checkout y conserva la salida como evidencia.
Verificar
Demuestra que puedes aplicar la unidad. El progreso solo avanza al aprobar la evaluación.
Criterios evaluados
- Explica por qué el proveedor declara una versión concreta y el consumidor un rango.
- Nombra los dos arreglos de un requisito fuera de rango sin silenciar el contrato.
Fuentes primarias
Contenido verificado: 2026-07-12