Saltar al contenido principal

🩺 Diagnósticos

Objetivo principal: encontrar rápido qué significa un rechazo concreto y qué hay que cambiar, sin tener que interpretar el mensaje.

Cómo está escrito un diagnóstico

Ningún mensaje de esta plataforma dice solo «error». Todos traen tres partes, y esa es la regla que los gobierna:

Están escritos para dárselos tal cual al alumno. No enseñan rutas del servidor ni nada de los modelos de otros: hay comprobaciones automáticas de las dos cosas, y de que dos causas distintas no produzcan el mismo texto.

Los diez diagnósticos

Al preparar los paquetes

CausaQué lo provocóQué hacer
dependencia-insatisfacibleUno de los paquetes declarados no se pudo obtenerRevisa el nombre y la versión en tu declaración. Si lo escribiste a mano, comprueba la ortografía
dependencias-incompatiblesDos paquetes declarados piden versiones que no pueden coexistirElige una sola versión de cada uno. El mensaje nombra los dos en conflicto: no hace falta que los busques
resolucion-interminableLa preparación superó el tiempo máximo y se detuvoFija versiones concretas en vez de dejarlas abiertas: cuantas menos combinaciones haya que explorar, antes termina

Al comprobar tu función

CausaQué lo provocóQué hacer
firma-incompatibleLa función encontrada no tiene la forma que la plataforma esperaAjústala a la firma fija: recibe un único conjunto de valores con nombre. La firma no se puede cambiar; es parte del contrato
fallo-al-arrancarTu código falló al cargarse, antes de atender ninguna peticiónComprueba qué hace tu código al cargarse: leer un fichero que no acompaña a tu entrega es la causa más habitual

Al invocar el modelo

CausaQué lo provocóQué hacer
entrada-invalidaAlgún valor recibido no es una magnitud numéricaLos valores de entrada son magnitudes del edificio y deben ser números. Revisa cómo los envía quien te invoca
salida-invalidaLa respuesta no es un conjunto de valores con nombreDevuelve un diccionario con un nombre por cada valor. Una tupla llegaría sin nombres y nadie sabría qué es cada cosa
respuesta-demasiado-grandeLa respuesta supera el tamaño máximo admitidoDevuelve menos campos o valores más cortos. Si se emitiera tal cual, quien te invoca la recortaría sin avisar

Al publicar

CausaQué lo provocóQué hacer
version-viva-ya-existeYa tienes una versión de ese modelo sirviendoRetira primero la que está sirviendo y vuelve a publicar. Mira la autoría: la versión viva de otro alumno con el mismo nombre no te bloquea
version-ya-usadaEse identificador ya se usó y su versión está retiradaPublica de nuevo sin nombrar la versión: la plataforma asigna un identificador libre

Dos cosas que conviene saber sobre esta tabla

Hay un diagnóstico que no vas a ver nunca

resolucion-interminable está declarado en el catálogo pero no lo emite nadie. La capa que construye solo distingue tres causas —paquete que no se obtiene, versiones incompatibles y todo lo demás— y una preparación que se pasa de tiempo acaba clasificada como fallo genérico, no como esta causa.

Está aquí porque el catálogo lo declara y porque saberlo ahorra buscar un mensaje que no llegará. Que el vocabulario exista antes que su emisor es deliberado en este proyecto; que nadie lo emita todavía, no.

Los rechazos quedan registrados. Cada intento de publicación deja un asiento en Actividad, con su causa. Si un alumno dice «me lo rechazó y no sé por qué», ahí está.

Cuando no hay diagnóstico

No todo fallo produce una de estas diez causas. Dos casos concretos:

Qué pasaQué vesPor qué
La dirección del modelo no responde al invocarloUn 502 y ningún asientoLa plataforma no inventa un diagnóstico sobre algo que no ha podido observar
La publicación revienta con un fallo no previstoUn mensaje genérico y ningún asientoSe le dice al alumno que no es culpa de su código y que avise a quien le da clase

En los dos casos, lo que hay que mirar es la salida del propio contenedor, no el manual.

El orden en que se comprueban

Importa, porque determina cuál de los diez recibes cuando fallan varias cosas a la vez: se para en la primera.

  1. ¿Ya tienes una versión viva de este modelo? → version-viva-ya-existe
  2. La forma del material entregado
  3. La declaración de dependencias
  4. La firma de tu función → firma-incompatible
  5. La construcción → las tres causas de paquetes, o fallo-al-arrancar

Está desarrollado, con el porqué de cada puerta, en Lo que comprueba.