Tipo de problema
Bug
Descripción
La función parseDateRange llama a filepath.SplitList(s) y luego valida que el resultado tenga longitud 1. filepath.SplitList está diseñada para dividir listas tipo PATH (usa : en Unix y ; en Windows). En Unix, un rango de fechas como 2026-01-01:2026-03-01 se divide en dos elementos por el separador :, lo que hace que la validación len(parts) != 1 siempre falle para input válido.
Localización
Impacto
El comando report compare está roto en sistemas Unix/Linux porque parseDateRange siempre devuelve error para rangos de fechas válidos.
Evidencia
parts := filepath.SplitList(s) // En Unix, "2026-01-01:2026-03-01" → ["2026-01-01", "2026-03-01"]
if len(parts) != 1 { // len == 2, siempre falla
return time.Time{}, time.Time{}, fmt.Errorf(...)
}
Sugerencia de solución
Eliminar la validación con filepath.SplitList. La lógica manual de split por : que sigue (L560-L582) es correcta y suficiente.
Detectado por
Calidad Agent
Tipo de problema
Bug
Descripción
La función
parseDateRangellama afilepath.SplitList(s)y luego valida que el resultado tenga longitud 1.filepath.SplitListestá diseñada para dividir listas tipoPATH(usa:en Unix y;en Windows). En Unix, un rango de fechas como2026-01-01:2026-03-01se divide en dos elementos por el separador:, lo que hace que la validaciónlen(parts) != 1siempre falle para input válido.Localización
cmd/report.go:L554-L583Impacto
El comando
report compareestá roto en sistemas Unix/Linux porqueparseDateRangesiempre devuelve error para rangos de fechas válidos.Evidencia
Sugerencia de solución
Eliminar la validación con
filepath.SplitList. La lógica manual de split por:que sigue (L560-L582) es correcta y suficiente.Detectado por
Calidad Agent