Skip to content

Corregir los métodos de update CNMC stats para permitir retrocompatibilidad - #734

Merged
mvilaboa merged 3 commits into
masterfrom
91311_fix_search_and_update_to_make_retrocompatibility
Nov 9, 2026
Merged

mvilaboa merged 3 commits into
masterfrom
91311_fix_search_and_update_to_make_retrocompatibility

Conversation

@gpozo-gisce

@gpozo-gisce gpozo-gisce commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Descripción

  • Corregir los métodos get_stats_values() y search_and_update() para permitir la retrocompatibilidad entre módulos y permitir una migración progresiva.

Origen de error:

@gpozo-gisce
gpozo-gisce requested a review from giscebot November 5, 2026 11:10
@gpozo-gisce gpozo-gisce self-assigned this Nov 5, 2026
@gpozo-gisce gpozo-gisce added patch Patch auto version V_._.X bug labels Nov 5, 2026

@giscebot giscebot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solicito cambios por una pérdida de datos en el estado transitorio que precisamente debe soportar esta PR. Cuando un campo existe simultáneamente en CUPS y en estadísticas, search_and_update() lo añade a overlap pero no a stats_vals ni a cups_vals; por tanto descarta silenciosamente el valor del CSV. Esto contradice tanto el mensaje de Raven ("Writing to GiscedataCupsEstadistiques") como la precedencia que get_stats_values() aplica al leer. El test test_overlap_logs_and_skips actualmente consolida el comportamiento incorrecto y debería comprobar que el campo se escribe en estadísticas. He revisado el diff completo y el contexto de la migración progresiva de #733; git diff --check pasa y los 16 tests focales pasan con Python 2.7.18, pero no detectan esta pérdida porque esperan el descarte. La CI remota está omitida y los checks de etiqueta fallan en el estado actual.

Comment thread libcnmc/core/__init__.py Resolved
@gpozo-gisce
gpozo-gisce requested a review from giscebot November 5, 2026 11:40

@giscebot giscebot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El commit dd030b0 no resuelve el bloqueo anterior: únicamente cambia el mensaje de Raven de “Writing to GiscedataCupsEstadistiques” a “Skipping”, pero el campo solapado sigue sin añadirse ni a stats_vals ni a cups_vals, por lo que el valor del CSV se pierde durante el estado transitorio.

Esto debe corregirse antes de mergear: cuando el campo exista en ambos modelos, hay que conservar la misma precedencia usada por get_stats_values() y escribirlo en GiscedataCupsEstadistiques. El test test_overlap_logs_and_skips también es contradictorio: su docstring afirma que se escribe en estadísticas, mientras las aserciones exigen que no se escriba en ningún modelo. Debe validar explícitamente el write a estadísticas.

He revisado el diff actualizado hasta dd030b0, comprobado git diff --check y ejecutado los 16 tests focales con Python 2.7.18 (test_get_stats_values.py y test_update_cnmc_stats.py): pasan, pero precisamente porque el test de solapamiento espera el descarte incorrecto.

@gpozo-gisce
gpozo-gisce requested a review from giscebot November 5, 2026 12:01
@gpozo-gisce

gpozo-gisce commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor Author

El commit dd030b0 no resuelve el bloqueo anterior: únicamente cambia el mensaje de Raven de “Writing to GiscedataCupsEstadistiques” a “Skipping”, pero el campo solapado sigue sin añadirse ni a stats_vals ni a cups_vals, por lo que el valor del CSV se pierde durante el estado transitorio.

Esto debe corregirse antes de mergear: cuando el campo exista en ambos modelos, hay que conservar la misma precedencia usada por get_stats_values() y escribirlo en GiscedataCupsEstadistiques. El test test_overlap_logs_and_skips también es contradictorio: su docstring afirma que se escribe en estadísticas, mientras las aserciones exigen que no se escriba en ningún modelo. Debe validar explícitamente el write a estadísticas.

He revisado el diff actualizado hasta dd030b0, comprobado git diff --check y ejecutado los 16 tests focales con Python 2.7.18 (test_get_stats_values.py y test_update_cnmc_stats.py): pasan, pero precisamente porque el test de solapamiento espera el descarte incorrecto.

@giscebot Volvemos a la conversación anterior? #734 (comment)
He actualizado docs para evitar confusión.

@giscebot giscebot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revisado el diff completo hasta 9025c72. El bloqueo anterior queda resuelto: el solapamiento entre GiscedataCupsPs y GiscedataCupsEstadistiques se trata coherentemente como un estado de esquema inválido, se reporta a Raven y se omite sin que el mensaje ni el test prometan una escritura inexistente. También he comprobado la selección dinámica de campos, la precedencia de lectura desde estadísticas, el aislamiento por año y los estados pre/mid/post migración. git diff --check pasa y los 16 tests focales (test_get_stats_values.py y test_update_cnmc_stats.py) pasan con Python 2.7.18. La CI remota sigue omitida hasta añadir la etiqueta de merge; el check de etiqueta fallido es administrativo, no una regresión del código.

@gpozo-gisce
gpozo-gisce marked this pull request as ready for review November 5, 2026 13:01
@gpozo-gisce
gpozo-gisce requested a review from a team November 9, 2026 16:35
@mvilaboa
mvilaboa merged commit 0289177 into master Nov 9, 2026
3 of 4 checks passed
@mvilaboa
mvilaboa deleted the 91311_fix_search_and_update_to_make_retrocompatibility branch November 9, 2026 16:56
@giscebot

giscebot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Post-merge follow-up: PR #734 queda integrat al commit 0289177b91fbbec634eef99a78d8ecaec33c567d. Els checks libCNMC tests i Require merge label han passat. El worktree dedicat libCNMC-pr-734 estava net i s’ha retirat; el checkout canònic no s’ha modificat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug patch Patch auto version V_._.X to be merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants