Materializer double-inserts a zero-length stub row alongside the real opening row - 15 vehiculos in snapshot 11/21, introduced by MOVILBA-89/125 cutover
db03 root-caused via MOVILBA-725: snapshot 11 (PROD) / 21 (DEV) materialized 22 zero-length historial rows (fecha_alta=fecha_baja) nested inside a real period - 15 PROD vehiculos (mirrored in DEV) got a spurious stub+real double-insert for one opening event in the SAME statement batch (identical creado_en, origen=import). Only 2/15 (3766/AD919PL, 4907/OPB348) share identical expte_alta on both rows - matched 725's duplicate-expte_alta query; the other 13 have a different expte_alta on the stub, same mechanism, invisible to that predicate. First real run of the MOVILBA-89/125 cutover code (ec2a5904) against this week's book import (MOVILBA-299/snapshot 11/21). Root cause is in rutap.materializar_snapshot_raices or reconciliar_snapshot - find why the opening event double-inserts a zero-length stub alongside the real row, fix, and verify all 15 affected vehiculo_ids (list in MOVILBA-725's bwi note) end with a single correct period.
Activity
-
2026-10-07 SELECT-only PROD snapshot11 + DEV snapshot21 + pinned Excel Base: 22 zero-length source rows, 15 have a distinct same-domain/same-start longer source row; all 15 zero rows exist in the approved workbook itself and map 1:1 through rutap_rows to historial. materializar_snapshot_raices and reconciliar_snapshot contain no history INSERT; proyectar_snapshot is the one-row-per-source writer and its postconditions pass. Evidence: /data-lezama/movilba/evidencia/MOVILBA-726/2026-10-07-source-row-census.md. No pipeline fix or row deletion is justified; source-data question only if business wants these records removed.
-
Materializer double-insert premise disproved. All 15 zero-length rows and their longer same-start partners are separate rows in the pinned approved Excel Base and in raw staging, with exact 1:1 normalized projection in PROD and DEV; removing them would break SSOT fidelity. See verified event and /data-lezama/movilba/evidencia/MOVILBA-726/2026-10-07-source-row-census.md. No code/DB change.