basquetWi + New ticket

Ocultar los cuatro campos de validadora en el historial de periodos - pantalla y PDF de la ficha

Done normal cmcoder04-mba-l-ca

A fourth validadora surface that MOVILBA-581 and 582 do NOT cover, found by the MOVILBA-583 census and spot-verified by coder03-mba-l-cc against the working tree. The four fields carry user-facing Spanish labels in src/lib/rutap-history-fields.ts:133-152 - 'ID validadora SUBE', 'Kit de montaje SUBE', 'ID validadora OpenPass', 'Kit de montaje OpenPass' - keyed to the four vdc columns. src/lib/rutap-history-presentation.ts:42-45 then pulls EVERY field in HISTORY_FIELDS into the visible change set when either side of the comparison is an app-origin period, because an app period has typed values but no frozen import cells to seed a diff against. So a validadora value entered through the app surfaces as a named change in the period history - on screen via HistoryPeriodContent.tsx:130-163,199-220 and in the ficha PDF via src/lib/vehiculo-pdf-history.ts:39-63 wired at src/app/vehiculos/[dominio]/page.tsx:1049-1081. It is conditional on a nonempty or differing value, which is why it is invisible in PROD today: PROD has zero app-origin history rows. DEV has 54, so this is reachable there now and would be reachable in PROD the moment a user edits a vehicle. Requirement: the four fields do not appear in a rendered history entry or in the PDF, on any host. Do not delete HISTORY_FIELDS entries blindly - the 39 RUTAP_HISTORY_FIELDS drive the imported-source diff and are a separate concern; scope the change to the four validadora fields and say in the note which mechanism you used. ALSO IN SCOPE, same file family: rutap-modification-subtype.ts:88-91 maps all four to VEHICULO_GENERAL. The census found no call site for classifyModificationSubtypes anywhere in src - confirm that independently before deciding whether it needs touching, because a mapping with no consumer is not a surface and should not be changed just because it matches the grep. No DDL. Diff to audit, do not run the gates yourself.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • coder03-mba-l-cc created · 3w ago
    parent=#4105
  • coder04-mba-l-ca statusChanged · 3w ago
    coder04-mba-l-ca | 2026-09-24 07:xx ART | Starting scoped source audit for the four validadora history fields and subtype classifier consumer; will exclude the 39 imported-source diff fields and confirm the classifier call-site census before deciding scope.
  • coder04-mba-l-ca progress · 3w ago
    coder04-mba-l-ca | 2026-09-24 08:10 ART | Scoped implementation: excluded subeValidator, subeMountingKit, openpassValidator, and openpassMountingKit in the shared history presentation derivation and its disclosure path, covering screen, PDF, and the subtype-filter consumer. Kept HISTORY_FIELDS definitions and all 39 RUTAP_HISTORY_FIELDS unchanged; no subtype mapping edit. Confirmed classifyModificationSubtypes is called by ExpedienteForm on the derived changes. Added screen/disclosure and PDF regression cases. No lint, typecheck, or tests run by this lane.
  • audit-mba-l-cc audited · 3w ago
    audit pass: rutap-history-presentation.ts hide of 4 validadora fields (screen+disclosure+PDF via derivation) + tests. typecheck, eslint, test:source 38/38. CAVEAT: new PDF test uses empty previous values and PASSES on HEAD (vacuous); screen test fails on HEAD. Not run: rendered UI/PDF, committed tree.
    payload
    {"scope":"rutap-history-presentation.ts hide of 4 validadora fields (screen+disclosure+PDF via derivation) + tests. typecheck, eslint, test:source 38/38. CAVEAT: new PDF test uses empty previous values and PASSES on HEAD (vacuous); screen test fails on HEAD. Not run: rendered UI/PDF, committed tree.","outcome":"pass","evidence":"audit-mba-l-cc 2026-09-24. My probe (old vs new previous values): HEAD emits 4 validadora lines, current emits []. Field names match rutap-history-fields.ts:134-149; HISTORY_FIELDS untouched. Fix PDF test input.","reportRef":null}
  • audit-mba-l-cc audited · 3w ago
    audit pass: rutap-history-presentation.ts + its test + vehiculo-pdf-history.test.ts, clean tree HEAD 8ba2fcdb+3 files: typecheck, eslint, test:source 38/38. Both new tests FAIL on HEAD code and pass on candidate. Not run: rendered PDF/ficha.
    payload
    {"scope":"rutap-history-presentation.ts + its test + vehiculo-pdf-history.test.ts, clean tree HEAD 8ba2fcdb+3 files: typecheck, eslint, test:source 38/38. Both new tests FAIL on HEAD code and pass on candidate. Not run: rendered PDF/ficha.","outcome":"pass","evidence":"audit-mba-l-cc 2026-09-24. Seen to fail: HEAD code + new tests = 2 fail (presentation test, PDF test); candidate 5/5. Supersedes conditional PASS (PDF test was vacuous).","reportRef":null}
  • coder03-mba-l-cc commit · 3w ago
    coder03-mba-l-cc 2026-09-24 10:45 ART - shipeado en dev 73272eac (v5.6.58), --only src/lib/rutap-history-presentation.ts + sus dos tests. HIDDEN_PRESENTATION_FIELDS aplicado en los TRES puntos por donde un campo llega a la vista: el set de candidatos del diff, la rama de periodos escritos por el app (que siembra desde HISTORY_FIELDS, asi que filtrar solo el primero lo dejaba volver para las filas del app) y historyDisclosure. Control visto FALLAR: audit confirmo que los dos tests nuevos fallan sobre HEAD y pasan sobre el candidato, con el fixture del PDF corregido para que los valores viejos fueran distintos entre si. Deploy: test:source 38/38, lint, typecheck sobre el commit - y ese 38 es del working tree, no del commit, asi que no se cita como cobertura del sha. NO EJERCITADO: pantalla de historial renderizada y PDF. NO ALCANZA al export; eso queda en el epic MOVILBA-580.
  • coder04-mba-l-ca completed · 1w ago
    Wave-2 closeout: shipped/audited scope is live; remaining checks or separate decision items are tracked outside this item's shipped scope.
task
3w ago by coder03-mba-l-cc
1w ago
2026-10-05 18:45