# Informe de validación — Semana 8: Portafolio de evidencias. Uso de GPT

> Validación independiente y completa de todo lo entregado en `MA Semana 8`, realizada el
> **22 de agosto de 2026** (véspera de la entrega). Verifica que el paquete cumple los tres
> documentos de la actividad, la rúbrica, lo dicho en clase y las condiciones del encargo:
> un `.docx` de entrega, un proyecto ejecutable con estética RetroGame/PixelArt y uso real
> de los modelos de Ollama Cloud asignados por subproyecto.

> **Nota posterior (22/08/2026, misma tarde).** Este informe es *anterior* a la auditoría
> adversarial de cinco frentes que se ejecutó después sobre la misma entrega. Aquella auditoría
> sí encontró defectos —125 observaciones, 21 críticas—, entre ellos que el enlace caía en la
> página 3 en vez de la 2, que el sitio publicaba las fichas de modelo sin tildes, que una URL
> de referencia estaba rota y que cuatro afirmaciones no se sostenían contra los datos crudos.
> Todos se corrigieron. El registro completo está en la sección 9 de
> [SEGUIMIENTO_S8_Portafolio_de_evidencias.md](SEGUIMIENTO_S8_Portafolio_de_evidencias.md).
> Léase este documento como la validación de estructura y cobertura, no como el veredicto final.

**Veredicto: CUMPLE — paquete completo, internamente coherente y listo para subir a la plataforma.**
No se encontró ningún requisito del enunciado sin cubrir ni ninguna inconsistencia entre las
cifras publicadas y los datos crudos. Se listan al final cinco mejoras opcionales (ninguna
bloqueante) y el procedimiento exacto de entrega.

---

## 1. Condiciones del encargo

| Condición exigida | Estado | Evidencia verificada |
|---|---|---|
| Un `.docx` en `MA Semana 8` | ✅ | `oviedo_alexander_portafoliodeevidencias.docx` — 351 párrafos, 7 tablas, 6 imágenes, ~14 500 palabras, 40 referencias APA |
| Nombre de archivo `primerapellido_primernombre_tipodeactividad` | ✅ | Reproduce exactamente el patrón del ejemplo `romero_luis_portafoliodeevidencias` (MA Evaluación 8, p. 1) |
| Un proyecto en directorio propio, con tecnología y UI/UX acordes | ✅ | `portafolio-arcade-gpt/` — 7 guiones Python (5 335 líneas), sitio web generado, datos crudos, capturas, README |
| Estética RetroGame + PixelArt | ✅ | Verificada por análisis visual de capturas y código CSS (§6) |
| Uso de los modelos de Ollama Cloud que mejor sirven a cada tarea | ✅ | Sondeo real con 8 modelos por API + asignación de 1 modelo por subproyecto (Tabla 2 del `.docx`, `config/modelos.json`) |
| Archivo de seguimiento `.md` | ✅ | `SEGUIMIENTO_S8_Portafolio_de_evidencias.md` — sus cifras fueron re-auditadas una a una (§5) |
| Clave de API en variable de entorno, nunca en el repositorio | ✅ | Se lee de `OLLAMA_API_KEY` (en este equipo, exportada desde el llavero de macOS por `.zprofile`); `grep` de todo el proyecto: 0 apariciones de la clave |

---

## 2. Metodología de la validación

Cada afirmación se comprobó contra la fuente primaria, no contra la documentación del trabajo:

1. **Enunciado y rúbrica**: extracción de texto completa de los tres PDF
   (`S8_Portafolio de evidencias_CE_24032023.pdf`, 8 págs.; `MA Evaluación 8.pdf`, 4 págs.;
   `MA Semana 8_ NRC-8774-Procesamiento Natural Lenguaje.pdf`, 4 págs.) con `pypdf`.
2. **Clase sincrónica**: lectura de la transcripción `NRC-8774-Procesamiento Natural Lenguaje.txt`
   (76 min, 19/08/2026) y del notebook `Untitled0.ipynb` (3 celdas: `transformers` 5.15.0,
   `gradio` 6.24.0, `torch` 2.11.0; `mrm8488/bert2bert_shared-spanish-finetuned-summarization` y
   `DeepESP/gpt2-spanish`). El notebook confirma el fallo del resumidor visto en clase
   (pipeline con tarea equivocada `text-generation` sobre un `EncoderDecoderModel` y checkpoint
   con pesos del decodificador faltantes) — primera mano del argumento «un modelo por tarea».
3. **API de Ollama Cloud en vivo**: `GET https://ollama.com/api/tags` autenticado con la clave
   del llavero → **19 modelos disponibles**, idénticos a los registrados en `datos/catalogo.json`.
   Contrastado además con el listado público `ollama.com/search?c=cloud&o=newest`.
4. **`.docx`**: auditoría programática con `python-docx` + XML (estilos, saltos de página,
   imágenes incrustadas, tablas, frases clave, recuento de referencias).
5. **Datos**: recálculo de métricas desde `datos/evidencias.json`, `datos/analisis.json`,
   `config/veredictos_revisados.json`, `config/preguntas.json`, `config/modelos.json`.
6. **Sitio**: inspección de `dist/index.html` (377 KB) y `index.html` (ficha de entrada);
   análisis visual de `capturas/portada.png` y `capturas/fig1_mapa.png`.
7. **UI/UX retro/pixel**: contraste contra las mejores prácticas publicadas (§6, con fuentes).
8. **Continuidad del curso**: inventario de `ACTIVIDADES/` y `RECURSOS/` semanas 1–7 y `PNL2026`.

---

## 3. Requisitos del enunciado (verificación independiente)

| # | Requisito (S8_Portafolio…, p. 3–4) | Estado | Evidencia hallada |
|---|---|---|---|
| R1 | Portafolio estructurado y organizado sobre aplicaciones modernas de PLN | ✅ | `.docx` con 7 apartados numerados + 16 subapartados; sitio con 8 niveles + ficha |
| R2 | Apoyarse en una herramienta digital (Genially/Wix/Google Sites, potestativo) | ✅ | Sitio web propio publicado ( enlace en p. 2 del `.docx`), decisión justificada en §4.1 del documento |
| R3 | Investigar GPT-3: funcionamiento y usos | ✅ | Apartados 1 (5 subapartados) y 2 (4 subapartados), con cifras verificadas (175 000 M parámetros, corpus, costo) |
| R4 | 5 preguntas ambiguas o fuera del plano histórico | ✅ | `config/preguntas.json` + Tabla 3: P1 premisa histórica falsa · P2 polisemia «banco» · P3 ambigüedad sintáctica «telescopio» · P4 anclaje temporal · P5 fraude BEC. Usa los dos ejemplos del enunciado y el tercero dado en clase («Cristóbal Colón… 2012») |
| R5 | Indicar las reacciones obtenidas | ✅ | Apartado 5 completo + Tablas 4–6; respuestas literales en `datos/evidencias.json` (80) |
| R6 | Explorar los modelos que hacen funcional la herramienta | ✅ | Tabla 1 (8 modelos: casa, país, parámetros, contexto, capacidades consultadas por `POST /api/show`) + Tabla 2 (modelo por subproyecto) |
| R7 | Ventajas/desventajas frente a fraude, análisis de contexto y reemplazo de funciones | ✅ | Apartado 7 con 4 subapartados (los tres exigidos + marco normativo colombiano: Ley 1581/2012, SIC 002/2024) |
| R8 | Portada creativa con elementos gráficos pertinentes | ✅ | Pantalla de título del arcade como imagen de portada (`image1.png`); análisis visual confirma pixel art pertinente a la temática GPT/arcade |
| R9 | Tabla de contenido clara y precisa | ✅ | Índice completo (apartados 1–7, conclusiones, referencias) **más** índice de tablas y figuras (7 tablas, 5 figuras) |
| R10 | Introducción: propósito, importancia y estructura apartado por apartado | ✅ | «Estructura del documento» describe qué contiene cada uno de los 7 apartados + conclusión y referencias (frase clave «El apartado N…» ×7) |
| R11 | Contenido secuencial compilando los semanas previas, formato uniforme | ✅ | Apartado 3 recorre S1→S7; verificado que los insumos existen realmente (§7 de este informe) |
| R12 | Conclusiones argumentadas con postura | ✅ | 7 conclusiones + cierre, ancladas en resultados medidos propios |
| R13 | Normas APA en citas y referencias | ✅ | 40 referencias con autor-año; incluye los 4 recursos básicos y el complementario del enunciado (Campesato; Ganegedara; Srinivasa; Zhou; Arumugam & Shanmugamani) |
| R14 | Presentación, redacción y ortografía | ✅ | Restitución de tildes con verificación estricta por `scripts/05_ortografia.py` (rechazó 3 propuestas del modelo) |
| R15 | Word con título, nombre, curso, semana, docente y fecha | ✅ | Página 1: título, 4 integrantes + Grupo 7, UNIMINUTO, NRC-8774, Semana 8, docente Nathalia Orozco Morales, 23 de agosto de 2026 |
| R16 | Segunda página: enlace del documento plegable | ✅ | Página 2: título del sitio + URL `https://claude.ai/code/artifact/fc0e796e-…` (HTTP 200 al 22/08/2026) |

---

## 4. Rúbrica (5,0 puntos) — evidencia por criterio

| Criterio | Pts máx | Cómo se satisface el nivel «Excelente» |
|---|---|---|
| Ortografía, gramática, cohesión, APA | 0,6 | Corrección ortográfica con aceptación condicionada (diacríticos), 40 referencias APA verificables, redacción propia basada en datos propios |
| Portada y tabla de contenido | 0,8 | Portada gráfica creativa **pertinente** (arcade = metáfora del sondeo: niveles, combate, marcador); TDC completa con índice de tablas y figuras |
| Introducción | 1,3 | Describe la estructura apartado por apartado (requisito literal del «Excelente») y el propósito ligado al resultado de aprendizaje |
| Contenido | 1,7 | Secuencial S1→S8, formato uniforme; **relaciona el PLN con otras áreas** (Tabla 7: 12 aplicaciones empresariales con evidencia medida: Klarna, copilotos, salud, agro…) |
| Conclusiones | 0,6 | Análisis crítico con datos propios: «rechazar la premisa y alucinar no son excluyentes», «el tamaño no predice el comportamiento», «un modelo no puede juzgar a otro» |

---

## 5. Validación técnica del proyecto

### 5.1 API de Ollama Cloud (en vivo, 22/08/2026)

- `GET /api/tags` → **19 modelos**, idénticos a `datos/catalogo.json`:
  `deepseek-v4-flash:{0731,preview}`, `deepseek-v4-pro:{0813,preview}`, `gemma4:31b`,
  `glm-5.1`, `glm-5.2`, `gpt-oss:{20b,120b}`, `kimi-k2.6`, `kimi-k2.7-code`, `kimi-k3`,
  `minimax-m2.7`, `minimax-m3`, `mistral-large-3:675b`, `nemotron-3-{nano:30b,super,ultra}`,
  `qwen3.5:397b`.
- El listado público `ollama.com/search?c=cloud&o=newest` coincide (gemma4 actualizado «yesterday»,
  deepseek-v4-pro hace 1 semana, kimi-k3 y deepseek-v4-flash hace 3 semanas).
- El panel de 8 modelos cubre **8 casas distintas** (OpenAI, Google, Alibaba, DeepSeek, Zhipu,
  Moonshot, Mistral, NVIDIA), que era el objetivo de diseño: comparar familias, no versiones.
- Asignación modelo→subproyecto (Tabla 2 del `.docx` y `config/modelos.json`): sondeo con los 8
  · etiquetado `gpt-oss:120b` · análisis lingüístico `deepseek-v4-pro` · redacción española
  `qwen3.5:397b` · código `kimi-k2.7-code` · verificación cruzada `glm-5.2` · tareas cortas
  `nemotron-3-nano:30b` · elementos gráficos `gemma4:31b`. Aplica la advertencia textual de la
  docente (min 27:59): «no es que ese mismo modelo les vaya a servir para todos».

### 5.2 Evidencias (`datos/evidencias.json`)

| Métrica recalcada | Valor |
|---|---|
| Respuestas | **80** = 2 rondas (A: 1 024 tokens, B: 4 096) × 5 preguntas × 8 modelos |
| `ok=true` | 80/80 (cero fallos de API) |
| Respuestas vacías | 9 (8 en Ronda A + 1 en B) — coincide con lo publicado |
| Con traza de razonamiento | 70 |
| Latencia | media 18,3 s · mediana 17,1 s · máx 56 s |
| Tokens de salida | 70 132 en total |
| Protocolo | temperatura 0,6 (rango recomendado en clase), sin system prompt, sin herramientas, 1 repetición — documentado dentro del propio JSON |

### 5.3 Análisis y veredictos

- `analisis.json`: juez automático `gpt-oss:120b` sobre la Ronda B; **acuerdo con la revisión
  humana 32/40 = 80 %** (coincide con lo publicado).
- `config/veredictos_revisados.json` (40, Ronda B): 22 excelentes · 8 aceptables · 10 fallos;
  fallos por pregunta P1=2, P2=2, **P4=6** — coincide con «la pregunta más fallada es la fecha».
- La columna «Puntaje /10» de la Tabla 4 es **internamente coherente**: Exc=2, Acep=1, Fallo=0
  sobre 5 preguntas (Kimi 5×Exc=10/10; Qwen 8/10; GPT-OSS y Nemotron 4/10; verificado fila a fila).

### 5.4 Sitio y ficha

- `dist/index.html`: 377 KB, título «Arcade de la Ambigüedad»; **0 llamadas a APIs** desde el
  navegador (todo el JSON va incrustado); las únicas referencias externas son las tipografías de
  Google Fonts, con *fallbacks* locales (`Courier New`, `monospace`, `system-ui`).
- `index.html` (ficha de entrada, 36 KB): identifica actividad, curso, semana y despliega con
  «▶ Entrar al portafolio» → `dist/index.html`. Sirve como punto de despliegue en cualquier
  hosting estático.
- Capturas: 6 PNG de 1 240 px de ancho (portada + 5 figuras), coherentes con las 6 imágenes
  incrustadas en el `.docx`.

---

## 6. UI/UX RetroGame + PixelArt frente a mejores prácticas

Análisis visual de `portada.png` y `fig1_mapa.png` + auditoría del CSS. El diseño aplica el
patrón que la literatura recomienda:

| Práctica recomendada (fuentes en §Fuentes) | Aplicación en el proyecto |
|---|---|
| Tipografía pixelada **solo** como fuente de display (títulos, HUD), nunca en cuerpo de texto | `--pixel: "Press Start 2P"` reservada a títulos/HUD; cuerpo en `--texto: "IBM Plex Sans"` y `--tubo-font: "VT323"` |
| Tamaños múltiplos de 8 px para fuentes bitmap | Títulos en múltiplos de 8 con `image-rendering: pixelated` |
| Cuerpo legible ≥16 px, sans-serif para lectura larga | Cuerpo académico en IBM Plex Sans legible (confirmado en capturas) |
| Máximo 2–3 familias tipográficas | Exactamente 3, cada una con rol (display/lectura/temática) |
| `display=swap` y fallbacks si no hay red | Fallbacks declarados; el sitio degrada sin perder contenido |
| Tema retro en gráficos y marcos, no en el texto | Sprites, marcos de cabina, scanlines/CRT, mapa de niveles; el texto permanece nítido |

La propia decisión está documentada en el trabajo (SEGUIMIENTO §5) y coincide con la síntesis
de fuentes: mantener la estética en la gráfica y la legibilidad en el texto (r/gamedev,
Google Fonts, guías de tipografía accesible).

---

## 7. Coherencia con la clase y con las semanas 1–7

- **Instrucción de la docente** (transcripción, min 01:03–01:05): generar preguntas ambiguas
  «con unas 4 o 5 herramientas… **o si quieren realizarlo con el proceso que hicimos hoy también,
  con diferentes modelitos**… y luego realizan el portafolio». El trabajo tomó la vía autorizada
  de los «modelitos», con protocolo comparable por API. Formato libre confirmado («en lo que
  quieran»), lo que habilita el sitio propio frente a Genially/Wix/Google Sites.
- **Temas de clase volcados en el documento**: Transformer y atención (§1.2), temperatura 0,5–0,6
  (usada y citada como justificación del protocolo), Hugging Face y «un modelo por tarea» (§4.3),
  obsolescencia de modelos (catálogo fechado), advertencias de seguridad empresarial (§7.4),
  máximo de 1 024 tokens de clase → Ronda A del sondeo (uno de los hallazgos: 8 respuestas vacías).
- **Insumos S1–S7 reales** (directorio `ACTIVIDADES/`): S1 notebook de análisis de ventas ·
  S2 foro de preprocesamiento/Orange · S3 proyecto NER spaCy del Grupo 7 · S4 foro de
  clasificación de opiniones · S5 reporte Naive Bayes + Gradio · S6 RNN con Keras (sin
  actividad principal) · S7 proyecto integrador LSTM (Quijote) con métricas guardadas. El
  apartado 3 del `.docx` compila ese recorrido; la continuidad del Grupo 7 y la convención
  `Oviedo_Alexander_*` son verificables en el repositorio. Los recursos citados existen en
  `RECURSOS/MA Semana 1…8` (PDF+MD+JSON semana a semana) y `RECURSOS/PNL2026` (material de la
  docente por clase).

---

## 8. Hallazgos menores y mejoras opcionales (ninguna bloqueante)

1. **Enlace del portafolio** (`claude.ai/code/artifact/…`): responde HTTP 200 hoy, pero es una
   URL de plataforma de terceros que podría pedir inicio de sesión o caducar. Mitigación ya
   incluida: el `.docx` es autosuficiente (capturas + Tablas 4–6 con los resultados). Opcional:
   republicar `portafolio-arcade-gpt/` en GitHub Pages/Netlify y actualizar la página 2.
2. **Enlace como texto plano**: el `.docx` no define hipervínculos activos (0 en el XML); el
   evaluador deberá copiar y pegar. Opcional: regenerar con `07_generar_docx.py` añadiendo un
   hipervínculo real.
3. **Tabla de contenido estática**: es una lista tipografiada, no un campo TOC de Word. Cumple
   «clara, precisa y completa» (y añade índice de tablas/figuras); un campo TOC daría
   navegación con un clic, pero no aporta puntos adicionales.
4. **Fuentes de Google en `dist/`**: si el evaluador abre el sitio sin internet, cambia la
   tipografía (contenido intacto). Empaquetar las fuentes en local haría el HTML 100 %
   autónomo.
5. **`kimi-k3` disponible**: existía en el catálogo el día del sondeo y no entró al panel.
   No es defecto (el panel busca diversidad de familias y k2.6/k3 son la misma casa; de hecho
  k2.6 resultó el mejor con 10/10), pero conviene saberlo si la docente pregunta por lo más
   nuevo.

**Caducidad a vigilar**: hoy los 19 modelos siguen publicados; si algo se retira antes de la
revisión, `datos/catalogo.json` deja constancia del catálogo y la fecha de consulta exacta.

---

## 9. Checklist de entrega (plataforma, 1 solo intento)

- [x] Archivo: `oviedo_alexander_portafoliodeevidencias.docx` (nomenclatura verificada)
- [x] Formato `.docx` requerido
- [x] Página 1 con título, integrantes, curso, semana, docente y fecha
- [x] Página 2 con el enlace del portafolio digital
- [ ] **Subir a miAulaVirtual → MA Evaluación 8 → «Empezar tarea» → arrastrar el `.docx` → «Entregar tarea»** (pendiente: lo hace el estudiante)
- [ ] Confirmar la entrega antes del **domingo 23 de agosto de 2026, 23:55** (vence mañana)
- Recordatorio: intentos permitidos **1**; sin «Guardar cambios»/«Entregar tarea» finales la actividad cuenta como no entregada (0).

---

## 10. Conclusión

El paquete de la Semana 8 **cumple la totalidad de las condiciones**: el `.docx` exigido con la
estructura, el contenido y las 40 referencias APA; el proyecto ejecutable `portafolio-arcade-gpt`
con tecnología reproducible (Python estándar + API de Ollama Cloud) y una UI retro-arcade/pixel
art que sigue las mejores prácticas de legibilidad; evidencia empírica real (80 respuestas,
9 vacías, juez 80 % de acuerdo) verificada cifra por cifra contra los JSON crudos; y plena
coherencia con lo dicho en clase y con el trabajo de las semanas 1–7. Queda pendiente únicamente
el gesto humano: subir el archivo a la plataforma antes del cierre.

---

## Fuentes consultadas para la validación de UI/UX retro/pixel

- [Press Start 2P — Google Fonts](https://fonts.google.com/specimen/Press+Start+2P)
- [SupaFonts: Press Start 2P](https://supafonts.com/press-start-2p-font)
- [Figma Fonts: Press Start 2P](https://www.figma.com/fonts/press-start-2p/)
- [r/gamedev: Is it okay to use a non-pixel font in a pixel art game?](https://www.reddit.com/r/gamedev/comments/1o13mhq/is_it_okay_to_use_a_nonpixel_font_in_a_pixel_art/)
- [5 Keys to Accessible Web Typography — Matej Latin](https://matejlatin.medium.com/5-keys-to-accessible-web-typography-2ff9de3157f5)
- [Web Typography Guide (16 px, 45–75 caracteres, 1,5× interlineado)](https://aiiotgeeks.com/blog/web-design-typography/)
- [health.gov: Use a readable font that's at least 16 pixels](https://odphp.health.gov/healthliteracyonline/design-easy-scanning/use-readable-font-thats-least-16-pixels)
- [Medium: Web Design Style — Website with Pixels](https://medium.com/design-bootcamp/web-design-style-website-with-pixels-757e41ac447e)
- [AdamCYounis: Intro to Game UI (pixel art)](https://www.youtube.com/watch?v=o3VHJ7g7m08)
- [Ollama Cloud: modelos más recientes](https://ollama.com/search?c=cloud&o=newest)
