Skip to content

Release TP (Entregable 3): verificación formal, GAPs con IA, informe final y video - #54

Merged
R0SEWT merged 46 commits into
mainfrom
release/tp
Oct 5, 2026
Merged

R0SEWT merged 46 commits into
mainfrom
release/tp

Conversation

@R0SEWT

@R0SEWT R0SEWT commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Release del Entregable 3 del Trabajo Parcial (TB1), desde release/tp (no desde develop, que se borraría al fusionar).

Incluye desde la PC2: verificación formal en Spin (PR #43), informe final (PR #44), GAPs con IA (PR #45), alias del historial (PR #46), conclusiones de Julio y Dayana (PR #48, #49), cierre del Entregable 3 (PR #50), capturas de cada ejecución (PR #51) y capturas reales con auditoría HCD y enlace del video (PR #53).

Tras fusionar: tag tp sobre main y empaquetado con tp/informe/empaquetar-tp.sh. Después de la entrega (lun 5/10, 9:00) main no se toca.

R0SEWT and others added 30 commits September 27, 2026 00:59
Llevar el release de la PC2 de vuelta a develop
…r propiedad

El Entregable 3 pide verificar formalmente la ausencia de deadlocks y la
exclusión mutua. El modelo suma dos fórmulas: exclusion (nunca se
publican centroides con lectores) y termina (<> fin, con weak fairness),
y dos mutantes que Spin debe atrapar: un wg.Done perdido (deadlock) y un
coordinador que publica sin esperar la barrera.

check.sh fija los 7 casos con su número y tipo de error. Cubre tres
trampas de pan: con fórmulas en el archivo, pan usa la primera y apaga
la búsqueda de deadlocks (se compila con -DNOCLAIM); -N con un nombre
inexistente da 0 errores sin verificar nada; y -A apaga también el
assert del never claim. El CI corre la regresión en cada cambio.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TP · Spin: deadlock, exclusión mutua y progreso con LTL y mutantes
…ormal en Spin

tp/informe/tp/ sale de pc2/ (que queda congelado en el tag pc2) con la
estructura que pide el enunciado: Parte I y II con los entregables anteriores y
sus correcciones, y Parte III con lo nuevo.

- Sección 17: deadlock, exclusión mutua y progreso con weak fairness; un
  mutante por propiedad, la tabla de los 7 casos, el estado final del
  contraejemplo de deadlock y las tres trampas de pan.
- Sección 16: correcciones de la PC2 (cifras de Spin regeneradas: 2412
  estados en vez de 2407, por la variable fin) y el estado del trabajo que la
  PC2 dejó pendiente, con el contraste en GPU.
- Esqueletos con \pendiente para los GAPs con IA, las conclusiones de cada
  integrante, la participación, el video y la declaración de uso de IA.
- El historial cuenta PC1 | PC2 | TP con los tags pc1 y pc2 como cortes.

En tp/spin, `make informe` regenera todo lo que cita el informe: check.sh deja
una fila por caso (TSV=...) y figuras_spin.py hace la tabla; --informe elige el
destino (por defecto tp). Falla si kmeans.pml se movió y los rangos de líneas
citados ya no apuntan a lo que dicen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tas guía

Cada uno escribe la suya en secciones/conclusiones/<nombre>.tex con su propia
PR (rúbrica del E3: conclusiones «del alumno» y Git Flow con participación de
todos), sin tocar el archivo de los demás.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TP · Informe final a partir del de la PC2, con la verificación formal en Spin
…l TP

empaquetar-tp.sh sigue a empaquetar-pc2.sh con los nombres CC65-TP-202620-*,
agrega el archivo de datos (ahora versionado en datos-entrega.txt) y no arma el
paquete si quedan \pendiente o \verificar fuera de comentarios o si algún
integrante no tiene marcado su nivel de cumplimiento.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… Rody

Ambos quedan con una marca \verificar para que Rody los revise: la tabla de uso
de IA dice solo lo que el historial permite comprobar, y las conclusiones son
«del alumno».

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tres partes de unos 1:50 cada una, cada integrante con lo que ya hizo, con qué
mostrar en pantalla y las cifras del informe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- tp/docs/gaps-ia-prompt.md: el prompt exacto (rol, contexto, alcance, seis
  categorías, reglas de evidencia y formato), versionado para repetirlo.
- tp/docs/gaps-ia.md: método, tabla de hallazgos con cómo se contrastó cada
  uno, contraste con Spin y -race, y el informe del modelo. Lo hizo Claude Opus
  5.5 como agente sin el contexto del desarrollo, sobre una copia de solo
  lectura del commit 97ba37c.
- Ningún error de sincronización. El hallazgo de concurrencia es false sharing
  en los contadores por bloque (G2): se volvió a medir, 256 → 224 ms con k=4
  al alinear cada parcial a 64 bytes, sin efecto con el k=8 del informe.
- Sección 18 del informe con el resumen; el resumen, las recomendaciones, la
  nota de la GPU (G4: no determinista) y el guion del video, al día.

No se corrigió ningún hallazgo, para no cambiar el código que produjo las
cifras del informe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TP · GAPs con IA, participación, empaquetado, guion del video y declaración de uso de IA
… del TP

Dos commits del 2026-09-26 se hicieron con el correo del trabajo. El .mailmap
los unificaría, pero solo empareja por correo y obligaría a escribirlo en el
repo. generar-historial.sh los unifica por nombre, sin correo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TP · Unificar por nombre el alias R0SEWT-CGIAR en el historial del informe
…de sustentación

- Sección 20 en el informe: 8 arquetipos con unidades físicas reales,
  diagnóstico de sustituibilidad ODS 11.2 (Midtown al mediodía con 41.2%
  micro-viajes <= 1 mi) y picos hacia aeropuertos (15:00 JFK/LGA).
- Visualizador interactivo mobile-first en tp/app con mapa Leaflet,
  principio InWatch de honestidad cartográfica y agregador en Go
  (tp/kmeans/cmd/resumen_zonas).
- Guion de sustentación de 6 minutos actualizado en tp/docs/video-guion.md
  con tiempos calibrados a 5:35 min y referencias al informe de 78 págs.
- Actualización de Tabla 8 (PC2 resuelta) y conclusiones de grupo.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ación formal y ODS 11

- Redefinir la identidad del proyecto como un motor concurrente en Go,
  verificado con Spin y explorado con una PWA cartográfica.
- Agregar demostración visual dual (App móvil HCD vs CLI concurrente).
- Detallar los pilares de ingeniería: worker pool determinista, fórmulas
  LTL con mutantes en CI, honestidad cartográfica InWatch y diagnóstico ODS 11.2.
- Mover los datos académicos del curso a un bloque colapsable de contexto.
…ejorar manejo de dependencias en Fedora en macOs
Conclusiones y recomendaciones individuales de Julio Meza para el Entregable 3 del TP
docs: agregar conclusiones y soporte de compilación en macOS
…ables

- Colores de los 8 arquetipos con la paleta de Bang Wong (segura para
  daltonismo) en el agregador de Go y en los JSON del visor; fuera los emojis,
  cada arquetipo se identifica por su punto de color.
- Paneles colapsables, modo mapa limpio y deep links (?hour, ?day, ?zone,
  ?filter, ?min) en tp/app.
- En pantallas angostas, con un filtro activo, los chips de la barra superior
  quedan solo con su ícono: a 412 px «Arquetipos» se salía de la pantalla.
Las dos figuras de fig:app-movil eran del diseño anterior. tp/scripts/
capturas_app.py las rehace desde los deep links del visor (Midtown a las 12:00
con el detalle expandido; Cluster 5 aislado a las 15:00), así que el pie de la
figura describe exactamente el estado capturado y se pueden volver a generar.
R0SEWT and others added 16 commits October 1, 2026 19:26
…nforme del TP

Cierra los \pendiente de la tabla de pull requests y de la participación del
Entregable 3 con lo que trae cada PR, y regenera el historial de commits.
…apturas

Respuesta a la revisión de la PR #50:
- app.js: los textos del JSON que entran por innerHTML pasan por esc() y los
  colores por colorSeguro() (#RRGGBB). No son datos del usuario, pero los
  nombres ya traen '&' y una descripción '<8 mph', que se insertaban como HTML.
- capturas_app.py: crea el directorio de --salida y apaga el servidor en un
  finally aunque falle el navegador o una captura.
… interpolado

Sourcery (opengrep) seguía marcando los cuatro innerHTML aunque los valores ya
pasaban por esc(): la regla mira el patrón, no el escape. Con el() los textos
del JSON entran como texto y los colores por style.background validado.
El docente exige una captura de pantalla de cada ejecución: una que solo se
nombra en el texto o aparece como listado cuenta como no demostrada, y de ahí
salieron las observaciones de la PC2. tp/scripts/capturar_ejecuciones.sh corre
el pipeline, pytest, go vet + go test -race, la regresión de Spin, un benchmark
reducido y los checks de CI de la PR #50, guarda la salida real en
img/ejec-*.txt y la renderiza con capturas_terminal.py.

Las salidas de pan de las Secciones 7 y 17 pasan de listados a figuras con su
comando, y las Secciones 5, 8, 10, 14 y 17 suman la captura de la ejecución
que antes solo nombraban.
TP · Cierre del Entregable 3: visor rediseñado, capturas regenerables y PRs del grupo en el informe
TP · Capturas de cada ejecución en el informe (regla del docente)
tp/scripts/hero.py dibuja una iteración de Lloyd (canal, workers, parciales
por índice, barrera y reducción en orden de chunk) como un SVG autocontenido
con las fuentes incrustadas. El speedup y el resultado bit a bit salen de
reports/benchmark_gorgo.json y los mutantes de Spin de spin-casos.tsv; si los
datos contradicen el dibujo, el script falla.
hero.svg (ancho completo) tiene tres paneles: el mecanismo, marcado como
esquemático; el escalamiento fuerte de las cuatro máquinas con su IC 95 %; y
la matriz máquina × P con la misma inercia en las 20 corridas, más los
mutantes de Spin. card.svg deja solo los dos paneles de datos, con el texto
más grande, para verse a ~470 px. Etiquetas en inglés llano en vez de los
identificadores del código, tipografía Arimo y colores Okabe–Ito con forma
de marcador redundante.
hero_mapa.py pinta cada zona de taxi con el arquetipo dominante a esa hora
(opacidad según volumen) en cuatro momentos donde domina un arquetipo
distinto en Manhattan, y rotula ese arquetipo con su porcentaje sobre cada
mapa. El pie resume el K-means concurrente con las cifras de los reports, y
el script falla si Spin no detecta todos los mutantes.
…de la terminal

El docente pide ver cada ejecución como captura de pantalla, y las pruebas con
-v para que se vea cada caso. capturar_ejecuciones.sh ahora abre una ventana de
kitty flotante en Hyprland, teclea el comando en el shell, espera a que termine
y la fotografía con grim; recortar_captura.sh quita el fondo vacío al pie. Se
suman la CLI con -progreso, pytest -v y go test -race -v completo en dos
pantallas (núcleo y resto), y se borran los .txt de origen, que ya no se usan.

Auditoría de diseño centrado en el lector:
- la tarjeta del README del perfil abre el Resumen, como primera impresión del
  resultado;
- una guía de lectura tras el Resumen ubica la evidencia de cada criterio del
  Entregable 3, con su página;
- las capturas flotan en vez de forzar [H], que dejaba medias páginas en blanco,
  y su alto queda acotado a la página.

El guion del video apunta a los números de figura, tabla y página nuevos.
…n de uso de IA

Rody aceptó la versión final y pidió borrar las notas: se quitan las marcas
\verificar de su conclusión y de la tabla de uso de IA. La declaración del
Anexo C deja de afirmar que los commits llevan Co-Authored-By desde el 26/09
(solo hasta el 30/09; desde el 1/10 no se marcan) y dice que la conclusión de
Rody partió de un borrador redactado con Claude, que él revisó y aceptó.

Quedan las tres marcas del video en el Anexo A hasta tener el enlace.
…e del TP

Respondieron en el grupo el 5/10: Dayana usó ChatGPT y Julio lo usó para
código.
Carpeta pública «Video TB» de Google Drive que pasó Dayana el 5/10 a las
07:58; ahí queda el video unido de los tres. Sin marcas \pendiente en el
informe.
TP · Capturas de pantalla reales de cada ejecución y auditoría HCD del informe

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @R0SEWT, your pull request is larger than the review limit of 150,000 diff characters

@R0SEWT
R0SEWT merged commit bd6e3d1 into main Oct 5, 2026
7 checks passed
@R0SEWT
R0SEWT deleted the release/tp branch October 5, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants