basquetWi + New ticket
movilba MOVILBA-638

El alta de colectivo sigue fechando el periodo con el dia de carga cuando no hay fecha de expediente

Done normal cmcoder04-mba-l-ca

Levantado el 2026-10-01 cerrando MOVILBA-288. La modificacion y la baja ya exigen la fecha del expediente y el escritor perdio su fallback, pero el ALTA no: src/repositories/vehiculos.ts:1020 sigue con 'fechaAlta: vehiculoData.fechaExpediente || sql CURRENT_DATE', y src/services/vehiculos.ts:484 llama validarFechaExpediente(formData.fechaExpediente), que tiene un early return cuando el valor viene vacio. O sea: un alta guardada sin fecha de expediente abre el periodo con el dia en que se cargo en lugar del dia del tramite, que es exactamente el defecto que 288 arreglo del otro lado, y queda escrito en el historial sin que nada lo marque. No se toco en 288 a proposito. La decision de Elazar del 2026-10-01 dice 'al generar una MODIFICACION el campo fecha del expediente tambien debe ser obligatorio', y no dice nada del alta. Hay un argumento a favor de extenderlo -un alta tiene una fecha de tramite igual que una modificacion- y uno en contra -el formulario de alta hoy la ofrece como opcional y Eugenia pidio en su momento que lo fuera-, asi que es una DECISION suya y no un arreglo obvio. No implementar sin su palabra. Alcance si se decide que si: el gate va en services/vehiculos.ts antes de la linea 484, el fallback de repositories/vehiculos.ts:1020 se va, y el formulario src/app/vehiculos/agregar/colectivo/page.tsx marca el campo obligatorio. tools/tests/colectivo-expediente.test.cjs tiene fixtures de alta que hoy no mandan fecha y habria que actualizarlas igual que se hizo con las de edicion.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • coder03-mba-l-cc created · 2w ago
  • coder03-mba-l-cc decision · 2w ago
    Elazar, answered in the online tracker (download 2026-10-02-1154): 'Alta y Fecha de Expediente son obligatorias. Al dar de ALTA un vehiculo TODOS los CAMPOS deben ser Obligatorios.'
  • coder03-mba-l-cc decision · 2w ago
    Elazar, answered in the online tracker (download 2026-10-02-1154): 'Alta y Fecha de Expediente son obligatorias. Al dar de ALTA un vehiculo TODOS los CAMPOS deben ser Obligatorios.'
  • coder03-mba-l-cc decision · 2w ago
    Elazar, answered in the online tracker (download 2026-10-02-1154): 'Alta y Fecha de Expediente son obligatorias. Al dar de ALTA un vehiculo TODOS los CAMPOS deben ser Obligatorios.'
  • coder03-mba-l-cc decision · 2w ago
    Elazar, answered in the online tracker (download 2026-10-02-1154): 'Alta y Fecha de Expediente son obligatorias. Al dar de ALTA un vehiculo TODOS los CAMPOS deben ser Obligatorios.'
  • coder03-mba-l-cc assigned · 2w ago
    coder04-mba-l-ca / coder
  • coder04-mba-l-ca progress · 2w ago
    coder04-mba-l-ca | 2026-10-02 12:47 ART Decision from tracker download 2026-10-02-1154: Alta and Fecha de Expediente required; all Alta fields mandatory. Inspected create service, repository writer and Alta form: service currently allows blank date, repository substitutes CURRENT_DATE, and date/all other controls are not required. Implementing server+form validation, removing fallback, and updating the source harness. No app/session or DB path needed; validation remains for audit.
  • coder04-mba-l-ca progress · 2w ago
    coder04-mba-l-ca | 2026-10-02 13:03 ART Timestamp correction: the prior progress body carried a stale turn time; this event reflects the actual local time. Code work continues under the existing four path locks.
  • audit-mba-l-cc audited · 2w ago
    audit fail: rutap_historial/vehiculos services+repo+form diff reviewed; reran tools/tests/colectivo-expediente.test.cjs.
    payload
    {"scope":"rutap_historial/vehiculos services+repo+form diff reviewed; reran tools/tests/colectivo-expediente.test.cjs.","outcome":"fail","evidence":"15/17 pass, 2 FAIL: new ApiException throws inside createColectivo's try hit the catch's extractPostgresError(error) call; the test mock for @/utils/database-error-mapper only exports serializeErrorForLog, not extractPostgresError -> TypeError masks the real validation message. Add extractPostgresError to that mock (return undefined/null pgError) and rerun.","reportRef":null}
  • coder04-mba-l-ca progress · 2w ago
    coder04-mba-l-ca | 2026-10-02 13:08 ART Audit FAIL: 2/17 test failures were caused by the harness mocking serializeErrorForLog but omitting extractPostgresError, so its TypeError masked intended validation errors. Added the missing mock and a separate ADAS camera-count missing-value case. No lint/typecheck/tests run by this lane; ready for audit rerun.
  • audit-mba-l-cc audited · 2w ago
    audit pass: Correction rerun: mock gap fixed (extractPostgresError stubbed), camarasAdasCantidad-when-SI test added.
    payload
    {"scope":"Correction rerun: mock gap fixed (extractPostgresError stubbed), camarasAdasCantidad-when-SI test added.","outcome":"pass","evidence":"Reran tools/tests/colectivo-expediente.test.cjs: 17/17 pass (was 15/17).","reportRef":null}
  • coder03-mba-l-cc completed · 2w ago
    2026-10-02 13:22 coder03-mba-l-cc: v5.6.145 on PROD, DEV and pod (proxy serviceId 20776). Audit PASS in bwi. SIN EJERCITAR: a real alta in a browser.
  • coder03assistant-mba-l-ca note · 1w ago
    coder03assistant-mba-l-ca | 2026-10-05 14:00 ART 2026-10-05-1324 online download (SHA 20b5ca07…), Pendientes row 61 for MOVILBA-638. Its 'Nuestra respuesta' cell is already preserved verbatim as the prefix of the current Resueltos answer, which additionally records v5.6.145 deployment. Its Estado 'Decidido - en desarrollo' is not copied over the current Resueltos/Solucionado status because BWI 638 is already done and deployed; source provenance recorded here without regressing the tracker.
bug
2w ago by coder03-mba-l-cc
2w ago
2026-10-02 16:22