Formato basado en Keep a Changelog; versionado según SemVer. Para un curso, la lectura de SemVer es esta: MAJOR = cambia la estructura del currículo (numeración o partes); MINOR = contenido o herramientas nuevas sin mover la numeración; PATCH = correcciones.
La capa de lenguajes vivos deja de ser un anexo del Atlas y pasa a estar en cada clase, y todos los lenguajes del repositorio tienen ficha propia. No cambia ni una numeración: el currículo sigue siendo el mismo 001→176.
vivos.md con el problema de la clase resuelto en COBOL, Fortran, Ada, Pascal,
Common Lisp, Tcl, Perl, C++, RPG, PL/I, MUMPS y Smalltalk —y en JCL, VBA, AutoLISP o
ensamblador cuando el tema lo justifica—, cada uno con su explicación de qué enseña ese
lenguaje que ningún otro del curso enseña igual.casos.json que
el núcleo (nuevo job vivos en labs.yml); 🟡 RPG, JCL,
VBA y AutoLISP declaran su adaptación del contrato stdin→stdout en lugar de fingir un
programa que ese lenguaje no puede escribir; ⚪ PL/I, MUMPS, Smalltalk y ensamblador van
sin sello de máquina, y se dice.atlas/lenguajes.md — una por cada
lenguaje del repositorio. Antes solo tenían ficha los 18 vivos; los diez del núcleo no
tenían ninguna. Cada una sigue la misma anatomía de nueve secciones: historia, dónde vive
hoy, lo que enseña, lo que se ha modernizado, cómo se ejecuta con órdenes reales, el
programa de la clase 041 explicado línea a línea y bibliografía. El código de esa clase
es literal del repositorio; donde no existía, el programa nuevo se marca como no
verificado en CI.manual/ATLAS.pdf (238 páginas): las 60 fichas con sus dos índices, en un volumen
aparte. generar_manual.py aprende --atlas y --con-vivos.android.yml y
verificar_exe.py cuentan los 136 anexos de primos, los
136 de vivos y las 60 fichas antes de publicar nada.'Image en Ada, SplitString en Pascal, los programas anidados
de COBOL— corregidas y escritas dentro de la clase como contenido, no parcheadas en
silencio.casos.json y a sus diez implementaciones/<lenguaje>/main.* —son parte del
contenido: «este bloque es el archivo real»—, pero el portal no copia esos archivos, así
que en GitHub Pages y dentro de las apps no llevaban a ninguna parte. Eran 1806
enlaces. Ahora scripts/generar_sitio.py hace una pasada final: todo enlace cuyo destino
no publique el sitio se reapunta a la URL del repositorio, donde el archivo sí existe
(1969 reapuntados), y el generador falla si queda alguno roto, de modo que el
problema no puede volver sin que CI se entere.CHANGELOG, CODE_OF_CONDUCT y los README de las dos apps,
que estaban enlazados desde la portada pero no se generaban.Los binarios de la v1.0.0 llevan dentro el sitio con esos enlaces rotos. Se sustituyen por los de esta versión; los
Primer release. El programa está completo y empaquetado: las 176 clases construidas, la equivalencia verificada por máquina y el curso distribuido en cuatro formatos (web, APK, ejecutable de Windows y PDF).
casos.json.primos.md.
Ruby, Perl y Lua se ejecutan en CI contra el mismo casos.json que el núcleo; los
otros 17 son material de lectura y así se declara en cada página.scripts/guias.py y lo renderiza scripts/build.py.apps/android): el curso completo sin
conexión, empaquetando el sitio con Capacitor.apps/desktop): ejecutable único que
sirve el curso embebido en 127.0.0.1 y lo abre en el navegador.android.yml y desktop.yml
abren el binario ya compilado y cuentan las páginas de clase que lleva dentro. Un
APK sin curso compila igual y un .exe sin datos arranca igual: solo el recuento lo
distingue.MANUAL-COMPLETO.pdf, ~2420 páginas): el manual con los 2722
primos incluidos, como asset del release.| Superficie | Cómo se comprueba |
|---|---|
| Equivalencia entre lenguajes | ci.yml — un job por lenguaje, cada implementación contra casos.json |
| Primos ejecutables | labs.yml — Ruby, Perl y Lua contra el mismo contrato |
| Estructura y manifest | scripts/validar_estructura.py en CI |
| Markdown | markdownlint-cli2 sobre los 754 ficheros del repositorio |
| Secretos y código de los scripts | gitleaks y bandit en security.yml |
Contenido dentro del APK y del .exe |
android.yml y desktop.yml (recuento dentro del binario) |
| Artefacto | Qué es |
|---|---|
PolyglotProgrammingLabs-android.apk |
El curso en Android, sin conexión |
PolyglotProgrammingLabs-windows.exe |
El curso en Windows, ejecutable único |
MANUAL.pdf |
Las 176 clases con el código a la vista (~1306 páginas) |
MANUAL-COMPLETO.pdf |
Lo anterior más los 2722 primos (~2420 páginas) |
sitio-offline.zip |
El portal HTML completo, para servir donde quieras |
SHA256SUMS.txt |
Hashes de todo lo anterior |