| name | corregir-entrega |
| description | Corrige entregas descargadas del servidor dentro de ENTREGAS, prepara copia de seguridad, copia correctores, ejecuta la corrección y consolida resultados en CALIFICACIONES/<Grupo>/notas_provisionales.xlsx. Úsame cuando el usuario quiera corregir una convocatoria ya entregada por los alumnos. |
Skill: Corregir Entrega
Reparto de responsabilidades
- Este
SKILL.md es el contrato operativo de la skill.
- El workflow
/.agents/workflows/02-corregir-entrega.md describe el orden global del proceso.
- El script
scripts/corregir_entregas.py contiene la automatización principal.
Cuándo usar esta skill
- El usuario quiere corregir una entrega ya descargada del servidor.
- Existe o va a existir un directorio
ENTREGAS/.
- Hay que ejecutar correctores en masa y consolidar notas provisionales.
Cuándo NO usar esta skill
- Para preparar una convocatoria nueva desde cero.
- Para redactar o validar el corrector.
- Para empaquetar recursos antes de que el alumnado entregue.
Procedimiento
1. Estructura esperada de ENTREGAS/
La skill debe trabajar con esta estructura lógica:
ENTREGAS/<Grupo>/
ENTREGAS/<Grupo>/<DNI>/
- dentro de cada carpeta de alumno puede haber varios ficheros o subdirectorios
- solo cuenta la última entrega válida llamada
solucion.py
2. Preparación inicial
- Verificar si existe
ENTREGAS/.
- Si no existe, crearlo y detenerse hasta que el profesor copie dentro el fichero descargado del servidor.
- Descomprimir cualquier fichero de entregas compatible (
.zip, .tar, .tar.gz, .tgz) encontrado en ENTREGAS/.
- Aplicar
chmod -R 777 ENTREGAS/.
3. Copia de seguridad
Antes de ejecutar la corrección:
- crear una copia completa y consultable de
ENTREGAS/;
- no modificar nunca esa copia;
- usarla como referencia de lo entregado originalmente por cada alumno.
4. Selección de la entrega válida
Para cada carpeta de alumno:
- localizar todos los
solucion.py candidatos;
- seleccionar el más reciente por fecha de modificación;
- dejar esa versión como entrega activa para la corrección.
5. Corrección masiva
Para cada grupo detectado:
- localizar
CORRECTOR/<Grupo>/<corrector_nombre>.py;
- copiar el corrector en cada carpeta de alumno;
- ejecutar el corrector dentro de esa carpeta;
- verificar que se genera
test_results.csv.
Si no existe una entrega válida o no se puede ejecutar el corrector:
- generar un resultado provisional equivalente con nota
0.0 y tests en NO_RUN.
6. Consolidación en Excel
La skill debe generar CALIFICACIONES/ si no existe.
Para cada grupo, debe crear:
CALIFICACIONES/<Grupo>/notas_provisionales.xlsx
Ese Excel debe contener tres hojas:
Resultados
- fila 1: puntuación de cada test;
- fila 2: cabeceras (
grupo, dni, tests, nota_total);
- filas siguientes: resultados por alumno.
Descripcion_tests
- identificador del test,
- puntuación,
- descripción detallada.
Estadisticas
- número de alumnos,
- media,
- mediana,
- nota mínima y máxima,
- aprobados y suspensos,
- porcentaje de alumnos que han superado cada test.
7. Script auxiliar
La automatización principal debe apoyarse en:
scripts/corregir_entregas.py
Ese script debe encargarse de:
- preparar
ENTREGAS/,
- crear backup,
- copiar correctores,
- ejecutar correcciones,
- consolidar resultados en Excel.
Verificación