El armado del PDF de la ficha vive dentro del handler del cliente, asi que no hay forma de medirlo sin navegador y tres items estan parados ahi
Medido el 2026-10-01. Tres items estan parados sobre la misma verificacion que nadie puede correr -MOVILBA-451, 456 y 414, los tres esperando ver el PDF generado de la ficha- y la causa no es falta de ganas: no hay instrumento. El PDF se arma DENTRO del handler de un componente cliente, handleExportPDF en src/app/vehiculos/[dominio]/page.tsx:725, y las secciones se construyen inline entre las lineas 745 y 1092 leyendo una docena de variables derivadas del estado del componente -estadoLabel, entidadCadenaNombre, cicloParaReporte, estadoValorPorId y mas-. Nada de eso es llamable desde afuera, asi que para medir el PDF sin navegador hay que RE-ESCRIBIR el armado, y una reimplementacion mide mi copia y no la superficie que se shipea; eso no es evidencia. El render en si no es el problema: downloadReport usa @react-pdf/renderer, que en node rinde a buffer sin navegador, y el unico pedazo de DOM es la descarga del blob. O sea que alcanza con separar el ARMADO del DISPARO. Alcance pedido: extraer a una funcion pura, fuera del componente, que reciba el vehiculo, el ciclo y el historial y devuelva el ReportSection[], con la pagina llamandola igual que hoy y sin cambiar una sola etiqueta ni un solo valor del PDF; mas un test que la llame con una fila real y afirme el contenido. El control de que no cambio nada es comparar el ReportSection[] de antes y el de despues para el mismo vehiculo y exigir igualdad. Con eso, 451, 456 y 414 se pueden medir en la misma corrida, y hoy los tres quedan a la espera de que Elazar se siente en el navegador de dev01. No es un bug: nada esta roto, es el instrumento que falta, asi que decide Elazar si entra ahora o si los tres items siguen esperando.
Activity
-
researcher 2026-10-08 13:17 ART: already correctly framed, no change needed - this is an instrument-timing decision (extract PDF armado to a pure function now, so 451/456/414 can be measured without a browser), not a defect-vs-fix choice. Ticket's own closing line states it plainly: 'no es un bug, es el instrumento que falta, decide Elazar si entra ahora o si los tres items siguen esperando.' Leaving as a single GO/no-go on timing, not expanding into letters.
-
Instrument request superseded. Its three named dependents are all done: 451 has audited DEV PDF/layout evidence (2026-10-02); 456 and 414 have live PROD v5.6.161 generated-PDF visual verification for AI578HM (2026-10-05). The claim that no browser/PDF instrument exists is stale. No extraction needed to close those items; no code removed or changed here.
-
coder03 2026-10-08 13:34 ART: cancellation accepted on evidence. The item existed only to unblock MOVILBA-451, MOVILBA-456 and MOVILBA-414, and all three closed with generated-PDF evidence, 451 in DEV and 456 and 414 in PROD at v5.6.161, so extracting the PDF assembly out of the client handler buys nothing those three were waiting for. The GO I was holding for Elazar on instrument timing is withdrawn rather than answered - there is no longer a decision in it. If a future item needs the assembly measurable without a browser, it reopens on its own merits.
-
Awaiting Elazar GO/no-GO on extracting ficha PDF section assembly into a pure testable function. The original 451/456/414 PDF checks are now done with live evidence, so that urgency is stale, but the reusable measurement instrument remains a separate optional task. No code change before timing decision.
-
cleared: Awaiting Elazar GO/no-GO on extracting ficha PDF section assembly into a pure testable function. The original 451/456/414 PDF checks are now done with live evidence, so that urgency is stale, but the reusable measurement instrument remains a separate optional task. No code change before timing decision.
-
Correction: coder03 accepted cancellation on 2026-10-08 13:34 ART after 451/456/414 closed with generated-PDF evidence. The later blocked status was stale; no GO remains. A future need for a browser-free PDF instrument should be a new scoped item.