Skip to content

CI Analytics — aislar estado del quality check PostgreSQL #506

Description

@AnnieScigliano

Problema

El job CI / analytics falla de forma reproducible en heads que no modifican services/analytics:

En ambos casos pasan 35/36 tests y falla únicamente:

quality run records canonical integrity and storage samples
services/analytics/test/postgres.test.mjs:229
false !== true

El último CI verde de la misma superficie fue 33803860689 sobre 80ad07e; #504 no cambia analytics, sus migraciones ni sus fixtures.

Diagnóstico inicial

El test borra solo ops.quality_results, ejecuta runQualityAndRetention() y presupone que las seis consultas observarán cero anomalías. Sin embargo, otros casos del mismo archivo mutan tablas leídas por esas consultas (por ejemplo identity_map.account_links) y no restauran necesariamente todo el estado antes de la comprobación. La aserción agregada no imprime qué check_name quedó en error, por lo que el runner oculta la fila causante.

Esto debe tratarse como aislamiento/determinismo del fixture PostgreSQL, no silenciando el quality check.

Criterios de aceptación

  • Reproducir desde una base Analytics limpia y registrar la fila completa (check_name, status, observed_value) que causa el fallo.
  • Cada test que crea estado leído por los quality checks lo elimina en finally, o el test de quality establece y restaura explícitamente su propio baseline.
  • La aserción reporta qué checks difieren para que una regresión futura sea accionable.
  • Varias ejecuciones consecutivas de npm test --prefix services/analytics quedan verdes contra bases limpias.
  • El job CI / analytics queda verde en una PR que no modifica Analytics y en la PR del fix.
  • No se debilita ni elimina ninguno de los seis controles canónicos.

Límites

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions