Conceptos

QA y datos de prueba

Un checklist de QA generado desde las specs vivas, pasadas de QA con fecha y datos de prueba de Supabase que no pueden tocar producción.

Ambas partes son opcionales, se preguntan al instalar (por defecto sí) y se cambian volviendo a ejecutar init (--qa-checklist, --test-data).

Checklist de QA

work/qa/checklist.md se genera desde las specs vivas; nunca se edita a mano:

  • un ítem por escenario, agrupado por capacidad y requisito;
  • la frase EARS, los pasos Given / When / Then, la etiqueta ZOMBIES;
  • el fixture de datos de prueba que da los datos del escenario (o "no fixture").

agent-kit qa sync lo regenera (y también checklist.html); agent-kit specs merge lo hace por ti.

Pasadas de QA

Una pasada de QA es un archivo con fecha en work/qa/runs/:

Terminal
npx @razcue/agent-kit qa run --env staging

Rellena Result (pass · fail · blocked · n/a) y Note para cada escenario. O abre work/qa/checklist.html en el navegador, registra ahí los resultados (se guardan en el navegador) y usa Export run para guardar el mismo archivo.

agent-kit qa status muestra el último resultado por escenario. Cada pasada guarda el hash del texto del escenario, así que uno que cambió después de pasar aparece como re-check y uno nunca probado como never run.

Datos de prueba (Supabase)

Los proyectos con Supabase reciben supabase/test-data/ (ruta y prefijo configurables):

ArchivoQué es
env.sqlCrea public._env: qué entorno es una base de datos. Ejecútalo en todos los entornos y fija el valor una vez.
seed.sqlCrea los datos de prueba mediante las RPCs de la app. Una transacción.
purge.sqlBorra solo las filas de prueba, primero las hijas. Una transacción.

Reglas que aplican los scripts y la skill del stack:

  • Primero la guarda _env. Ambos scripts se niegan salvo que _env diga dev, test o staging: sin fila o con production no cambia nada.
  • Solo filas marcadas. Cada fila empieza con el prefijo (TEST_); purge compara con starts_with(), nunca con LIKE.
  • Mediante las RPCs, para que saldos, inventario y auditoría queden coherentes.
  • Fechas relativas (current_date - 30).
  • Fixtures por escenario, elegidos con ZOMBIES: -- @fixture invoices.R2.S3 @boundary. agent-kit qa gaps lista los escenarios sin fixture y los fixtures que nombran escenarios desconocidos.

Preflight avisa cuando cambian las migraciones y ni seed ni purge cambian. Mira la guía de datos de prueba para aplicarlos.