# Test index — MatrixAI Core + Studio

> Generated: 2026-10-08 · Core: 9247 · Studio: 6542 · Product backend: 3482
>
> Generated from the suites themselves (`pytest --collect-only`,
> `vitest list`), not written by hand: the previous version of this
> file claimed a quarter of the real number, two months out of date.
>
> **These numbers are slightly higher than the ones on the site, and that
> is correct.** The site says «tests passing» and counts what the suites
> EXECUTE; this index LISTS what exists, skipped ones included. On
> 2026-10-08 the difference was 29 skipped in the core and
> 9 in the backend. Two ways of counting two
> different things — not one of them being wrong.
>
> Reproduce it: `bash scripts/generar-test-index.sh`

---

## Core engine (`matrixAI`)

```
test_101_c3_anclaje_de_la_medicion.py::test_el_bloque_lleva_el_commit_de_LOS_DOS_repositorios
test_101_c3_anclaje_de_la_medicion.py::test_un_arbol_LIMPIO_se_declara_limpio
test_101_c3_anclaje_de_la_medicion.py::test_un_arbol_SUCIO_se_declara_sucio_y_con_el_fichero_que_lo_ensucia
test_101_c3_anclaje_de_la_medicion.py::test_un_fichero_SIN_SEGUIMIENTO_tambien_ensucia_el_arbol
test_101_c3_anclaje_de_la_medicion.py::test_sin_repositorio_NO_se_inventa_un_commit
test_101_c3_anclaje_de_la_medicion.py::test_un_arbol_SUCIO_hace_la_medicion_NO_anclable
test_101_c3_anclaje_de_la_medicion.py::test_un_arbol_LIMPIO_con_sus_datos_SI_es_anclable
test_101_c3_anclaje_de_la_medicion.py::test_un_git_que_NO_responde_deja_la_medicion_sin_anclar
test_101_c3_anclaje_de_la_medicion.py::test_las_versiones_de_bibliotecas_van_EN_el_bloque
test_101_c3_anclaje_de_la_medicion.py::test_el_sha256_de_los_datos_es_el_del_fichero_y_va_ENTERO
test_101_c3_anclaje_de_la_medicion.py::test_un_dato_de_entrada_AUSENTE_se_declara_y_rompe_el_anclaje
test_101_c3_anclaje_de_la_medicion.py::test_el_procedencia_id_CAMBIA_si_cambia_lo_que_describe
test_101_c3_anclaje_de_la_medicion.py::test_un_JSON_sin_bloque_se_declara_SIN_PROCEDENCIA
test_101_c3_anclaje_de_la_medicion.py::test_un_JSON_con_bloque_NO_anclable_no_se_confunde_con_uno_sin_bloque
test_101_c3_anclaje_de_la_medicion.py::test_un_JSON_con_bloque_anclable_se_declara_anclable
test_101_c3_anclaje_de_la_medicion.py::test_los_tres_JSON_viejos_siguen_verificando_SU_PROPIO_digest[pasada_exploratoria_101_c3_resultado.json-digest_resultados_crudos]
test_101_c3_anclaje_de_la_medicion.py::test_los_tres_JSON_viejos_siguen_verificando_SU_PROPIO_digest[informe_101_c4_caso_adult.json-digest]
test_101_c3_anclaje_de_la_medicion.py::test_los_tres_JSON_viejos_siguen_verificando_SU_PROPIO_digest[informe_101_c4_caso_sick.json-digest]
test_101_c3_anclaje_de_la_medicion.py::test_un_JSON_ya_escrito_declara_procedencia_COMPLETA_o_NINGUNA[pasada_exploratoria_101_c3_resultado.json-digest_resultados_crudos]
test_101_c3_anclaje_de_la_medicion.py::test_un_JSON_ya_escrito_declara_procedencia_COMPLETA_o_NINGUNA[informe_101_c4_caso_adult.json-digest]
test_101_c3_anclaje_de_la_medicion.py::test_un_JSON_ya_escrito_declara_procedencia_COMPLETA_o_NINGUNA[informe_101_c4_caso_sick.json-digest]
test_101_c3_anclaje_de_la_medicion.py::test_un_registro_SIN_los_digests_no_se_reusa
test_101_c3_anclaje_de_la_medicion.py::test_un_registro_CON_los_digests_iguales_SI_se_reusa
test_101_c3_anclaje_de_la_medicion.py::test_sobre_el_JSON_COMMITEADO_ninguna_reutilizacion_es_silenciosa
test_101_c3_anclaje_de_la_medicion.py::test_un_intento_REUSADO_sin_procedencia_no_hereda_la_de_hoy
test_101_c3_anclaje_de_la_medicion.py::test_una_procedencia_de_OTRA_pasada_viaja_con_los_intentos_que_midio
test_101_c3_anclaje_de_la_medicion.py::test_una_procedencia_CITADA_y_ausente_se_declara_en_vez_de_callarse
test_101_c3_anclaje_de_la_medicion.py::test_el_JSON_que_ESCRIBE_la_pasada_lleva_la_procedencia
test_101_c3_anclaje_de_la_medicion.py::test_el_JSON_escrito_sigue_verificando_su_digest
test_101_c3_anclaje_de_la_medicion.py::test_lo_REUSADO_de_un_fichero_sin_procedencia_se_cuenta_aparte
test_101_c3_anclaje_de_la_medicion.py::test_lo_MEDIDO_hoy_si_firma_con_la_procedencia_de_hoy
test_101_c3_anclaje_de_la_medicion.py::test_el_informe_de_101_C4_tambien_cablea_la_procedencia_a_SU_salida
test_101_c3_anclaje_de_la_medicion.py::test_la_suciedad_dice_QUE_fichero_y_de_que_repositorio
test_101_c3_anclaje_de_la_medicion.py::test_un_fichero_sucio_QUE_ESTE_IMPORTADO_se_declara_en_el_grafo
test_101_c3_anclaje_de_la_medicion.py::test_un_fichero_sucio_que_NADIE_importa_no_sale_en_el_grafo
test_101_c3_anclaje_de_la_medicion.py::test_el_bloque_AFILA_pero_NO_ABLANDA_el_anclaje
test_101_c3_anclaje_de_la_medicion.py::test_el_campo_se_llama_importado_al_sellar_y_NO_esta_fuera_del_grafo
test_101_c3_anclaje_de_la_medicion.py::test_la_suciedad_entra_en_el_procedencia_id
test_101_c3_cache_de_la_pasada.py::test_los_tres_ficheros_del_cableado_invalidan_el_cache
test_101_c3_cache_de_la_pasada.py::test_la_preparacion_y_el_harness_siguen_invalidando
test_101_c3_cache_de_la_pasada.py::test_ningun_fichero_de_la_lista_ha_DESAPARECIDO
test_101_c3_cache_de_la_pasada.py::test_cada_motor_declara_UN_fichero_que_existe
test_101_c3_cache_de_la_pasada.py::test_el_digest_del_entorno_CAMBIA_si_cambia_un_compartido
test_101_c3_cache_de_la_pasada.py::test_la_pasada_COMPRUEBA_que_su_reserva_cabe_antes_de_empezar
test_101_c3_cache_de_la_pasada.py::test_y_si_NO_cabe_se_para_antes_de_medir_nada
test_101_c3_cache_de_la_pasada.py::test_el_guardia_se_llama_desde_main_y_no_solo_existe
test_101_c3_cache_de_la_pasada.py::test_la_pasada_GUARDA_al_terminar_cada_dataset
test_101_c3_cache_de_la_pasada.py::test_un_fichero_a_medias_lo_DICE
test_101_c3_cache_de_la_pasada.py::test_la_escritura_es_ATOMICA
test_101_c3_dispersion_por_motor.py::test_el_protocolo_EXIGE_la_dispersion_entre_semillas
test_101_c3_dispersion_por_motor.py::test_la_dispersion_de_cada_motor_sobre_la_evidencia[catboost-0.531-8.204-kc2-6]
test_101_c3_dispersion_por_motor.py::test_la_dispersion_de_cada_motor_sobre_la_evidencia[sklearn.lineal-0.543-12.679-kc2-5]
test_101_c3_dispersion_por_motor.py::test_la_dispersion_de_cada_motor_sobre_la_evidencia[lightgbm-0.738-9.935-pc1-8]
test_101_c3_dispersion_por_motor.py::test_la_dispersion_de_cada_motor_sobre_la_evidencia[xgboost-0.754-9.612-pc1-7]
test_101_c3_dispersion_por_motor.py::test_la_dispersion_de_cada_motor_sobre_la_evidencia[matrixai.dense.torch_cpu-0.77-13.244-climate-model-simulation-crashes-7]
test_101_c3_dispersion_por_motor.py::test_la_dispersion_de_cada_motor_sobre_la_evidencia[sklearn.hgb-0.858-11.521-pc1-8]
test_101_c3_dispersion_por_motor.py::test_la_dispersion_ENTRE_SEMILLAS_senala_a_la_densa
test_101_c3_dispersion_por_motor.py::test_con_UNA_sola_medida_la_dispersion_es_AUSENTE_y_no_cero
test_101_c3_dispersion_por_motor.py::test_sin_ninguna_medida_lo_DICE_en_vez_de_dar_una_tabla_vacia
test_101_c3_dispersion_por_motor.py::test_en_CUATRO_datasets_el_mejor_por_media_PIERDE_la_mayoria_de_pliegues
test_101_c3_dispersion_por_motor.py::test_las_cuatro_victorias_que_decide_el_promedio[wilt-catboost-xgboost-0.007-6]
test_101_c3_dispersion_por_motor.py::test_las_cuatro_victorias_que_decide_el_promedio[sick-catboost-lightgbm-0.014-6]
test_101_c3_dispersion_por_motor.py::test_las_cuatro_victorias_que_decide_el_promedio[PhishingWebsites-lightgbm-sklearn.hgb-0.003-7]
test_101_c3_dispersion_por_motor.py::test_las_cuatro_victorias_que_decide_el_promedio[diabetes-matrixai.dense.torch_cpu-catboost-0.017-7]
test_101_c3_dispersion_por_motor.py::test_una_victoria_que_NO_se_discute_para_que_el_aserto_de_arriba_valga
test_101_c3_dispersion_por_motor.py::test_el_lado_del_liston_de_TRES_motores_depende_de_la_semilla
test_101_c3_dispersion_por_motor.py::test_la_pasada_escribe_la_dispersion_y_la_estabilidad
test_101_c3_dispersion_por_motor.py::test_la_evidencia_YA_COMMITEADA_no_se_reescribe
test_101_c3_dispersion_por_motor.py::test_con_un_mapa_POR_TAREA_la_dispersion_dice_que_metrica_no_gobierna
test_101_c3_dispersion_por_motor.py::test_SIN_mapa_por_tarea_NO_se_pone_el_descargo
test_101_c3_dispersion_por_motor.py::test_la_reparacion_NO_movio_un_solo_numero
test_101_c3_dispersion_por_motor.py::test_la_dispersion_SIGUE_redactando_su_lectura
test_101_c3_faltante_arff_e_identificador.py::test_el_interrogante_de_un_nominal_llega_como_FALTANTE
test_101_c3_faltante_arff_e_identificador.py::test_sick_pierde_sus_150_interrogantes_por_el_camino_de_la_PASADA
test_101_c3_faltante_arff_e_identificador.py::test_el_interrogante_no_llega_como_CATEGORIA_a_ningun_motor[False]
test_101_c3_faltante_arff_e_identificador.py::test_el_interrogante_no_llega_como_CATEGORIA_a_ningun_motor[True]
test_101_c3_faltante_arff_e_identificador.py::test_la_columna_identificadora_SOBRANTE_se_excluye_y_se_dice_por_que[splice-Instance_name-3178-3190]
test_101_c3_faltante_arff_e_identificador.py::test_la_columna_identificadora_SOBRANTE_se_excluye_y_se_dice_por_que[house_prices_nominal-Id-1460-1460]
test_101_c3_faltante_arff_e_identificador.py::test_la_columna_identificadora_SOBRANTE_se_excluye_y_se_dice_por_que[house_sales-id-21436-21613]
test_101_c3_faltante_arff_e_identificador.py::test_tras_la_exclusion_los_CUARENTA_cuadran_con_su_catalogo
test_101_c3_faltante_arff_e_identificador.py::test_una_categorica_LEGITIMA_de_alta_cardinalidad_NO_se_excluye
test_101_c3_faltante_arff_e_identificador.py::test_una_categorica_cardinal_CONVIVIENDO_con_un_id_sobrevive
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[kc2]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[climate-model-simulation-crashes]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[diabetes]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[breast-w]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[pc4]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[pc1]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[sick]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[jm1]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[ozone-level-8hr]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[PhishingWebsites]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[Internet-Advertisements]
test_101_c3_faltante_arff_e_identificador.py::test_los_DOCE_ya_medidos_no_pierden_ninguna_columna[wilt]
test_101_c3_faltante_arff_e_identificador.py::test_sin_catalogo_NO_se_excluye_nada
test_101_c3_faltante_arff_e_identificador.py::test_si_las_dos_senales_no_coinciden_NO_se_adivina
test_101_c3_faltante_arff_e_identificador.py::test_el_OBJETIVO_nunca_se_excluye_por_parecer_identificador
test_101_c3_faltante_arff_e_identificador.py::test_faltan_columnas_en_vez_de_sobrar_tambien_se_declara
test_101_c3_faltante_arff_e_identificador.py::test_el_objetivo_es_el_DECLARADO_no_el_ultimo_atributo
test_101_c3_faltante_arff_e_identificador.py::test_la_PASADA_pide_el_objetivo_declarado_y_no_el_ultimo
test_101_c3_faltante_arff_e_identificador.py::test_el_PREFILTRO_no_puede_cambiar_la_respuesta_del_nucleo
test_101_c3_faltante_arff_e_identificador.py::test_quien_decide_es_el_NUCLEO_y_no_la_unicidad
test_101_c3_faltante_arff_e_identificador.py::test_la_pasada_NO_tiene_su_propia_copia_del_lector
test_101_c3_faltante_arff_e_identificador.py::test_el_lector_invalida_el_CACHE_de_la_pasada
test_101_c3_faltante_arff_e_identificador.py::test_la_pasada_DECLARA_en_su_salida_que_columna_quito_y_por_que
test_101_c3_faltante_arff_e_identificador.py::test_ningun_ARFF_del_protocolo_declara_el_interrogante_como_NIVEL_legitimo
test_101_c3_faltante_arff_e_identificador.py::test_un_nivel_declarado_como_interrogante_SE_PIERDE_y_asi_se_ve
test_101_c3_faltante_arff_e_identificador.py::test_ningun_OBJETIVO_de_los_cuarenta_trae_interrogante
test_101_c3_faltante_arff_e_identificador.py::test_un_interrogante_en_el_OBJETIVO_deja_la_fila_sin_etiqueta
test_101_c3_faltante_arff_e_identificador.py::test_tiene_faltantes_es_ALGUNA_celda_y_NO_el_uno_por_ciento_del_anexo
test_101_c3_file_id_en_el_protocolo.py::test_el_file_id_va_DENTRO_de_la_url_de_descarga[https://openml.org/data/v1/download/1595261/adult.arff-1595261]
test_101_c3_file_id_en_el_protocolo.py::test_el_file_id_va_DENTRO_de_la_url_de_descarga[https://www.openml.org/data/v1/download/52350/breast-w.arff-52350]
test_101_c3_file_id_en_el_protocolo.py::test_el_file_id_va_DENTRO_de_la_url_de_descarga[https://api.openml.org/data/v1/download/3/kr-vs-kp.arff-3]
test_101_c3_file_id_en_el_protocolo.py::test_el_file_id_va_DENTRO_de_la_url_de_descarga[http://openml.org/data/v1/download/22044770/okcupid-stem.arff-22044770]
test_101_c3_file_id_en_el_protocolo.py::test_una_url_que_NO_reconozco_levanta_en_vez_de_callar[https://openml.org/api/v1/json/data/1590]
test_101_c3_file_id_en_el_protocolo.py::test_una_url_que_NO_reconozco_levanta_en_vez_de_callar[https://ejemplo.invalido/data/v1/download/7/x.arff]
test_101_c3_file_id_en_el_protocolo.py::test_una_url_que_NO_reconozco_levanta_en_vez_de_callar[openml.org/data/v1/download/7/x.arff]
test_101_c3_file_id_en_el_protocolo.py::test_una_url_que_NO_reconozco_levanta_en_vez_de_callar[]
test_101_c3_file_id_en_el_protocolo.py::test_una_url_que_NO_reconozco_levanta_en_vez_de_callar[None]
test_101_c3_file_id_en_el_protocolo.py::test_una_url_que_NO_reconozco_levanta_en_vez_de_callar[1595261]
test_101_c3_file_id_en_el_protocolo.py::test_la_url_se_recompone_desde_el_file_id_y_vuelve_a_dar_el_mismo
test_101_c3_file_id_en_el_protocolo.py::test_componer_una_url_con_un_file_id_que_no_lo_es_levanta[0]
test_101_c3_file_id_en_el_protocolo.py::test_componer_una_url_con_un_file_id_que_no_lo_es_levanta[-3]
test_101_c3_file_id_en_el_protocolo.py::test_componer_una_url_con_un_file_id_que_no_lo_es_levanta[None]
test_101_c3_file_id_en_el_protocolo.py::test_componer_una_url_con_un_file_id_que_no_lo_es_levanta[1595261]
test_101_c3_file_id_en_el_protocolo.py::test_componer_una_url_con_un_file_id_que_no_lo_es_levanta[True]
test_101_c3_file_id_en_el_protocolo.py::test_el_protocolo_registrado_TRAE_el_file_id_y_SIGUE_sin_url
test_101_c3_file_id_en_el_protocolo.py::test_los_CUARENTA_recuperan_su_file_id_de_la_seleccion_local
test_101_c3_file_id_en_el_protocolo.py::test_el_file_id_NO_se_puede_deducir_del_data_id
test_101_c3_file_id_en_el_protocolo.py::test_protocolo_con_file_id_NO_muta_lo_que_recibe
test_101_c3_file_id_en_el_protocolo.py::test_si_falta_el_file_id_de_UNO_no_se_compone_nada
test_101_c3_file_id_en_el_protocolo.py::test_el_campo_ENTRA_EN_EL_SELLO_las_dos_mitades
test_101_c3_file_id_en_el_protocolo.py::test_un_protocolo_con_el_file_id_A_MEDIAS_se_RECHAZA
test_101_c3_file_id_en_el_protocolo.py::test_un_file_id_que_no_es_un_entero_positivo_se_RECHAZA[0]
test_101_c3_file_id_en_el_protocolo.py::test_un_file_id_que_no_es_un_entero_positivo_se_RECHAZA[-1]
test_101_c3_file_id_en_el_protocolo.py::test_un_file_id_que_no_es_un_entero_positivo_se_RECHAZA[no-soy-un-numero]
test_101_c3_file_id_en_el_protocolo.py::test_un_file_id_que_no_es_un_entero_positivo_se_RECHAZA[3.5]
test_101_c3_file_id_en_el_protocolo.py::test_un_file_id_que_llega_como_CADENA_de_digitos_se_convierte
test_101_c3_file_id_en_el_protocolo.py::test_el_protocolo_registrado_trae_el_file_id_de_los_40
test_101_c3_file_id_en_el_protocolo.py::test_el_generador_ya_CABLEA_el_file_id_que_la_API_le_daba
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_red_compuesta_deja_layers_vacio_por_construccion
test_101_c3_tercer_defecto_cableado_pc4.py::test_dense_forward_rechaza_una_red_compuesta
test_101_c3_tercer_defecto_cableado_pc4.py::test_dense_forward_ya_no_devuelve_la_entrada_disfrazada_de_prediccion
test_101_c3_tercer_defecto_cableado_pc4.py::test_dense_forward_rechaza_una_red_sin_capas
test_101_c3_tercer_defecto_cableado_pc4.py::test_dense_forward_rechaza_un_bloque_transformer_por_su_nombre
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_una_red_densa_plana_sigue_pasando_igual
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_una_red_densa_del_parser_sigue_pasando_igual
test_101_c3_tercer_defecto_cableado_pc4.py::test_una_columna_llamada_complexity_no_pide_una_red_residual
test_101_c3_tercer_defecto_cableado_pc4.py::test_una_columna_llamada_temporal_no_enruta_a_secuencias
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_la_prosa_que_pide_residual_la_sigue_pidiendo[red con bloques residuales y LayerNorm]
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_la_prosa_que_pide_residual_la_sigue_pidiendo[a complex nonlinear model]
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_la_prosa_que_pide_residual_la_sigue_pidiendo[quiero una red profunda con dropout]
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_la_prosa_de_secuencia_la_sigue_pidiendo[predecir una serie temporal de ventas]
test_101_c3_tercer_defecto_cableado_pc4.py::test_la_otra_mitad_la_prosa_de_secuencia_la_sigue_pidiendo[modelo de sequence para el hist\xf3rico]
test_101_c3_tercer_defecto_cableado_pc4.py::test_un_prompt_normal_sigue_sin_pedir_nada_de_esto
test_101_c3_tercer_defecto_cableado_pc4.py::test_un_csv_con_columnas_de_complejidad_genera_una_red_densa_ejecutable
test_101_c3_un_solo_lector_de_arff.py::UnSoloLectorDeArffTest::test_el_lector_unico_SI_lo_abre
test_101_c3_un_solo_lector_de_arff.py::UnSoloLectorDeArffTest::test_quien_necesita_leer_lo_pide_al_UNICO_sitio_que_lo_hace
test_101_c3_un_solo_lector_de_arff.py::UnSoloLectorDeArffTest::test_solo_el_lector_unico_abre_un_ARFF
test_101_c5_lector_arff.py::test_los_cuatro_que_no_se_podian_leer_YA_se_leen[pendigits-10992]
test_101_c5_lector_arff.py::test_los_cuatro_que_no_se_podian_leer_YA_se_leen[diamonds-53940]
test_101_c5_lector_arff.py::test_los_cuatro_que_no_se_podian_leer_YA_se_leen[house_prices_nominal-1460]
test_101_c5_lector_arff.py::test_los_cuatro_que_no_se_podian_leer_YA_se_leen[us_crime-1994]
test_101_c5_lector_arff.py::test_los_CUARENTA_del_protocolo_se_leen
test_101_c5_lector_arff.py::test_los_36_LIMPIOS_no_se_tocan
test_101_c5_lector_arff.py::test_la_columna_STRING_se_EXCLUYE_y_se_dice_cual
test_101_c5_lector_arff.py::test_EL_FICHERO_DEL_DISCO_NO_SE_TOCA
test_101_c5_lector_arff.py::test_la_normalizacion_no_INVENTA_valores
test_101_c5_lector_arff.py::test_una_columna_STRING_sale_del_TEXTO_normalizado_entera
test_107_c30_arnes.py::NormalizacionCategoriaTest::test_booleano_de_excel_de_v2_se_traduce_al_vocabulario_de_v1
test_107_c30_arnes.py::NormalizacionCategoriaTest::test_booleano_declarado_sin_valor_bool_se_rechaza
test_107_c30_arnes.py::NormalizacionCategoriaTest::test_texto_fuera_del_vocabulario_se_rechaza
test_107_c30_arnes.py::NormalizacionCategoriaTest::test_texto_v1_se_conserva
test_107_c30_arnes.py::NormalizacionCategoriaTest::test_tipo_de_celda_inesperado_se_rechaza
test_107_c30_arnes.py::ReglaCodiEspTest::test_codigo_en_mayusculas_o_con_espacios_se_normaliza
test_107_c30_arnes.py::ReglaCodiEspTest::test_leer_d_tsv_agrupa_codigos_por_caso
test_107_c30_arnes.py::ReglaCodiEspTest::test_r52_decide_el_target_binario
test_107_c30_arnes.py::ReglaIdiomaTest::test_frase_castellana_corta_y_ambigua_no_cruza_el_umbral
test_107_c30_arnes.py::ReglaIdiomaTest::test_frases_de_control_se_clasifican_en_su_idioma
test_107_c30_arnes.py::ReglaIdiomaTest::test_ningun_marcador_activo_coincide_con_una_palabra_castellana_corriente
test_107_c30_arnes.py::ReglaIdiomaTest::test_texto_vacio_es_castellano_por_omision
test_107_c30_arnes.py::ReglaIdiomaTest::test_umbral_de_dos_marcadores_distintos
test_107_c30_arnes.py::MismaParticionTest::test_el_digest_solo_depende_de_las_filas_no_del_nombre_de_la_condicion
test_107_c30_arnes.py::MismaParticionTest::test_las_tres_condiciones_declaran_el_mismo_split_plan_digest
test_107_c30_arnes.py::VeredictoFrenteACeroTest::test_candidato_claramente_mejor_da_mejora
test_107_c30_arnes.py::VeredictoFrenteACeroTest::test_protocolos_distintos_declarados_dan_incomparable
test_107_c30_arnes.py::ElMargenEsElDelPreRegistroTest::test_el_margen_es_0_05_y_es_el_que_recibe_comparar_candidatos
test_107_c30_datos_publicos_texto.py::test_lo_publicado_es_BYTE_A_BYTE_lo_que_sale_de_los_registros
test_107_c30_datos_publicos_texto.py::test_cada_metrica_puntual_publicada_es_exactamente_la_de_su_fuente
test_107_c30_datos_publicos_texto.py::test_la_tarea_B_no_tiene_la_condicion_4_medida
test_107_c30_datos_publicos_texto.py::test_la_tarea_D_condicion_3_y_4_omitidas_con_sus_claves
test_107_c30_datos_publicos_texto.py::test_la_condicion_5_esta_omitida_en_B_y_C_con_sus_claves_de_motivo
test_107_c30_datos_publicos_texto.py::test_la_condicion_5_en_A_y_D_trae_su_comparacion_y_su_pregunta_literal
test_107_c30_datos_publicos_texto.py::test_la_condicion_5_declara_sus_faltantes_contados
test_107_c30_datos_publicos_texto.py::test_las_diferencias_descritas_de_la_condicion_5_en_A_coinciden_con_el_registro
test_107_c30_datos_publicos_texto.py::test_la_tarea_C_sin_su_resultado_de_jev_sale_pendiente
test_107_c30_datos_publicos_texto.py::test_el_acuerdo_de_la_tarea_A_se_recalcula_de_forma_INDEPENDIENTE_y_coincide
test_107_c30_datos_publicos_texto.py::test_las_diferencias_descritas_de_A_coinciden_con_lo_que_los_propios_registros_ya_escribieron
test_107_c30_datos_publicos_texto.py::test_una_cifra_retocada_en_un_registro_cambia_lo_publicado
test_107_c30_datos_publicos_texto.py::test_con_varias_pasadas_NO_se_publican_los_segundos_de_la_ultima_como_si_fueran_todo
test_107_c30_jev.py::TareasAdmitidasTest::test_b_prohibida_con_motivo_clinico
test_107_c30_jev.py::TareasAdmitidasTest::test_medidor_evaluar_tarea_jev_niega_b_antes_de_leer_datos
test_107_c30_jev.py::TareasAdmitidasTest::test_solo_a_y_c
test_107_c30_jev.py::TareasAdmitidasTest::test_verificar_tarea_permitida_acepta_a_y_c
test_107_c30_jev.py::TareasAdmitidasTest::test_verificar_tarea_permitida_b_se_niega_con_motivo
test_107_c30_jev.py::TareasAdmitidasTest::test_verificar_tarea_permitida_tarea_desconocida_se_niega
test_107_c30_jev.py::ClaveApiTest::test_fichero_ausente_se_niega
test_107_c30_jev.py::ClaveApiTest::test_redactar_sustituye_la_clave
test_107_c30_jev.py::ClaveApiTest::test_variable_ausente_se_niega
test_107_c30_jev.py::ClaveApiTest::test_variable_con_comillas_y_comentarios
test_107_c30_jev.py::ClaveApiTest::test_variable_presente_se_lee
test_107_c30_jev.py::ClaveApiTest::test_variable_vacia_se_niega
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_ausente_es_faltante
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_no_umbral
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_si_umbral
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_type_distinto_es_faltante
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_valor_booleano_es_faltante
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_valor_fuera_de_rango_es_faltante
test_107_c30_jev.py::AnalizarRespuestaNoulTest::test_valor_no_numerico_es_faltante
test_107_c30_jev.py::CacheRespuestasJevTest::test_claves_distintas_no_se_confunden
test_107_c30_jev.py::CacheRespuestasJevTest::test_fichero_corrupto_no_revienta_la_carga
test_107_c30_jev.py::CacheRespuestasJevTest::test_fijar_y_persistir_y_recargar
test_107_c30_jev.py::CacheRespuestasJevTest::test_obtener_sin_entrada_es_none
test_107_c30_jev.py::ResponderTerminosTest::test_cabecera_authorization_lleva_la_clave
test_107_c30_jev.py::ResponderTerminosTest::test_mapeo_noul_a_valor_1_0
test_107_c30_jev.py::ResponderTerminosTest::test_segunda_llamada_con_la_misma_cache_no_repite_la_peticion
test_107_c30_jev.py::ResponderTerminosTest::test_tarea_b_se_niega_sin_tocar_la_red
test_107_c30_jev.py::ResponderTerminosTest::test_termino_parcialmente_en_cache_solo_pregunta_lo_pendiente
test_107_c30_jev.py::ResponderTerminosTest::test_terminos_con_tildes_y_espacios_viajan_con_identificadores_neutros
test_107_c30_jev.py::ResponderTerminosTest::test_una_peticion_por_fila_con_todos_los_terminos
test_107_c30_jev.py::ClaveNuncaExpuestaTest::test_clave_no_aparece_en_el_resultado_de_una_tarea_sintetica
test_107_c30_jev.py::ClaveNuncaExpuestaTest::test_clave_no_aparece_si_el_servidor_la_devuelve_en_el_cuerpo_de_error
test_107_c30_jev.py::ClaveNuncaExpuestaTest::test_clave_no_esta_en_el_fichero_de_cache
test_107_c30_jev.py::ReintentosTest::test_429_agota_el_tope_y_se_rinde
test_107_c30_jev.py::ReintentosTest::test_429_se_reintenta_y_termina_en_exito
test_107_c30_jev.py::ReintentosTest::test_5xx_tambien_se_reintenta
test_107_c30_jev.py::ReintentosTest::test_error_fatal_no_reintenta
test_107_c30_jev.py::ErroresDeRedAlLeerTest::test_si_nunca_contesta_se_rinde_tras_el_tope_sin_la_clave
test_107_c30_jev.py::ErroresDeRedAlLeerTest::test_un_tiempo_agotado_al_leer_se_reintenta_y_sigue
test_107_c30_jev.py::EstimarSinRedTest::test_estimar_declara_la_tarea_b_omitida
test_107_c30_jev.py::EstimarSinRedTest::test_estimar_no_llama_a_peticion_decisions
test_107_c30_jev.py::EstimarSinRedTest::test_estimar_una_peticion_por_fila_no_n_preguntas_por_fila
test_107_c30_jev.py::SeleccionTerminosTareaCTest::test_chi2_quintiles_no_ve_el_marcador_de_test
test_107_c30_jev.py::SeleccionTerminosTareaCTest::test_f_regression_no_ve_el_marcador_de_test
test_107_c30_jev.py::SeleccionTerminosTareaCTest::test_seleccionar_terminos_despacha_segun_la_opcion
test_107_c30_jev.py::SeleccionTerminosTareaCTest::test_seleccionar_terminos_sin_opcion_se_niega
test_107_c30_jev.py::SeleccionTerminosTareaCTest::test_tarea_a_usa_chi2_binario_no_las_opciones_de_c
test_107_c30_jev.py::PuntaAPuntaJevFalsoTest::test_tarea_pequena_completa_con_servidor_falso
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_b_prohibida_con_motivo_clinico
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_c_prohibida_con_motivo_regresion
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_evaluar_tarea_directo_niega_b_antes_de_leer_datos
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_evaluar_tarea_directo_niega_c_antes_de_leer_datos
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_no_usa_la_tabla_de_la_condicion_4
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_solo_a_y_d
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_verificar_acepta_a_y_d
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_verificar_b_se_niega_con_motivo
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_verificar_c_se_niega_con_motivo
test_107_c30_jev_directo.py::TareasAdmitidasDirectoTest::test_verificar_tarea_desconocida_se_niega
test_107_c30_jev_directo.py::PreguntasLiteralesTest::test_a_y_d_son_preguntas_distintas
test_107_c30_jev_directo.py::PreguntasLiteralesTest::test_pregunta_a
test_107_c30_jev_directo.py::PreguntasLiteralesTest::test_pregunta_d
test_107_c30_jev_directo.py::ResponderEtiquetaTest::test_clave_no_aparece_en_la_cache
test_107_c30_jev_directo.py::ResponderEtiquetaTest::test_faltante_si_no_es_noul
test_107_c30_jev_directo.py::ResponderEtiquetaTest::test_segunda_llamada_con_cache_recargada_no_repite_la_peticion
test_107_c30_jev_directo.py::ResponderEtiquetaTest::test_una_peticion_con_una_sola_pregunta
test_107_c30_jev_directo.py::PuntuacionSinUmbralTest::test_analizar_respuesta_noul_puntuacion_no_umbraliza
test_107_c30_jev_directo.py::PuntuacionSinUmbralTest::test_analizar_respuesta_noul_umbralizado_sigue_correcto
test_107_c30_jev_directo.py::PuntuacionSinUmbralTest::test_noul_alto_no_se_convierte_en_uno
test_107_c30_jev_directo.py::PuntuacionSinUmbralTest::test_noul_bajo_no_se_convierte_en_cero
test_107_c30_jev_directo.py::PreguntaPorTareaTest::test_tarea_a_manda_solo_su_propia_pregunta
test_107_c30_jev_directo.py::PreguntaPorTareaTest::test_tarea_d_manda_solo_su_propia_pregunta
test_107_c30_jev_directo.py::PuntaAPuntaDirectoTest::test_clave_no_aparece_en_el_resultado
test_107_c30_jev_directo.py::PuntaAPuntaDirectoTest::test_sin_faltantes_todas_las_filas_de_test_entran
test_107_c30_jev_directo.py::PuntaAPuntaDirectoTest::test_una_fila_sin_respuesta_se_cuenta_y_se_excluye
test_107_c30_jev_directo.py::EstimarSinRedTest::test_estimar_declara_b_y_c_omitidas
test_107_c30_jev_directo.py::EstimarSinRedTest::test_estimar_no_llama_a_peticion_decisions
test_107_c30_jev_directo.py::EstimarSinRedTest::test_estimar_usa_solo_filas_de_test
test_107_c30_jev_directo.py::LeerMetricaPreviaTest::test_fichero_ausente_da_none
test_107_c30_jev_directo.py::LeerMetricaPreviaTest::test_lee_un_valor_anidado
test_107_c30_jev_directo.py::LeerMetricaPreviaTest::test_ruta_de_claves_ausente_da_none
test_107_c30_jev_directo.py::DiferenciaDescritaTest::test_calcula_la_diferencia_y_no_lleva_veredicto
test_107_c30_jev_directo.py::DiferenciaDescritaTest::test_none_si_falta_cualquiera_de_las_dos_metricas
test_107_c30_respondedor.py::PlantillaPreguntaTest::test_c_y_d_declaradas_omitidas_por_coste
test_107_c30_respondedor.py::PlantillaPreguntaTest::test_n_preguntas_es_5
test_107_c30_respondedor.py::PlantillaPreguntaTest::test_plantilla_es_la_literal_del_registro_sellado
test_107_c30_respondedor.py::PlantillaPreguntaTest::test_tareas_a_medir_son_a_y_b
test_107_c30_respondedor.py::AnalizarRespuestaTest::test_casos_del_registro
test_107_c30_respondedor.py::AnalizarRespuestaTest::test_mayusculas_y_puntuacion_variadas
test_107_c30_respondedor.py::AnalizarRespuestaTest::test_respuesta_vacia_es_faltante
test_107_c30_respondedor.py::AnalizarRespuestaTest::test_solo_puntuacion_es_faltante
test_107_c30_respondedor.py::SeleccionDeTerminosSinFugaTest::test_evaluar_tarea_respondedor_llama_a_terminos_top_chi2_solo_con_train
test_107_c30_respondedor.py::SeleccionDeTerminosSinFugaTest::test_evaluar_tarea_respondedor_no_elige_el_marcador_de_test_de_punta_a_punta
test_107_c30_respondedor.py::SeleccionDeTerminosSinFugaTest::test_terminos_top_chi2_directa_no_ve_el_marcador_de_test
test_107_c30_respondedor.py::SeleccionDeTerminosUsaElVectorizadorDeC2Test::test_usa_construir_vectorizador_tfidf_de_medir_c30
test_107_c30_respondedor.py::TruncadoComoEmbeddingC1Test::test_texto_corto_no_se_toca
test_107_c30_respondedor.py::TruncadoComoEmbeddingC1Test::test_texto_largo_queda_en_como_mucho_max_longitud_piezas
test_107_c30_respondedor.py::TruncadoComoEmbeddingC1Test::test_truncar_dos_veces_es_estable
test_107_c30_respondedor.py::TruncadoComoEmbeddingC1Test::test_usa_la_longitud_fijada_de_matrixai_engines
test_107_c30_respondedor.py::CacheRespondedorTest::test_claves_distintas_no_se_confunden
test_107_c30_respondedor.py::CacheRespondedorTest::test_fichero_corrupto_no_revienta_la_carga
test_107_c30_respondedor.py::CacheRespondedorTest::test_fijar_y_obtener_en_memoria
test_107_c30_respondedor.py::CacheRespondedorTest::test_obtener_sin_entrada_es_none
test_107_c30_respondedor.py::CacheRespondedorTest::test_persistir_y_recargar_desde_disco
test_107_c30_respondedor.py::CacheEvitaRepetirPreguntasTest::test_un_relanzamiento_no_vuelve_a_preguntar_lo_ya_contestado
test_107_c30_respondedor.py::PuntaAPuntaRespondedorFalsoTest::test_tarea_pequena_completa_con_respondedor_falso
test_107_c30_respondedor.py::GuionDeContenedorTest::test_comprueba_la_carga_antes_de_arrancar
test_107_c30_respondedor.py::GuionDeContenedorTest::test_es_ejecutable
test_107_c30_respondedor.py::GuionDeContenedorTest::test_hay_wait_dollar_bang_sin_comentar_tras_el_docker_run_de_medicion
test_107_c30_respondedor.py::GuionDeContenedorTest::test_la_orden_docker_run_de_la_medicion_lleva_init
test_107_c30_respondedor.py::GuionDeContenedorTest::test_no_usa_exec_para_el_docker_run_de_medicion
test_107_c30_respondedor.py::GuionDeContenedorTest::test_red_ninguna
test_107_c30_respondedor.py::GuionDeContenedorTest::test_se_niega_si_hay_otro_contenedor_de_medicion_vivo
test_107_c30_respondedor.py::GuionDeContenedorTest::test_techo_de_memoria_y_cpu
test_107_c30_respondedor.py::GuionDeContenedorTest::test_tiene_nombre_de_contenedor_y_trap
test_107_c31b_declaracion_de_texto.py::TestColumnaDeclarada::test_sale_de_los_predictores_y_entra_en_texto
test_107_c31b_declaracion_de_texto.py::TestColumnaDeclarada::test_en_ingles_tambien
test_107_c31b_declaracion_de_texto.py::TestColumnaDeclarada::test_funciona_igual_si_comentario_no_viene_en_las_entradas_declaradas
test_107_c31b_declaracion_de_texto.py::TestColumnaDeclarada::test_declararla_tambien_si_esta_en_las_entradas_declaradas
test_107_c31b_declaracion_de_texto.py::TestSinDeclararNoCambiaNada::test_columnas_de_texto_none_es_lo_de_siempre
test_107_c31b_declaracion_de_texto.py::TestSinDeclararNoCambiaNada::test_columnas_de_texto_vacio_es_lo_de_siempre
test_107_c31b_declaracion_de_texto.py::TestSinDeclararNoCambiaNada::test_sin_declarar_la_columna_se_excluye_como_texto_libre
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_columna_inexistente
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_la_columna_de_texto_es_el_objetivo
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_idioma_no_admitido[fr]
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_idioma_no_admitido[de]
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_idioma_no_admitido[ES]
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_idioma_no_admitido[castellano]
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_idioma_no_admitido[]
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_dos_columnas_declaradas_es_limitacion_no_fallo_raro
test_107_c31b_declaracion_de_texto.py::TestErroresDeLaDeclaracion::test_las_claves_son_del_catalogo_bilingue_del_103
test_107_c31b_declaracion_de_texto.py::TestAvisoCuandoNoPareceTextoLibre::test_declarar_una_columna_numerica_se_admite_con_aviso
test_107_c31b_declaracion_de_texto.py::TestAvisoCuandoNoPareceTextoLibre::test_un_aviso_no_bloquea_ni_es_pregunta
test_107_c31b_declaracion_de_texto.py::TestAvisoCuandoNoPareceTextoLibre::test_declarar_texto_de_verdad_no_da_aviso
test_107_c31b_declaracion_de_texto.py::test_a_json_lleva_texto_y_avisos_siempre
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_early_stop_con_clave_de_mas_se_rechaza
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_learning_rate_no_positivo_se_rechaza
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_motor_con_la_receta_de_113_c1_se_acepta
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_motor_sin_receta_sigue_funcionando_igual_que_en_la_v1
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_patience_no_positiva_se_rechaza
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_receta_a_medias_se_rechaza
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_receta_con_clave_de_mas_se_rechaza_FALLO_CERRADO
test_113_c0_protocolo_v2.py::MotorRecetaTest::test_roundtrip_json_de_un_motor_con_receta
test_113_c0_protocolo_v2.py::LaV1NoSeHaMovidoTest::test_la_v1_no_trae_ningun_campo_receta
test_113_c0_protocolo_v2.py::LaV1NoSeHaMovidoTest::test_la_v1_sigue_dando_el_mismo_digest
test_113_c0_protocolo_v2.py::LaV1NoSeHaMovidoTest::test_la_v1_sigue_teniendo_los_TRES_que_v2_sustituye
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_15_15_10_por_cubo
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_20_10_10_por_tarea
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_P1_marca_solo_yeast
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_P1_no_cambia_la_binaria
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_cada_entrante_cae_en_la_MISMA_celda_que_su_saliente
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_con_categoricas_sube_de_15_a_17
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_el_digest_guardado_coincide_con_recalcularlo
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_el_minimo_de_8_desbalanceados_del_anexo_sigue_cumplido
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_faltantes_mayor_1pct_de_celdas_es_10
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_la_densa_conserva_sus_2_configuraciones
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_la_huella_de_la_v2_es_la_registrada
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_la_receta_de_la_densa_es_la_del_113_c1
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_los_37_NO_SUSTITUIDOS_conservan_todo_menos_desbalanceado
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_los_3_ARFF_nuevos_tienen_el_sha256_declarado
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_los_3_nuevos_traen_file_id
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_los_8_sellados_son_IDENTICOS_a_la_v1_salvo_el_campo_derivado_de_P1
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_los_TRES_que_entran_ESTAN
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_los_TRES_que_salen_YA_NO_ESTAN
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_ningun_data_id_repetido
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_ninguno_de_los_3_salientes_estaba_sellado
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_particion_presupuesto_y_regla_de_cierre_NO_cambiaron
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_siete_motores_y_SOLO_la_densa_trae_receta
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_solo_numericas_baja_de_25_a_23
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_son_40_datasets
test_113_c0_protocolo_v2.py::ProtocoloV2RegistradoTest::test_version_protocolo_es_v2
test_113_c0_protocolo_v2.py::GeneradorV2RederivaLoMismoTest::test_P1_rederivado_desde_el_codigo_coincide_con_lo_registrado
test_113_c0_protocolo_v2.py::GeneradorV2RederivaLoMismoTest::test_el_umbral_de_P1_sigue_siendo_02_no_05
test_113_c0_protocolo_v2.py::GeneradorV2RederivaLoMismoTest::test_la_receta_declarada_en_el_codigo_es_la_que_quedo_escrita
test_113_c0_protocolo_v2.py::GeneradorV2RederivaLoMismoTest::test_las_celdas_de_las_3_sustituciones_estan_declaradas_en_el_codigo
test_113_c0_protocolo_v2.py::GeneradorV2RederivaLoMismoTest::test_letter_sellado_sigue_la_misma_formula_que_los_demas
test_113_c4_pasada_v2.py::test_con_la_receta_de_hoy_la_guarda_deja_medir
test_113_c4_pasada_v2.py::test_si_la_densa_ejecutara_otra_tasa_no_se_mide
test_113_c4_pasada_v2.py::test_lee_el_protocolo_v2_y_escribe_en_su_propio_artefacto
test_113_c5_el_catalogo_del_protocolo_en_uso.py::test_el_catalogo_es_el_del_protocolo_en_uso_y_cambia_con_el
test_113_c5_el_catalogo_del_protocolo_en_uso.py::test_el_alcance_de_c3_lee_el_protocolo_en_uso
test_113_c5_el_catalogo_del_protocolo_en_uso.py::test_c5_no_guarda_una_copia_de_la_ruta
test_113_c5_informe_del_veredicto.py::test_gana_pierde_y_los_que_solo_estan_en_una
test_113_c5_informe_del_veredicto.py::test_el_desglose_por_tarea_y_por_tamano
test_113_c5_informe_del_veredicto.py::test_la_mediana_de_segundos_y_el_informe_entero
test_114_c0_texto_libre_fuera_del_estudio.py::test_la_nota_queda_fuera_y_las_demas_entran[propuestas_por_el_nucleo]
test_114_c0_texto_libre_fuera_del_estudio.py::test_la_nota_queda_fuera_y_las_demas_entran[declaradas]
test_114_c0_texto_libre_fuera_del_estudio.py::test_lo_excluido_se_dice_con_su_motivo_y_su_medida_en_los_dos_idiomas
test_114_c0_texto_libre_fuera_del_estudio.py::test_el_motivo_no_promete_un_camino_que_ya_existe_y_dice_como_usarlo
test_114_c0_texto_libre_fuera_del_estudio.py::test_la_nota_sin_declarar_tambien_se_dice
test_114_c0_texto_libre_fuera_del_estudio.py::test_sin_texto_libre_no_se_excluye_nada
test_114_c0_texto_libre_fuera_del_estudio.py::test_si_solo_quedaba_texto_libre_no_se_confirma_un_estudio_sin_entradas
test_114_c5_arnes_fechas.py::test_el_protocolo_sellado_cuadra_con_su_huella_y_con_su_generador
test_114_c5_arnes_fechas.py::test_un_protocolo_tocado_se_niega
test_114_c5_arnes_fechas.py::test_el_lector_conserva_la_fecha_como_texto
test_114_c5_arnes_fechas.py::test_el_reparto_temporal_prueba_en_el_futuro
test_114_c5_arnes_fechas.py::test_el_reparto_temporal_no_parte_una_misma_fecha
test_114_c5_arnes_fechas.py::test_las_exclusiones_y_el_objetivo_derivado
test_114_c5_arnes_fechas.py::test_de_punta_a_punta_con_y_sin_la_fecha
test_114_c5_fechas.py::test_una_fecha_da_sus_cuatro_numeros
test_114_c5_fechas.py::test_la_receta_con_hora_tiene_cinco_columnas_y_viaja
test_114_c5_fechas.py::test_se_detecta_con_la_misma_regla_que_el_analisis_del_conjunto
test_114_c5_fechas.py::test_formatos_mezclados_no_se_detectan
test_114_c5_fechas.py::test_una_fecha_NUNCA_VISTA_sale_con_numeros_y_no_desconocida
test_114_c5_fechas.py::test_un_valor_ilegible_sale_faltante_y_se_devuelve_para_decirlo
test_114_c5_fechas.py::test_un_vacio_es_un_faltante_no_un_ilegible
test_114_c5_fechas.py::test_no_toca_la_fila_que_recibe
test_114_c5_fechas.py::test_la_receta_viaja_y_se_niega_a_leer_otra
test_114_c5_fechas.py::test_una_columna_que_se_lee_igual_como_dia_mes_que_como_mes_dia_no_se_convierte
test_114_c5_fechas_en_la_preparacion.py::test_una_fecha_NUEVA_entra_por_sus_variables_y_no_como_desconocida
test_114_c5_fechas_en_la_preparacion.py::test_sin_con_fechas_la_preparacion_es_la_de_siempre
test_114_c5_fechas_en_la_preparacion.py::test_el_formulario_sigue_viendo_LA_FECHA_y_la_salida_sus_variables
test_114_c5_fechas_en_la_preparacion.py::test_una_fecha_ilegible_sale_FALTANTE_con_su_indicador_nunca_un_cero
test_114_c5_fechas_en_la_preparacion.py::test_la_politica_va_y_vuelve_por_json_con_sus_fechas
test_114_c5_fechas_en_la_preparacion.py::test_una_politica_ANTERIOR_sin_fechas_se_sigue_leyendo
test_114_c5_fechas_en_la_preparacion.py::test_lo_visto_dice_que_la_fecha_NO_se_comprobo_en_vez_de_afirmar_dentro
test_114_c6_arnes_ensamblado.py::test_datasets_no_sellados_excluye_los_ocho_sellados
test_114_c6_arnes_ensamblado.py::test_dresses_sales_es_el_no_sellado_mas_pequeno
test_114_c6_arnes_ensamblado.py::test_los_miembros_de_la_pasada_son_los_de_la_cartera_aprobada
test_114_c6_arnes_ensamblado.py::test_un_cambio_en_la_cartera_cambia_los_miembros_de_la_pasada
test_114_c6_arnes_ensamblado.py::test_dos_entradas_del_mismo_motor_no_lo_duplican
test_114_c6_arnes_ensamblado.py::test_elegir_oraculo_es_el_de_mejor_media
test_114_c6_arnes_ensamblado.py::test_elegir_oraculo_sin_miembros_medidos_no_inventa_uno
test_114_c6_arnes_ensamblado.py::test_elegir_oraculo_con_un_solo_miembro
test_114_c6_arnes_ensamblado.py::test_veredicto_del_conjunto_mejora
test_114_c6_arnes_ensamblado.py::test_veredicto_del_conjunto_dentro_del_margen
test_114_c6_arnes_ensamblado.py::test_veredicto_del_conjunto_el_intervalo_cruza_el_cero
test_114_c6_arnes_ensamblado.py::test_veredicto_del_conjunto_fallo_del_ensamblado_es_no_mejora
test_114_c6_arnes_ensamblado.py::test_veredicto_del_conjunto_menos_de_dos_pliegues_comunes_no_mejora
test_114_c6_arnes_ensamblado.py::test_veredicto_del_corte_60_por_ciento
test_114_c6_arnes_ensamblado.py::test_veredicto_del_corte_justo_por_debajo_no_cumple
test_114_c6_arnes_ensamblado.py::test_veredicto_del_corte_sin_conjuntos_no_cumple
test_114_c6_arnes_ensamblado.py::test_regla_de_la_cartera_antes_y_despues_dice_que_le_pasa_a_cada_aprobado
test_114_c6_arnes_ensamblado.py::test_regla_de_la_cartera_el_ensamblado_no_compite_en_antes
test_114_c6_arnes_ensamblado.py::test_direccion_de_las_tres_metricas_de_cierre_de_la_v2
test_114_c6_arnes_ensamblado.py::test_direccion_de_una_metrica_desconocida_para_en_vez_de_adivinar
test_115_c1_lo_visto.py::test_una_fila_normal_lo_AFIRMA
test_115_c1_lo_visto.py::test_una_categoria_nueva_sale_con_su_columna_y_su_valor
test_115_c1_lo_visto.py::test_un_numero_fuera_del_rango_sale_con_los_extremos_que_se_vieron
test_115_c1_lo_visto.py::test_los_extremos_mismos_estan_dentro
test_115_c1_lo_visto.py::test_un_faltante_que_el_entrenamiento_nunca_tuvo_se_marca
test_115_c1_lo_visto.py::test_un_faltante_donde_el_entrenamiento_ya_los_tenia_no_se_marca
test_115_c1_lo_visto.py::test_una_politica_sin_extremos_NO_dice_que_esta_dentro
test_115_c1_lo_visto.py::test_la_decision_de_desconocida_es_la_de_transformar_fila
test_115_c1_lo_visto.py::test_viaja_en_json_con_su_motivo
test_115_c1_lo_visto.py::test_una_marca_fuera_del_rango_sin_extremos_no_se_puede_construir
test_115_c2_el_proceso_actual_no_es_una_entrada.py::test_sin_declarar_las_entradas_queda_fuera_y_se_dice
test_115_c2_el_proceso_actual_no_es_una_entrada.py::test_declarandola_entre_las_entradas_tambien_queda_fuera
test_115_c2_el_proceso_actual_no_es_una_entrada.py::test_por_la_ruta_del_prompt_tambien
test_115_c2_el_proceso_actual_no_es_una_entrada.py::test_si_era_la_unica_entrada_se_bloquea
test_115_c2_el_proceso_actual_no_es_una_entrada.py::test_sin_proceso_por_columna_no_se_quita_nada
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_de_la_matriz_de_confusion_salen_sobre_decisiones[sensitivity-0.75]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_de_la_matriz_de_confusion_salen_sobre_decisiones[specificity-0.6666666666666666]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_de_la_matriz_de_confusion_salen_sobre_decisiones[ppv-0.6]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_de_la_matriz_de_confusion_salen_sobre_decisiones[npv-0.8]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_de_la_matriz_de_confusion_salen_sobre_decisiones[accuracy-0.7]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_que_ordenan_o_piden_probabilidad_SIGUEN_negandose[auroc]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_que_ordenan_o_piden_probabilidad_SIGUEN_negandose[average_precision]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_las_que_ordenan_o_piden_probabilidad_SIGUEN_negandose[brier_score]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_el_catalogo_dice_que_piden_la_etiqueta_como_accuracy[sensitivity]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_el_catalogo_dice_que_piden_la_etiqueta_como_accuracy[specificity]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_el_catalogo_dice_que_piden_la_etiqueta_como_accuracy[ppv]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_el_catalogo_dice_que_piden_la_etiqueta_como_accuracy[npv]
test_115_c2_matriz_de_confusion_sobre_decisiones.py::test_atestiguar_NO_ofrece_lo_que_depende_de_la_clase_positiva
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes0-0]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes0-1]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes0-2]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes0-3]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes0-4]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes0-5]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes1-0]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes1-1]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes1-2]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes1-3]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes1-4]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes1-5]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes2-0]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes2-1]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes2-2]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes2-3]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes2-4]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes2-5]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes3-0]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes3-1]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes3-2]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes3-3]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes3-4]
test_115_c3_bandas.py::test_el_minimo_es_el_de_la_fuerza_bruta[costes3-5]
test_115_c3_bandas.py::test_si_revisar_sale_caro_no_hay_revision_y_cuesta_lo_del_umbral_de_siempre
test_115_c3_bandas.py::test_si_revisar_es_barato_se_abre_una_banda_de_revision
test_115_c3_bandas.py::test_las_fronteras_son_las_del_umbral_de_siempre
test_115_c3_bandas.py::test_cada_banda_se_mide_en_test_con_su_intervalo
test_115_c3_bandas.py::test_una_banda_con_pocas_filas_no_se_pinta_y_se_dice
test_115_c3_bandas.py::test_con_restricciones_obligatorias_se_niega_y_lo_dice
test_115_c3_bandas.py::test_sin_probabilidades_o_fuera_de_binaria_no_se_eligen
test_115_c3_bandas.py::test_viaja_en_json
test_115_c3_bandas.py::test_con_el_umbral_dado_ninguna_fila_contradice_al_umbral[0.1]
test_115_c3_bandas.py::test_con_el_umbral_dado_ninguna_fila_contradice_al_umbral[0.3]
test_115_c3_bandas.py::test_con_el_umbral_dado_ninguna_fila_contradice_al_umbral[0.5]
test_115_c3_bandas.py::test_con_el_umbral_dado_ninguna_fila_contradice_al_umbral[0.9]
test_115_c3_bandas.py::test_con_el_umbral_dado_ninguna_fila_contradice_al_umbral[1.5]
test_115_c3_bandas.py::test_el_par_de_la_auditoria_umbral_0737_y_bandas_0717
test_115_c4_conforme.py::test_el_cuantil_es_el_k_esimo_con_el_mas_uno_de_las_muestras_finitas
test_115_c4_conforme.py::test_con_pocas_filas_no_se_garantiza_y_se_dice_cuantas_harian_falta
test_115_c4_conforme.py::test_la_cobertura_en_test_cumple_la_nominal_en_binaria
test_115_c4_conforme.py::test_la_cobertura_en_test_cumple_la_nominal_en_regresion
test_115_c4_conforme.py::test_con_un_modelo_mal_calibrado_la_medicion_lo_detecta
test_115_c4_conforme.py::test_un_conjunto_vacio_se_cuenta_no_se_rellena
test_115_c4_conforme.py::test_una_etiqueta_dura_no_se_calibra
test_115_c4_conforme.py::test_viaja_en_json_con_su_garantia_dicha
test_116_c0_arnes_tabicl.py::test_la_rejilla_es_la_registrada
test_116_c0_arnes_tabicl.py::test_tras_un_no_cabe_no_se_lanzan_las_filas_mayores_de_esa_fuente_y_columnas
test_116_c0_arnes_tabicl.py::test_la_memoria_del_proceso_se_lee_de_su_status
test_116_c0_arnes_tabicl.py::test_los_datos_sinteticos_tienen_la_forma_pedida_y_no_cambian
test_116_c2_arnes_tabicl.py::test_rechazos_de_regimen_vacio_cuando_todo_cabe
test_116_c2_arnes_tabicl.py::test_rechazos_de_regimen_en_el_borde_exacto_SI_cabe
test_116_c2_arnes_tabicl.py::test_rechazos_de_regimen_una_fila_de_mas_rechaza_SOLO_ese_pliegue
test_116_c2_arnes_tabicl.py::test_rechazos_de_regimen_columnas_de_mas_rechaza_TODOS_los_pliegues
test_116_c2_arnes_tabicl.py::test_rechazos_de_regimen_puede_rechazar_por_las_dos_razones_a_la_vez
test_116_c2_arnes_tabicl.py::test_regimen_del_dataset_dentro_cuando_TODOS_los_pliegues_aceptan
test_116_c2_arnes_tabicl.py::test_regimen_del_dataset_fuera_cuando_UN_pliegue_rechaza_el_conjunto_entero
test_116_c2_arnes_tabicl.py::test_motivo_fuera_de_regimen_dice_el_motivo_y_lo_que_pidio
test_116_c2_arnes_tabicl.py::test_diferencias_emparejadas_empareja_por_clave_no_por_orden_de_insercion
test_116_c2_arnes_tabicl.py::test_diferencias_emparejadas_solo_las_claves_comunes
test_116_c2_arnes_tabicl.py::test_veredicto_del_conjunto_mejora
test_116_c2_arnes_tabicl.py::test_veredicto_del_conjunto_dentro_del_margen
test_116_c2_arnes_tabicl.py::test_veredicto_del_conjunto_cruza_el_cero
test_116_c2_arnes_tabicl.py::test_veredicto_del_conjunto_fallo_de_tabicl_es_no_mejora
test_116_c2_arnes_tabicl.py::test_veredicto_del_conjunto_menos_de_dos_pliegues_comunes_no_mejora
test_116_c2_arnes_tabicl.py::test_clasificar_conjunto_fuera_de_regimen_no_produce_veredicto
test_116_c2_arnes_tabicl.py::test_clasificar_conjunto_medible_cuando_lightgbm_cubre_todos_los_pliegues_de_tabicl
test_116_c2_arnes_tabicl.py::test_clasificar_conjunto_sin_lightgbm_emparejable_cuando_falta_UN_pliegue_de_lightgbm
test_116_c2_arnes_tabicl.py::test_clasificar_conjunto_lightgbm_de_otro_motor_no_cuenta
test_116_c2_arnes_tabicl.py::test_clasificar_conjunto_lightgbm_fallido_no_cuenta_como_pliegue_disponible
test_116_c2_arnes_tabicl.py::test_clasificar_conjunto_fallo_de_tabicl_es_medible_con_no_mejora
test_116_c2_arnes_tabicl.py::test_veredicto_del_corte_60_por_ciento
test_116_c2_arnes_tabicl.py::test_veredicto_del_corte_justo_por_debajo_no_cumple
test_116_c2_arnes_tabicl.py::test_veredicto_del_corte_sin_conjuntos_medibles_no_cumple
test_116_c2_arnes_tabicl.py::test_veredicto_del_corte_solo_mira_los_medibles
test_116_c2_arnes_tabicl.py::test_regla_de_la_cartera_con_tabicl_evalua_a_tabicl_y_a_cada_aprobado
test_116_c2_arnes_tabicl.py::test_regla_de_la_cartera_con_tabicl_restringe_al_regimen
test_116_c2_arnes_tabicl.py::test_regimen_estimado_desde_metadatos_aritmetica_conocida
test_116_c2_arnes_tabicl.py::test_regimen_estimado_desde_metadatos_redondea_hacia_arriba
test_116_c2_arnes_tabicl.py::test_regimen_estimado_desde_metadatos_fuera_por_columnas
test_116_c2_arnes_tabicl.py::test_regimen_estimado_desde_metadatos_fuera_por_filas
test_116_c2_arnes_tabicl.py::test_regimen_estimado_coincide_con_el_exacto_para_los_conjuntos_reales
test_116_c2_arnes_tabicl.py::test_cargar_particion_por_dataset_v2_trae_los_40_datasets
test_116_c2_contenedor_no_sobrevive.py::test_la_pasada_corre_con_init_para_que_el_sigterm_llegue_a_python
test_116_c2_contenedor_no_sobrevive.py::test_docker_run_va_en_segundo_plano_y_se_espera_con_wait
test_116_c2_contenedor_no_sobrevive.py::test_el_trap_quita_el_contenedor_por_su_nombre_tambien_con_term
test_116_c4_kit_gpu.py::test_la_rejilla_va_de_menos_a_mas_filas_dentro_de_cada_tarea_y_anchura
test_116_c4_kit_gpu.py::test_tras_un_punto_que_no_termina_los_mayores_de_su_fila_no_se_lanzan
test_116_c4_kit_gpu.py::test_al_relanzar_reaprovecha_lo_medido_y_repite_lo_que_no_termino
test_116_c4_kit_gpu.py::test_guarda_tras_cada_punto
test_116_c4_kit_gpu.py::test_los_pesos_se_verifican_por_su_huella
test_117_c1_datos_publicos.py::test_lo_publicado_es_BYTE_A_BYTE_lo_que_sale_del_artefacto
test_117_c1_datos_publicos.py::test_el_bloque_principal_es_la_AMPLIA_y_es_anclable_entera
test_117_c1_datos_publicos.py::test_el_bloque_ultima_medicion_es_la_v2_y_NO_es_anclable_entera
test_117_c1_datos_publicos.py::test_el_veredicto_publicado_es_el_de_cada_pasada_tambien_el_de_nuestra_red
test_117_c1_datos_publicos.py::test_la_procedencia_de_la_ultima_medicion_viaja_DENTRO_de_su_bloque
test_117_c1_datos_publicos.py::test_los_sellados_salen_marcados_y_la_visibilidad_no_se_llama_licencia
test_117_c1_datos_publicos.py::test_una_cifra_retocada_en_el_ARTEFACTO_PRINCIPAL_cambia_lo_publicado
test_117_c1_datos_publicos.py::test_una_cifra_retocada_en_el_ARTEFACTO_DE_LA_ULTIMA_MEDICION_cambia_lo_publicado
test_117_c1_datos_publicos.py::test_si_las_medias_no_reproducen_las_distancias_de_la_pasada_NO_se_genera
test_117_c1_datos_publicos.py::test_una_pasada_a_medias_no_se_publica
test_117_c1_datos_publicos.py::test_el_JSON_publicado_lleva_la_cartera_que_aprueba_matrixai_engines
test_117_c1_datos_publicos.py::test_una_cartera_VACIA_se_publica_vacia_y_no_para_el_generador
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_digest_que_aprueba_la_cartera_es_el_de_la_pasada_AMPLIA
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_bloque_PRINCIPAL_del_JSON_ORIGINAL_cita_el_digest_de_la_cartera
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_bloque_PRINCIPAL_de_CADA_COPIA_publicada_cita_el_digest_de_la_cartera[matrixAI/benchmarks/datos_publicos/fase0_publico.json]
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_bloque_PRINCIPAL_de_CADA_COPIA_publicada_cita_el_digest_de_la_cartera[matrixaistudio/frontend/src/datos/fase0_publico.json]
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_bloque_PRINCIPAL_de_CADA_COPIA_publicada_cita_el_digest_de_la_cartera[matrixaistudio/studio-backend/matrixai_studio/ejemplos_medidos/fase0_publico.json]
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_artefacto_crudo_descargable_de_la_web_es_el_que_aprueba_la_cartera
test_117_c5_lo_publicado_cita_la_cartera.py::test_el_bloque_ULTIMA_MEDICION_no_tiene_que_citar_el_digest_de_la_cartera
test_118_c0_protocolo_v3.py::test_la_v3_copia_de_la_v2_todo_lo_que_decide_el_liston_y_el_reparto
test_118_c0_protocolo_v3.py::test_el_digest_es_el_de_su_contenido
test_118_c0_protocolo_v3.py::test_el_json_es_el_que_compone_su_guion
test_118_c0_protocolo_v3.py::test_las_palancas_que_se_miden_tienen_sus_parametros_fijados
test_118_c0_protocolo_v3.py::test_la_receta_base_es_la_de_la_v2
test_118_c0_protocolo_v3.py::test_la_enmienda_1_de_C3_esta_atada_a_la_v3_y_dice_lo_que_no_se_aplica
test_118_c0_protocolo_v3.py::test_la_enmienda_2_registra_la_receta_completa_atada_a_la_v3_y_a_la_1
test_118_c0_protocolo_v3.py::test_la_enmienda_3_sustituye_C3_por_C3b_atada_a_la_v3_y_a_la_2_sin_registrar_palanca_nueva
test_118_c1_arnes_palanca.py::test_datasets_de_la_palanca_todos_los_no_sellados
test_118_c1_arnes_palanca.py::test_datasets_de_la_palanca_118_c1_real_son_los_32_no_sellados
test_118_c1_arnes_palanca.py::test_datasets_de_la_palanca_solo_regresion
test_118_c1_arnes_palanca.py::test_datasets_de_la_palanca_palanca_inexistente_para
test_118_c1_arnes_palanca.py::test_datasets_de_la_palanca_texto_de_conjuntos_desconocido_para
test_118_c1_arnes_palanca.py::test_datasets_de_la_palanca_sin_conjuntos_registrado_pendiente_para
test_118_c1_arnes_palanca.py::test_campo_sustituye_la_densa_solo_en_los_conjuntos_medidos
test_118_c1_arnes_palanca.py::test_cumplidos_se_acota_a_los_conjuntos_pedidos_no_a_todo_resultados
test_118_c1_arnes_palanca.py::test_veredicto_del_conjunto_mejora
test_118_c1_arnes_palanca.py::test_veredicto_del_conjunto_inferioridad
test_118_c1_arnes_palanca.py::test_veredicto_del_conjunto_intervalo_cruza_el_cero_ni_mejora_ni_inferioridad
test_118_c1_arnes_palanca.py::test_veredicto_del_conjunto_menos_de_dos_comunes_no_mejora_ni_inferioridad
test_118_c1_arnes_palanca.py::test_veredicto_del_conjunto_declara_los_pliegues_sin_intento_v2_y_no_los_inventa
test_118_c1_arnes_palanca.py::test_veredicto_de_la_palanca_ayuda
test_118_c1_arnes_palanca.py::test_veredicto_de_la_palanca_no_ayuda_porque_no_sube_los_cumplidos
test_118_c1_arnes_palanca.py::test_veredicto_de_la_palanca_mejora_pero_bajan_cumplidos_no_ayuda
test_118_c3b_caminos_restantes.py::TestLayerCallSeNiega::test_el_ejemplo_es_de_verdad_un_modelo_layer_call
test_118_c3b_caminos_restantes.py::TestLayerCallSeNiega::test_se_niega_con_weight_decay
test_118_c3b_caminos_restantes.py::TestLayerCallSeNiega::test_se_niega_con_schedule_cosine
test_118_c3b_caminos_restantes.py::TestLayerCallSeNiega::test_se_niega_con_type_adamw
test_118_c3b_caminos_restantes.py::TestLayerCallSeNiega::test_sin_las_lineas_nuevas_entrena_como_siempre
test_118_c3b_caminos_restantes.py::TestTransformerDeLaCLI::test_pasa_weight_decay_y_schedule_declarados
test_118_c3b_caminos_restantes.py::TestTransformerDeLaCLI::test_sin_declararlos_llegan_los_de_siempre
test_118_c3b_optimizador.py::TestParseo::test_acepta_weight_decay_y_schedule_cosine_y_type_adamw
test_118_c3b_optimizador.py::TestParseo::test_admite_las_dos_lineas_en_cualquier_orden
test_118_c3b_optimizador.py::TestParseo::test_weight_decay_solo_sin_schedule
test_118_c3b_optimizador.py::TestParseo::test_rechaza_schedule_desconocido
test_118_c3b_optimizador.py::TestParseo::test_rechaza_schedule_vacio_de_otro_tipo
test_118_c3b_optimizador.py::TestParseo::test_rechaza_weight_decay_negativo
test_118_c3b_optimizador.py::TestParseo::test_rechaza_weight_decay_no_numerico
test_118_c3b_optimizador.py::TestParseo::test_el_parser_acepta_cualquier_type_incluido_adamw
test_118_c3b_optimizador.py::TestParseo::test_sin_las_lineas_nuevas_el_spec_es_identico_campo_a_campo
test_118_c3b_optimizador.py::TestAdamWDeVerdad::test_dense_torch_instancia_adamw_con_su_decaimiento
test_118_c3b_optimizador.py::TestAdamWDeVerdad::test_dense_torch_adam_tambien_admite_weight_decay
test_118_c3b_optimizador.py::TestAdamWDeVerdad::test_composite_torch_instancia_adamw_con_su_decaimiento
test_118_c3b_optimizador.py::TestAdamWDeVerdad::test_torch_trainer_lineal_instancia_adamw_con_su_decaimiento
test_118_c3b_optimizador.py::TestProgramaCoseno::test_dense_torch_cosine_iguala_a_una_instancia_de_control
test_118_c3b_optimizador.py::TestProgramaCoseno::test_sin_schedule_la_tasa_no_se_mueve
test_118_c3b_optimizador.py::TestParadaTemprana::test_early_stop_sigue_cortando_con_adamw_weight_decay_y_coseno
test_118_c3b_optimizador.py::TestParadaTemprana::test_early_stop_sigue_cortando_igual_sin_la_palanca
test_118_c3b_optimizador.py::TestCaminoStdlibSeNiega::test_dense_stdlib_se_niega_con_weight_decay
test_118_c3b_optimizador.py::TestCaminoStdlibSeNiega::test_dense_stdlib_se_niega_con_schedule
test_118_c3b_optimizador.py::TestCaminoStdlibSeNiega::test_dense_stdlib_sigue_entrenando_sgd_plano_sin_extras
test_118_c3b_optimizador.py::TestCaminoStdlibSeNiega::test_funcion_stdlib_se_niega_con_weight_decay
test_118_c3b_optimizador.py::TestEntrenamientoRealTermina::test_run_playground_training_con_adamw_weight_decay_y_coseno
test_118_c3b_optimizador.py::TestEntrenamientoRealTermina::test_run_playground_training_sin_la_palanca_no_declara_extras
test_119_c3_pasada.py::test_sin_solo_son_los_32_no_sellados
test_119_c3_pasada.py::test_solo_un_no_sellado_se_acepta
test_119_c3_pasada.py::test_solo_un_sellado_se_niega
test_119_c3_pasada.py::test_solo_mezcla_sellado_y_no_sellado_tambien_se_niega
test_119_c3_pasada.py::test_solo_conjunto_desconocido_para
test_119_c3_pasada.py::test_los_32_no_sellados_coinciden_con_el_protocolo_v4
test_119_c3_pasada.py::test_v2_y_v4_son_identicos_byte_a_byte_en_los_bloques_que_se_miden
test_119_c3_pasada.py::test_reusable_c3_acepta_completed_con_digests_iguales
test_119_c3_pasada.py::test_reusable_c3_acepta_completed_budget_limited
test_119_c3_pasada.py::test_reusable_c3_rechaza_failed_aunque_los_digests_coincidan
test_119_c3_pasada.py::test_reusable_c3_rechaza_cancelled
test_119_c3_pasada.py::test_reusable_c3_rechaza_digest_de_entorno_distinto
test_119_c3_pasada.py::test_reusable_c3_rechaza_un_arff_distinto_o_sin_sha
test_119_c3_pasada.py::test_reusable_c3_ninguno_previo
test_119_c3_pasada.py::test_digest_de_reacciona_al_contenido_de_los_ficheros
test_119_c3_pasada.py::test_digest_motor_nuevo_incluye_los_tres_ficheros_declarados
test_119_c3_pasada.py::test_digest_motor_nuevo_es_estable_y_no_vacio
test_119_c3_pasada.py::test_el_digest_cubre_lo_que_la_auditoria_encontro_fuera
test_119_c3_pasada.py::test_las_etiquetas_no_dependen_de_donde_esta_el_arbol
test_119_c3_pasada.py::test_lo_que_importa_el_guion_de_los_repos_esta_en_el_digest
test_119_c3_pasada.py::test_el_cierre_sigue_los_imports_de_dentro_de_las_funciones
test_119_c3_pasada.py::test_el_digest_reacciona_a_metricas_py
test_119_c3_pasada.py::test_el_digest_reacciona_a_la_version_de_torch
test_119_c3_pasada.py::test_el_digest_reacciona_a_cada_fichero_de_protocolo[RUTA_DEL_PROTOCOLO_V4]
test_119_c3_pasada.py::test_el_digest_reacciona_a_cada_fichero_de_protocolo[RUTA_DE_LA_ENMIENDA_1]
test_119_c3_pasada.py::test_el_digest_reacciona_a_cada_fichero_de_protocolo[RUTA_DEL_PROTOCOLO_V2]
test_119_c3_pasada.py::test_la_enmienda_1_declara_k8_d256_n2
test_119_c3_pasada.py::test_el_motor_usa_la_configuracion_de_la_enmienda
test_119_c3_pasada.py::test_para_si_el_motor_no_usa_la_configuracion_de_la_enmienda[K_CABEZAS-16]
test_119_c3_pasada.py::test_para_si_el_motor_no_usa_la_configuracion_de_la_enmienda[D_BLOCK-512]
test_119_c3_pasada.py::test_para_si_el_motor_no_usa_la_configuracion_de_la_enmienda[N_BLOCKS-3]
test_119_c3_pasada.py::test_para_si_el_motor_ya_no_tiene_la_constante
test_119_c3_pasada.py::test_para_si_la_enmienda_y_el_guion_no_dicen_lo_mismo
test_119_c3_pasada.py::test_la_cadena_real_de_protocolos_cuadra
test_119_c3_pasada.py::test_para_si_el_v4_no_cuadra_con_su_digest
test_119_c3_pasada.py::test_para_si_la_enmienda_no_es_de_este_v4
test_119_c3_pasada.py::test_para_si_el_v2_y_el_v4_divergen
test_119_c3_pasada.py::test_la_arquitectura_de_cada_intento_se_comprueba
test_119_c3_pasada.py::test_la_particion_se_compara_con_la_de_la_v2
test_119_c3_pasada.py::test_main_para_si_el_motor_declara_otra_arquitectura_y_guarda_lo_medido
test_119_c3_pasada.py::test_main_para_si_un_intento_declara_otro_lote_que_min_256_y_su_train
test_119_c3_pasada.py::test_fallos_del_motor_distingue_ausente_fallido_y_sin_metrica
test_119_c3_pasada.py::test_condicion_1_cualquier_intento_sin_medida_del_nuevo_pierde_el_conjunto[fallos]
test_119_c3_pasada.py::test_condicion_1_cualquier_intento_sin_medida_del_nuevo_pierde_el_conjunto[ausentes]
test_119_c3_pasada.py::test_condicion_1_cualquier_intento_sin_medida_del_nuevo_pierde_el_conjunto[sin_metrica]
test_119_c3_pasada.py::test_condicion_1_la_densa_v2_con_un_intento_ausente_tambien_pierde
test_119_c3_pasada.py::test_condicion_1_la_referencia_se_mide_sin_el_motor_nuevo
test_119_c3_pasada.py::test_condicion_1_el_motor_nuevo_compite_en_el_sitio_de_la_densa_v2
test_119_c3_pasada.py::test_condicion_2_la_diferencia_es_nuevo_menos_densa_v2
test_119_c3_pasada.py::test_condicion_2_fallos_del_nuevo_con_la_densa_v2_completa_es_inferioridad
test_119_c3_pasada.py::test_condicion_2_la_densa_v2_sin_ningun_completado_es_sin_comparacion
test_119_c3_pasada.py::test_condicion_2_emparejada_solo_sobre_los_completos_en_los_dos
test_119_c3_pasada.py::test_condicion_2_fallos_en_los_dos_es_un_caso_no_previsto_y_se_dice
test_119_c3_pasada.py::test_en_la_v2_real_la_densa_no_tiene_fallos_parciales_en_los_32
test_119_c3_pasada.py::test_veredicto_por_conjunto_registra_los_fallos_con_su_motivo
test_119_c3_pasada.py::test_veredicto_de_c3_sube
test_119_c3_pasada.py::test_veredicto_de_c3_no_sube_porque_no_sube_los_cumplidos
test_119_c3_pasada.py::test_veredicto_de_c3_no_sube_porque_no_hay_mas_mejoras_que_inferioridades
test_119_c3_pasada.py::test_veredicto_de_c3_cuenta_los_sin_comparacion_aparte
test_119_c3_pasada.py::test_veredicto_de_c3_reusa_veredicto_de_la_palanca_de_118
test_119_c3_pasada.py::test_campo_de_la_comparacion_sustituye_la_densa_por_el_motor_nuevo
test_119_c3_pasada.py::test_cumplidos_de_se_acota_a_los_conjuntos_pedidos
test_119_c3_pasada.py::test_nombre_motor_nuevo_coincide_con_la_clase_real
test_119_c3_pasada.py::test_main_llama_una_vez_por_intento_de_la_particion
test_119_c3_pasada.py::test_main_una_semilla_por_repeticion
test_119_c3_pasada.py::test_main_el_presupuesto_de_cada_cubo
test_119_c3_pasada.py::test_main_la_referencia_es_la_v2_sin_el_motor_nuevo
test_119_c3_pasada.py::test_main_el_motor_nuevo_compite_en_el_sitio_de_la_densa
test_119_c3_pasada.py::test_main_la_diferencia_emparejada_es_nuevo_menos_densa
test_119_c3_pasada.py::test_main_guarda_lo_que_el_motor_declara
test_119_c3_pasada.py::test_main_concilia_los_intentos_con_el_plan
test_119_c3_pasada.py::test_main_registra_la_particion_y_es_la_de_la_v2
test_119_c3_pasada.py::test_main_declara_allstate_y_la_enmienda_2
test_119_c3_pasada.py::test_allstate_medido_dice_las_epocas_de_verdad
test_119_c3_pasada.py::test_plan_de_intentos_semilla_presupuesto_y_repeticiones
test_119_c3_pasada.py::test_main_reintenta_un_failed_un_ausente_y_un_arff_distinto
test_119_c3_pasada.py::test_un_fallo_reintentado_deja_rastro_en_el_artefacto_y_en_el_veredicto
test_119_c3_pasada.py::test_el_punto_de_control_se_guarda_al_acabar_cada_repeticion
test_119_c3_pasada.py::test_la_salida_se_fusiona_con_la_que_ya_hay
test_119_c3_pasada.py::test_un_corte_a_media_noche_no_borra_lo_de_la_noche_anterior
test_119_c3_pasada.py::test_humo_solo_y_estimar_no_escriben_por_omision_en_el_resultado_real
test_119_c3_pasada.py::test_salida_admite_una_ruta_absoluta_fuera_del_arbol
test_119_c3_pasada.py::test_un_humo_no_pisa_un_resultado_real
test_119_c3_pasada.py::test_tipo_del_fichero_reconoce_los_de_antes_del_campo
test_119_c3_pasada.py::test_fusionar_resultados_conserva_lo_no_tocado
test_119_c3_pasada.py::test_estimar_interpola_por_celdas_y_usa_la_cota_por_encima
test_119_c3_pasada.py::test_estimar_suma_la_preparacion_del_padre_y_nunca_pasa_del_techo
test_119_c3_pasada.py::test_estimar_dice_si_cabe_de_noche_y_cuantas_noches_con_un_proceso
test_119_c3_pasada.py::test_cmd_estimar_mide_escribe_aparte_y_declara_los_cubos_sin_medida
test_119_c3_pasada.py::test_estimar_no_pisa_un_resultado_de_pasada
test_119_c3_pasada.py::test_la_lista_de_la_estimacion_mide_mas_de_uno_por_cubo_y_los_anchos
test_119_c3_pasada.py::test_la_cadena_de_la_enmienda_2_registrada_cuadra
test_119_c3_pasada.py::test_la_pasada_real_se_niega_sin_la_enmienda_2_o_con_su_cadena_rota[ausente]
test_119_c3_pasada.py::test_la_pasada_real_se_niega_sin_la_enmienda_2_o_con_su_cadena_rota[digest_propio]
test_119_c3_pasada.py::test_la_pasada_real_se_niega_sin_la_enmienda_2_o_con_su_cadena_rota[no_cita_el_v4]
test_119_c3_pasada.py::test_la_pasada_real_se_niega_sin_la_enmienda_2_o_con_su_cadena_rota[no_cita_la_enmienda_1]
test_119_c3_pasada.py::test_la_pasada_real_arranca_con_la_enmienda_2_registrada
test_119_c3_pasada.py::test_solo_humo_y_estimar_corren_sin_la_enmienda_2_y_lo_dicen
test_119_c3_pasada.py::test_la_enmienda_2_queda_en_la_procedencia_y_no_en_el_digest
test_119_c3_pasada.py::test_para_encolar_de_dia_con_la_estimacion_entera_y_un_tope_holgado
test_119_c3_pasada.py::test_para_encolar_de_noche_dice_que_no_cabe_y_da_la_continuacion_con_commits
test_119_c3_pasada.py::test_para_encolar_de_dia_no_cabe_si_la_estimacion_pasa_del_dia
test_119_c3_pasada.py::test_el_fin_de_la_suite_se_lee_del_resumen_de_la_cola
test_119_c3_pasada.py::test_el_resultado_declara_que_la_parada_no_es_como_la_fuente_en_clasificacion
test_119_c3_pasada.py::test_la_memoria_del_arbol_suma_la_de_los_hijos
test_119_c3_receta.py::test_la_receta_se_lee_de_los_tres_ficheros_del_protocolo
test_119_c3_receta.py::test_cada_constante_del_motor_es_la_del_protocolo
test_119_c3_receta.py::test_un_ajuste_de_verdad_usa_adamw_y_la_receta_del_protocolo
test_119_c3_receta.py::test_la_guardia_de_la_pasada_mide_la_receta_y_la_declara
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[TASA_DE_APRENDIZAJE-0.001]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[WEIGHT_DECAY-0.01]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[DROPOUT-0.3]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[N_FREQUENCIES-16]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[D_EMBEDDING-16]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[FREQUENCY_INIT_SCALE-0.1]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[NORMA_MAXIMA_DE_RECORTE-2.0]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[LOTE_MAXIMO-64]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[PACIENCIA-15]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[FRACCION_DEL_PRESUPUESTO_PARA_ENTRENAR-0.9]
test_119_c3_receta.py::test_la_guardia_para_con_cualquier_constante_de_la_receta_cambiada[SEMILLA_DEL_RUIDO_DE_CUANTILES-1]
test_119_c3_receta.py::test_la_guardia_para_si_el_ajuste_usa_adam_aunque_las_constantes_esten_bien
test_119_c3_receta.py::test_la_guardia_para_si_el_protocolo_no_dice_un_valor
test_119_c3_receta.py::test_cada_intento_se_compara_con_la_receta_entera
test_119_c4_pasada.py::test_sin_solo_son_los_8_sellados
test_119_c4_pasada.py::test_solo_un_sellado_se_acepta
test_119_c4_pasada.py::test_solo_un_no_sellado_se_niega
test_119_c4_pasada.py::test_solo_mezcla_sellado_y_no_sellado_tambien_se_niega
test_119_c4_pasada.py::test_solo_conjunto_desconocido_para
test_119_c4_pasada.py::test_cli_se_niega_a_medir_un_no_sellado
test_119_c4_pasada.py::test_el_ejecutor_real_guardado_es_el_de_subproceso
test_119_c4_pasada.py::test_solo_con_el_motor_real_para_antes_de_cargar_nada
test_119_c4_pasada.py::test_el_docstring_ya_no_propone_solo_sobre_un_sellado
test_119_c4_pasada.py::test_las_rutas_fijas_son_la_cola_y_las_dos_del_arbol
test_119_c4_pasada.py::test_una_sola_ejecucion_no_hace_nada_si_no_hay_ningun_fichero
test_119_c4_pasada.py::test_una_sola_ejecucion_se_niega_sobre_un_resultado_completo
test_119_c4_pasada.py::test_una_sola_ejecucion_mira_las_rutas_fijas_aunque_la_salida_sea_otra[0]
test_119_c4_pasada.py::test_una_sola_ejecucion_mira_las_rutas_fijas_aunque_la_salida_sea_otra[1]
test_119_c4_pasada.py::test_una_sola_ejecucion_mira_las_rutas_fijas_aunque_la_salida_sea_otra[2]
test_119_c4_pasada.py::test_una_sola_ejecucion_falla_cerrado_si_parcial_no_es_true
test_119_c4_pasada.py::test_una_sola_ejecucion_reanuda_un_parcial
test_119_c4_pasada.py::test_una_solo_de_prueba_en_una_ruta_fija_no_cuenta_como_la_confirmacion
test_119_c4_pasada.py::test_ruta_de_salida_de_c3_respeta_el_resultado_real_que_se_le_pasa
test_119_c4_pasada.py::test_ruta_de_salida_c4_no_deja_escribir_una_prueba_en_ninguna_ruta_real[solo]
test_119_c4_pasada.py::test_ruta_de_salida_c4_no_deja_escribir_una_prueba_en_ninguna_ruta_real[estimar]
test_119_c4_pasada.py::test_sin_previo_se_mide
test_119_c4_pasada.py::test_un_previo_del_mismo_codigo_se_reusa_tambien_si_fallo[completed]
test_119_c4_pasada.py::test_un_previo_del_mismo_codigo_se_reusa_tambien_si_fallo[failed]
test_119_c4_pasada.py::test_un_previo_del_mismo_codigo_se_reusa_tambien_si_fallo[cancelled]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[completed-cambio0]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[completed-cambio1]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[completed-cambio2]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[completed-cambio3]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[failed-cambio0]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[failed-cambio1]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[failed-cambio2]
test_119_c4_pasada.py::test_un_previo_que_no_es_reusable_para_en_vez_de_re_medir[failed-cambio3]
test_119_c4_pasada.py::test_al_arrancar_para_si_algun_previo_es_de_otro_codigo
test_119_c4_pasada.py::test_verificar_los_sellos_de_c3_cuadra_recien_sellado
test_119_c4_pasada.py::test_para_si_los_sellos_de_c3_no_cuadran
test_119_c4_pasada.py::test_exigir_c3_sellado_y_anclado_pasa_si_todo_cuadra
test_119_c4_pasada.py::test_para_si_no_esta_el_resultado_de_c3
test_119_c4_pasada.py::test_para_si_c3_esta_parcial
test_119_c4_pasada.py::test_para_si_c3_no_es_la_pasada_real[solo-False]
test_119_c4_pasada.py::test_para_si_c3_no_es_la_pasada_real[pasada-True]
test_119_c4_pasada.py::test_para_si_c3_esta_sellado_pero_no_es_el_c3_medido
test_119_c4_pasada.py::test_para_si_un_commit_de_motores_distinto_sigue_parando
test_119_c4_pasada.py::test_para_si_el_digest_del_motor_difiere
test_119_c4_pasada.py::test_para_si_el_arbol_de_matrixai_esta_sucio
test_119_c4_pasada.py::test_el_entorno_puede_diferir_solo_en_la_parametrizacion_de_c3
test_119_c4_pasada.py::test_para_si_el_entorno_de_c3_cambio[un_modulo]
test_119_c4_pasada.py::test_para_si_el_entorno_de_c3_cambio[una_version]
test_119_c4_pasada.py::test_para_si_el_entorno_de_c3_cambio[falta_uno]
test_119_c4_pasada.py::test_para_si_el_entorno_de_c3_cambio[sobra_uno]
test_119_c4_pasada.py::test_para_si_c3_no_registra_sus_componentes
test_119_c4_pasada.py::test_diferencia_de_nucleo_un_commit_que_solo_cambia_lo_admitido_pasa
test_119_c4_pasada.py::test_diferencia_de_nucleo_un_cambio_en_matrixai_para
test_119_c4_pasada.py::test_diferencia_de_nucleo_un_cambio_en_el_json_del_protocolo_para
test_119_c4_pasada.py::test_diferencia_de_nucleo_admite_el_resultado_de_c3_solo_con_su_blob
test_119_c4_pasada.py::test_b1_sobre_la_historia_real_el_commit_de_c3_al_de_hoy_se_admite
test_119_c4_pasada.py::test_diferencia_de_nucleo_mismo_commit_no_llama_a_git
test_119_c4_pasada.py::test_diferencia_de_nucleo_para_si_el_commit_de_c3_no_existe
test_119_c4_pasada.py::test_exigir_c3_sellado_y_anclado_admite_otro_commit_de_nucleo
test_119_c4_pasada.py::test_exigir_c3_sellado_y_anclado_para_si_el_otro_commit_toca_matrixai
test_119_c4_pasada.py::test_cumplidos_de_los_sellados_cuenta_cumplidos_y_no_cumplidos
test_119_c4_pasada.py::test_un_intento_sin_medida_del_nuevo_en_un_sellado_pierde_el_conjunto[fallos]
test_119_c4_pasada.py::test_un_intento_sin_medida_del_nuevo_en_un_sellado_pierde_el_conjunto[ausentes]
test_119_c4_pasada.py::test_un_intento_sin_medida_del_nuevo_en_un_sellado_pierde_el_conjunto[sin_metrica]
test_119_c4_pasada.py::test_el_nuevo_compite_en_el_sitio_de_la_densa_v2
test_119_c4_pasada.py::test_cumplidos_de_los_sellados_con_dos_conjuntos
test_119_c4_pasada.py::test_cumplidos_de_los_sellados_es_la_misma_cuenta_que_la_de_c3
test_119_c4_pasada.py::test_el_x_de_40_se_compone_bien[6-37-entra_en_la_cartera]
test_119_c4_pasada.py::test_el_x_de_40_se_compone_bien[1-32-entra_en_la_cartera]
test_119_c4_pasada.py::test_el_x_de_40_se_compone_bien[0-31-avance_publicado_sin_cartera]
test_119_c4_pasada.py::test_el_x_de_40_por_debajo_del_techo_se_cierra_como_el_118
test_119_c4_pasada.py::test_decision_segun_d2_el_techo_es_estimado_no_medido
test_119_c4_pasada.py::test_el_x_de_40_declara_como_cuenta_los_fallos_en_los_sellados
test_119_c4_pasada.py::test_el_x_de_40_real_de_c3_reproduce_31_de_32
test_119_c4_pasada.py::test_estimar_no_llama_al_motor
test_119_c4_pasada.py::test_estimar_encola_c4_y_no_c3
test_119_c4_pasada.py::test_estimar_memoria_usa_el_suelo_de_8g_ya_probado_por_c3_no_4g
test_119_c4_pasada.py::test_estimar_la_preparacion_sale_de_lo_medido_no_de_ceros
test_119_c4_pasada.py::test_medidas_desde_c3_un_dato_ausente_es_none
test_119_c4_pasada.py::test_estimar_se_niega_si_no_esta_el_resultado_de_c3
test_119_c4_pasada.py::test_medidas_desde_c3_no_estan_vacias_para_los_datos_reales
test_119_c4_pasada.py::test_avisos_de_encolado
test_119_c4_pasada.py::test_el_guion_de_c4_entra_en_el_digest_de_su_cache
test_119_c4_pasada.py::test_main_c4_llama_una_vez_por_intento_de_la_particion
test_119_c4_pasada.py::test_main_c4_declara_es_subconjunto_de_prueba
test_119_c4_pasada.py::test_main_c4_tipo_solo_no_compone_el_x_de_40
test_119_c4_pasada.py::test_main_c4_la_arquitectura_de_cada_intento_se_comprueba
test_119_c4_pasada.py::test_main_c4_veredicto_por_conjunto_tiene_los_dos_sellados
test_119_c4_pasada.py::test_main_c4_el_artefacto_no_se_contradice_sobre_su_digest
test_119_c4_pasada.py::test_el_resultado_real_de_c4_no_deja_nada_fuera_del_digest
test_119_c4_pasada.py::test_main_c4_reusa_el_cache_en_una_segunda_pasada
test_119_c4_pasada.py::test_la_pasada_mide_solo_los_sellados
test_119_c4_pasada.py::test_la_pasada_compone_el_x_de_40_como_31_mas_y
test_119_c4_pasada.py::test_la_pasada_admite_el_commit_de_c4_con_el_resultado_de_c3
test_119_c4_pasada.py::test_la_pasada_se_niega_sobre_su_propio_resultado_completo
test_119_c4_pasada.py::test_la_pasada_se_niega_con_otra_salida_si_la_cola_ya_tiene_el_completo
test_119_c4_pasada.py::test_la_pasada_comprueba_el_anclaje_al_arrancar
test_119_c4_pasada.py::test_un_corte_no_pierde_ningun_intento_ya_ejecutado
test_119_c4_pasada.py::test_al_reanudar_un_fallo_sellado_se_reusa_no_se_reintenta
test_119_c4_pasada.py::test_al_reanudar_con_otro_codigo_para_sin_medir
test_119_c5a_sonda_studio.py::test_el_guion_y_el_nucleo_que_se_prueban_son_los_del_worktree
test_119_c5a_sonda_studio.py::test_el_ejecutor_real_guardado_es_el_de_subproceso
test_119_c5a_sonda_studio.py::test_los_segundos_por_intento_cuadran_a_mano_con_el_studio
test_119_c5a_sonda_studio.py::test_cambiar_la_reserva_del_studio_cambia_lo_que_da_la_sonda
test_119_c5a_sonda_studio.py::test_cambiar_el_peso_de_la_densa_cambia_el_reparto_de_tabm
test_119_c5a_sonda_studio.py::test_pliegues_hilos_y_reajuste_se_leen_del_codigo_del_studio
test_119_c5a_sonda_studio.py::test_lo_leido_del_codigo_sigue_al_codigo
test_119_c5a_sonda_studio.py::test_los_hilos_por_motor_del_122_se_leen_por_su_valor_de_omision
test_119_c5a_sonda_studio.py::test_si_el_codigo_del_studio_discrepa_o_no_lo_dice_la_sonda_para
test_119_c5a_sonda_studio.py::test_el_margen_y_la_fraccion_son_los_del_studio_y_del_motor
test_119_c5a_sonda_studio.py::test_si_el_studio_ya_trae_tabm_la_sonda_para
test_119_c5a_sonda_studio.py::test_los_13_son_los_de_c54_y_ninguno_esta_sellado
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[pc3]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[banknote-authentication]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[diamonds]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[letter]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[kr-vs-kp]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[splice]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[Satellite]
test_119_c5a_sonda_studio.py::test_cada_uno_de_los_8_sellados_se_niega_al_arrancar[pol]
test_119_c5a_sonda_studio.py::test_main_con_un_sellado_para_antes_de_cargar_nada
test_119_c5a_sonda_studio.py::test_la_guarda_no_vigila_en_vacio_si_el_protocolo_no_declara_sellados
test_119_c5a_sonda_studio.py::test_la_segunda_guarda_para_antes_de_cargar_el_conjunto
test_119_c5a_sonda_studio.py::test_solo_fuera_de_los_13_se_niega
test_119_c5a_sonda_studio.py::test_un_campo_donde_tabm_gana_en_todo_cumple_las_cuatro_lineas
test_119_c5a_sonda_studio.py::test_completa_en_el_borde_del_90_por_ciento[2-True]
test_119_c5a_sonda_studio.py::test_completa_en_el_borde_del_90_por_ciento[3-False]
test_119_c5a_sonda_studio.py::test_un_intento_que_no_completa_cuenta_como_tal_aunque_los_demas_vayan_bien[failed]
test_119_c5a_sonda_studio.py::test_un_intento_que_no_completa_cuenta_como_tal_aunque_los_demas_vayan_bien[agotado]
test_119_c5a_sonda_studio.py::test_un_intento_que_no_completa_cuenta_como_tal_aunque_los_demas_vayan_bien[ausente]
test_119_c5a_sonda_studio.py::test_un_intento_que_no_completa_cuenta_como_tal_aunque_los_demas_vayan_bien[sin_metrica]
test_119_c5a_sonda_studio.py::test_un_intento_que_no_completa_cuenta_como_tal_aunque_los_demas_vayan_bien[cancelled]
test_119_c5a_sonda_studio.py::test_medido_cuenta_completed_budget_limited_y_no_un_failed
test_119_c5a_sonda_studio.py::test_aprende_en_el_borde_del_80_por_ciento[1-True]
test_119_c5a_sonda_studio.py::test_aprende_en_el_borde_del_80_por_ciento[2-False]
test_119_c5a_sonda_studio.py::test_compite_no_cumple_si_tabm_esta_a_mas_de_dos_puntos_del_mejor
test_119_c5a_sonda_studio.py::test_compite_en_el_borde_de_dos_puntos_de_la_cartera
test_119_c5a_sonda_studio.py::test_compite_exige_no_perder_contra_la_densa_de_hoy_en_mas_de_dos[2-True]
test_119_c5a_sonda_studio.py::test_compite_exige_no_perder_contra_la_densa_de_hoy_en_mas_de_dos[3-False]
test_119_c5a_sonda_studio.py::test_si_la_densa_tiene_un_intento_sin_medida_no_hay_perdida_comparable
test_119_c5a_sonda_studio.py::test_si_tabm_falla_donde_la_densa_completa_pierde_contra_ella
test_119_c5a_sonda_studio.py::test_cabe_con_los_topes_distintos_de_los_ejemplos_y_del_resto[dresses-sales-2048.0-True]
test_119_c5a_sonda_studio.py::test_cabe_con_los_topes_distintos_de_los_ejemplos_y_del_resto[dresses-sales-2049.0-False]
test_119_c5a_sonda_studio.py::test_cabe_con_los_topes_distintos_de_los_ejemplos_y_del_resto[wilt-3584.0-True]
test_119_c5a_sonda_studio.py::test_cabe_con_los_topes_distintos_de_los_ejemplos_y_del_resto[wilt-3585.0-False]
test_119_c5a_sonda_studio.py::test_cabe_con_los_topes_distintos_de_los_ejemplos_y_del_resto[wilt-2500.0-True]
test_119_c5a_sonda_studio.py::test_cabe_un_pico_sin_medir_no_cabe_y_el_reajuste_cuenta
test_119_c5a_sonda_studio.py::test_cabe_ignora_la_curva_que_no_es_la_del_studio
test_119_c5a_sonda_studio.py::test_cabe_el_checkpoint_solo_cuenta_en_los_ejemplos
test_119_c5a_sonda_studio.py::test_la_consecuencia_y_la_regla_viajan_en_el_veredicto
test_119_c5a_sonda_studio.py::test_el_digest_de_la_regla_es_estable_y_cambia_con_la_regla
test_119_c5a_sonda_studio.py::test_la_pasada_real_exige_el_digest_registrado
test_119_c5a_sonda_studio.py::test_el_registro_lleva_todo_lo_que_pide_c54
test_119_c5a_sonda_studio.py::test_los_parametros_no_se_inventan_si_el_predictor_no_trae_formas
test_119_c5a_sonda_studio.py::test_un_intento_fallido_se_registra_sin_metrica_y_con_su_clasificacion
test_119_c5a_sonda_studio.py::test_los_prefijos_de_los_fallos_son_los_de_los_motores[intento_agoto_el_tiempo-52.4-agotado_por_el_techo]
test_119_c5a_sonda_studio.py::test_los_prefijos_de_los_fallos_son_los_de_los_motores[intento_sin_resultado--9-murio_sin_resultado]
test_119_c5a_sonda_studio.py::test_los_prefijos_de_los_fallos_son_los_de_los_motores[intento_fallo_no_declarado_en_subproceso-ValueError: x-excepcion_no_declarada]
test_119_c5a_sonda_studio.py::test_clasificar_el_fallo_otros_casos
test_119_c5a_sonda_studio.py::test_el_pico_es_el_del_hijo_y_sin_hijo_no_hay_dato
test_119_c5a_sonda_studio.py::test_el_plan_del_pliegue_0_lleva_s_reajuste_y_curva
test_119_c5a_sonda_studio.py::test_el_pliegue_1_no_reajusta_y_sin_curva_solo_queda_s
test_119_c5a_sonda_studio.py::test_un_registro_bueno_del_mismo_codigo_se_reusa
test_119_c5a_sonda_studio.py::test_un_registro_que_no_es_medida_no_se_reusa_aunque_los_digests_cuadren[failed]
test_119_c5a_sonda_studio.py::test_un_registro_que_no_es_medida_no_se_reusa_aunque_los_digests_cuadren[cancelled]
test_119_c5a_sonda_studio.py::test_cualquier_cambio_de_condicion_invalida_el_registro[cambio0]
test_119_c5a_sonda_studio.py::test_cualquier_cambio_de_condicion_invalida_el_registro[cambio1]
test_119_c5a_sonda_studio.py::test_cualquier_cambio_de_condicion_invalida_el_registro[cambio2]
test_119_c5a_sonda_studio.py::test_cualquier_cambio_de_condicion_invalida_el_registro[cambio3]
test_119_c5a_sonda_studio.py::test_cualquier_cambio_de_condicion_invalida_el_registro[cambio4]
test_119_c5a_sonda_studio.py::test_cualquier_cambio_de_condicion_invalida_el_registro[cambio5]
test_119_c5a_sonda_studio.py::test_el_caso_none_no_se_reusa
test_119_c5a_sonda_studio.py::test_la_condicion_entra_en_la_clave_y_los_reintentos_se_apuntan
test_119_c5a_sonda_studio.py::test_cargar_la_salida_previa_no_mezcla_tipos
test_119_c5a_sonda_studio.py::test_la_pasada_real_se_niega_con_un_arbol_sucio
test_119_c5a_sonda_studio.py::test_el_studio_es_el_tercer_repositorio_anclado_y_se_restaura_la_lista
test_119_c5a_sonda_studio.py::test_un_estudio_sucio_vuelve_la_procedencia_no_anclable
test_119_c5a_sonda_studio.py::test_main_de_la_pasada_real_con_arbol_sucio_para_antes_de_medir
test_119_c5a_sonda_studio.py::test_main_solo_un_conjunto_mide_lo_que_dice_con_los_presupuestos_del_studio
test_119_c5a_sonda_studio.py::test_main_humo_es_un_pliegue_sin_curva_y_con_reajuste
test_119_c5a_sonda_studio.py::test_main_relanzar_reusa_y_un_fallo_se_reintenta_y_se_apunta
test_119_c5a_sonda_studio.py::test_main_forzar_ignora_el_cache_entero
test_119_c5a_sonda_studio.py::test_main_no_pisa_el_resultado_real_con_una_prueba
test_119_c5a_sonda_studio.py::test_la_estimacion_se_puede_comprobar_a_mano
test_119_c5a_sonda_studio.py::test_si_tabm_converge_en_s_la_curva_no_cuesta_mas
test_119_c5a_sonda_studio.py::test_la_orden_de_encolado_lleva_la_regla_y_los_tres_commits
test_119_c5a_sonda_studio.py::test_estimar_con_motor_falso_escribe_un_fichero_de_estimacion
test_119_web_campo.py::test_lo_publicado_es_BYTE_A_BYTE_lo_que_sale_de_los_registros
test_119_web_campo.py::test_los_totales_son_los_del_recuento_con_el_motor_nuevo_en_el_campo
test_119_web_campo.py::test_la_cuenta_sin_la_red_nueva_es_la_de_la_v2
test_119_web_campo.py::test_el_detalle_por_conjunto_suma_los_totales
test_119_web_campo.py::test_la_red_nueva_no_cumple_en_dos_conjuntos_y_se_dicen
test_119_web_campo.py::test_la_procedencia_dice_que_la_v2_no_es_anclable_y_c3_c4_si
test_119_web_campo.py::test_control_sin_retoque_el_generador_funciona_sobre_copias
test_119_web_campo.py::test_un_sello_roto_de_c3_para
test_119_web_campo.py::test_un_sello_roto_de_c4_para
test_119_web_campo.py::test_un_control_distinto_en_los_totales_para
test_119_web_campo.py::test_un_mejor_en_distinto_en_el_control_para
test_119_web_campo.py::test_una_v2_que_no_es_la_de_c4_para
test_119_web_datos_publicos.py::test_lo_publicado_es_BYTE_A_BYTE_lo_que_sale_de_los_registros
test_119_web_datos_publicos.py::test_las_cifras_son_las_de_los_registros_sellados
test_119_web_datos_publicos.py::test_la_cuenta_sin_la_red_nueva_es_la_de_la_v2_congelada
test_119_web_datos_publicos.py::test_el_detalle_por_conjunto_suma_el_titular_y_la_red_de_antes
test_119_web_datos_publicos.py::test_lo_declarado_sale_con_sus_numeros
test_119_web_datos_publicos.py::test_la_procedencia_cita_los_sellos_y_no_es_de_un_arbol_sucio
test_119_web_datos_publicos.py::test_control_sin_retoque_el_generador_funciona_sobre_copias
test_119_web_datos_publicos.py::test_un_sello_roto_de_c3_para
test_119_web_datos_publicos.py::test_un_sello_roto_de_c4_para
test_119_web_datos_publicos.py::test_un_recuento_que_cita_otro_sello_para
test_119_web_datos_publicos.py::test_un_control_del_recuento_que_no_da_el_x_de_c4_para
test_119_web_datos_publicos.py::test_en_el_studio_sale_de_c5a_y_dice_que_no_sustituye
test_119_web_datos_publicos.py::test_en_el_studio_control_sin_retoque
test_119_web_datos_publicos.py::test_una_cifra_de_c5a_cambiada_sin_resellar_para
test_119_web_datos_publicos.py::test_un_veredicto_de_c5a_que_pasa_para_aunque_este_resellado
test_119_web_datos_publicos.py::test_una_c5a_parcial_o_de_humo_para[parcial-True-pasada real completa]
test_119_web_datos_publicos.py::test_una_c5a_parcial_o_de_humo_para[es_humo-True-pasada real completa]
test_119_web_datos_publicos.py::test_una_c5a_parcial_o_de_humo_para[es_subconjunto_de_prueba-True-pasada real completa]
test_119_web_datos_publicos.py::test_una_c5a_parcial_o_de_humo_para[tipo_de_ejecucion-humo-pasada real completa]
test_119_web_datos_publicos.py::test_una_c5a_no_anclable_para
test_119_web_datos_publicos.py::test_una_c5a_con_la_regla_distinta_de_la_registrada_para
test_119_web_datos_publicos.py::test_los_recibos_publicados_son_los_siete_y_su_huella_es_la_del_disco
test_119_web_datos_publicos.py::test_el_sha_del_protocolo_es_el_de_la_procedencia_y_las_enmiendas_3_y_4_son_posteriores
test_119_web_datos_publicos.py::test_un_protocolo_distinto_del_que_dice_la_procedencia_para
test_119_web_datos_publicos.py::test_una_enmienda_tocada_para
test_119_web_datos_publicos.py::test_control_los_recibos_copiados_sin_tocar_componen
test_120_c3p_guion.py::test_registrar_guarda_la_evaluacion_del_test
test_120_c3p_guion.py::test_las_guardas_de_C3p_paran_antes_de_tocar_nada[args0-van con --contra]
test_120_c3p_guion.py::test_las_guardas_de_C3p_paran_antes_de_tocar_nada[args1-una cada vez]
test_120_c3p_guion.py::test_las_guardas_de_C3p_paran_antes_de_tocar_nada[args2---salida PROPIA]
test_120_c3p_guion.py::test_las_guardas_de_C3p_paran_antes_de_tocar_nada[args3-sin --banco]
test_120_c3p_guion.py::test_las_guardas_de_C3p_paran_antes_de_tocar_nada[args4-suelo_de_ruido]
test_120_c3p_guion.py::test_r1gpu_repite_los_4_de_humo_tras_el_control_y_escribe_el_suelo
test_120_c3p_guion.py::test_r1gpu_sin_torch_o_con_TabM_es_un_PARO
test_120_c3p_guion.py::test_r1gpu_un_control_que_no_cuadra_para
test_120_c3p_guion.py::test_c3p_sin_TabM_en_un_estudio_es_un_PARO
test_120_c3p_guion.py::test_c3p_la_paridad_para_si_sin_TabM_de_campeon_cambia_la_cifra
test_120_c3p_guion.py::test_c3p_corta_por_la_regla_9_y_da_el_veredicto
test_120_c3p_guion.py::test_c3p_mejora_cuando_TabM_gana_y_sube
test_120_c3p_guion.py::test_r1gpu_apaga_TabM_con_su_interruptor_y_c3p_no
test_120_c3p_guion.py::test_el_contenedor_lleva_el_entorno_extra
test_120_c3p_guion.py::test_ninguna_pide_los_arboles_de_hoy_al_contenedor
test_120_c3p_guion.py::test_ninguna_y_politica_a_la_vez_paran
test_120_c3p_guion.py::test_c3p_un_arbol_que_declara_una_politica_sin_pedirla_es_un_PARO
test_120_c3p_guion.py::test_el_paquete_cpu_exige_el_sobre_de_produccion_con_la_densa_fuera[sobre0-False]
test_120_c3p_guion.py::test_el_paquete_cpu_exige_el_sobre_de_produccion_con_la_densa_fuera[None-True]
test_120_c3p_guion.py::test_el_paquete_cpu_exige_el_sobre_de_produccion_con_la_densa_fuera[sobre2-True]
test_120_c3p_guion.py::test_el_paquete_cpu_exige_el_sobre_de_produccion_con_la_densa_fuera[sobre3-True]
test_120_c3p_guion.py::test_el_paquete_cpu_exige_el_sobre_de_produccion_con_la_densa_fuera[sobre4-True]
test_120_c3p_guion.py::test_el_paquete_cpu_exige_el_sobre_de_produccion_con_la_densa_fuera[sobre5-True]
test_120_c3p_guion.py::test_la_referencia_es_la_misma_imagen_y_con_el_entorno_de_su_modo
test_120_c3p_guion.py::test_ninguna_no_con_el_paquete_cpu
test_120_c3p_guion.py::test_el_paquete_cpu_apaga_la_densa_y_rcpu_ademas_tabm
test_120_c3p_guion.py::test_presencia_en_el_paquete_cpu_sin_densa
test_120_c3p_guion.py::test_rcpu_fija_el_suelo_y_admite_la_politica_de_produccion
test_120_c3p_guion.py::test_c3s_con_la_densa_anterior_es_un_PARO
test_120_c3p_guion.py::test_cada_medida_exige_su_referencia[--c3s-r1gpu]
test_120_c3p_guion.py::test_cada_medida_exige_su_referencia[--c3p-rcpu]
test_120_c3p_guion.py::test_cada_medida_exige_su_referencia[--c3s-None]
test_120_c3p_guion.py::test_rcpu_sin_el_sobre_de_produccion_es_un_PARO_en_el_flujo
test_120_c3p_guion.py::test_registrar_guarda_lo_que_la_guarda_de_memoria_dejo_fuera
test_120_c3p_veredicto.py::test_la_cifra_es_la_del_TEST_con_la_metrica_de_cierre_de_cada_tarea
test_120_c3p_veredicto.py::test_la_media_de_seleccion_NO_decide_aunque_suba
test_120_c3p_veredicto.py::test_completado_sin_test_o_sin_su_metrica_es_un_instrumento_roto
test_120_c3p_veredicto.py::test_suelo_cero_si_las_dos_repeticiones_son_identicas
test_120_c3p_veredicto.py::test_suelo_es_la_mayor_diferencia_al_repetir
test_120_c3p_veredicto.py::test_un_control_que_no_se_repite_es_incomparable[segunda0]
test_120_c3p_veredicto.py::test_un_control_que_no_se_repite_es_incomparable[segunda1]
test_120_c3p_veredicto.py::test_un_control_que_no_se_repite_es_incomparable[segunda2]
test_120_c3p_veredicto.py::test_presencia_en_R1_GPU_la_densa_si_y_TabM_no
test_120_c3p_veredicto.py::test_presencia_en_C3p_las_dos_redes
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.812-0.0-sube]
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.805-0.0-igual]
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.785-0.0-baja]
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.775-0.0-baja_2]
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.812-1.5-igual]
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.775-1.5-baja_2]
test_120_c3p_veredicto.py::test_comparar_con_umbral_y_suelo[0.775-3.0-igual]
test_120_c3p_veredicto.py::test_completar_cuenta_en_los_dos_sentidos
test_120_c3p_veredicto.py::test_paridad_sin_TabM_de_campeon_exige_la_cifra_exacta_con_suelo_cero
test_120_c3p_veredicto.py::test_paridad_admite_el_suelo_y_no_mira_a_TabM
test_120_c3p_veredicto.py::test_paridad_el_campeon_no_puede_cambiar_entre_los_de_siempre
test_120_c3p_veredicto.py::test_corta_en_la_bajada_de_2_y_al_dejar_de_completar
test_120_c3p_veredicto.py::test_corta_por_recuento_cuando_ya_no_puede_ganar
test_120_c3p_veredicto.py::test_veredicto_regla_4
test_120_c3p_veredicto.py::test_presencia_admite_a_TabM_fuera_por_memoria_solo_si_se_declara
test_120_c5_veredicto.py::test_los_12_son_los_de_la_enmienda_3_y_la_congelada_es_toda_1_1_0
test_120_c5_veredicto.py::test_la_misma_red_con_otra_version_no_sube_ni_baja_nada_y_se_adopta
test_120_c5_veredicto.py::test_una_bajada_de_2_puntos_o_dejar_de_completar_no_se_adopta
test_120_c5_veredicto.py::test_no_se_adopta_si_bajan_mas_de_los_que_suben
test_120_c5_veredicto.py::test_menos_de_un_punto_no_cuenta
test_120_c5_veredicto.py::test_otros_conjuntos_o_otra_version_no_son_esta_medida
test_120_c5_veredicto.py::test_importar_el_veredicto_no_toca_sys_path
test_120_c5_veredicto.py::test_una_bajada_de_2_veta_aunque_suban_mas
test_120_c5_veredicto.py::test_los_que_pararon_por_plazo_en_la_congelada_no_deciden_y_salen_del_dato
test_120_ningun_guion_mete_rutas_fijas.py::test_ningun_guion_de_benchmarks_ni_de_pruebas_mete_una_ruta_fija_en_sys_path
test_120_ningun_guion_mete_rutas_fijas.py::test_importar_medir_c30_no_mete_el_arbol_principal_si_ya_esta_el_propio
test_120_veredicto_de_c2.py::test_R1_contra_si_mismo_no_sube_ni_baja_nada
test_120_veredicto_de_c2.py::test_la_cifra_de_regresion_es_R2_de_la_validacion_frente_a_la_linea_base_nunca_el_test
test_120_veredicto_de_c2.py::test_en_clasificacion_la_cifra_es_la_media_del_campeon_por_cien
test_120_veredicto_de_c2.py::test_un_RMSE_que_baja_es_una_R2_que_sube
test_120_veredicto_de_c2.py::test_menos_de_un_punto_no_cuenta
test_120_veredicto_de_c2.py::test_una_bajada_de_2_puntos_corta_la_pasada_y_una_de_1_9_no
test_120_veredicto_de_c2.py::test_dejar_de_completar_corta_y_empezar_a_completar_cuenta_como_sube
test_120_veredicto_de_c2.py::test_otra_linea_base_es_incomparable_y_para
test_120_veredicto_de_c2.py::test_el_veredicto_es_por_tamano_y_un_tamano_sin_nada_se_queda_el_de_hoy
test_120_veredicto_de_c2.py::test_una_bajada_de_2_en_un_tamano_es_un_no_aunque_suban_mas
test_120_veredicto_de_c2.py::test_cada_intento_de_arboles_completado_tiene_que_declarar_la_politica_pedida
test_120_veredicto_de_c2.py::test_sin_politica_ningun_intento_declara_ninguna
test_120_veredicto_de_c2.py::test_un_conjunto_sin_arboles_completados_no_para_y_dice_cero
test_120_veredicto_de_c2.py::test_el_tamano_es_el_que_declara_el_estudio
test_120_veredicto_de_c2.py::test_importar_el_guion_no_toca_sys_path
test_120_veredicto_de_c2.py::test_empezar_a_completar_es_una_mejora_en_el_veredicto_de_su_tamano
test_120_veredicto_de_c2.py::test_la_pasada_controla_sin_politica_rearranca_con_ella_y_corta_en_la_primera_bajada_de_2
test_120_veredicto_de_c2.py::test_un_control_sin_politica_que_no_cuadra_para_antes_de_medir_nada
test_120_veredicto_de_c2.py::test_el_control_sin_politica_para_si_alguien_la_declara_o_si_no_hay_arboles_que_mirar[declarados0]
test_120_veredicto_de_c2.py::test_el_control_sin_politica_para_si_alguien_la_declara_o_si_no_hay_arboles_que_mirar[declarados1]
test_120_veredicto_de_c2.py::test_con_la_politica_el_sobre_tiene_que_decir_el_valor_pedido
test_120_veredicto_de_c2.py::test_con_la_politica_la_densa_tiene_que_estar_fuera_enmienda_2
test_120_veredicto_de_c2.py::test_si_gana_un_arbol_su_modelo_es_el_reajuste_con_los_arboles_fijados
test_120_veredicto_de_c2.py::test_sin_la_politica_el_sobre_no_puede_llevarla
test_120_veredicto_de_c2.py::test_registrar_guarda_el_sobre_de_la_seleccion
test_120_veredicto_de_c2.py::test_con_la_politica_no_se_escribe_encima_de_R0_ni_de_la_referencia[la_de_R0]
test_120_veredicto_de_c2.py::test_con_la_politica_no_se_escribe_encima_de_R0_ni_de_la_referencia[la_de_contra]
test_120_veredicto_de_c2.py::test_c2b_un_pequeno_tiene_que_ser_IDENTICO_a_R1_y_nunca_corta
test_120_veredicto_de_c2.py::test_c2b_un_mediano_si_corta_y_no_exige_paridad
test_120_veredicto_de_c2.py::test_c2b_cada_intento_aplica_la_politica_exactamente_en_sus_tamanos
test_120_veredicto_de_c2.py::test_c2b_el_sobre_tiene_que_decir_sus_tamanos
test_120_veredicto_de_c2.py::test_c2b_el_campeon_fuera_de_la_politica_es_el_motor_de_hoy_sin_arboles_fijados
test_120_veredicto_de_c2.py::test_c2b_la_pasada_para_si_un_pequeno_no_es_identico
test_120_veredicto_de_c2.py::test_c2b_un_pequeno_que_deja_o_empieza_a_completar_tambien_para_por_paridad
test_120_veredicto_de_c2.py::test_el_banco_de_la_confirmacion_son_7_medianos_no_sellados_de_la_fase_0_fuera_de_los_13
test_120_veredicto_de_c2.py::test_el_banco_rechaza_sellados_datos_cambiados_desconocidos_y_ejemplos_del_control[cambio0-sellado]
test_120_veredicto_de_c2.py::test_el_banco_rechaza_sellados_datos_cambiados_desconocidos_y_ejemplos_del_control[cambio1-clase_positiva]
test_120_veredicto_de_c2.py::test_el_banco_rechaza_sellados_datos_cambiados_desconocidos_y_ejemplos_del_control[cambio2-no es un]
test_120_veredicto_de_c2.py::test_el_banco_rechaza_sellados_datos_cambiados_desconocidos_y_ejemplos_del_control[cambio3-control]
test_120_web_datos_publicos.py::test_el_publicado_es_el_que_se_genera_hoy
test_120_web_datos_publicos.py::test_copia_y_no_calcula_lo_que_sube_y_lo_que_queda_fuera
test_120_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[no-mejora]
test_120_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[suben-no-cuadra]
test_120_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[baja-uno]
test_120_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[deja-de-completar]
test_122_c0_confirmacion.py::test_cada_red_recibe_exactamente_las_filas_de_la_particion[nucleo_estudio]
test_122_c0_confirmacion.py::test_cada_red_recibe_exactamente_las_filas_de_la_particion[nucleo_modo_experto]
test_122_c0_confirmacion.py::test_cada_red_recibe_exactamente_las_filas_de_la_particion[tabm]
test_122_c0_confirmacion.py::test_las_tres_redes_ven_la_misma_particion_y_el_digest_lo_dice
test_122_c0_confirmacion.py::test_el_test_no_entra_a_fit_y_el_arnes_para_si_se_cuela
test_122_c0_confirmacion.py::test_la_red_del_modo_experto_va_sin_plazo_con_la_receta_del_generador
test_122_c0_confirmacion.py::test_el_texto_que_entrena_es_el_del_generador_salvo_la_linea_split
test_122_c0_confirmacion.py::test_el_motor_del_modo_experto_se_niega_a_llevar_plazo
test_122_c0_confirmacion.py::test_la_red_del_estudio_sin_plazo_tampoco_lo_pide
test_122_c0_confirmacion.py::test_los_presupuestos_por_red_las_del_nucleo_sin_plazo_y_tabm_con_el_de_su_cubo
test_122_c0_confirmacion.py::test_un_ajuste_aislado_declara_hilos_y_su_pico_de_memoria
test_122_c0_confirmacion.py::test_el_tope_duro_mata_al_proceso_y_queda_failed
test_122_c0_confirmacion.py::test_la_cache_reusa_solo_lo_medido_con_el_mismo_codigo_config_y_datos
test_122_c0_confirmacion.py::test_el_digest_de_la_configuracion_reacciona_a_cada_cosa_que_decide_el_intento
test_122_c0_confirmacion.py::test_el_digest_del_entorno_cubre_el_codigo_de_la_red_los_datos_y_los_hilos
test_122_c0_confirmacion.py::test_el_cierre_de_imports_no_entra_en_el_codigo_de_terceros
test_122_c0_confirmacion.py::test_el_borrador_son_los_8_conjuntos_no_sellados_del_v2
test_122_c0_confirmacion.py::test_una_pasada_real_exige_el_protocolo_registrado_y_su_digest
test_122_c0_confirmacion.py::test_un_conjunto_sellado_se_niega
test_122_c0_confirmacion.py::test_el_nucleo_tiene_que_ser_el_del_arbol
test_122_c0_confirmacion.py::test_la_regla_cumple_con_7_de_8_y_no_con_6
test_122_c0_confirmacion.py::test_la_distancia_es_a_la_mejor_de_las_redes_no_a_la_del_estudio
test_122_c0_confirmacion.py::test_un_fallo_de_tabm_en_un_conjunto_es_un_conjunto_perdido_y_no_completa
test_122_c0_confirmacion.py::test_el_plazo_cortado_de_tabm_se_declara
test_122_c0_confirmacion.py::test_main_escribe_procedencia_sello_y_el_veredicto
test_122_c0_confirmacion.py::test_componer_uno_nuevo_con_el_mismo_codigo_da_el_mismo_sello
test_122_c0_confirmacion.py::test_el_sello_cambia_si_cambia_el_codigo
test_122_c0_confirmacion.py::test_la_segunda_pasada_reusa_y_un_fallo_se_reintenta
test_122_c0_confirmacion.py::test_con_otro_codigo_la_cache_no_reusa_nada
test_122_c0_confirmacion.py::test_otro_tipo_de_salida_no_se_mezcla
test_122_c0_confirmacion.py::test_un_sello_roto_ignora_la_cache
test_122_web_datos_publicos.py::test_el_publicado_es_el_que_se_genera_hoy
test_122_web_datos_publicos.py::test_copia_y_no_calcula_lo_que_dice_la_web
test_122_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[de-no-cuadra]
test_122_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[cumplidos-no-cuadra]
test_122_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[tabm-incompleta]
test_122_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[pliegue-fallido]
test_122_web_datos_publicos.py::test_para_si_la_fuente_no_cuadra[cortados-no-cuadran]
test_analisis_por_valor_distinto.py::test_cada_valor_distinto_se_pregunta_si_es_ausente_UNA_vez
test_analisis_por_valor_distinto.py::test_el_tipo_numerico_se_decide_con_los_valores_distintos
test_analisis_por_valor_distinto.py::test_la_columna_de_si_no_se_para_en_el_primer_valor_que_no_lo_es
test_analisis_por_valor_distinto.py::test_las_ausencias_se_CUENTAN_por_celda_aunque_se_juzguen_por_valor
test_analisis_por_valor_distinto.py::test_la_ausencia_declarada_tambien_se_cuenta_por_celda[None-1500]
test_analisis_por_valor_distinto.py::test_la_ausencia_declarada_tambien_se_cuenta_por_celda[tokens1-0]
test_analisis_por_valor_distinto.py::test_la_ausencia_declarada_tambien_se_cuenta_por_celda[tokens2-750]
test_analisis_por_valor_distinto.py::test_las_filas_duplicadas_se_cuentan_como_antes
test_anexo_581_c1_regression_metrics.py::TestEvaluationResultToDictDiscriminatesByTask::test_binary_classification_without_named_labels_is_not_mistaken_for_regression
test_anexo_581_c1_regression_metrics.py::TestEvaluationResultToDictDiscriminatesByTask::test_classification_omits_regression_keys
test_anexo_581_c1_regression_metrics.py::TestEvaluationResultToDictDiscriminatesByTask::test_classification_still_carries_its_own_metrics
test_anexo_581_c1_regression_metrics.py::TestEvaluationResultToDictDiscriminatesByTask::test_is_regression_without_loss_fn_falls_back_to_legacy_label_heuristic
test_anexo_581_c1_regression_metrics.py::TestEvaluationResultToDictDiscriminatesByTask::test_regression_omits_classification_keys_entirely
test_anexo_581_c1_regression_metrics.py::TestEvaluationResultToDictDiscriminatesByTask::test_regression_still_carries_its_own_metrics
test_anexo_581_c1_regression_metrics.py::TestEvalReportFromDenseResultDiscriminatesByTask::test_classification_reports_none_for_regression_keys
test_anexo_581_c1_regression_metrics.py::TestEvalReportFromDenseResultDiscriminatesByTask::test_regression_reports_none_for_classification_keys
test_anexo_581_c1_regression_metrics.py::TestStudioTrainingResultTruthfulMetricsEndToEnd::test_classification_job_accuracy_unchanged_by_this_fix
test_anexo_581_c1_regression_metrics.py::TestStudioTrainingResultTruthfulMetricsEndToEnd::test_classification_job_reports_none_for_regression_metrics
test_anexo_581_c1_regression_metrics.py::TestStudioTrainingResultTruthfulMetricsEndToEnd::test_regression_job_never_reports_zero_macro_f1_or_accuracy
test_anexo_581_c1_regression_metrics.py::TestStudioTrainingResultTruthfulMetricsEndToEnd::test_regression_job_reports_real_mae_rmse_r2
test_auditoria_externa_2026_08_20.py::H1_JCS_EscribeComoECMAScriptTest::test_NaN_e_Infinity_siguen_sin_firmarse
test_auditoria_externa_2026_08_20.py::H1_JCS_EscribeComoECMAScriptTest::test_los_umbrales_del_exponente_son_los_de_ECMAScript
test_auditoria_externa_2026_08_20.py::H2_LosEfectosNoSePUEDEN_ImpedirYSeDICETest::test_el_informe_DECLARA_que_no_impide
test_auditoria_externa_2026_08_20.py::H2_LosEfectosNoSePUEDEN_ImpedirYSeDICETest::test_y_en_dry_run_no_se_llama_al_ejecutor
test_auditoria_externa_2026_08_20.py::H2_LosEfectosNoSePUEDEN_ImpedirYSeDICETest::test_y_lo_que_SI_hace_sigue_haciendolo
test_auditoria_externa_2026_08_20.py::H3_LaRaizIdentificaUnaEJECUCIONTest::test_dos_ejecuciones_del_mismo_pipeline_tienen_raices_distintas
test_auditoria_externa_2026_08_20.py::H3_LaRaizIdentificaUnaEJECUCIONTest::test_los_nodos_siguen_atados_a_SU_raiz
test_auditoria_externa_2026_08_20.py::H3_LaRaizIdentificaUnaEJECUCIONTest::test_se_puede_declarar_una_raiz_propia
test_auditoria_externa_2026_08_20.py::H4_ElVerificadorCompruebaElESQUEMATest::test_el_honesto_pasa_y_dice_lo_que_verifico
test_auditoria_externa_2026_08_20.py::H4_ElVerificadorCompruebaElESQUEMATest::test_un_payloadType_INVENTADO_no_pasa
test_auditoria_externa_2026_08_20.py::H4_ElVerificadorCompruebaElESQUEMATest::test_un_recibo_SIN_pasos_no_atestigua_nada
test_auditoria_externa_2026_08_20.py::H4_ElVerificadorCompruebaElESQUEMATest::test_una_schema_version_DESCONOCIDA_tampoco
test_auditoria_externa_2026_08_20.py::H5_ElReciboCompromete_ELCaminoEjecutadoTest::test_cada_nodo_dice_QUE_MODELO_uso
test_auditoria_externa_2026_08_20.py::H5_ElReciboCompromete_ELCaminoEjecutadoTest::test_dos_grafos_distintos_dan_caminos_distintos
test_auditoria_externa_2026_08_20.py::H5_ElReciboCompromete_ELCaminoEjecutadoTest::test_lleva_los_dos_digests_y_los_nodos
test_auditoria_externa_2026_08_20.py::H6_ElReplayREENTRENA_PorDefectoTest::test_el_CLI_lo_ofrece_y_lo_DICE
test_auditoria_externa_2026_08_20.py::H6_ElReplayREENTRENA_PorDefectoTest::test_el_comando_de_dentro_lleva_retrain
test_auditoria_externa_2026_08_20.py::H6_ElReplayREENTRENA_PorDefectoTest::test_y_se_puede_pedir_que_NO_lo_haga
test_auditoria_externa_2026_08_20.py::H7_ElPaqueteSeCOMPRUEBA_EnteroTest::test_el_paquete_HONESTO_sigue_pasando
test_auditoria_externa_2026_08_20.py::H7_ElPaqueteSeCOMPRUEBA_EnteroTest::test_un_digest_declarado_SIN_fichero_es_legitimo
test_auditoria_externa_2026_08_20.py::H7_ElPaqueteSeCOMPRUEBA_EnteroTest::test_un_enlace_simbolico_INTERNO_tampoco_vale
test_auditoria_externa_2026_08_20.py::H7_ElPaqueteSeCOMPRUEBA_EnteroTest::test_un_fichero_SIN_sha256_no_se_omite_en_silencio
test_auditoria_externa_2026_08_20.py::H7_ElPaqueteSeCOMPRUEBA_EnteroTest::test_una_schema_version_desconocida_no_se_interpreta_a_medias
test_auditoria_externa_2026_08_20.py::H8_INCOMPARABLE_NoEsExitoTest::test_lo_que_no_se_pudo_comprobar_sale_con_3_y_se_NOMBRA
test_auditoria_externa_2026_08_20.py::H8_INCOMPARABLE_NoEsExitoTest::test_ok_sigue_significando_lo_mismo_y_no_viaja_solo
test_auditoria_externa_2026_08_20.py::H9_ElSpaceEnseñaElResultadoDeC2Test::test_da_el_comando_para_verificar_EN_LOCAL
test_auditoria_externa_2026_08_20.py::H9_ElSpaceEnseñaElResultadoDeC2Test::test_y_lo_dice_ANTES_de_invitar_a_probar
test_auditoria_externa_2026_08_20.py::H9_ElSpaceEnseñaElResultadoDeC2Test::test_ya_NO_finge_ejecutar_matrixai_verify_dentro
test_avisos_de_clases_en_dos_idiomas.py::AvisosDeClasesEnDosIdiomas::test_el_idioma_por_defecto_sigue_siendo_espanol
test_avisos_de_clases_en_dos_idiomas.py::AvisosDeClasesEnDosIdiomas::test_los_dos_idiomas_dicen_lo_MISMO
test_avisos_de_clases_en_dos_idiomas.py::AvisosDeClasesEnDosIdiomas::test_una_sola_clase_avisa_en_ingles_cuando_se_pide_ingles
test_avisos_de_clases_en_dos_idiomas.py::AvisosDeClasesEnDosIdiomas::test_y_en_espanol_cuando_se_pide_espanol
test_avisos_y_maquina_reales.py::TestLosAvisosHablanElIdiomaQueSePide::test_los_marcos_estan_en_los_dos_idiomas
test_avisos_y_maquina_reales.py::TestLosAvisosHablanElIdiomaQueSePide::test_un_locale_desconocido_cae_a_español_y_no_lanza
test_avisos_y_maquina_reales.py::TestLosAvisosHablanElIdiomaQueSePide::test_el_marco_se_traduce_y_la_frase_del_LLM_NO
test_avisos_y_maquina_reales.py::TestLosAvisosHablanElIdiomaQueSePide::test_por_el_pipeline_de_verdad_el_aviso_sale_en_ingles
test_avisos_y_maquina_reales.py::TestLosAvisosHablanElIdiomaQueSePide::test_sin_pedir_idioma_sigue_saliendo_en_español
test_avisos_y_maquina_reales.py::TestLoQueElGeneradorEXPLICA::test_el_porque_de_la_arquitectura_y_el_aviso_de_datos_pequeños
test_avisos_y_maquina_reales.py::TestLoQueElGeneradorEXPLICA::test_sin_pedir_idioma_sigue_en_español
test_avisos_y_maquina_reales.py::TestLoQueElGeneradorEXPLICA::test_por_el_PIPELINE_llega_el_idioma_al_generador
test_avisos_y_maquina_reales.py::TestLaEstimacionDiceDeQueMAQUINA::test_el_supuesto_declarado_es_la_maquina_que_se_le_dice
test_avisos_y_maquina_reales.py::TestLaEstimacionDiceDeQueMAQUINA::test_y_el_NUMERO_cambia_con_la_maquina_no_solo_la_etiqueta
test_avisos_y_maquina_reales.py::TestLaEstimacionDiceDeQueMAQUINA::test_lo_INTRINSECO_no_depende_de_la_maquina
test_avisos_y_maquina_reales.py::TestLaEstimacionDiceDeQueMAQUINA::test_sin_decir_nada_sigue_suponiendo_cpu
test_avisos_y_maquina_reales.py::TestLaEstimacionDiceDeQueMAQUINA::test_por_el_PIPELINE_llega_la_maquina_detectada__simulando_GPU
test_avisos_y_maquina_reales.py::TestElEsfuerzoDelRun::test_la_cuenta_de_pasos_redondea_HACIA_ARRIBA
test_avisos_y_maquina_reales.py::TestElEsfuerzoDelRun::test_los_tres_caminos_del_barrido
test_avisos_y_maquina_reales.py::TestElEsfuerzoDelRun::test_los_bordes_no_lanzan_y_no_dividen_por_cero
test_avisos_y_maquina_reales.py::TestElEsfuerzoDelRun::test_el_camino_stdlib_declara_su_lote_REAL_que_es_1
test_avisos_y_maquina_reales.py::TestElEsfuerzoDelRun::test_el_camino_torch_declara_el_SUYO_y_es_distinto
test_avisos_y_maquina_reales.py::TestElMotorYLaMaquinaSonDosHechos::test_los_dos_campos_salen_separados
test_avisos_y_maquina_reales.py::TestElMotorYLaMaquinaSonDosHechos::test_un_run_GUARDADO_con_la_forma_vieja_no_se_pierde
test_avisos_y_maquina_reales.py::TestElMotorYLaMaquinaSonDosHechos::test_la_forma_nueva_manda_sobre_la_deduccion
test_avisos_y_maquina_reales.py::TestElMotorYLaMaquinaSonDosHechos::test_sin_nada_no_se_inventa_una_gpu
test_avisos_y_maquina_reales.py::TestElMotorYLaMaquinaSonDosHechos::test_por_el_PIPELINE_los_dos_caminos_declaran_las_dos_cosas
test_avisos_y_maquina_reales.py::TestElCsvPropioQueNoValiaParaReentrenar::test_el_caso_de_Roberto_se_dice_en_una_frase
test_avisos_y_maquina_reales.py::TestElCsvPropioQueNoValiaParaReentrenar::test_con_VARIAS_columnas_mal_NO_se_inventa_una_frase_corta
test_avisos_y_maquina_reales.py::TestElCsvPropioQueNoValiaParaReentrenar::test_si_la_que_falta_NO_es_el_objetivo_tampoco
test_avisos_y_maquina_reales.py::TestElCsvPropioQueNoValiaParaReentrenar::test_POR_EL_VALIDADOR_de_verdad_no_solo_por_la_funcion
test_avisos_y_maquina_reales.py::TestElCsvPropioQueNoValiaParaReentrenar::test_con_varias_mal_el_validador_SIGUE_dando_la_lista
test_avisos_y_maquina_reales.py::TestElCsvPropioQueNoValiaParaReentrenar::test_NO_se_renombra_sola
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_parameters_outputs_initial_parameters
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_parameters_torch_target_outputs_manifest
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_parameters_validates_parameter_file
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_report_json_returns_trainable_manifest
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_report_torch_json_returns_optional_backend_metadata
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_run_rejects_invalid_parameter_shape
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_backend_run_supports_initial_parameters
test_backend_contract.py::MatrixAIBackendContractTest::test_cli_compile_differentiable_python_outputs_module
test_backend_contract.py::MatrixAIBackendContractTest::test_differentiable_python_compiler_rejects_discrete_argmax
test_backend_contract.py::MatrixAIBackendContractTest::test_differentiable_python_compiler_runs_typed_email_boundaries
test_backend_contract.py::MatrixAIBackendContractTest::test_differentiable_python_rejects_invalid_parameter_shape
test_backend_contract.py::MatrixAIBackendContractTest::test_differentiable_python_reports_ragged_parameter_errors
test_backend_contract.py::MatrixAIBackendContractTest::test_differentiable_python_run_accepts_initial_parameters
test_backend_contract.py::MatrixAIBackendContractTest::test_differentiable_python_runs_continuous_p1_typed_example
test_backend_contract.py::MatrixAIBackendContractTest::test_discrete_argmax_blocks_differentiable_backend_contract
test_backend_contract.py::MatrixAIBackendContractTest::test_sigmoid_linear_manifest_uses_scalar_output_shape
test_backend_contract.py::MatrixAIBackendContractTest::test_torch_backend_report_accepts_email_classifier
test_backend_contract.py::MatrixAIBackendContractTest::test_torch_backend_report_accepts_fall_risk_binary_classifier
test_backend_contract.py::MatrixAIBackendContractTest::test_torch_backend_report_blocks_deferred_symbolic_function
test_backend_contract.py::MatrixAIBackendContractTest::test_torch_backend_report_blocks_discrete_argmax
test_backend_contract.py::MatrixAIBackendContractTest::test_typed_email_example_fits_differentiable_backend_contract
test_backend_contract.py::ManifestValueCapTest::test_large_tensors_are_metadata_only
test_backend_contract.py::ManifestValueCapTest::test_small_tensors_keep_full_values
test_biblioteca_c1_csv_normalization.py::TestStripCsvBom::test_removes_leading_bom
test_biblioteca_c1_csv_normalization.py::TestStripCsvBom::test_noop_without_bom
test_biblioteca_c1_csv_normalization.py::TestStripCsvBom::test_only_strips_leading_bom_not_mid_text
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvDelimiter::test_converts_semicolon_header_to_comma
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvDelimiter::test_noop_when_comma_already_present_in_header
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvDelimiter::test_noop_for_plain_comma_csv
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvDelimiter::test_noop_for_empty_text
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvDelimiter::test_decimal_comma_value_stays_quoted_not_corrupted
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvDelimiter::test_single_column_semicolon_free_csv_untouched
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvText::test_bom_and_semicolon_together
test_biblioteca_c1_csv_normalization.py::TestNormalizeCsvText::test_plain_csv_roundtrips_unchanged
test_biblioteca_c1_csv_normalization.py::TestExistingUploadFlowAcceptsRealWorldCsv::test_validate_training_csv_accepts_bom
test_biblioteca_c1_csv_normalization.py::TestExistingUploadFlowAcceptsRealWorldCsv::test_validate_training_csv_accepts_semicolon
test_biblioteca_c1_csv_normalization.py::TestExistingUploadFlowAcceptsRealWorldCsv::test_validate_training_csv_accepts_bom_plus_semicolon
test_biblioteca_c1_csv_normalization.py::TestExistingUploadFlowAcceptsRealWorldCsv::test_sync_training_runs_end_to_end_with_bom_csv
test_biblioteca_c1_csv_normalization.py::TestExistingUploadFlowAcceptsRealWorldCsv::test_sync_training_runs_end_to_end_with_semicolon_csv
test_biblioteca_c1_csv_normalization.py::TestAuditOfSuggestions::test_multiline_quoted_value_survives_delimiter_rewrite
test_biblioteca_c1_csv_normalization.py::TestAuditOfSuggestions::test_csv_data_adapter_reads_bom_file
test_biblioteca_c1_csv_normalization.py::TestAuditOfSuggestions::test_csv_data_adapter_still_reads_plain_file
test_biblioteca_c1_csv_normalization.py::TestAuditOfSuggestions::test_training_verifier_accepts_bom_file
test_biblioteca_c1_csv_normalization.py::TestAuditOfSuggestions::test_size_limit_checked_before_normalization_rewrite
test_biblioteca_c1_dataset_analysis.py::TestCanonicalExamples::test_semana_santa_output_column_detected_as_top_target
test_biblioteca_c1_dataset_analysis.py::TestCanonicalExamples::test_mar_time_series_no_explicit_output_still_proposes_regression_targets
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_last_column_reason_code
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_typical_target_name_reason_code
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_low_cardinality_reason_code_carries_the_cardinality
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_continuous_numeric_reason_code
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_reason_codes_and_legacy_reasons_have_the_same_length_and_order
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_high_cardinality_categorical_gets_a_non_scoring_reason_code
test_biblioteca_c1_dataset_analysis.py::TestTargetCandidateReasonCodes::test_every_reason_code_is_a_dict_with_a_code_key
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_integer_column
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_number_column_with_decimals
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_proposed_range_has_margin_over_observed
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_proposed_range_with_zero_span_uses_absolute_margin
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[true-false]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[si-no]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[s\xed-no]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[yes-no]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[1-0]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[verdadero-falso]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_columns_various_token_pairs[Y-N]
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_boolean_case_insensitive
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_pure_zero_one_is_boolean_not_integer
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_zero_one_plus_other_integers_is_integer_not_boolean
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_iso_date_format_detected
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_dmy_date_format_detected
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_mixed_inconsistent_date_formats_not_classified_as_date
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_identifier_high_uniqueness_string
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_identifier_sequential_integers
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_identifier_excluded_from_target_candidates
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_salario_entero_casi_unico_no_es_identificador
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_salario_declarado_en_el_prompt_llega_al_modelo
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_id_secuencial_sigue_siendo_identificador
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_id_esparcido_sigue_siendo_identificador_por_el_nombre
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_categorical_low_cardinality
test_biblioteca_c1_dataset_analysis.py::TestTypeDetection::test_numeric_looking_strings_are_numeric_not_categorical
test_biblioteca_c1_dataset_analysis.py::TestCardinalityThreshold::test_at_threshold_still_classification
test_biblioteca_c1_dataset_analysis.py::TestCardinalityThreshold::test_one_above_threshold_falls_back_to_categorical_type_but_not_classification_by_cardinality
test_biblioteca_c1_dataset_analysis.py::TestNullsAndDuplicates::test_null_tokens_counted
test_biblioteca_c1_dataset_analysis.py::TestNullsAndDuplicates::test_all_null_column_returns_unknown_type_without_crashing
test_biblioteca_c1_dataset_analysis.py::TestNullsAndDuplicates::test_duplicate_rows_counted
test_biblioteca_c1_dataset_analysis.py::TestNullsAndDuplicates::test_no_duplicates_reports_zero
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_mixed_type_column_falls_back_to_categorical
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_single_row_dataset_does_not_crash
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_low_row_count_high_uniqueness_not_misflagged_as_identifier
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_illegible_csv_raises_actionable_error
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_whitespace_only_csv_raises
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_header_only_no_data_rows_raises
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_oversized_csv_raises_actionable_error
test_biblioteca_c1_dataset_analysis.py::TestEdgeCases::test_rows_capped_at_max_rows_with_warning
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_hourly_timestamps_detected_as_date_not_identifier
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_datetime_with_seconds_detected_as_date
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_excel_bom_stripped_from_first_column_name
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_duplicate_header_names_raise_actionable_error
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_empty_header_name_raises_actionable_error
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_constant_column_never_a_target_candidate
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_constant_boolean_also_excluded
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_high_cardinality_vocabulary_capped_with_sample
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_low_cardinality_keeps_full_vocabulary
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_leading_zero_postal_codes_not_typed_as_integer
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_leading_zero_low_cardinality_becomes_categorical
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_plain_integers_without_leading_zero_unaffected
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_single_zero_and_decimals_not_confused_with_leading_zero_code
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_semicolon_delimited_csv_parses_columns_correctly
test_biblioteca_c1_dataset_analysis.py::TestAuditFindings::test_comma_delimited_csv_with_semicolon_in_a_value_untouched
test_biblioteca_c1_dataset_analysis.py::TestDeterminism::test_same_csv_produces_identical_result
test_biblioteca_c2_audit_findings.py::TestAltaHeaderNormalization::test_column_with_space_matches_between_mxai_and_csv
test_biblioteca_c2_audit_findings.py::TestAltaHeaderNormalization::test_categorical_column_with_space_matches
test_biblioteca_c2_audit_findings.py::TestAltaHeaderNormalization::test_colliding_column_names_after_normalization_raise
test_biblioteca_c2_audit_findings.py::TestAltaUnsafeCategoryValues::test_comma_in_categorical_value_is_renamed_not_rejected
test_biblioteca_c2_audit_findings.py::TestAltaUnsafeCategoryValues::test_closing_bracket_in_categorical_value_is_renamed_not_rejected
test_biblioteca_c2_audit_findings.py::TestAltaUnsafeCategoryValues::test_la_prediccion_relee_el_renombrado_con_el_valor_crudo
test_biblioteca_c2_audit_findings.py::TestAltaUnsafeCategoryValues::test_dos_valores_que_colisionan_tras_renombrar_siguen_dando_error
test_biblioteca_c2_audit_findings.py::TestAltaUnsafeCategoryValues::test_valores_ya_seguros_no_cambian_ni_un_byte
test_biblioteca_c2_audit_findings.py::TestAltaUnsafeCategoryValues::test_column_category_overrides_con_un_valor_con_coma_ya_funciona
test_biblioteca_c2_audit_findings.py::TestAltaHighCardinalityCategorical::test_routes_to_embedding_not_onehot
test_biblioteca_c2_audit_findings.py::TestAltaHighCardinalityCategorical::test_embedding_csv_validates_against_generated_model
test_biblioteca_c2_audit_findings.py::TestAltaHighCardinalityCategorical::test_embedding_column_values_are_vocab_indices
test_biblioteca_c2_audit_findings.py::TestAltaHighCardinalityCategorical::test_low_cardinality_still_uses_onehot
test_biblioteca_c2_audit_findings.py::TestAltaNumericTargetLabels::test_binary_0_1_target_generates_class_labels
test_biblioteca_c2_audit_findings.py::TestAltaNumericTargetLabels::test_binary_0_1_prepared_csv_uses_class_labels
test_biblioteca_c2_audit_findings.py::TestAltaNumericTargetLabels::test_digit_leading_label_gets_class_prefix
test_biblioteca_c2_audit_findings.py::TestAltaNumericTargetLabels::test_purely_symbolic_label_still_raises
test_biblioteca_c2_audit_findings.py::TestMediaPreparedCsvIsValidated::test_generate_raises_actionable_error_if_prepared_csv_would_fail_validation
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_categorical_target_alone_does_not_flag_onehot_operation
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_categorical_feature_does_flag_onehot_operation
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_seed_recorded_matches_training_text
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_excluded_columns_records_identifier_and_date
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_rows_dropped_null_target_recorded
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_feature_name_map_and_target_label_map_recorded
test_biblioteca_c2_audit_findings.py::TestMediaProvenanceCompleteness::test_target_label_map_is_none_for_regression
test_biblioteca_c2_audit_findings.py::TestMediaRangeOverrideSemanticValidation::test_inverted_range_raises
test_biblioteca_c2_audit_findings.py::TestMediaRangeOverrideSemanticValidation::test_equal_min_max_raises
test_biblioteca_c2_audit_findings.py::TestMediaRangeOverrideSemanticValidation::test_nan_range_raises
test_biblioteca_c2_audit_findings.py::TestMediaRangeOverrideSemanticValidation::test_infinite_range_raises
test_biblioteca_c2_audit_findings.py::TestMediaRangeOverrideSemanticValidation::test_valid_range_still_works
test_biblioteca_c2_audit_findings.py::TestMediaReservedTargetNameCollision::test_feature_named_predicted_class_raises_short_actionable_error
test_biblioteca_c2_audit_findings.py::TestMediaReservedTargetNameCollision::test_feature_named_predicted_value_raises_for_regression
test_biblioteca_c2_audit_findings.py::TestMediaReservedTargetNameCollision::test_feature_that_normalizes_to_reserved_name_also_raises
test_biblioteca_c2_audit_findings.py::TestLaGuardaResidualTieneSuPropiaPrueba::test_la_guarda_SIGUE_rechazando_un_valor_inseguro
test_biblioteca_c2_audit_findings.py::TestLaGuardaResidualTieneSuPropiaPrueba::test_la_guarda_SIGUE_EN_EL_CAMINO_despues_de_renombrar
test_biblioteca_c2_dataset_project.py::TestCanonicalExamples::test_semana_santa_generates_classification_project
test_biblioteca_c2_dataset_project.py::TestCanonicalExamples::test_semana_santa_prepared_csv_matches_existing_validation_flow
test_biblioteca_c2_dataset_project.py::TestCanonicalExamples::test_edited_category_vocabulary_controls_prompt_csv_and_provenance
test_biblioteca_c2_dataset_project.py::TestCanonicalExamples::test_edited_category_vocabulary_cannot_omit_observed_values
test_biblioteca_c2_dataset_project.py::TestCanonicalExamples::test_mar_time_series_regression_target_from_numeric_column
test_biblioteca_c2_dataset_project.py::TestEndToEndTraining::test_classification_project_trains_and_learns_with_separable_signal
test_biblioteca_c2_dataset_project.py::TestEndToEndTraining::test_regression_project_trains_end_to_end
test_biblioteca_c2_dataset_project.py::TestColumnExclusion::test_identifier_column_never_becomes_a_feature
test_biblioteca_c2_dataset_project.py::TestColumnExclusion::test_date_column_never_becomes_a_feature
test_biblioteca_c2_dataset_project.py::TestColumnExclusion::test_target_column_excluded_from_its_own_features
test_biblioteca_c2_dataset_project.py::TestActionableErrors::test_unknown_target_column_raises
test_biblioteca_c2_dataset_project.py::TestActionableErrors::test_identifier_as_target_raises
test_biblioteca_c2_dataset_project.py::TestActionableErrors::test_date_as_target_raises
test_biblioteca_c2_dataset_project.py::TestActionableErrors::test_colliding_labels_after_normalization_raise
test_biblioteca_c2_dataset_project.py::TestActionableErrors::test_constant_target_raises
test_biblioteca_c2_dataset_project.py::TestActionableErrors::test_type_override_referencing_unknown_column_raises
test_biblioteca_c2_dataset_project.py::TestUserOverridesWin::test_type_override_changes_generated_schema
test_biblioteca_c2_dataset_project.py::TestUserOverridesWin::test_range_override_changes_proposed_range
test_biblioteca_c2_dataset_project.py::TestReproducibility::test_same_csv_and_target_produce_identical_project
test_biblioteca_c2_dataset_project.py::TestProvenance::test_provenance_has_required_fields
test_biblioteca_c2_dataset_project.py::TestProvenance::test_provenance_records_user_overrides
test_biblioteca_c2_dataset_project.py::TestProvenance::test_raw_hash_is_of_the_original_bytes_not_normalized
test_biblioteca_c2_dataset_project.py::TestEtiquetasConSigno::test_menos_uno_y_uno_YA_NO_son_la_misma_etiqueta
test_biblioteca_c2_dataset_project.py::TestEtiquetasConSigno::test_el_signo_se_ve_en_la_etiqueta_no_solo_se_evita_el_choque
test_biblioteca_c2_dataset_project.py::TestEtiquetasConSigno::test_un_guion_EN_MEDIO_no_es_un_signo
test_biblioteca_c2_dataset_project.py::TestEtiquetasConSigno::test_los_decimales_negativos_tenian_el_MISMO_problema
test_biblioteca_c2_dataset_project.py::TestEtiquetasConSigno::test_una_colision_DE_VERDAD_se_sigue_detectando
test_biblioteca_c2_dataset_project.py::TestEtiquetasConSigno::test_un_valor_sin_nada_alfanumerico_sigue_siendo_error
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_las_dos_clases_de_adult_YA_NO_son_la_misma_etiqueta
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_el_signo_se_VE_en_la_etiqueta_no_solo_se_evita_el_choque
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_ningun_par_que_se_diferencie_solo_en_un_RELACIONAL_choca
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_el_orden_de_dos_caracteres_importa
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_un_separador_NO_es_un_signo
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_las_etiquetas_YA_MEDIDAS_no_se_mueven
test_biblioteca_c2_dataset_project.py::TestEtiquetasDeAdultQueChocaban::test_un_par_que_choca_por_un_signo_NO_relacional_sigue_avisando
test_biblioteca_c2_dataset_project.py::TestColumnasQueEmpiezanPorDigito::test_una_columna_que_empieza_por_digito_YA_NO_tira_el_dataset
test_biblioteca_c2_dataset_project.py::TestColumnasQueEmpiezanPorDigito::test_el_nombre_ORIGINAL_se_reconoce_en_el_nuevo
test_biblioteca_c2_dataset_project.py::TestColumnasQueEmpiezanPorDigito::test_una_columna_NORMAL_no_cambia_de_nombre
test_biblioteca_c2_dataset_project.py::TestColumnasQueEmpiezanPorDigito::test_una_columna_SIN_NADA_alfanumerico_sigue_siendo_error
test_biblioteca_c2_dataset_project.py::TestColumnasQueEmpiezanPorDigito::test_el_rescate_no_puede_colarse_encima_de_otra_columna
test_biblioteca_c2_dataset_project.py::TestColumnasQueEmpiezanPorDigito::test_el_proyecto_se_genera_Y_valida_con_esa_columna
test_biblioteca_c3_dataset_pipeline.py::TestSortTemporal::test_sorts_ascending
test_biblioteca_c3_dataset_pipeline.py::TestSortTemporal::test_unrecognized_date_format_raises
test_biblioteca_c3_dataset_pipeline.py::TestSortTemporal::test_unknown_column_raises
test_biblioteca_c3_dataset_pipeline.py::TestSortTemporal::test_stable_for_equal_dates
test_biblioteca_c3_dataset_pipeline.py::TestDropDuplicates::test_removes_exact_duplicates_keeps_first
test_biblioteca_c3_dataset_pipeline.py::TestDropDuplicates::test_no_duplicates_is_noop
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_drop_removes_rows_with_null_in_any_column
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_drop_scoped_to_declared_columns
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_is_causal_forward_fill_interior_gap
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_leading_gap_stays_null_trailing_gap_now_fillable
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_never_uses_a_future_value
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_before_sort_temporal_raises
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_after_sort_temporal_is_allowed
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_without_any_sort_temporal_is_allowed
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_multiple_before_single_sort_all_flagged
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_between_two_temporal_sorts_raises
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_all_temporal_sorts_before_interpolate_are_allowed
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_interpolate_non_numeric_raises
test_biblioteca_c3_dataset_pipeline.py::TestMissingValues::test_unknown_strategy_raises
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_renames_column_in_every_row
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_collision_with_existing_column_raises
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_unknown_source_column_raises
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_non_string_destination_raises
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_empty_string_destination_raises
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_swap_exchanges_values_correctly
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_chain_rename_relabels_simultaneously
test_biblioteca_c3_dataset_pipeline.py::TestRename::test_swap_preserves_row_count_and_all_original_values
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_number_reformats_value
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_integer_rejects_non_integer_value
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_integer_accepts_whole_float
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_string_is_noop
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_non_numeric_value_raises
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_null_values_are_skipped
test_biblioteca_c3_dataset_pipeline.py::TestCast::test_unknown_to_type_raises
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_adds_window_lag_columns_per_column
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_multiple_columns_same_window
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_never_drops_rows
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_window_zero_raises
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_negative_window_raises
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_non_int_window_raises
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_empty_columns_list_raises
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_singular_column_key_rejected_not_silently_ignored
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_window_over_max_raises
test_biblioteca_c3_dataset_pipeline.py::TestLagWindow::test_never_flagged_by_anti_leakage
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_shifts_value_forward_by_horizon
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_custom_as_name
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_tail_rows_get_empty_string_never_dropped
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_horizon_zero_raises
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_negative_horizon_raises
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_horizon_over_max_raises
test_biblioteca_c3_dataset_pipeline.py::TestShiftTarget::test_result_column_has_positive_offset
test_biblioteca_c3_dataset_pipeline.py::TestDropColumns::test_removes_declared_columns
test_biblioteca_c3_dataset_pipeline.py::TestDropColumns::test_unknown_column_raises
test_biblioteca_c3_dataset_pipeline.py::TestDropColumns::test_empty_list_raises
test_biblioteca_c3_dataset_pipeline.py::TestDropColumns::test_drops_lineage_entry
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_unknown_operation_raises
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_missing_op_key_raises
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_empty_rows_raises
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_empty_operations_is_noop
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_unexpected_extra_param_raises
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_unexpected_param_on_typed_op_raises
test_biblioteca_c3_dataset_pipeline.py::TestClosedVocabulary::test_typo_in_param_name_is_caught
test_biblioteca_c3_dataset_pipeline.py::TestOrderAndDeterminism::test_same_input_same_ops_gives_identical_output
test_biblioteca_c3_dataset_pipeline.py::TestOrderAndDeterminism::test_never_mutates_caller_input
test_biblioteca_c3_dataset_pipeline.py::TestOrderAndDeterminism::test_operation_order_changes_result
test_biblioteca_c3_dataset_pipeline.py::TestOrderAndDeterminism::test_steps_record_order_params_rows_before_after
test_biblioteca_c3_dataset_pipeline.py::TestCanonicalMarExample::test_full_pipeline_produces_clean_lagged_dataset
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_shifted_column_used_as_feature_is_detected
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_innocuous_looking_name_does_not_escape_detection
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_alarming_looking_name_without_shift_is_not_flagged
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_shift_target_source_column_itself_is_not_flagged
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_shift_then_rename_still_flagged
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_shift_then_lag_still_flagged_with_residual_offset
test_biblioteca_c3_dataset_pipeline.py::TestAntiLeakageTrapDataset::test_drop_then_rename_of_unrelated_column_is_not_a_false_positive
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_min_rows_violation
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_missing_target_column
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_residual_nulls_in_target_reported
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_clean_dataset_has_no_errors
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_min_rows_not_positive_int_raises
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_min_rows_non_int_raises
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_residual_nulls_in_feature_reported
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_missing_feature_column_reported
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_clean_features_report_no_errors
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_number_rejects_non_numeric
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_integer_rejects_non_integer
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_string_never_rejects
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_null_values_are_skipped
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_missing_column_reported
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_clean_types_report_no_errors
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_expected_types_unknown_type_raises
test_biblioteca_c3_dataset_pipeline.py::TestValidatePipelineOutput::test_cast_alone_is_not_enough_reproduces_the_finding
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_mode_temporal_parses
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_mode_random_parses
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_mode_absent_defaults_to_random
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_invalid_mode_value_rejected
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_no_split_line_at_all
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_split_spec_to_dict_omits_mode_when_random_byte_identical
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_seed_with_mode_temporal_rejected
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_train_plus_validation_over_one_rejected
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_train_zero_rejected
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_train_one_rejected
test_biblioteca_c3_split_temporal.py::TestParserSplitMode::test_ratios_that_sum_to_one_still_parse
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_temporal_never_shuffles_even_with_seed
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_temporal_validation_is_exact_final_tramo_different_ratio
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_el_tramo_de_prueba_NO_cae_en_validacion
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_y_SIN_declararlo_sigue_siendo_byte_identico
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_random_with_seed_shuffles_as_before
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_random_without_seed_is_sequential_same_as_before
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_no_split_declared_unaffected_by_c3
test_biblioteca_c3_split_temporal.py::TestSharedSplitExamples::test_torch_trainer_inherits_same_split_examples
test_biblioteca_c3_split_temporal.py::TestDenseTrainerTemporalSplit::test_temporal_uses_declared_ratio_last_tramo
test_biblioteca_c3_split_temporal.py::TestDenseTrainerTemporalSplit::test_temporal_different_ratio_different_boundary
test_biblioteca_c3_split_temporal.py::TestDenseTrainerTemporalSplit::test_mode_absent_unchanged_hardcoded_80_20
test_biblioteca_c3_split_temporal.py::TestDenseTrainerTemporalSplit::test_no_split_declared_unchanged
test_biblioteca_c3_split_temporal.py::TestTransformerTrainerTemporalSplit::test_temporal_never_calls_shuffle
test_biblioteca_c3_split_temporal.py::TestTransformerTrainerTemporalSplit::test_random_with_seed_calls_shuffle
test_biblioteca_c3_split_temporal.py::TestDenseTorchStudioPathHonorsTemporalSplit::test_temporal_passes_explicit_last_tramo
test_biblioteca_c3_split_temporal.py::TestDenseTorchStudioPathHonorsTemporalSplit::test_temporal_different_ratio_different_boundary
test_biblioteca_c3_split_temporal.py::TestDenseTorchStudioPathHonorsTemporalSplit::test_mode_random_matches_old_hardcoded_80_20_ignoring_custom_ratio
test_biblioteca_c3_split_temporal.py::TestDenseTorchStudioPathHonorsTemporalSplit::test_temporal_evaluates_only_on_held_out_validation_tramo
test_biblioteca_c3_split_temporal.py::TestDenseTorchStudioPathHonorsTemporalSplit::test_mode_random_also_evaluates_only_on_validation_not_full_dataset
test_biblioteca_c3_split_temporal.py::TestCompositeTorchStudioPathHonorsTemporalSplit::test_temporal_passes_explicit_split
test_biblioteca_c3_split_temporal.py::TestCompositeTorchStudioPathHonorsTemporalSplit::test_mode_random_preserves_old_full_examples_no_explicit_partition
test_biblioteca_c3_split_temporal.py::TestCompositeTorchStudioPathHonorsTemporalSplit::test_protocol2_test_no_se_cuela_en_validacion
test_biblioteca_c3_split_temporal.py::TestCompositeTorchStudioPathHonorsTemporalSplit::test_protocol2_tambien_manda_SIN_mode_temporal
test_biblioteca_c4_temporal_project.py::TestCanonicalMarExample::test_generates_regression_project_with_lag_and_shift
test_biblioteca_c4_temporal_project.py::TestCanonicalMarExample::test_prepared_csv_validates_against_generated_model
test_biblioteca_c4_temporal_project.py::TestCanonicalMarExample::test_rows_dropped_for_lag_and_horizon_edges
test_biblioteca_c4_temporal_project.py::TestCanonicalMarExample::test_without_lag_window_still_works
test_biblioteca_c4_temporal_project.py::TestCanonicalMarExample::test_provenance_records_temporal_config_and_pipeline_operations
test_biblioteca_c4_temporal_project.py::TestCanonicalMarExample::test_larger_horizon_and_window_both_respected
test_biblioteca_c4_temporal_project.py::TestMultipleLagColumns::test_lag_window_applies_to_every_declared_column
test_biblioteca_c4_temporal_project.py::TestMultipleLagColumns::test_category_vocabulary_override_reaches_a_derived_lag
test_biblioteca_c4_temporal_project.py::TestActionableErrors::test_unknown_temporal_column_raises
test_biblioteca_c4_temporal_project.py::TestActionableErrors::test_unknown_target_column_raises
test_biblioteca_c4_temporal_project.py::TestActionableErrors::test_horizon_zero_raises
test_biblioteca_c4_temporal_project.py::TestActionableErrors::test_lag_window_columns_without_size_raises
test_biblioteca_c4_temporal_project.py::TestActionableErrors::test_window_larger_than_dataset_leaves_no_rows
test_biblioteca_c4_temporal_project.py::TestActionableErrors::test_unknown_lag_window_column_raises
test_biblioteca_c4_temporal_project.py::TestAntiLeakageDefenseInDepth::test_lagging_the_shifted_target_with_residual_future_offset_raises
test_biblioteca_c4_temporal_project.py::TestAntiLeakageDefenseInDepth::test_lagging_the_shifted_target_by_exactly_the_horizon_is_safe
test_biblioteca_c4_temporal_project.py::TestUserOverridesApplyToTransformedColumns::test_type_override_targets_lag_column_name
test_biblioteca_c4_temporal_project.py::TestTrainingTextDeclaresTemporalSplit::test_split_line_declares_mode_temporal
test_biblioteca_c4_temporal_project.py::TestTrainingTextDeclaresTemporalSplit::test_split_line_never_declares_seed
test_biblioteca_c4_temporal_project.py::TestTrainingTextDeclaresTemporalSplit::test_split_ratio_preserved
test_biblioteca_c4_temporal_project.py::TestTrainingTextDeclaresTemporalSplit::test_rewritten_training_text_still_parses
test_biblioteca_c4_temporal_project.py::TestTrainingTextDeclaresTemporalSplit::test_training_actually_uses_temporal_split_no_shuffle
test_biblioteca_c4_temporal_project.py::TestProvenanceReflectsOriginalCsv::test_raw_csv_sha256_matches_the_csv_the_user_actually_uploaded
test_biblioteca_c4_temporal_project.py::TestProvenanceReflectsOriginalCsv::test_post_pipeline_hash_is_recorded_separately
test_biblioteca_c4_temporal_project.py::TestProvenanceReflectsOriginalCsv::test_schema_inferred_reflects_original_columns_not_lag_columns
test_biblioteca_c4_temporal_project.py::TestProvenanceReflectsOriginalCsv::test_operations_include_the_c3_pipeline_steps_first
test_biblioteca_c4_temporal_project.py::TestMinRowsValidation::test_exactly_one_surviving_row_is_rejected
test_biblioteca_c4_temporal_project.py::TestProvenanceSeedMatchesTemporalSplit::test_provenance_seed_is_none_when_split_is_temporal
test_biblioteca_c4_temporal_project.py::TestProvenanceSeedMatchesTemporalSplit::test_non_temporal_case_keeps_the_real_gen_seed
test_biblioteca_c4_temporal_project.py::TestTargetOverridePropagatesToShiftedTarget::test_type_override_on_raw_target_also_lands_on_shifted_target
test_biblioteca_c4_temporal_project.py::TestTargetOverridePropagatesToShiftedTarget::test_without_the_fix_the_shifted_target_would_be_rejected_as_identifier
test_biblioteca_c4_temporal_project.py::TestTargetOverridePropagatesToShiftedTarget::test_range_override_on_the_target_is_never_propagated_it_is_a_no_op_everywhere
test_biblioteca_c4_temporal_project.py::TestTargetOverridePropagatesToShiftedTarget::test_override_on_a_different_column_is_not_propagated_to_target
test_biblioteca_c4_temporal_project.py::TestFinalValidationReceivesTheKnownSchema::test_feature_columns_and_expected_types_reach_validate_pipeline_output
test_biblioteca_c4_temporal_project.py::TestFinalValidationReceivesTheKnownSchema::test_a_column_forced_to_number_that_is_not_actually_numeric_is_rejected_early
test_biblioteca_c4_temporal_project.py::TestFullCycleTrainEvaluateExport::test_generate_train_evaluate_export_bundle
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_none_stays_none
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_empty_string_becomes_none
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_whitespace_only_becomes_none
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_collapses_internal_whitespace_runs
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_collapses_multiline_text_to_a_single_line
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_strips_leading_and_trailing_whitespace
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_nfc_normalizes_decomposed_unicode
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_strips_non_whitespace_control_characters
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_control_char_between_spaces_does_not_leave_double_whitespace
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_exactly_max_chars_is_accepted
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_one_over_max_chars_is_rejected
test_biblioteca_c58_c4_user_intent.py::TestNormalizeUserIntent::test_limit_is_checked_after_normalizing_not_before
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_default_is_none_and_provenance_reflects_it
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_normalized_intent_travels_in_provenance
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_empty_or_whitespace_intent_is_none_in_provenance
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_intent_never_enters_the_synthesized_prompt
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[residual]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[quiero una red densa profunda deep]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[usa un workflow con reglas]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[an\xe1lisis temporal por favor]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[x: Categorical[a, b, c]]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[OUTPUT hackeado: Scalar]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[SALIDA: otra_cosa]
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_invalid_intent_raises_dataset_project_error_not_a_bare_crash
test_biblioteca_c58_c4_user_intent.py::TestUserIntentNeverAltersTheProject::test_invalid_intent_is_rejected_before_any_generation_work
test_biblioteca_c58_c4_user_intent.py::TestTemporalPathThreadsUserIntent::test_provenance_carries_the_normalized_intent
test_biblioteca_c58_c4_user_intent.py::TestTemporalPathThreadsUserIntent::test_default_is_none
test_biblioteca_c58_c4_user_intent.py::TestTemporalPathThreadsUserIntent::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[residual]
test_biblioteca_c58_c4_user_intent.py::TestTemporalPathThreadsUserIntent::test_architecture_and_artifacts_are_byte_identical_regardless_of_intent[temporal profundo workflow]
test_biblioteca_c58_c4_user_intent.py::TestTemporalPathThreadsUserIntent::test_invalid_intent_raises_dataset_project_error
test_biblioteca_c58_c5_intent_llm.py::TestBuildLlmContext::test_context_never_contains_row_values
test_biblioteca_c58_c5_intent_llm.py::TestBuildLlmContext::test_context_includes_categories_when_present
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_valid_proposal_is_parsed_and_sanitized
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_narrow_relu_layers_get_widened_by_the_sanitizer
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_depth_is_capped_at_max_layers
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_width_is_capped_at_max_width
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_extraneous_lines_are_ignored_not_applied
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_no_llm_configured_raises_non_retryable_error
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_transport_failure_raises_retryable_error
test_biblioteca_c58_c5_intent_llm.py::TestProposeIntentArchitecture::test_unparseable_response_raises_retryable_error_not_a_silent_noop
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_default_is_not_requested_and_not_used
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_no_intent_means_no_intent_llm_block_at_all
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_use_intent_llm_without_intent_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_valid_proposal_changes_the_generated_layer_sizes
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_provenance_intent_llm_block_is_complete_on_success
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_schema_and_metadata_never_change_regardless_of_llm_proposal[prioriza urgentes]
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_schema_and_metadata_never_change_regardless_of_llm_proposal[modelo simple y r\xe1pido]
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_no_llm_configured_is_a_dataset_project_error_with_retryable_false
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_transport_failure_is_a_dataset_project_error_with_retryable_true
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_invalid_proposal_never_falls_back_silently_to_default_architecture
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_used_is_corrected_to_false_when_composite_routing_drops_the_proposal
test_biblioteca_c58_c5_intent_llm.py::TestGenerateProjectFromDatasetIntentLlm::test_used_stays_true_when_dense_routing_actually_applies_the_proposal
test_biblioteca_c58_c5_intent_llm.py::TestTemporalPathThreadsUseIntentLlm::test_valid_proposal_reaches_the_temporal_path
test_biblioteca_c58_c5_intent_llm.py::TestTemporalPathThreadsUseIntentLlm::test_temporal_path_rejects_use_intent_llm_without_intent
test_biblioteca_c58_c5_intent_llm.py::TestTemporalPathThreadsUseIntentLlm::test_temporal_path_propagates_retryable_failures
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_none_or_empty_is_valid_and_becomes_empty_dict
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_non_dict_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_falsy_but_wrong_type_values_are_rejected_not_treated_as_absent[]
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_falsy_but_wrong_type_values_are_rejected_not_treated_as_absent[bad_falsy1]
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_falsy_but_wrong_type_values_are_rejected_not_treated_as_absent[0]
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_falsy_but_wrong_type_values_are_rejected_not_treated_as_absent[False]
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_unknown_key_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_hidden_layers_must_be_a_non_empty_list
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_layer_must_be_a_pair
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_non_integer_units_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_bool_units_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_units_out_of_range_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_disallowed_activation_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_depth_over_max_is_rejected
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_exactly_max_depth_and_max_width_are_accepted
test_biblioteca_c58_c5_intent_llm.py::TestValidateArchitectureHintsUnit::test_valid_hint_passes_through_unchanged
test_biblioteca_c58_c5_intent_llm.py::TestArchitectureHintsPublicApiIntegration::test_string_instead_of_dict_is_a_controlled_error_not_an_attributeerror
test_biblioteca_c58_c5_intent_llm.py::TestArchitectureHintsPublicApiIntegration::test_non_integer_units_is_a_controlled_error_not_a_typeerror
test_biblioteca_c58_c5_intent_llm.py::TestArchitectureHintsPublicApiIntegration::test_101_layers_is_rejected_not_silently_generated
test_biblioteca_c58_c5_intent_llm.py::TestArchitectureHintsPublicApiIntegration::test_valid_hint_still_reaches_the_dense_generator
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_valid_config_has_no_errors
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_lowercase_currency_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_wrong_length_currency_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_eur_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_start_after_end_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_range_over_max_days_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_well_formed_but_nonexistent_currency_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestValidateConfig::test_all_known_currencies_are_accepted
test_biblioteca_c5_provider_ecb_fx.py::TestDownloadWithRealFixture::test_returns_canonical_csv_matching_real_response
test_biblioteca_c5_provider_ecb_fx.py::TestDownloadWithRealFixture::test_license_info_allows_commercial_use_with_attribution
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_empty_body_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_missing_required_columns_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_non_numeric_obs_value_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_nan_obs_value_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_infinite_obs_value_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_duplicate_date_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestUnexpectedSchema::test_row_date_outside_requested_range_is_rejected
test_biblioteca_c5_provider_ecb_fx.py::TestSecureFetchFailurePropagates::test_secure_fetch_error_becomes_data_provider_error
test_biblioteca_c5_provider_ecb_fx.py::TestLicenseGate::test_download_without_acceptance_makes_zero_requests
test_biblioteca_c5_provider_ecb_fx.py::TestHostAllowlist::test_allowed_host_is_the_fixed_ecb_data_api
test_biblioteca_c5_provider_ecb_fx.py::TestHostAllowlist::test_url_is_built_from_the_fixed_series_path
test_biblioteca_c5_provider_ecb_fx.py::TestEstimate::test_estimate_does_not_touch_the_network
test_biblioteca_c5_provider_ecb_fx.py::TestAvailability::test_check_availability_true_on_success
test_biblioteca_c5_provider_ecb_fx.py::TestAvailability::test_check_availability_false_on_failure
test_biblioteca_c5_provider_ecb_fx.py::TestAvailability::test_check_availability_false_when_body_shape_is_wrong
test_biblioteca_c5_provider_open_meteo.py::TestValidateConfig::test_valid_archive_config_has_no_errors
test_biblioteca_c5_provider_open_meteo.py::TestValidateConfig::test_invalid_dataset_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestValidateConfig::test_latitude_out_of_range_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestValidateConfig::test_start_after_end_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestValidateConfig::test_empty_variables_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestValidateConfig::test_date_range_over_max_days_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestDuplicateVariablesRejected::test_duplicate_variable_names_are_rejected
test_biblioteca_c5_provider_open_meteo.py::TestDuplicateVariablesRejected::test_too_many_variables_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestDuplicateVariablesRejected::test_download_never_produces_a_duplicate_header
test_biblioteca_c5_provider_open_meteo.py::TestDownloadArchiveWithRealFixture::test_returns_canonical_csv_matching_real_response
test_biblioteca_c5_provider_open_meteo.py::TestDownloadArchiveWithRealFixture::test_license_info_matches_verified_open_meteo_terms
test_biblioteca_c5_provider_open_meteo.py::TestDownloadArchiveWithRealFixture::test_provenance_extra_carries_the_acceptance_receipt
test_biblioteca_c5_provider_open_meteo.py::TestDownloadMarineWithRealFixture::test_returns_canonical_csv_and_preserves_real_nulls_as_empty
test_biblioteca_c5_provider_open_meteo.py::TestApiErrorResponse::test_real_error_payload_raises_actionable_error
test_biblioteca_c5_provider_open_meteo.py::TestUnexpectedSchema::test_non_json_body_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestUnexpectedSchema::test_missing_daily_key_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestUnexpectedSchema::test_missing_requested_variable_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestUnexpectedSchema::test_variable_length_mismatch_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestUnexpectedSchema::test_empty_time_series_is_rejected
test_biblioteca_c5_provider_open_meteo.py::TestSecureFetchFailurePropagates::test_secure_fetch_error_becomes_data_provider_error
test_biblioteca_c5_provider_open_meteo.py::TestLicenseGate::test_download_without_acceptance_makes_zero_requests
test_biblioteca_c5_provider_open_meteo.py::TestHostAllowlistWiring::test_archive_dataset_uses_archive_host
test_biblioteca_c5_provider_open_meteo.py::TestHostAllowlistWiring::test_marine_dataset_uses_marine_host
test_biblioteca_c5_provider_open_meteo.py::TestHostAllowlistWiring::test_allowed_hosts_passed_to_secure_fetch_are_the_fixed_pair
test_biblioteca_c5_provider_open_meteo.py::TestEstimate::test_estimate_does_not_touch_the_network
test_biblioteca_c5_provider_open_meteo.py::TestEstimate::test_marine_estimate_uses_hourly_granularity
test_biblioteca_c5_provider_open_meteo.py::TestAvailability::test_check_availability_true_on_success
test_biblioteca_c5_provider_open_meteo.py::TestAvailability::test_check_availability_false_on_failure
test_biblioteca_c5_provider_open_meteo.py::TestAvailability::test_check_availability_false_when_body_shape_is_wrong
test_biblioteca_c5_provider_registry.py::TestProviderRegistry::test_register_and_get
test_biblioteca_c5_provider_registry.py::TestProviderRegistry::test_unknown_provider_raises_actionable_error
test_biblioteca_c5_provider_registry.py::TestProviderRegistry::test_list_providers_returns_metadata
test_biblioteca_c5_provider_registry.py::TestLocalizedProviderText::test_license_info_localizes_without_changing_the_canonical_dict
test_biblioteca_c5_provider_registry.py::TestLocalizedProviderText::test_download_estimate_localizes_dynamic_notes
test_biblioteca_c5_provider_registry.py::TestDefaultRegistry::test_default_registry_has_the_three_v1_providers
test_biblioteca_c5_provider_registry.py::TestDefaultRegistry::test_stooq_is_not_registered
test_biblioteca_c5_provider_registry.py::TestDefaultRegistry::test_default_registry_is_a_singleton
test_biblioteca_c5_provider_registry.py::TestDefaultRegistry::test_each_provider_satisfies_the_protocol_shape
test_biblioteca_c5_provider_registry.py::TestLicenseAcceptanceStore::test_record_and_verify_round_trip
test_biblioteca_c5_provider_registry.py::TestLicenseAcceptanceStore::test_record_requires_a_non_empty_actor
test_biblioteca_c5_provider_registry.py::TestLicenseAcceptanceStore::test_verify_unknown_acceptance_id_raises
test_biblioteca_c5_provider_registry.py::TestLicenseAcceptanceStore::test_verify_rejects_acceptance_from_a_different_provider
test_biblioteca_c5_provider_registry.py::TestLicenseAcceptanceStore::test_verify_rejects_a_stale_license_digest
test_biblioteca_c5_provider_registry.py::TestRequireValidAcceptance::test_none_acceptance_raises
test_biblioteca_c5_provider_registry.py::TestRequireValidAcceptance::test_valid_acceptance_passes
test_biblioteca_c5_provider_registry.py::TestRequireValidAcceptance::test_stub_provider_download_rejects_without_acceptance
test_biblioteca_c5_provider_registry.py::TestDefaultAcceptanceStore::test_is_a_singleton
test_biblioteca_c5_provider_stooq.py::TestValidateConfig::test_valid_config_has_no_errors
test_biblioteca_c5_provider_stooq.py::TestValidateConfig::test_empty_symbol_is_rejected
test_biblioteca_c5_provider_stooq.py::TestValidateConfig::test_invalid_interval_is_rejected
test_biblioteca_c5_provider_stooq.py::TestValidateConfig::test_start_after_end_is_rejected
test_biblioteca_c5_provider_stooq.py::TestDownloadHappyPath::test_returns_canonical_csv
test_biblioteca_c5_provider_stooq.py::TestDownloadHappyPath::test_license_info_is_never_commercial
test_biblioteca_c5_provider_stooq.py::TestUnexpectedSchema::test_real_antibot_challenge_page_is_rejected_cleanly
test_biblioteca_c5_provider_stooq.py::TestUnexpectedSchema::test_no_data_response_for_unknown_symbol_is_rejected
test_biblioteca_c5_provider_stooq.py::TestUnexpectedSchema::test_header_only_no_rows_is_rejected
test_biblioteca_c5_provider_stooq.py::TestUnexpectedSchema::test_empty_body_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_row_with_wrong_field_count_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_row_with_unparseable_date_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_row_with_non_numeric_ohlcv_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_row_with_empty_field_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_row_date_outside_requested_range_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_nan_ohlcv_value_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_infinite_ohlcv_value_is_rejected
test_biblioteca_c5_provider_stooq.py::TestRowLevelValidation::test_duplicate_date_is_rejected
test_biblioteca_c5_provider_stooq.py::TestSecureFetchFailurePropagates::test_secure_fetch_error_becomes_data_provider_error
test_biblioteca_c5_provider_stooq.py::TestLicenseGate::test_download_without_acceptance_makes_zero_requests
test_biblioteca_c5_provider_stooq.py::TestHostAllowlist::test_allowed_hosts_is_stooq_com_only
test_biblioteca_c5_provider_stooq.py::TestEstimate::test_estimate_does_not_touch_the_network
test_biblioteca_c5_provider_stooq.py::TestAvailability::test_check_availability_false_against_the_real_antibot_page
test_biblioteca_c5_provider_stooq.py::TestAvailability::test_check_availability_false_on_network_failure
test_biblioteca_c5_provider_stooq.py::TestAvailability::test_check_availability_true_when_the_service_responds_normally
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_valid_config_has_no_errors
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_missing_seed_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_zero_rows_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_unknown_column_type_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_duplicate_column_names_are_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_categorical_needs_at_least_two_categories
test_biblioteca_c5_provider_synthetic_local.py::TestValidateConfig::test_invalid_range_min_gte_max_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestIntegerRangeMustHaveIntegerBounds::test_non_integer_bounds_for_integer_type_are_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestIntegerRangeMustHaveIntegerBounds::test_integer_bounds_that_are_integer_valued_floats_are_accepted
test_biblioteca_c5_provider_synthetic_local.py::TestNonFiniteRangeIsRejected::test_nan_range_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestNonFiniteRangeIsRejected::test_infinite_range_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestDateStepDaysIsValidated::test_non_integer_date_step_days_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestDateStepDaysIsValidated::test_zero_or_negative_date_step_days_is_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestDateStepDaysIsValidated::test_download_never_raises_an_unwrapped_value_error
test_biblioteca_c5_provider_synthetic_local.py::TestDuplicateCategoriesAreRejected::test_duplicate_categories_are_rejected
test_biblioteca_c5_provider_synthetic_local.py::TestDeterminism::test_same_seed_produces_byte_identical_csv
test_biblioteca_c5_provider_synthetic_local.py::TestDeterminism::test_different_seed_produces_different_csv
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_returns_the_declared_number_of_rows
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_columns_match_declared_names_and_order
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_integer_range_is_respected
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_categorical_values_come_from_declared_categories
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_date_column_is_sequential_from_start
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_source_url_is_none_no_network_involved
test_biblioteca_c5_provider_synthetic_local.py::TestDownloadShape::test_provenance_extra_carries_the_acceptance_receipt
test_biblioteca_c5_provider_synthetic_local.py::TestLicenseGate::test_download_without_acceptance_raises_and_generates_nothing
test_biblioteca_c5_provider_synthetic_local.py::TestEstimate::test_estimate_matches_declared_rows
test_biblioteca_c5_provider_synthetic_local.py::TestEstimate::test_estimate_rejects_invalid_config
test_biblioteca_c5_provider_synthetic_local.py::TestAvailabilityAndMetadata::test_always_available_no_network_dependency
test_biblioteca_c5_provider_synthetic_local.py::TestAvailabilityAndMetadata::test_metadata_declares_no_network
test_biblioteca_c5_secure_fetch.py::TestHappyPath::test_returns_body_and_metadata
test_biblioteca_c5_secure_fetch.py::TestSchemeAndHostAllowlist::test_rejects_non_https_scheme
test_biblioteca_c5_secure_fetch.py::TestSchemeAndHostAllowlist::test_rejects_host_outside_allowlist
test_biblioteca_c5_secure_fetch.py::TestSchemeAndHostAllowlist::test_rejects_file_scheme
test_biblioteca_c5_secure_fetch.py::TestOversize::test_cuts_the_stream_and_fails_clean_without_buffering_everything
test_biblioteca_c5_secure_fetch.py::TestOversize::test_exactly_at_the_limit_succeeds
test_biblioteca_c5_secure_fetch.py::TestTimeout::test_timeout_during_connect_raises_actionable_error
test_biblioteca_c5_secure_fetch.py::TestTimeout::test_timeout_during_read_raises_actionable_error
test_biblioteca_c5_secure_fetch.py::TestReadFailures::test_connection_reset_during_read_is_wrapped
test_biblioteca_c5_secure_fetch.py::TestReadFailures::test_incomplete_read_during_read_is_wrapped
test_biblioteca_c5_secure_fetch.py::TestHttpErrors::test_non_redirect_http_error_is_actionable
test_biblioteca_c5_secure_fetch.py::TestHttpErrors::test_connection_failure_is_actionable
test_biblioteca_c5_secure_fetch.py::TestRedirects::test_follows_a_redirect_within_the_allowlist
test_biblioteca_c5_secure_fetch.py::TestRedirects::test_rejects_a_redirect_outside_the_allowlist
test_biblioteca_c5_secure_fetch.py::TestRedirects::test_rejects_a_redirect_to_a_non_https_scheme
test_biblioteca_c5_secure_fetch.py::TestRedirects::test_redirect_without_location_header_is_actionable
test_biblioteca_c5_secure_fetch.py::TestRedirects::test_too_many_redirects_fails_clean
test_biblioteca_c5_secure_fetch.py::TestSSRFInternalIPsAsLiteralHost::test_rejects_a_direct_request_to_a_loopback_ip
test_biblioteca_c5_secure_fetch.py::TestSSRFInternalIPsAsLiteralHost::test_rejects_a_direct_request_to_the_cloud_metadata_ip
test_biblioteca_c5_secure_fetch.py::TestSSRFInternalIPsAsLiteralHost::test_rejects_a_direct_request_to_a_private_range_ip
test_biblioteca_c5_secure_fetch.py::TestSSRFInternalIPsAsLiteralHost::test_rejects_a_redirect_to_a_loopback_ip
test_biblioteca_c5_secure_fetch.py::TestSSRFInternalIPsAsLiteralHost::test_rejects_a_redirect_to_the_cloud_metadata_ip
test_biblioteca_c5_secure_fetch.py::TestSSRFInternalIPsAsLiteralHost::test_rejects_a_redirect_to_ipv6_loopback
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_rejects_a_private_ip
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_rejects_loopback
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_rejects_the_cloud_metadata_ip
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_rejects_ipv6_loopback
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_rejects_if_any_candidate_is_private
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_accepts_a_public_ip
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_returns_every_validated_candidate
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_resolve_and_validate_wraps_a_dns_failure
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_pinned_connection_connects_to_the_pre_validated_address_only
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_pinned_connection_closes_the_socket_on_connect_failure
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_pinned_connection_falls_back_to_the_next_candidate_on_failure
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_pinned_connection_refuses_a_proxy_tunnel
test_biblioteca_c5_secure_fetch.py::TestDNSRebindingProtection::test_default_opener_routes_https_only_through_the_pinned_handler
test_biblioteca_c5_secure_fetch.py::TestRateLimit::test_http_429_is_actionable
test_biblioteca_c5_secure_fetch.py::TestNoCredentials::test_never_sends_an_authorization_header
test_binaria_sin_labels_declara_sus_clases.py::TestClasesEfectivas::test_binaria_sin_labels_devuelve_las_dos_clases_que_uso
test_binaria_sin_labels_declara_sus_clases.py::TestClasesEfectivas::test_el_orden_es_el_de_lectura_de_una_matriz_binaria
test_binaria_sin_labels_declara_sus_clases.py::TestClasesEfectivas::test_las_declaradas_MANDAN_sobre_las_inventadas
test_binaria_sin_labels_declara_sus_clases.py::TestClasesEfectivas::test_en_regresion_no_hay_clases_que_nombrar
test_binaria_sin_labels_declara_sus_clases.py::TestClasesEfectivas::test_multiclase_declarada_no_cambia
test_binaria_sin_labels_declara_sus_clases.py::TestLaRespuestaNoSeContradice::test_el_report_torch_gpu_declara_clases_y_per_label
test_binaria_sin_labels_declara_sus_clases.py::TestLaRespuestaNoSeContradice::test_en_regresion_el_report_torch_sigue_sin_clases
test_binarize_hace_una_clase.py::Binarize::test_el_umbral_MANDA
test_binarize_hace_una_clase.py::Binarize::test_no_pisa_una_columna_que_ya_existe
test_binarize_hace_una_clase.py::Binarize::test_por_encima_del_umbral_es_1
test_binarize_hace_una_clase.py::Binarize::test_sin_umbral_NO_se_adivina
test_binarize_hace_una_clase.py::Binarize::test_un_HUECO_no_es_un_cero
test_binarize_hace_una_clase.py::Binarize::test_un_valor_que_no_es_numero_se_DICE
test_binarize_hace_una_clase.py::ElLinajeTemporalSeCONSERVA::test_el_desfase_viaja_a_la_columna_nueva
test_bundle_no_entrega_bytecode.py::TestElBundleNoLlevaBytecode::test_la_prueba_de_humo_se_ejecuto_de_verdad
test_bundle_no_entrega_bytecode.py::TestElBundleNoLlevaBytecode::test_lo_que_hay_en_disco_es_LO_QUE_DECLARA_el_resultado
test_bundle_no_entrega_bytecode.py::TestElBundleNoLlevaBytecode::test_no_queda_ningun_pycache_en_el_bundle
test_bundle_no_entrega_bytecode.py::TestElBundleNoLlevaBytecode::test_no_se_entrega_ningun_pyc
test_c101_c0_particion_y_protocolo.py::LoDeAntesNoSeMueveTest::test_la_particion_legada_es_LA_MISMA_formula_que_habia
test_c101_c0_particion_y_protocolo.py::LoDeAntesNoSeMueveTest::test_la_temporal_tambien_es_la_MISMA_del_57_C3
test_c101_c0_particion_y_protocolo.py::LoDeAntesNoSeMueveTest::test_un_mxtrain_de_antes_se_serializa_IGUAL
test_c101_c0_particion_y_protocolo.py::LoDeAntesNoSeMueveTest::test_y_sin_protocolo_el_entrenador_parte_como_siempre
test_c101_c0_particion_y_protocolo.py::LoQueSE_DECLARA_SE_HONRATest::test_con_protocolo_la_semilla_MANDA
test_c101_c0_particion_y_protocolo.py::LoQueSE_DECLARA_SE_HONRATest::test_la_misma_semilla_reproduce_los_MISMOS_INDICES
test_c101_c0_particion_y_protocolo.py::LoQueSE_DECLARA_SE_HONRATest::test_la_particion_DICE_con_que_protocolo_se_hizo
test_c101_c0_particion_y_protocolo.py::LoQueSE_DECLARA_SE_HONRATest::test_los_tres_tramos_no_comparten_NI_UNA_fila
test_c101_c0_particion_y_protocolo.py::LoQueSE_DECLARA_SE_HONRATest::test_sin_semilla_no_se_baraja_con_una_inventada
test_c101_c0_particion_y_protocolo.py::LoQueSE_DECLARA_SE_HONRATest::test_temporal_con_prueba_NO_baraja_y_deja_el_futuro_al_final
test_c101_c0_particion_y_protocolo.py::UnTramoQueNadieHonraNoSeEscribeTest::test_los_tres_tramos_tienen_que_sumar_uno
test_c101_c0_particion_y_protocolo.py::UnTramoQueNadieHonraNoSeEscribeTest::test_test_sin_protocolo_se_RECHAZA
test_c101_c0_particion_y_protocolo.py::UnTramoQueNadieHonraNoSeEscribeTest::test_un_protocolo_que_no_existe_se_dice
test_c101_c0_particion_y_protocolo.py::UnTramoQueNadieHonraNoSeEscribeTest::test_y_dos_tramos_con_protocolo_siguen_valiendo
test_c101_c0_particion_y_protocolo.py::ElCanarioDeLaPruebaTest::test_cambiar_el_objetivo_de_la_PRUEBA_no_cambia_el_modelo
test_c101_c0_particion_y_protocolo.py::TestElCaminoTorchTambienHonraElProtocolo::test_sin_protocolo_sigue_siendo_el_080_FIJO_de_siempre
test_c101_c0_particion_y_protocolo.py::TestElCaminoTorchTambienHonraElProtocolo::test_CON_protocolo_2_la_semilla_1_da_la_particion_DECLARADA
test_c101_c0_particion_y_protocolo.py::TestElCaminoTorchTambienHonraElProtocolo::test_CON_protocolo_2_la_semilla_2_da_OTRA_particion
test_c101_c0_particion_y_protocolo.py::TestElCaminoTorchTambienHonraElProtocolo::test_CON_protocolo_2_el_tramo_de_TEST_no_entra_en_train_ni_en_val
test_c101_c0_reabierto_2026_09_08.py::TestTransformerTrainerCLIHonorsProtocol2Test::test_protocol2_test_no_se_cuela_en_validacion
test_c101_c0_reabierto_2026_09_08.py::TestTransformerTrainerCLIHonorsProtocol2Test::test_sin_protocolo_sigue_siendo_el_comportamiento_de_siempre
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_construye_bien_con_datos_validos
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_cubo_desconocido_se_rechaza
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_licencia_vacia_se_rechaza
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_n_filas_no_positivo_se_rechaza
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_roundtrip_json
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_sha256_mal_formado_se_rechaza
test_c101_c1_protocolo_fase0.py::DatasetRegistradoTest::test_tarea_desconocida_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_motor_sin_configuraciones_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_motor_sin_id_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_particion_con_menos_de_dos_folds_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_particion_repeticiones_para_distingue_cubo_grande
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_presupuesto_negativo_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_presupuesto_sin_un_cubo_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_regla_de_cierre_fraccion_fuera_de_rango_se_rechaza
test_c101_c1_protocolo_fase0.py::ComponentesDelProtocoloTest::test_regla_de_cierre_sin_metrica_de_alguna_tarea_se_rechaza
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_data_id_repetido_se_rechaza
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_digest_cambia_si_cambia_el_presupuesto
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_digest_cambia_si_cambia_la_regla_de_cierre
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_digest_cambia_si_cambia_un_solo_dataset
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_digest_es_estable_para_el_mismo_contenido
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_roundtrip_json_conserva_el_digest
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_sin_datasets_se_rechaza
test_c101_c1_protocolo_fase0.py::ProtocoloExploratorioTest::test_sin_motores_se_rechaza
test_c101_c1_protocolo_fase0.py::CalcularCosteTest::test_coste_en_horas_usa_el_presupuesto_del_cubo_correcto
test_c101_c1_protocolo_fase0.py::CalcularCosteTest::test_cubo_grande_usa_sus_propias_repeticiones
test_c101_c1_protocolo_fase0.py::CalcularCosteTest::test_el_paralelismo_divide_las_horas_secuenciales
test_c101_c1_protocolo_fase0.py::CalcularCosteTest::test_mas_datasets_suma_linealmente
test_c101_c1_protocolo_fase0.py::CalcularCosteTest::test_un_dataset_pequeno_dos_motores
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_cobertura_obligatoria_del_anexo_c
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_coste_guardado_coincide_con_recalcularlo
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_cubos_de_tamano_15_15_10
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_el_digest_es_EL_MISMO_que_antes_de_medir
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_el_digest_guardado_coincide_con_el_recalculado
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_el_veredicto_NO_se_movio_con_la_re_firma
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_la_REGLA_DE_CIERRE_no_se_movio_en_la_re_firma
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_la_cobertura_se_cumple_con_los_numeros_EXACTOS_que_se_midieron
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_ningun_data_id_repetido
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_ninguna_licencia_restrictiva
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_ocho_datasets_sellados
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_regla_de_cierre_es_la_confirmada_dos_puntos_80_por_ciento
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_siete_motores_declarados
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_son_40_datasets
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_tareas_20_binaria_10_multiclase_10_regresion
test_c101_c1_protocolo_fase0.py::ProtocoloRealRegistradoTest::test_todos_los_sha256_tienen_forma_valida
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_EL_MARGEN_dice_cuantos_datasets_puede_perder_sin_bajarse
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_EL_MARGEN_es_CERO_cuando_se_cumple_justo_en_el_borde
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_UN_FALLO_pierde_el_dataset_aunque_la_media_sea_buena
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_a_mas_de_dos_puntos_no_cumple
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_a_menos_de_dos_puntos_cumple
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_el_baseline_no_cuenta_como_mejor
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_el_que_NO_cumple_no_tiene_margen_y_dice_None_no_cero
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_la_fraccion_decide_el_veredicto
test_c101_c1_protocolo_fase0.py::AplicarReglaDeCierreTest::test_sobre_la_pasada_CONTAMINADA_del_07_09_daba_9_12_dato_HISTORICO
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_bajo_taskset_manda_la_afinidad_y_no_el_recuento_del_host
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_cpus_disponibles_USA_de_verdad_la_cuota_de_cgroup
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_el_speedup_NUNCA_baja_de_uno
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_la_cuota_de_cgroup_manda_cuando_existe
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_max_significa_sin_tope_no_cero
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_no_pasa_de_la_afinidad_del_proceso
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_nucleos_fisicos_no_supera_a_las_logicas
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_nunca_devuelve_cero_ni_negativo
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_pero_con_HOLGURA_sigue_subiendo_de_verdad
test_c101_c1_protocolo_fase0.py::CpusDisponiblesTest::test_y_SIN_cuota_no_se_inventa_un_tope
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_con_holgura_usa_lo_que_hay
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_el_techo_es_el_medido_469_en_ocho_cpus
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_es_monotono_no_decreciente
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_las_anclas_son_las_medidas_y_estan_ordenadas
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_nunca_supera_el_numero_de_cpus
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_rechaza_entradas_absurdas
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_reservar_de_mas_no_da_mas_que_llenar_la_maquina
test_c101_c1_protocolo_fase0.py::SpeedupMedidoTest::test_un_solo_hilo_es_la_base
test_c101_c1_protocolo_fase0.py::ReservaSeguraTest::test_con_holgura_usa_lo_que_hay
test_c101_c1_protocolo_fase0.py::ReservaSeguraTest::test_el_caso_de_la_deuda_cuatro_hilos_en_ocho_cpus_son_dos_procesos
test_c101_c1_protocolo_fase0.py::ReservaSeguraTest::test_nunca_devuelve_cero_aunque_un_proceso_solo_ya_se_pase
test_c101_c1_protocolo_fase0.py::ReservaSeguraTest::test_nunca_reserva_mas_hilos_que_cpus
test_c101_c1_protocolo_fase0.py::ReservaSeguraTest::test_rechaza_entradas_absurdas
test_c101_c1_protocolo_fase0.py::PresupuestoReservaTest::test_hilos_reservados_son_hilos_por_procesos
test_c101_c1_protocolo_fase0.py::PresupuestoReservaTest::test_los_campos_derivados_no_entran_en_el_json_ni_en_el_digest
test_c101_c1_protocolo_fase0.py::PresupuestoReservaTest::test_procesos_que_caben_dice_el_arreglo
test_c101_c1_protocolo_fase0.py::PresupuestoReservaTest::test_sin_sobre_reserva_cuando_cabe
test_c101_c1_protocolo_fase0.py::PresupuestoReservaTest::test_sobre_reserva_cuenta_los_hilos_de_mas
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_conserva_la_division_lineal_ya_publicada
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_declara_la_sobre_reserva_en_vez_de_callarla
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_el_json_lleva_los_campos_nuevos
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_el_speedup_declarado_nunca_pasa_de_las_cpus
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_el_suelo_medido_es_mayor_que_la_division_lineal
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_las_ejecuciones_no_cambian_al_contar_la_contencion
test_c101_c1_protocolo_fase0.py::CosteConContencionTest::test_sin_sobre_reserva_los_dos_numeros_se_acercan
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_LA_OTRA_MITAD_la_reserva_no_se_ha_estrangulado
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_cpu_fisicas_declaradas_son_las_MEDIDAS_no_las_logicas
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_el_presupuesto_y_los_recursos_declarados_NO_divergen
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_el_protocolo_reserva_8_hilos_sobre_8_cpus_y_no_24
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_el_suelo_medido_es_9586_horas_y_NO_lo_movio_la_re_firma
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_la_cota_lineal_ya_no_promete_algo_INALCANZABLE
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_las_ejecuciones_NO_las_movio_la_re_firma
test_c101_c1_protocolo_fase0.py::ProtocoloRegistradoSobreReservaTest::test_los_procesos_son_los_que_RESERVA_SEGURA_dice_no_un_numero_a_ojo
test_c101_c1_protocolo_fase0.py::CardinalidadNominalDeclaradaTest::test_cuenta_los_niveles_de_cada_columna_nominal
test_c101_c1_protocolo_fase0.py::CardinalidadNominalDeclaradaTest::test_la_columna_OBJETIVO_no_cuenta
test_c101_c1_protocolo_fase0.py::CardinalidadNominalDeclaradaTest::test_no_lee_mas_alla_de_arroba_data
test_c101_c1_protocolo_fase0.py::CardinalidadNominalDeclaradaTest::test_una_columna_NUMERICA_no_aparece_con_cero
test_c101_c1_protocolo_fase0.py::CardinalidadNominalDeclaradaTest::test_una_coma_DENTRO_de_un_nivel_entrecomillado_no_separa
test_c101_c1_protocolo_fase0.py::CardinalidadNominalDeclaradaTest::test_una_declaracion_partida_en_VARIAS_lineas_se_cierra_entera
test_c101_c1_protocolo_fase0.py::DatasetRegistradoCardinalidadTest::test_LA_OTRA_MITAD_los_que_cuadran_se_aceptan_en_los_dos_lados
test_c101_c1_protocolo_fase0.py::DatasetRegistradoCardinalidadTest::test_el_booleano_que_CONTRADICE_al_numero_se_rechaza
test_c101_c1_protocolo_fase0.py::DatasetRegistradoCardinalidadTest::test_el_campo_VIAJA_en_el_json_y_por_tanto_en_el_digest
test_c101_c1_protocolo_fase0.py::DatasetRegistradoCardinalidadTest::test_el_umbral_es_EL_DEL_ANEXO_y_es_inclusivo
test_c101_c1_protocolo_fase0.py::DatasetRegistradoCardinalidadTest::test_un_catalogo_SIN_el_campo_revienta_en_vez_de_valer_cero
test_c101_c1_protocolo_fase0.py::CatalogoContraLosARFFRealesTest::test_el_numero_declarado_es_EL_QUE_DICE_EL_FICHERO_en_los_cuarenta
test_c101_c1_protocolo_fase0.py::CatalogoContraLosARFFRealesTest::test_los_dos_casos_que_destaparon_el_fallo_por_su_nombre_y_su_numero
test_c101_c1_protocolo_fase0.py::CatalogoContraLosARFFRealesTest::test_los_sha256_de_los_ARFF_SIGUEN_siendo_los_registrados
test_c101_c1_protocolo_fase0.py::CatalogoContraLosARFFRealesTest::test_pendigits_NO_tiene_ni_una_columna_nominal_y_su_false_era_correcto
test_c101_c1_protocolo_fase0.py::ConstruirProtocoloDerivaLaCardinalidadTest::test_el_booleano_sale_del_numero_medido_en_los_dos_lados
test_c101_c1_protocolo_fase0.py::ConstruirProtocoloDerivaLaCardinalidadTest::test_el_generador_escribe_la_reserva_que_CABE
test_c101_c1_protocolo_fase0.py::ConstruirProtocoloDerivaLaCardinalidadTest::test_los_dos_minimos_del_anexo_van_SEPARADOS
test_c101_c1_protocolo_fase0.py::UnaParadaCOOPERATIVA_NoEsUnFalloTest::test_es_una_LISTA_BLANCA_y_no_un_prefijo
test_c101_c1_protocolo_fase0.py::UnaParadaCOOPERATIVA_NoEsUnFalloTest::test_la_DISPERSION_usa_la_misma_lista_que_la_regla
test_c101_c1_protocolo_fase0.py::UnaParadaCOOPERATIVA_NoEsUnFalloTest::test_sobre_la_pasada_REAL_el_veredicto_no_se_mueve_ni_un_dataset
test_c101_c1_protocolo_fase0.py::UnaParadaCOOPERATIVA_NoEsUnFalloTest::test_un_fallo_de_verdad_SIGUE_perdiendo_el_dataset
test_c101_c1_protocolo_fase0.py::UnaParadaCOOPERATIVA_NoEsUnFalloTest::test_una_parada_cooperativa_CUENTA_como_medida
test_c101_c1_protocolo_fase0.py::ElIntervaloDICE_LO_QUE_NO_RECOGETest::test_SIGUE_declarando_de_que_esta_hecho
test_c101_c1_protocolo_fase0.py::ElIntervaloDICE_LO_QUE_NO_RECOGETest::test_declara_que_NO_recoge_el_muestreo_del_test
test_c101_c1_protocolo_fase0.py::ElIntervaloDICE_LO_QUE_NO_RECOGETest::test_la_declaracion_NO_movio_ningun_numero
test_c101_c3_alcance_declarado.py::ElArtefactoDeclaraSuAlcanceTest::test_el_fichero_cuadra_con_su_propio_digest_CON_el_alcance_dentro
test_c101_c3_alcance_declarado.py::ElArtefactoDeclaraSuAlcanceTest::test_el_veredicto_no_se_puede_leer_sin_el_recorte_DELANTE
test_c101_c3_alcance_declarado.py::ElArtefactoDeclaraSuAlcanceTest::test_el_veredicto_y_el_alcance_estan_en_el_MISMO_objeto
test_c101_c3_alcance_declarado.py::ElSELLO_CUBRE_AL_ALCANCE_EnElCODIGO_NoSoloEnElFicheroTest::test_el_alcance_del_payload_recien_compuesto_NO_esta_vacio
test_c101_c3_alcance_declarado.py::ElSELLO_CUBRE_AL_ALCANCE_EnElCODIGO_NoSoloEnElFicheroTest::test_quitar_el_alcance_del_payload_CAMBIA_su_digest
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_declara_las_tareas_y_los_cubos_que_se_quedan_SIN_MEDIR
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_el_CRITERIO_del_subconjunto_describe_el_subconjunto_de_verdad
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_el_que_NO_compitio_se_nombra_y_hoy_no_falta_NINGUNO
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_la_RE_FIRMA_no_toco_nada_de_lo_que_esta_pasada_uso
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_las_cuentas_de_motores_cuadran_con_sus_listas
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_datasets_DECLARADOS_son_los_que_aparecen_en_los_720
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_datasets_declarados_son_los_que_el_SCRIPT_corre_hoy
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_motores_DECLARADOS_son_los_que_aparecen_en_los_720
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_motores_declarados_son_los_que_el_SCRIPT_corre_hoy
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_motores_del_protocolo_son_los_del_protocolo_REGISTRADO
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_que_FALTAN_salen_de_restar_las_dos_listas_con_su_mapeo
test_c101_c3_alcance_declarado.py::ElAlcanceDeclaradoCUADRAConLoMedidoTest::test_los_que_faltan_mas_los_que_corrieron_son_los_40_del_protocolo
test_c101_c3_alcance_declarado.py::GanarYGanarPorNadaNoSeLeenIgualTest::test_CUANTO_MARGEN_tiene_el_que_cumple_viaja_con_el_veredicto
test_c101_c3_alcance_declarado.py::GanarYGanarPorNadaNoSeLeenIgualTest::test_cada_dataset_GANADO_dice_por_CUANTO_y_a_quien
test_c101_c3_alcance_declarado.py::GanarYGanarPorNadaNoSeLeenIgualTest::test_cuantos_aciertos_son_por_SER_el_mejor_se_cuentan_a_mano
test_c101_c3_alcance_declarado.py::GanarYGanarPorNadaNoSeLeenIgualTest::test_el_numero_del_JSON_sale_de_RE_APLICAR_la_regla_registrada
test_c101_c3_alcance_declarado.py::GanarYGanarPorNadaNoSeLeenIgualTest::test_la_ventaja_sobre_el_segundo_se_RE_CALCULA_desde_los_crudos
test_c101_c3_presupuesto_y_configuraciones.py::test_el_presupuesto_de_pared_SALE_del_protocolo_y_es_POR_CUBO
test_c101_c3_presupuesto_y_configuraciones.py::test_el_MEDIANO_no_se_mide_con_el_presupuesto_del_PEQUENO
test_c101_c3_presupuesto_y_configuraciones.py::test_el_BUCLE_de_la_pasada_le_da_a_cada_intento_el_presupuesto_de_SU_cubo
test_c101_c3_presupuesto_y_configuraciones.py::test_el_JSON_declara_el_presupuesto_POR_CUBO_con_el_digest_de_donde_sale
test_c101_c3_presupuesto_y_configuraciones.py::test_el_GUARDIA_para_antes_de_medir_si_el_presupuesto_no_es_el_registrado
test_c101_c3_presupuesto_y_configuraciones.py::test_el_guardia_para_si_el_protocolo_registrado_no_se_puede_LEER
test_c101_c3_presupuesto_y_configuraciones.py::test_el_guardia_del_presupuesto_se_LLAMA_de_verdad_antes_de_medir
test_c101_c3_presupuesto_y_configuraciones.py::test_el_CACHE_no_reusa_un_intento_medido_con_OTRO_presupuesto
test_c101_c3_presupuesto_y_configuraciones.py::test_el_modelo_de_COSTE_del_protocolo_solo_cuadra_con_las_13_configuraciones
test_c101_c3_presupuesto_y_configuraciones.py::test_el_ALCANCE_declara_el_recorte_de_configuraciones_por_motor
test_c101_c3_presupuesto_y_configuraciones.py::test_la_LECTURA_del_veredicto_nombra_el_recorte_de_configuraciones
test_c101_c3_presupuesto_y_configuraciones.py::test_las_configuraciones_OBSERVADAS_salen_de_los_registros_no_de_la_declaracion
test_c101_c3_presupuesto_y_configuraciones.py::test_unos_registros_SIN_el_campo_no_dicen_que_corrieran_CERO_configuraciones
test_c101_c3_presupuesto_y_configuraciones.py::test_cada_intento_GRABA_su_configuracion
test_c101_c3_presupuesto_y_configuraciones.py::test_el_intervalo_de_pc1_CRUZA_el_liston_y_el_JSON_lo_dice
test_c101_c3_presupuesto_y_configuraciones.py::test_hay_un_incumplido_que_NO_cruza_el_liston
test_c101_c3_presupuesto_y_configuraciones.py::test_el_intervalo_NO_movio_el_veredicto_de_NINGUN_motor
test_c101_c3_presupuesto_y_configuraciones.py::test_sin_pliegue_emparejable_NO_se_inventa_un_intervalo
test_c101_c3_presupuesto_y_configuraciones.py::test_unos_registros_sin_pliegue_declarado_se_CUENTAN_no_se_ignoran
test_c101_c3_presupuesto_y_configuraciones.py::test_el_intervalo_es_EMPAREJADO_y_no_dos_intervalos_sueltos
test_c101_c3_presupuesto_y_configuraciones.py::test_el_intervalo_es_REPRODUCIBLE_bit_a_bit
test_c101_c3_presupuesto_y_configuraciones.py::test_el_percentil_es_el_de_105_C2_y_no_una_segunda_implementacion
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_el_vocabulario_reserva_el_codigo
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_el_modelo_generado_acepta_su_propio_CSV_con_el_codigo_dentro
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_una_categoria_no_vista_YA_NO_pierde_el_dataset
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_el_indice_escrito_es_el_del_codigo_reservado
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_el_CSV_de_prediccion_no_deja_ninguna_celda_vacia
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_el_codigo_reservado_va_SIEMPRE_al_final
test_c101_c5_categoria_no_vista.py::TestEmbeddingCodigoReservado::test_un_modelo_SIN_el_codigo_reservado_lo_DICE
test_c101_c5_categoria_no_vista.py::TestOneHotNingunaDeLasConocidas::test_una_categoria_no_vista_YA_NO_pierde_el_dataset
test_c101_c5_categoria_no_vista.py::TestOneHotNingunaDeLasConocidas::test_el_grupo_entero_sale_A_CERO_y_el_de_al_lado_no
test_c101_c5_categoria_no_vista.py::TestOneHotNingunaDeLasConocidas::test_NO_se_usa_la_categoria_de_REFERENCIA
test_c101_c5_categoria_no_vista.py::TestOneHotNingunaDeLasConocidas::test_un_modelo_one_hot_NO_gana_una_columna_reservada
test_c101_c5_categoria_no_vista.py::TestOneHotNingunaDeLasConocidas::test_el_enrutado_a_embedding_NO_se_mueve_por_el_codigo
test_c101_c5_categoria_no_vista.py::TestLoQueNoCambia::test_un_valor_NUEVO_del_usuario_sigue_abortando
test_c101_c5_categoria_no_vista.py::TestLoQueNoCambia::test_lo_mismo_en_one_hot
test_c101_c5_categoria_no_vista.py::TestLoQueNoCambia::test_repreparar_el_MISMO_crudo_sigue_saliendo_byte_a_byte
test_c101_c5_categoria_no_vista.py::TestSeDeclara::test_el_informe_dice_la_columna_y_CUANTAS_filas
test_c101_c5_categoria_no_vista.py::TestSeDeclara::test_el_recuento_es_el_REAL_no_un_booleano_disfrazado
test_c101_c5_categoria_no_vista.py::TestSeDeclara::test_sin_ninguna_categoria_no_vista_NO_se_avisa_de_nada
test_c101_c5_categoria_no_vista.py::TestSeDeclara::test_en_EMBEDDING_tambien_se_declara
test_c101_c5_categorica_mixta_embedding.py::TestCategoricaMixta::test_baja_y_alta_juntas_generan_un_proyecto_que_valida
test_c101_c5_categorica_mixta_embedding.py::TestCategoricaMixta::test_la_pequena_viaja_como_indice_cuando_el_modelo_la_hizo_embedding
test_c101_c5_categorica_mixta_embedding.py::TestCategoricaMixta::test_el_indice_escrito_es_la_posicion_en_el_vocabulario
test_c101_c5_categorica_mixta_embedding.py::TestOneHotLegitimoSigueExpandiendo::test_sin_ninguna_alta_las_categoricas_se_expanden_a_one_hot
test_c101_c5_categorica_mixta_embedding.py::TestOneHotLegitimoSigueExpandiendo::test_la_columna_one_hot_marcada_es_la_del_valor_de_la_fila
test_c101_c5_categorica_mixta_embedding.py::TestRecetaCongelaLaDecision::test_la_receta_registra_las_columnas_de_embedding
test_c101_c5_categorica_mixta_embedding.py::TestRecetaCongelaLaDecision::test_una_receta_sin_alta_registra_la_lista_vacia_no_la_ausencia
test_c101_c5_categorica_mixta_embedding.py::TestRecetaCongelaLaDecision::test_repreparar_reproduce_el_mismo_csv_byte_a_byte
test_c101_c5_categorica_mixta_embedding.py::TestRecetaCongelaLaDecision::test_una_receta_ANTERIOR_al_arreglo_sigue_reproduciendo_su_CSV
test_c101_c5_categorica_mixta_embedding.py::TestEmbeddingSourceColumns::test_lee_las_fuentes_declaradas_por_el_modelo
test_c101_c5_categorica_mixta_embedding.py::TestEmbeddingSourceColumns::test_un_modelo_sin_embeddings_no_declara_ninguna
test_c101_c5_faltantes_cableados.py::TestHuecoNumerico::test_un_hueco_numerico_ya_no_mata_el_proyecto
test_c101_c5_faltantes_cableados.py::TestHuecoNumerico::test_el_hueco_se_rellena_con_la_MEDIANA_no_con_la_media
test_c101_c5_faltantes_cableados.py::TestHuecoNumerico::test_una_celda_que_tenia_valor_no_cambia_ni_un_byte
test_c101_c5_faltantes_cableados.py::TestHuecoNumerico::test_el_indicador_viaja_al_CSV_y_al_MODELO
test_c101_c5_faltantes_cableados.py::TestHuecoNumerico::test_el_indicador_marca_las_filas_que_se_rellenaron_y_solo_esas
test_c101_c5_faltantes_cableados.py::TestHuecoCategorico::test_un_hueco_en_una_categorica_de_EMBEDDING_ya_no_mata_el_proyecto
test_c101_c5_faltantes_cableados.py::TestHuecoCategorico::test_un_hueco_en_una_categorica_ONE_HOT_deja_de_ser_una_fila_a_cero
test_c101_c5_faltantes_cableados.py::TestHuecoCategorico::test_una_categorica_constante_con_huecos_se_sigue_excluyendo
test_c101_c5_faltantes_cableados.py::TestSinFaltantesNadaCambia::test_una_numerica_sin_huecos_no_gana_indicador
test_c101_c5_faltantes_cableados.py::TestSinFaltantesNadaCambia::test_una_categorica_sin_huecos_no_gana_la_categoria_faltante
test_c101_c5_faltantes_cableados.py::TestSinFaltantesNadaCambia::test_un_dataset_limpio_produce_el_MISMO_CSV_que_sin_politica
test_c101_c5_faltantes_cableados.py::TestElObjetivoNoSeImputa::test_una_fila_sin_objetivo_se_descarta_y_no_se_rellena
test_c101_c5_faltantes_cableados.py::TestElObjetivoNoSeImputa::test_el_objetivo_viaja_bajo_una_clave_que_ninguna_columna_puede_tener
test_c101_c5_faltantes_cableados.py::TestElObjetivoNoSeImputa::test_la_mediana_se_ajusta_solo_sobre_las_filas_que_se_escriben
test_c101_c5_faltantes_cableados.py::TestSoloCuentanLasFilasQueSeEscriben::test_un_hueco_solo_en_una_fila_sin_objetivo_no_crea_indicador
test_c101_c5_faltantes_cableados.py::TestSoloCuentanLasFilasQueSeEscriben::test_un_hueco_categorico_solo_en_una_fila_sin_objetivo_no_crea_categoria
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_la_receta_congela_la_politica_con_su_mediana
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_repreparar_reproduce_el_mismo_CSV_byte_a_byte
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_repreparar_una_categorica_con_huecos_reproduce_su_CSV
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_la_mediana_NO_se_recalcula_al_repreparar_otro_CSV
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_una_receta_ANTERIOR_al_arreglo_sigue_reproduciendo_su_CSV
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_una_receta_con_la_politica_corrupta_da_un_error_accionable
test_c101_c5_faltantes_cableados.py::TestRecetaYReproducibilidad::test_la_version_de_receta_NO_sube
test_c101_c5_faltantes_cableados.py::TestProcedenciaDeclaraLoImputado::test_la_procedencia_dice_QUE_se_relleno_y_CON_QUE
test_c101_c5_faltantes_cableados.py::TestProcedenciaDeclaraLoImputado::test_la_procedencia_dice_cuantas_celdas_categoricas_faltaban
test_c101_c5_faltantes_cableados.py::TestProcedenciaDeclaraLoImputado::test_sin_faltantes_la_procedencia_lo_dice_en_vez_de_callar
test_c101_c5_faltantes_cableados.py::TestProcedenciaDeclaraLoImputado::test_los_limites_del_nucleo_viajan_a_la_procedencia
test_c101_c5_faltantes_cableados.py::TestProcedenciaDeclaraLoImputado::test_los_limites_viajan_UNA_vez_y_la_receta_OMITE_la_clave
test_c101_c5_faltantes_cableados.py::TestLoQueNoSeImputa::test_un_valor_presente_pero_ilegible_no_se_rellena_ni_se_marca
test_c101_c5_faltantes_cableados.py::TestLoQueNoSeImputa::test_un_indicador_que_chocaria_con_una_columna_real_es_un_error
test_c101_c5_faltantes_cableados.py::TestLoQueNoSeImputa::test_una_categorica_con_el_centinela_literal_y_huecos_es_un_error
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_sin_override_se_convierte_sola_y_trae_su_indicador
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_es_exactamente_igual_al_override_manual
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_procedencia_declara_lo_que_paso_no_lo_que_se_pidio
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_una_booleana_sin_huecos_no_cambia
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_huecos_solo_en_filas_sin_objetivo_no_cambia
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_con_marca_de_ausencia_DECLARADA_cuenta_esa_marca
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_override_explicito_a_boolean_con_huecos_se_sigue_rechazando
test_c101_c5_faltantes_cableados.py::TestBooleanaConHuecosPasaACategorica::test_la_receta_automatica_re_aplicada_sigue_tratando_flag_como_categorica
test_c101_c5_faltantes_cableados.py::TestElSufijoSeDeclaraUnaVez::test_columnas_de_salida_y_transformar_fila_usan_el_mismo_nombre
test_c101_c5_la_deuda_del_diagnostico_tiene_guarda.py::test_la_funcion_que_sabe_de_declaraciones_SIGUE_aceptandolas
test_c101_c5_la_deuda_del_diagnostico_tiene_guarda.py::test_el_diagnostico_NO_acepta_la_declaracion_todavia
test_c101_c5_la_deuda_del_diagnostico_tiene_guarda.py::test_las_CUATRO_llamadas_internas_siguen_usando_la_heuristica
test_c101_c5_la_prediccion_relee_la_receta.py::LaRecetaCongeladaLLEGA_A_LaPrediccionTest::test_con_la_declaracion_el_nivel_None_NO_cuenta_como_ausente
test_c101_c5_la_prediccion_relee_la_receta.py::LaRecetaCongeladaLLEGA_A_LaPrediccionTest::test_la_receta_guarda_la_declaracion
test_c101_c5_la_prediccion_relee_la_receta.py::LaRecetaCongeladaLLEGA_A_LaPrediccionTest::test_re_preparar_reproduce_el_MISMO_csv_byte_a_byte
test_c101_c5_la_prediccion_relee_la_receta.py::LaRecetaCongeladaLLEGA_A_LaPrediccionTest::test_si_la_receta_PIERDE_la_declaracion_la_prediccion_SE_NIEGA
test_c101_c5_la_prediccion_relee_la_receta.py::LaRecetaCongeladaLLEGA_A_LaPrediccionTest::test_sin_declarar_la_receta_OMITE_la_clave_y_no_la_pone_vacia
test_c101_c5_la_prediccion_relee_la_receta.py::AusenteNoEsVaciaYSeNotaAlRELEERTest::test_meterle_la_lista_VACIA_a_esa_misma_receta_la_ROMPE
test_c101_c5_la_prediccion_relee_la_receta.py::AusenteNoEsVaciaYSeNotaAlRELEERTest::test_una_receta_nacida_SIN_declarar_se_relee_con_la_heuristica
test_c101_c5_la_prediccion_relee_la_receta.py::ElObjetivoCONSTANTE_dependeDeQuienLeeLosNulosTest::test_declarando_la_ausencia_el_MISMO_csv_es_entrenable
test_c101_c5_la_prediccion_relee_la_receta.py::ElObjetivoCONSTANTE_dependeDeQuienLeeLosNulosTest::test_sin_declarar_un_objetivo_ENTRENABLE_se_rechaza
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElNivelDeclaradoCuentaComoCategoria::test_sin_declarar_el_nivel_None_se_contaba_como_ausente
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElNivelDeclaradoCuentaComoCategoria::test_declarando_la_marca_de_ausencia_el_nivel_sobrevive
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElNivelDeclaradoCuentaComoCategoria::test_el_proyecto_se_genera_y_las_filas_de_None_cuentan_como_su_categoria
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElNivelDeclaradoCuentaComoCategoria::test_sin_declarar_el_mismo_CSV_sigue_levantando
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaHeuristicaSigueIntactaDondeSIDebeAplicarse::test_un_CSV_sin_declaracion_cuenta_sus_nulos_como_siempre
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaHeuristicaSigueIntactaDondeSIDebeAplicarse::test_y_la_heuristica_no_distingue_mayusculas
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaHeuristicaSigueIntactaDondeSIDebeAplicarse::test_una_declaracion_es_LITERAL_y_no_baja_a_minusculas
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaGuardaDelCentinelaSigueProtegiendo::test_con_declaracion_y_ambiguedad_real_sigue_levantando
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaGuardaDelCentinelaSigueProtegiendo::test_sin_declaracion_y_ambiguedad_real_sigue_levantando
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaRecetaCongelaComoSeLeyoLaAusencia::test_la_receta_guarda_la_declaracion_y_re_preparar_reproduce_el_CSV
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaRecetaCongelaComoSeLeyoLaAusencia::test_una_receta_SIN_la_clave_re_prepara_con_la_heuristica_de_entonces
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaRecetaCongelaComoSeLeyoLaAusencia::test_una_receta_que_declara_el_conjunto_VACIO_no_es_lo_mismo_que_no_declarar
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElOBJETIVOTambienPuedeTenerUnNivelLlamadoNone::test_el_control_no_bloquea
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElOBJETIVOTambienPuedeTenerUnNivelLlamadoNone::test_declarado_el_objetivo_con_nivel_None_se_comporta_COMO_EL_CONTROL
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElOBJETIVOTambienPuedeTenerUnNivelLlamadoNone::test_sin_declarar_el_mismo_objetivo_sigue_sin_poder_generarse
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElOBJETIVOTambienPuedeTenerUnNivelLlamadoNone::test_no_entrenable_en_train_usa_el_criterio_declarado
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElFicheroQueDeVerdadSePerdia::test_el_ARFF_declara_None_como_nivel_y_son_864_filas
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElFicheroQueDeVerdadSePerdia::test_sin_declarar_se_pierde_el_dataset_entero
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElFicheroQueDeVerdadSePerdia::test_declarando_la_marca_del_motor_las_864_filas_son_su_categoria
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElObjetivoDaUNASolaRespuestaPorLosDosCaminos::test_pasar_o_no_el_analisis_NO_cambia_el_documento
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElObjetivoDaUNASolaRespuestaPorLosDosCaminos::test_el_nivel_declarado_SIGUE_proponiendose_como_objetivo_sin_analisis
test_c101_c5_nivel_declarado_no_es_ausente.py::TestElObjetivoDaUNASolaRespuestaPorLosDosCaminos::test_SIN_declaracion_la_heuristica_sigue_mandando
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaSerieTemporalRespetaLaDeclaracionDePuntaAPunta::test_declarando_solo_cae_la_fila_sin_objetivo_futuro
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaSerieTemporalRespetaLaDeclaracionDePuntaAPunta::test_declarar_y_no_declarar_YA_NO_dan_lo_mismo
test_c101_c5_nivel_declarado_no_es_ausente.py::TestLaSerieTemporalRespetaLaDeclaracionDePuntaAPunta::test_la_prediccion_RECONSTRUYE_las_mismas_filas_que_el_entrenamiento
test_c101_c5_nivel_declarado_no_es_ausente.py::TestCadaEslabonDelPipelineRecibeLaDeclaracion::test_INTERPOLAR_no_se_inventa_un_valor_que_la_declaracion_dice_que_existe
test_c101_c5_nivel_declarado_no_es_ausente.py::TestCadaEslabonDelPipelineRecibeLaDeclaracion::test_CONVERTIR_TIPOS_no_deja_pasar_como_hueco_lo_que_no_lo_es
test_c101_c5_nivel_declarado_no_es_ausente.py::TestCadaEslabonDelPipelineRecibeLaDeclaracion::test_ORDENAR_no_toma_por_fecha_minima_un_valor_declarado
test_c101_c5_nivel_declarado_no_es_ausente.py::TestCadaEslabonDelPipelineRecibeLaDeclaracion::test_y_el_pipeline_ENTERO_se_la_pasa_a_los_tres
test_c101_c5_pasada_amplia.py::test_sin_los_parametros_nuevos_el_veredicto_es_identico
test_c101_c5_pasada_amplia.py::test_los_tres_artefactos_de_c3_siguen_cuadrando_con_su_digest
test_c101_c5_pasada_amplia.py::test_una_sola_metrica_sobre_tres_tareas_PIERDE_datasets_del_denominador
test_c101_c5_pasada_amplia.py::test_con_la_metrica_de_cada_tarea_los_tres_datasets_CUENTAN
test_c101_c5_pasada_amplia.py::test_un_fallo_ajeno_ya_no_mueve_el_denominador
test_c101_c5_pasada_amplia.py::test_un_dataset_exigido_sin_una_sola_medida_APARECE_diciendo_por_que
test_c101_c5_pasada_amplia.py::test_la_frase_de_lectura_dice_que_cada_tarea_se_midio_con_lo_suyo
test_c101_c5_pasada_amplia.py::test_la_estabilidad_del_ganador_tambien_lee_la_metrica_de_cada_tarea
test_c101_c5_pasada_amplia.py::test_metrica_del_dataset_distingue_las_tres_ausencias
test_c101_c5_pasada_amplia.py::test_la_pasada_declara_los_40_del_protocolo_con_los_8_sellados
test_c101_c5_pasada_amplia.py::test_el_criterio_del_subconjunto_dice_que_NO_hay_recorte
test_c101_c5_pasada_amplia.py::test_la_metrica_de_cierre_sale_del_protocolo_y_cambia_con_la_tarea
test_c101_c5_pasada_amplia.py::test_una_metrica_registrada_que_no_se_sabe_traducir_PARA_la_pasada
test_c101_c5_pasada_amplia.py::test_la_regresion_NO_pide_ni_clases_ni_clase_positiva
test_c101_c5_pasada_amplia.py::test_las_repeticiones_del_cubo_grande_salen_del_protocolo
test_c101_c5_pasada_amplia.py::test_la_regresion_NO_se_estratifica_y_la_clasificacion_SI
test_c101_c5_pasada_amplia.py::test_los_40_arff_estan_y_su_sha256_es_el_REGISTRADO
test_c101_c5_pasada_amplia.py::test_los_8_sellados_se_LEEN_y_traen_su_objetivo_declarado
test_c101_c5_pasada_amplia.py::test_la_minoria_derivada_reproduce_los_doce_pares_de_c3
test_c101_c5_pasada_amplia.py::test_la_clase_positiva_es_la_MINORITARIA_y_desempata_por_nombre
test_c101_c5_pasada_amplia.py::test_las_medidas_que_no_se_pueden_dar_se_declaran_con_su_motivo
test_c101_c5_pasada_amplia.py::test_todas_las_metricas_del_informe_llegan_al_registro
test_c101_c5_pasada_amplia.py::test_la_estimacion_se_calcula_a_mano_y_declara_que_es_una_extrapolacion
test_c101_c5_pasada_amplia.py::test_el_ancla_del_cubo_grande_dice_que_NO_hay_pasada_de_ese_cubo
test_c101_c5_pasada_amplia.py::test_el_artefacto_COMPUESTO_lleva_el_alcance_DENTRO_de_su_digest
test_c101_c5_pasada_amplia.py::test_un_subconjunto_de_prueba_se_declara_COMO_TAL_en_el_artefacto
test_c101_c5_pasada_amplia.py::test_el_guardia_PARA_si_falta_un_arff
test_c101_c5_pasada_amplia.py::test_una_metrica_que_se_llame_como_un_campo_del_registro_PARA_la_pasada
test_c101_c5_pasada_amplia.py::test_ninguna_metrica_del_catalogo_choca_HOY_con_un_campo_del_registro
test_c101_c5_pasada_amplia.py::test_la_cache_reusa_lo_que_midio_EL_MISMO_codigo_y_NO_lo_demas
test_c101_c5_pasada_amplia.py::test_el_digest_de_entorno_de_C5_incluye_su_propio_fichero
test_c101_c5_pasada_amplia.py::test_el_hueco_entre_el_plan_y_lo_medido_queda_EXPLICADO
test_c101_c5_pasada_amplia.py::test_el_motivo_MEDIDO_viaja_con_la_reconciliacion
test_c101_c5_pasada_amplia.py::test_CUADRA_es_una_conclusion_y_no_un_adorno
test_c101_c5_pasada_amplia.py::test_sin_n_intentos_en_el_plan_NO_se_inventa_una_reconciliacion
test_c101_c5_pasada_amplia.py::test_un_dataset_con_su_particion_COMPLETA_no_aparece_en_el_hueco
test_c101_c5_pasada_amplia.py::test_hay_un_punto_de_control_al_nivel_del_PLIEGUE_y_no_solo_de_la_repeticion
test_c101_c5_pasada_amplia.py::test_el_guardado_de_cada_repeticion_SIGUE_ahi_como_suelo
test_c101_c5_pasada_amplia.py::test_el_punto_de_control_del_pliegue_va_por_RELOJ_y_no_en_cada_vuelta
test_c101_c5_pasada_amplia.py::test_los_procesos_que_corrieron_se_reconcilian_con_los_registrados
test_c101_c5_pasada_amplia.py::test_la_DIRECCION_de_la_desviacion_se_calcula_y_no_se_escribe
test_c101_c5_pasada_amplia.py::test_sin_procesos_registrados_NO_se_inventa_un_veredicto
test_c101_c5_pasada_amplia.py::test_el_artefacto_lleva_el_digest_que_el_NOMBRE_prometia
test_c101_c5_pasada_amplia.py::test_el_artefacto_DICE_que_cubre_su_digest_historico
test_c101_c5_pasada_amplia.py::test_la_verificacion_de_SIEMPRE_sigue_valiendo
test_c101_c5_pasada_amplia.py::test_C3_y_C5_sellan_con_la_MISMA_funcion
test_c101_c5_pasada_amplia.py::test_ninguna_medida_del_protocolo_se_queda_SIN_CASA
test_c101_c5_pasada_amplia.py::test_una_medida_NUEVA_del_protocolo_aparece_SIN_CASA_y_no_desaparece
test_c101_c5_pasada_amplia.py::test_la_tasa_de_fallo_derivada_CUADRA_con_los_fallos_medidos
test_c101_c5_pasada_amplia.py::test_la_tasa_usa_la_MISMA_lista_blanca_que_la_regla
test_c101_c5_pasada_amplia.py::test_las_casas_que_el_mapa_DECLARA_existen_de_verdad
test_c101_c5_pasada_amplia.py::test_el_artefacto_COMPUESTO_lleva_el_mapa
test_c102_c0_salidas_de_attest.py::UnaRegresionConSigmoideSeMideIGUAL_PorLasDosViasTest::test_las_dos_vias_eligen_la_misma_salida_con_la_misma_semantica
test_c102_c0_salidas_de_attest.py::UnaRegresionConSigmoideSeMideIGUAL_PorLasDosViasTest::test_pero_en_CLASIFICACION_el_sigmoide_sigue_siendo_probabilidad
test_c102_c0_salidas_de_attest.py::UnaRegresionConSigmoideSeMideIGUAL_PorLasDosViasTest::test_y_con_VARIAS_salidas_numericas_se_sigue_pidiendo_el_mapa
test_c102_c0_salidas_de_attest.py::ElCasoDocumentadoTest::test_atestigua_la_exactitud_REAL_y_no_la_de_la_primera_salida
test_c102_c0_salidas_de_attest.py::ElCasoDocumentadoTest::test_coincide_con_la_inferencia_nativa
test_c102_c0_salidas_de_attest.py::ElCasoDocumentadoTest::test_el_fixture_es_el_documentado_y_no_otro_iris
test_c102_c0_salidas_de_attest.py::ElCasoDocumentadoTest::test_el_recibo_dice_QUE_SALIDA_leyo_y_con_que_clases
test_c102_c0_salidas_de_attest.py::ElCasoDocumentadoTest::test_los_DATOS_del_fixture_tambien_van_atados
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_binaria_con_etiqueta_y_probabilidades
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_clases_NO_CONSECUTIVAS_por_un_mapa_del_propio_modelo
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_clases_de_TEXTO
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_clases_no_consecutivas_SIN_declarar_se_niega_en_vez_de_adivinar
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_la_salida_buena_NO_siempre_es_la_PRIMERA
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_multiclase_sin_etiqueta_deduce_las_clases_de_la_columna_y_lo_DICE
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_regresion
test_c102_c0_salidas_de_attest.py::CoincideConLaInferenciaNativaTest::test_y_declarando_el_ORDEN_INVERTIDO_sale_lo_que_sale_de_verdad
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_declarar_MENOS_clases_de_las_que_devuelve_no_se_rellena
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_dos_salidas_de_tipo_etiqueta_piden_el_mapa_en_vez_de_elegir_la_primera
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_forzar_una_salida_que_no_existe_dice_las_que_hay
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_forzar_una_semantica_INCORRECTA_falla_en_vez_de_dar_un_numero
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_pero_declarando_CUAL_de_las_dos_etiquetas_si_funciona
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_pero_un_SIGMOIDE_lo_declara_el_grafo_y_no_hace_falta_pedirlo
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_un_escalar_sin_semantica_pide_el_mapa_de_salida
test_c102_c0_salidas_de_attest.py::LoQueNoSE_SABE_SE_PIDE_NoSeAdivinaTest::test_una_semantica_que_no_existe_se_contesta_con_las_que_hay
test_c102_c0_salidas_de_attest.py::ForzarUnaSalidaIncorrectaFALLATest::test_leer_un_VALOR_como_si_fuera_una_clase_falla_igual
test_c102_c0_salidas_de_attest.py::ForzarUnaSalidaIncorrectaFALLATest::test_pero_el_MAE_sobre_la_salida_NUMERICA_sigue_saliendo
test_c102_c0_salidas_de_attest.py::ForzarUnaSalidaIncorrectaFALLATest::test_un_MAE_sobre_la_salida_de_ETIQUETAS_falla
test_c102_c0_salidas_de_attest.py::ForzarUnaSalidaIncorrectaFALLATest::test_y_la_EXACTITUD_sobre_esa_misma_salida_de_etiquetas_tambien
test_c102_c0_salidas_de_attest.py::ForzarUnaSalidaIncorrectaFALLATest::test_y_ya_no_devuelve_aquel_0_0267
test_c102_c0_salidas_de_attest.py::LaANCHURA_NoDeclaraNadaTest::test_dos_columnas_que_nadie_declara_piden_el_mapa_de_salida
test_c102_c0_salidas_de_attest.py::LaANCHURA_NoDeclaraNadaTest::test_pero_DECLARANDO_que_son_probabilidades_se_mide_igual_que_antes
test_c102_c0_salidas_de_attest.py::LaANCHURA_NoDeclaraNadaTest::test_y_un_SOFTMAX_lo_sigue_declarando_el_grafo_sin_pedir_nada
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_la_DIRECCION_la_declara_el_registro
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_la_EXACTITUD_sale_de_la_formula_del_registro
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_las_metricas_NUEVAS_se_atestiguan_de_verdad
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_las_metricas_las_decide_el_REGISTRO_no_una_linea_a_mano
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_una_metrica_que_el_registro_TIENE_pero_que_aqui_no_se_puede_alimentar
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_y_el_MAE_tambien
test_c102_c0_salidas_de_attest.py::ElNUMERO_LoCalculaElRegistroUnicoTest::test_y_una_que_el_registro_NO_tiene_se_contesta_con_las_que_hay
test_c102_c0_salidas_de_attest.py::UnVOCABULARIO_DeUnaSolaClaseNoMideNadaTest::test_cual_de_las_dos_clases_sea_la_positiva_NO_cambia_la_exactitud
test_c102_c0_salidas_de_attest.py::UnVOCABULARIO_DeUnaSolaClaseNoMideNadaTest::test_sin_declarar_las_clases_se_dice_lo_que_falta
test_c102_c0_salidas_de_attest.py::UnVOCABULARIO_DeUnaSolaClaseNoMideNadaTest::test_una_etiqueta_ESCRITA_DE_OTRA_FORMA_sigue_siendo_la_misma_clase
test_c102_c0_salidas_de_attest.py::UnVOCABULARIO_DeUnaSolaClaseNoMideNadaTest::test_y_declarandolas_se_mide
test_c102_c0_salidas_de_attest.py::SigmoidDeUnaColumnaConClasesDeTextoTest::test_declarar_dos_clases_de_texto_YA_funciona
test_c102_c0_salidas_de_attest.py::SigmoidDeUnaColumnaConClasesDeTextoTest::test_pero_TRES_clases_siguen_sin_valer
test_c102_c0_salidas_de_attest.py::SigmoidDeUnaColumnaConClasesDeTextoTest::test_y_sin_declararlas_sigue_pidiendolas_con_su_motivo
test_c102_c0_salidas_de_attest.py::CodigosConCeroALaIzquierdaTest::test_cero_a_la_izquierda_es_OTRA_clase
test_c102_c0_salidas_de_attest.py::CodigosConCeroALaIzquierdaTest::test_el_efecto_sobre_la_exactitud_atestiguada
test_c102_c0_salidas_de_attest.py::CodigosConCeroALaIzquierdaTest::test_pero_las_formas_canonicas_siguen_siendo_la_misma
test_c102_c0_salidas_de_attest.py::CodigosConCeroALaIzquierdaTest::test_una_etiqueta_igual_a_si_misma_SIEMPRE_casa
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_el_ALCANCE_declara_el_recorte_que_la_pasada_tuvo_de_verdad
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_el_JSON_de_la_evidencia_sigue_siendo_EL_MISMO_que_se_midio
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_el_MARGEN_y_los_PRIMEROS_PUESTOS_del_alcance_son_los_medidos
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_el_digest_que_las_TRES_ENTRADAS_SELLAN_es_el_de_ESE_JSON
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_el_numero_que_afirma_la_cartera_SALE_de_aplicar_la_regla
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_esta_en_la_cartera_EXACTAMENTE_quien_cumple_la_regla
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_la_regla_citada_es_la_REGISTRADA_CON_HASH_no_otra
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_la_version_de_la_BIBLIOTECA_que_la_cartera_aprueba_es_la_MEDIDA
test_c102_c1_evidencia_de_la_cartera.py::LaEntradaDeCarteraEsLaQueSeMIDIOTest::test_los_intentos_y_los_QUINCE_fallos_estan_en_el_JSON
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_cumplidos_con_menos_semillas_es_la_lectura_con_SOLO_la_semilla_0
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_cumplidos_por_semilla_se_queda_en_None_porque_el_cubo_grande_NO_TIENE_tres
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_la_entrada_declara_lo_que_la_DEBILITA_y_no_solo_lo_que_la_sostiene
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_la_prosa_declara_QUE_NO_es_un_dominio_limpio
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_los_cumplidos_DENTRO_DEL_RUIDO_estan_declarados_y_son_los_medidos
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_los_primeros_puestos_QUE_LA_DISPERSION_DISCUTE_son_los_medidos
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_quien_CAMBIA_DE_LADO_DEL_LISTON_segun_la_semilla_esta_medido
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_y_el_TEXTO_da_LA_DISTANCIA_Y_EL_INTERVALO_de_cada_uno
test_c102_c1_evidencia_de_la_cartera.py::LaEvidenciaNoDiceDeMASDeLoQueSeMIDIOTest::test_y_el_TEXTO_da_los_numeros_CON_LA_FORMA_de_cada_entrada
test_c102_c1_evidencia_de_la_cartera.py::LaCarteraMIRA_LA_PROCEDENCIA_DeSuEvidenciaTest::test_lo_que_DECLARA_es_lo_que_el_artefacto_dice_de_si_mismo
test_c102_c1_evidencia_de_la_cartera.py::LaCarteraMIRA_LA_PROCEDENCIA_DeSuEvidenciaTest::test_toda_entrada_DECLARA_si_su_evidencia_es_anclable
test_c102_c1_evidencia_de_la_cartera.py::LaCarteraMIRA_LA_PROCEDENCIA_DeSuEvidenciaTest::test_una_entrada_APROBADA_se_sostiene_en_evidencia_ANCLABLE
test_c102_c1_evidencia_de_la_cartera.py::LaCarteraMIRA_LA_PROCEDENCIA_DeSuEvidenciaTest::test_y_el_artefacto_NO_trae_avisos_de_procedencia
test_c103_c1_objetivo.py::TestElCatalogoHablaLosDosIdiomas::test_cada_motivo_trae_los_dos_idiomas
test_c103_c1_objetivo.py::TestElCatalogoHablaLosDosIdiomas::test_la_redaccion_inglesa_no_lleva_castellano
test_c103_c1_objetivo.py::TestElCatalogoHablaLosDosIdiomas::test_los_huecos_son_los_mismos_en_los_dos_idiomas
test_c103_c1_objetivo.py::TestElCatalogoHablaLosDosIdiomas::test_toda_plantilla_se_puede_componer_con_sus_huecos
test_c103_c1_objetivo.py::TestElCatalogoHablaLosDosIdiomas::test_una_clave_que_no_existe_se_rechaza_en_vez_de_inventar_la_frase
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_con_las_clases_nombradas_y_lo_demas_contestado_si_arranca
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_contestar_con_la_columna_arranca_el_estudio
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_el_nombre_que_se_inventa_el_generador_no_cuenta_como_objetivo
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_el_proceso_actual_108_c1_viaja_tambien_por_la_ruta_prompt
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_la_pregunta_cita_la_frase_en_los_dos_idiomas
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_la_puerta_del_estudio_lo_rechaza_diciendo_que_falta
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_ningun_objetivo_leido_es_uno_de_los_inventados
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_no_hay_problema_y_se_pide_el_objetivo
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_una_clasificacion_sin_clases_nombradas_no_arranca
test_c103_c1_objetivo.py::TestUnPromptSinObjetivoNoIniciaEstudio::test_una_pregunta_de_si_o_no_pide_el_nombre_y_no_se_lo_inventa
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_caso_1_el_precio_a_partir_del_precio_es_fuga_y_bloquea
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_caso_2_el_salario_del_ano_pasado_es_legitimo_y_NO_se_bloquea
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_caso_3_el_tercero_esta_limpio_y_no_dispara_nada
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_el_aviso_del_generador_tambien_sale_en_ingles
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_el_generador_avisa_de_la_fuga_y_NO_quita_la_columna
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_el_generador_avisa_del_parecido_sin_llamarlo_fuga
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_lo_que_el_parecido_por_nombre_NO_ve_esta_dicho
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_los_mismos_tres_con_las_columnas_en_castellano
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_un_parecido_no_convierte_una_confirmacion_en_bloqueo
test_c103_c1_objetivo.py::TestLosTresCasosDelContrato71::test_un_prompt_limpio_no_gana_ningun_aviso_nuevo
test_c103_c1_objetivo.py::TestLaColumnaObjetivoNoEntraEnX::test_declarar_el_objetivo_TAMBIEN_como_entrada_bloquea
test_c103_c1_objetivo.py::TestLaColumnaObjetivoNoEntraEnX::test_declarar_row_id_explicitamente_en_entradas_SI_lo_deja_pasar
test_c103_c1_objetivo.py::TestLaColumnaObjetivoNoEntraEnX::test_la_confirmacion_declara_los_predictores_reales_sin_el_objetivo
test_c103_c1_objetivo.py::TestLaColumnaObjetivoNoEntraEnX::test_la_ruta_csv_deja_el_objetivo_fuera_de_las_features
test_c103_c1_objetivo.py::TestLaColumnaObjetivoNoEntraEnX::test_sin_declarar_entradas_row_id_tampoco_es_un_predictor
test_c103_c1_objetivo.py::TestLaColumnaObjetivoNoEntraEnX::test_sin_declarar_entradas_se_proponen_todas_menos_el_objetivo
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_con_fecha_se_pregunta_el_momento_y_despues_el_horizonte
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_contestar_el_tipo_de_tarea_confirma_el_problema
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_declarar_clases_que_no_estan_en_los_datos_bloquea
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_el_proceso_actual_108_c1_viaja_hasta_el_problema_confirmado
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_el_producto_decidia_solo_y_ademas_distinto_en_cada_sitio
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_etiquetas_numericas_con_pocos_valores_PREGUNTAN_el_tipo_de_tarea
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_generar_el_proyecto_publica_la_confirmacion_y_no_la_impone
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_la_unidad_de_observacion_no_se_rellena_con_una_fila
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_sin_fecha_no_se_pregunta_por_el_momento
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_sin_objetivo_elegido_se_proponen_candidatas_con_su_motivo
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_un_identificador_o_una_fecha_no_son_objetivos
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_un_objetivo_que_no_existe_bloquea_diciendo_las_columnas
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_una_binaria_pregunta_cual_es_su_clase_positiva
test_c103_c1_objetivo.py::TestLaRutaCsvProponeYConfirma::test_una_clase_positiva_que_no_esta_entre_las_clases_vuelve_a_preguntar
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_el_corte_es_el_del_ENTRENADOR_REAL
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_el_csv_tiene_dos_clases_y_el_entrenamiento_ve_una
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_el_entrenador_no_baraja_asi_que_train_son_las_primeras_filas
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_la_comprobacion_del_csv_entero_NO_lo_veia
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_la_confirmacion_lo_declara_no_entrenable_con_su_motivo
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_las_dos_comprobaciones_dicen_lo_MISMO_cuando_la_columna_es_constante
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_los_nulos_no_cuentan_como_una_clase_mas
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_no_se_confunde_la_falta_de_datos_con_una_sola_clase
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_un_objetivo_que_varia_dentro_de_train_no_se_bloquea
test_c103_c1_objetivo.py::TestUnObjetivoConUnaSolaClaseEnTrain::test_una_particion_declarada_manda_sobre_el_corte_por_defecto
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_el_ORDEN_de_las_clases_se_conserva_y_no_se_ordena
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_el_digest_del_manifiesto_cubre_el_problema
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_el_problema_confirmado_de_la_ruta_csv_llega_al_manifiesto
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_la_clase_positiva_y_las_clases_viajan
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_la_version_de_esquema_sube_y_verify_la_sigue_conociendo
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_sin_problema_confirmado_el_manifiesto_dice_null_y_no_un_hueco
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_un_horizonte_sin_momento_no_se_publica
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_binaria_sin_clase_positiva_no_se_publica
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_clase_positiva_que_no_esta_entre_las_clases_no_se_publica
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_clase_repetida_no_se_publica
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_clasificacion_sin_clases_no_se_publica
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_clave_desconocida_se_rechaza_en_vez_de_interpretarse_a_medias
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_regresion_no_lleva_clases_ni_clase_positiva
test_c103_c1_objetivo.py::TestElProblemaViajaEnElManifiesto::test_una_tarea_que_no_existe_no_se_publica
test_c103_c1_objetivo.py::TestLaPuertaDelEstudio::test_con_todo_contestado_devuelve_el_problema
test_c103_c1_objetivo.py::TestLaPuertaDelEstudio::test_el_documento_entero_es_serializable_a_json
test_c103_c1_objetivo.py::TestLaPuertaDelEstudio::test_enumera_lo_que_falta_en_vez_de_decir_no_valido
test_c103_c2_detectores.py::PearsonSpearmanTest::test_asociacion_None_por_debajo_del_minimo_de_pares
test_c103_c2_detectores.py::PearsonSpearmanTest::test_asociacion_ignora_pares_con_lado_no_numerico
test_c103_c2_detectores.py::PearsonSpearmanTest::test_paridad_con_scipy
test_c103_c2_detectores.py::PearsonSpearmanTest::test_pearson_None_con_menos_de_dos_puntos_o_serie_constante
test_c103_c2_detectores.py::PearsonSpearmanTest::test_spearman_capta_monotona_no_solo_lineal
test_c103_c2_detectores.py::NmiCategoricaTest::test_identificador_infla_nmi_sin_colapsar_y_cae_a_cero_colapsando
test_c103_c2_detectores.py::NmiCategoricaTest::test_paridad_con_sklearn_average_arithmetic
test_c103_c2_detectores.py::NmiCategoricaTest::test_proxy_por_nmi_no_acusa_al_identificador
test_c103_c2_detectores.py::IntervaloWilsonTest::test_None_fuera_de_rango
test_c103_c2_detectores.py::IntervaloWilsonTest::test_margen_relativo_cae_al_crecer_los_eventos
test_c103_c2_detectores.py::ObjetivoDuplicadoTest::test_coincidencia_total_bloquea
test_c103_c2_detectores.py::ObjetivoDuplicadoTest::test_menos_del_minimo_de_filas_comparables_no_bloquea
test_c103_c2_detectores.py::ObjetivoDuplicadoTest::test_nulos_no_cuentan_como_coincidencia_ni_como_diferencia
test_c103_c2_detectores.py::ObjetivoDuplicadoTest::test_una_sola_fila_distinta_NO_bloquea
test_c103_c2_detectores.py::VariablesTrasElDesenlaceTest::test_bloquea_solo_lo_declarado_after_outcome
test_c103_c2_detectores.py::VariablesTrasElDesenlaceTest::test_sin_declaracion_no_bloquea_nada
test_c103_c2_detectores.py::CruceDeUnidadesTest::test_columna_unidad_como_entrada_bloquea
test_c103_c2_detectores.py::CruceDeUnidadesTest::test_columna_unidad_que_no_es_entrada_no_bloquea
test_c103_c2_detectores.py::CruceDeUnidadesTest::test_sin_columna_unidad_declarada_no_bloquea
test_c103_c2_detectores.py::AsociacionMuyAltaSalarioDelSetentaYUnoTest::test_asociacion_muy_alta_devuelve_SOSPECHA_nunca_bloqueo
test_c103_c2_detectores.py::AsociacionMuyAltaSalarioDelSetentaYUnoTest::test_correlacion_alta_pero_con_pocas_filas_no_se_acusa
test_c103_c2_detectores.py::AsociacionMuyAltaSalarioDelSetentaYUnoTest::test_la_correlacion_medida_supera_el_umbral
test_c103_c2_detectores.py::AsociacionMuyAltaSalarioDelSetentaYUnoTest::test_objetivo_duplicado_NO_confunde_correlacion_alta_con_identidad
test_c103_c2_detectores.py::IgualdadDeValoresTest::test_dos_entradas_identicas_es_sospecha_no_bloqueo
test_c103_c2_detectores.py::IgualdadDeValoresTest::test_entradas_distintas_no_genera_sospecha
test_c103_c2_detectores.py::PurezaCategoricaTest::test_categoria_ESPURIA_con_soporte_suficiente_pura_in_sample_NO_se_confirma
test_c103_c2_detectores.py::PurezaCategoricaTest::test_categoria_REALMENTE_predictiva_SI_se_confirma_y_es_sospecha
test_c103_c2_detectores.py::PurezaCategoricaTest::test_identificador_de_fila_nunca_alcanza_soporte_minimo
test_c103_c2_detectores.py::IdentificadorProbableTest::test_columna_normal_no_es_identificador
test_c103_c2_detectores.py::IdentificadorProbableTest::test_por_nombre_sin_tipo
test_c103_c2_detectores.py::IdentificadorProbableTest::test_por_tipo_de_columna
test_c103_c2_detectores.py::LimitesTest::test_ausencia_de_linaje_siempre_presente_con_las_columnas
test_c103_c2_detectores.py::LimitesTest::test_falta_de_eventos_solo_para_clases_con_pocos_casos_pero_mas_de_cero
test_c103_c2_detectores.py::LimitesTest::test_precision_insuficiente_es_relativo_no_absoluto
test_c103_c2_detectores.py::LimitesTest::test_tamano_efectivo_insuficiente_por_ratio_filas_predictor
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_caso_1_del_71_precio_duplicado_bloquea_e_impide_recomendacion
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_caso_2_del_71_salario_legitimo_no_bloquea_solo_avisa
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_caso_3_identificador_de_alta_cardinalidad_no_es_predictor_util
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_columna_unidad_como_entrada_bloquea_a_traves_del_orquestador
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_criterio_4_ausencia_de_linaje_siempre_esta_pase_lo_que_pase
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_csv_real_end_to_end_objetivo_duplicado
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_diagnostico_a_json_separa_las_tres_listas
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_muestreo_se_declara_nunca_en_silencio
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_sin_muestreo_por_debajo_del_techo
test_c103_c2_detectores.py::DiagnosticarCsvTest::test_variable_after_outcome_bloquea_a_traves_del_orquestador
test_c103_c2_detectores.py::ElCosteDelCruceTest::test_cada_columna_se_prepara_UNA_vez_no_una_vez_por_cruce
test_c103_c2_detectores.py::ElCosteDelCruceTest::test_la_comparacion_rapida_dice_lo_mismo_que_la_semantica_documentada
test_c103_c2_detectores.py::ElCosteDelCruceTest::test_la_comparacion_se_para_en_la_primera_diferencia
test_c103_c3_preparacion.py::TestElCatalogoHablaLosDosIdiomas::test_clave_desconocida_se_rechaza
test_c103_c3_preparacion.py::TestElCatalogoHablaLosDosIdiomas::test_los_huecos_son_los_mismos_en_los_dos_idiomas
test_c103_c3_preparacion.py::TestElCatalogoHablaLosDosIdiomas::test_toda_clave_tiene_los_dos_idiomas
test_c103_c3_preparacion.py::CriterioLiteralTest::test_aviso_de_faltantes_40_no_dispara_60_si
test_c103_c3_preparacion.py::CriterioLiteralTest::test_categoria_desconocida_faltante_y_referencia_se_diferencian
test_c103_c3_preparacion.py::CriterioLiteralTest::test_no_bloquea_con_menos_de_100_filas
test_c103_c3_preparacion.py::CriterioLiteralTest::test_valores_extremos_en_test_no_cambian_mediana_ni_vocabulario
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_alterar_valores_extremos_solo_en_test_no_cambia_los_rangos
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_las_filas_sin_objetivo_no_entran_en_los_extremos
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_los_extremos_son_el_minimo_y_el_maximo_de_train
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_los_extremos_viajan_por_json
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_un_sobre_escrito_antes_de_este_cambio_se_relee_sin_extremos
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_una_categorica_no_declara_extremos
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_una_columna_constante_publica_minimo_igual_a_maximo
test_c103_c3_preparacion.py::ExtremosMedidosEnTrainTest::test_una_numerica_con_faltantes_mide_solo_lo_presente
test_c103_c3_preparacion.py::ExclusionDelObjetivoTest::test_el_objetivo_nunca_se_imputa
test_c103_c3_preparacion.py::ExclusionDelObjetivoTest::test_fila_sin_objetivo_se_excluye_con_recuento
test_c103_c3_preparacion.py::CapacidadDelMotorTest::test_admite_faltantes_deja_marcador_nativo_en_vez_de_imputar
test_c103_c3_preparacion.py::CapacidadDelMotorTest::test_capacidad_categorica_se_registra_en_la_propuesta
test_c103_c3_preparacion.py::CapacidadDelMotorTest::test_sin_admite_faltantes_imputa_la_mediana
test_c103_c3_preparacion.py::TransformNuncaReajustaTest::test_transformar_muchas_filas_no_cambia_la_politica
test_c103_c3_preparacion.py::RoundTripJsonTest::test_a_json_desde_json_reconstruye_una_politica_equivalente
test_c103_c3_preparacion.py::RoundTripJsonTest::test_categorias_conocidas_reconstruidas_son_tupla_no_lista
test_c103_c3_preparacion.py::RoundTripJsonTest::test_limites_se_reconstruyen_tambien
test_c103_c3_preparacion.py::RoundTripJsonTest::test_reconstruida_no_reajusta_con_filas_nuevas
test_c103_c3_preparacion.py::ColumnasDeSalidaTest::test_declara_exactamente_lo_que_transformar_fila_emite
test_c103_c3_preparacion.py::ColumnasDeSalidaTest::test_el_indicador_de_faltantes_esta_incluido
test_c103_c3_preparacion.py::ColumnasDeSalidaTest::test_no_incluye_el_objetivo
test_c103_c3_preparacion.py::ColisionDelIndicadorTest::test_la_colision_en_si_queda_DECLARADA_no_arreglada
test_c103_c3_preparacion.py::ColisionDelIndicadorTest::test_no_declara_columnas_repetidas
test_c103_c3_preparacion.py::ColisionDelIndicadorTest::test_y_sigue_coincidiendo_con_lo_que_se_emite
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_UN_solo_valor_no_numerico_deja_la_columna_ENTERA_como_esta
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_el_CENTINELA_desaparece_del_camino_completo
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_los_huecos_no_cuentan_ni_se_rellenan
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_solo_toca_las_columnas_QUE_SE_LE_PIDEN
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_una_categorica_DE_VERDAD_se_deja_tal_cual
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_una_columna_YA_tipada_no_se_declara_tocada
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_una_columna_de_texto_que_TODO_parsea_se_convierte
test_c103_c3_preparacion.py::TiparColumnasNumericasTest::test_una_columna_vacia_entera_no_estalla
test_c103_c4_particion_por_diseno.py::TestElCatalogoHablaLosDosIdiomas::test_clave_desconocida_se_rechaza
test_c103_c4_particion_por_diseno.py::TestElCatalogoHablaLosDosIdiomas::test_los_huecos_son_los_mismos_en_los_dos_idiomas
test_c103_c4_particion_por_diseno.py::TestElCatalogoHablaLosDosIdiomas::test_toda_clave_tiene_los_dos_idiomas
test_c103_c4_particion_por_diseno.py::GruposTest::test_grupos_insuficientes_es_bloqueo
test_c103_c4_particion_por_diseno.py::GruposTest::test_pacientes_repetidos_nunca_se_parten_entre_pliegues
test_c103_c4_particion_por_diseno.py::GruposTest::test_pacientes_repetidos_nunca_se_parten_entre_roles
test_c103_c4_particion_por_diseno.py::GruposTest::test_pliegues_se_reducen_por_grupos_insuficientes
test_c103_c4_particion_por_diseno.py::IidEstratificadoOrdenDentroDelPliegueTest::test_la_primera_mitad_POSICIONAL_de_un_pliegue_no_es_una_sola_clase
test_c103_c4_particion_por_diseno.py::IidEstratificadoOrdenDentroDelPliegueTest::test_las_clases_siguen_equilibradas_ENTRE_pliegues_tras_barajar
test_c103_c4_particion_por_diseno.py::TemporalTest::test_cronologia_no_se_pudo_separar_con_hueco_excesivo
test_c103_c4_particion_por_diseno.py::TemporalTest::test_fechas_desordenadas_se_ordenan_y_respetan_cronologia
test_c103_c4_particion_por_diseno.py::TemporalTest::test_la_fraccion_de_prueba_pedida_se_respeta_aproximadamente
test_c103_c4_particion_por_diseno.py::TemporalTest::test_misma_semilla_reproduce_la_particion
test_c103_c4_particion_por_diseno.py::TemporalTest::test_temporal_respeta_el_hueco_declarado
test_c103_c4_particion_por_diseno.py::GruposConTiempoTest::test_groups_and_time_no_mezcla_unidades_entre_roles
test_c103_c4_particion_por_diseno.py::CohorteExternaTest::test_cohorte_externa_se_identifica_y_no_participa_en_busqueda
test_c103_c4_particion_por_diseno.py::EventosInsuficientesTest::test_pliegues_se_reducen_por_eventos_insuficientes
test_c103_c4_particion_por_diseno.py::TestLosPlieguesNoSonCuadraticos::test_un_conjunto_por_pliegue_y_el_mismo_reparto
test_c103_c5_diagnostico_de_riesgo.py::TestElCatalogoHablaLosDosIdiomas::test_los_huecos_son_los_mismos_en_los_dos_idiomas
test_c103_c5_diagnostico_de_riesgo.py::TestElCatalogoHablaLosDosIdiomas::test_toda_clave_tiene_los_dos_idiomas
test_c103_c5_diagnostico_de_riesgo.py::LosDosCaminosDel71Test::test_camino_1_bloqueo_el_precio_a_partir_del_precio
test_c103_c5_diagnostico_de_riesgo.py::LosDosCaminosDel71Test::test_camino_2_aviso_el_salario_del_ano_pasado
test_c103_c5_diagnostico_de_riesgo.py::TransicionesDeEstadoTest::test_aceptar_solo_ALGUNAS_sospechas_no_alcanza_confirmado
test_c103_c5_diagnostico_de_riesgo.py::TransicionesDeEstadoTest::test_confirmado_sin_sospechas_ni_bloqueos
test_c103_c5_diagnostico_de_riesgo.py::TransicionesDeEstadoTest::test_exploratorio_pasa_a_confirmado_tras_aceptar
test_c103_c5_diagnostico_de_riesgo.py::AceptacionExigeContextoYActorTest::test_recibo_auditable_no_booleano
test_c103_c5_diagnostico_de_riesgo.py::AceptacionExigeContextoYActorTest::test_sin_actor_se_rechaza
test_c103_c5_diagnostico_de_riesgo.py::AceptacionExigeContextoYActorTest::test_sin_contexto_se_rechaza
test_c103_c5_diagnostico_de_riesgo.py::AceptacionSeQuedaAnticuadaSiLaSospechaCambiaTest::test_una_sospecha_con_medida_distinta_no_queda_cubierta
test_c103_c5_diagnostico_de_riesgo.py::ErrorEstructuralConservaBloqueoTest::test_diagnostico_de_riesgo_no_tiene_forma_de_aceptar_bloqueos
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_disponibilidad_de_una_columna_que_no_es_predictor
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_el_problema_completo_vale_y_conserva_lo_declarado
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_un_horizonte_sin_momento_de_prediccion_no_dice_desde_cuando
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_un_predictor_sin_disponibilidad_declarada_se_ENUMERA_no_se_rellena
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_un_uso_previsto_vacio_no_es_un_uso_previsto
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_una_binaria_con_tres_clases_no_es_binaria
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_una_binaria_sin_clase_positiva_no_se_construye
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_una_clase_positiva_que_no_esta_entre_las_clases_no_se_construye
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_una_regresion_no_tiene_clases_ni_clase_positiva
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_una_tarea_que_el_producto_no_soporta_se_rechaza_con_la_lista
test_c104_c0_esquemas.py::ElProblemaSeDeclaraEnteroTest::test_unknown_declarado_NO_es_lo_mismo_que_no_declarado
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_ausente_por_omision_no_se_ha_preguntado
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_columna_con_regla_rellena_se_rechaza
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_columna_sin_columna_se_rechaza
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_columna_vale_y_se_lee_de_vuelta
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_ida_y_vuelta_json_conserva_las_tres_formas
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_la_columna_del_proceso_actual_no_puede_ser_el_propio_objetivo
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_ninguno_con_columna_o_regla_rellena_se_rechaza
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_ninguno_es_una_respuesta_no_una_ausencia
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_regla_con_columna_rellena_se_rechaza
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_regla_sin_regla_se_rechaza
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_regla_vale_y_se_lee_de_vuelta
test_c104_c0_esquemas.py::ComoSeDecideHoyTest::test_un_tipo_fuera_del_vocabulario_se_rechaza
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_el_mismo_paciente_en_desarrollo_y_en_prueba_se_rechaza
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_el_orden_de_construccion_no_cambia_el_digest
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_el_plan_bueno_reparte_y_se_puede_consultar
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_los_hashes_distintos_NO_bastan_y_por_eso_se_miran_los_conjuntos
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_media_declaracion_de_unidades_tampoco_aisla
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_un_plan_sin_test_no_se_construye_salvo_anidada_declarada
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_un_pliegue_no_es_validacion_cruzada
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_un_rol_inventado_se_rechaza_con_la_lista_de_roles
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_una_particion_por_grupos_sin_unidades_no_aisla_nada
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_una_particion_temporal_sin_columna_de_tiempo_se_rechaza
test_c104_c0_esquemas.py::LaParticionAislaLasUnidadesTest::test_una_semilla_booleana_no_es_una_semilla
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_el_registro_completo_vale_para_su_metrica
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_media_distribucion_no_se_recompone
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_probabilidades_desalineadas_con_las_clases
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_probabilidades_sin_clases_no_se_saben_de_quien_son
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_sin_clases_ni_particion_enumera_TODO_lo_que_falta
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_sin_y_true_no_vale_Y_NO_SE_RELLENA
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_un_registro_sin_ninguna_salida_no_es_una_prediccion
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_un_y_true_que_no_es_ninguna_de_las_clases
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_una_clase_positiva_que_no_esta_en_las_clases_del_registro_falta
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_una_prediccion_de_datos_nuevos_no_tiene_ni_y_true_ni_rol
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_una_probabilidad_fuera_de_cero_uno_no_es_una_probabilidad
test_c104_c0_esquemas.py::UnaPrediccionDiceLoQueLeFaltaTest::test_una_puntuacion_unica_solo_vale_en_binaria
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_el_estimando_se_declara_y_es_del_vocabulario
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_la_calibracion_declara_valor_ideal_y_no_direccion
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_las_dos_cosas_a_la_vez_se_rechazan
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_ninguna_de_las_dos_tambien
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_un_rango_ideal_del_reves
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_un_requisito_inventado_se_rechaza
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_una_ficha_GENERICA_declara_que_necesita_clase_positiva_sin_traerla
test_c104_c0_esquemas.py::UnaMetricaDeclaraComoSeOrdenaTest::test_una_metrica_de_calidad_declara_direccion
test_c104_c0_esquemas.py::ElPipelineNoSeAjustaConElTestTest::test_congelar_produce_un_documento_nuevo_con_otro_digest
test_c104_c0_esquemas.py::ElPipelineNoSeAjustaConElTestTest::test_el_pipeline_completo_vale_y_declara_con_que_se_ajusto
test_c104_c0_esquemas.py::ElPipelineNoSeAjustaConElTestTest::test_entrenado_con_test_se_rechaza
test_c104_c0_esquemas.py::ElPipelineNoSeAjustaConElTestTest::test_un_pipeline_sin_predictor_no_es_un_pipeline
test_c104_c0_esquemas.py::ElPipelineNoSeAjustaConElTestTest::test_un_umbral_sobre_el_score_crudo_detras_de_un_calibrador
test_c104_c0_esquemas.py::ElPipelineNoSeAjustaConElTestTest::test_una_probabilidad_calibrada_fuera_de_cero_uno_no_es_un_umbral
test_c104_c0_esquemas.py::UnAbortoNoSeDisfrazaDeCompletadoTest::test_completado_con_su_pipeline
test_c104_c0_esquemas.py::UnAbortoNoSeDisfrazaDeCompletadoTest::test_completado_sin_pipeline_se_rechaza
test_c104_c0_esquemas.py::UnAbortoNoSeDisfrazaDeCompletadoTest::test_limitado_por_presupuesto_conserva_candidato_Y_dice_que_limite
test_c104_c0_esquemas.py::UnAbortoNoSeDisfrazaDeCompletadoTest::test_un_estado_inventado_se_rechaza_con_la_lista
test_c104_c0_esquemas.py::UnAbortoNoSeDisfrazaDeCompletadoTest::test_un_fallo_no_puede_traer_pipeline_ni_callarse_el_motivo
test_c104_c0_esquemas.py::UnAbortoNoSeDisfrazaDeCompletadoTest::test_un_motivo_a_medio_traducir_no_vale
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_la_evaluacion_ata_el_numero_al_pipeline_y_a_la_particion
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_la_nueva_version_tiene_que_ser_OTRO_artefacto
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_la_version_que_aprendio_del_test_NO_hereda_los_numeros
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_ni_valor_ni_motivo_es_un_None_mudo
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_no_se_puede_llamar_independiente_a_lo_medido_en_desarrollo
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_una_metrica_indefinida_vale_None_y_dice_por_que
test_c104_c0_esquemas.py::UnNumeroDiceDeQueArtefactoEsTest::test_valor_y_motivo_a_la_vez_tampoco
test_c104_c0_esquemas.py::LaSeleccionNoSeApoyaEnElTestTest::test_apoyarse_en_una_evaluacion_del_test_se_rechaza
test_c104_c0_esquemas.py::LaSeleccionNoSeApoyaEnElTestTest::test_sin_ganador_no_se_señala_candidato
test_c104_c0_esquemas.py::LaSeleccionNoSeApoyaEnElTestTest::test_un_descarte_sin_motivo_traducido_no_vale
test_c104_c0_esquemas.py::LaSeleccionNoSeApoyaEnElTestTest::test_un_ganador_sin_una_sola_evaluacion_no_se_elige
test_c104_c0_esquemas.py::LaSeleccionNoSeApoyaEnElTestTest::test_una_decision_con_ganador_necesita_candidato_y_evidencia
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_el_estudio_honrado_llega_hasta_el_final_sin_un_solo_denegado
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_el_registro_dice_QUE_conto_y_no_solo_cuantos
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_el_registro_se_publica_entero_para_el_expediente
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_en_su_fase_pero_para_APRENDER_tambien_se_deniega
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_evaluar_OTRO_artefacto_distinto_del_congelado_no_se_permite
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_evaluar_sin_congelar_no_se_permite
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_la_cohorte_externa_tiene_su_propia_fase
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_la_evaluacion_anidada_se_declara_FUERA_en_vez_de_correrse_a_medias
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_lo_mismo_en_desarrollo_en_calibracion_y_en_el_ajuste_final
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_mirar_el_test_DURANTE_LA_SELECCION_se_deniega_y_queda_anotado
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_pedir_las_UNIDADES_del_test_fuera_de_su_fase_tampoco_cuela
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_un_acceso_sin_fase_abierta_no_se_puede_juzgar
test_c104_c0_esquemas.py::ElRegistroDeAccesosImpideLaFugaTest::test_un_rol_que_el_plan_no_reparte_no_se_puede_leer
test_c104_c0_esquemas.py::LaEvidenciaLaDecideElRegistroTest::test_el_segundo_candidato_evaluado_en_el_MISMO_test_ya_no_es_independiente
test_c104_c0_esquemas.py::LaEvidenciaLaDecideElRegistroTest::test_la_etiqueta_del_registro_encaja_con_el_esquema_de_evaluacion
test_c104_c0_esquemas.py::LaEvidenciaLaDecideElRegistroTest::test_tras_aprender_del_test_no_se_vuelve_a_conceder_independencia
test_c104_c0_esquemas.py::LaEvidenciaLaDecideElRegistroTest::test_un_artefacto_que_nadie_ha_medido_no_esta_aprobado
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_dos_caminos_desde_la_misma_version_es_un_fallo_de_cableado
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_hoy_el_producto_no_tiene_ninguna_migracion_registrada_y_lo_dice
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_la_marca_NO_cambia_el_digest_del_contenido
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_las_versiones_legibles_se_pueden_consultar
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_un_documento_sin_version_no_se_interpreta
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_un_plan_de_la_version_anterior_se_ABRE
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_una_version_desconocida_se_rechaza_diciendo_cuales_se_leen
test_c104_c0_esquemas.py::UnProyectoAntiguoSeAbreYSeMarcaTest::test_y_SE_MARCA_de_donde_venia
test_c104_c0_esquemas.py::LoQueSeEscribeSeVuelveALeerTest::test_ida_y_vuelta_conserva_el_documento_y_el_digest
test_c104_c0_esquemas.py::LoQueSeEscribeSeVuelveALeerTest::test_un_campo_obligatorio_que_falta_se_dice_que_FALTA
test_c104_c0_esquemas.py::LoQueSeEscribeSeVuelveALeerTest::test_un_digest_de_asignaciones_que_no_cuadra_se_rechaza
test_c104_c0_esquemas.py::LoQueSeEscribeSeVuelveALeerTest::test_un_documento_de_otro_esquema_no_se_lee_como_este
test_c104_c0_esquemas.py::LoQueSeEscribeSeVuelveALeerTest::test_un_texto_donde_iba_una_lista_no_se_lee_como_sus_letras
test_c104_c0_esquemas.py::LoQueSeEscribeSeVuelveALeerTest::test_una_clave_desconocida_se_rechaza_en_todos
test_c104_c0_esquemas.py::LoQueRedactaElCoreSeTraduceEnElCoreTest::test_el_ingles_no_lleva_castellano_dentro
test_c104_c0_esquemas.py::LoQueRedactaElCoreSeTraduceEnElCoreTest::test_el_rechazo_llega_en_los_dos_idiomas_y_se_puede_elegir
test_c104_c0_esquemas.py::LoQueRedactaElCoreSeTraduceEnElCoreTest::test_los_huecos_son_LOS_MISMOS_en_los_dos_idiomas
test_c104_c0_esquemas.py::LoQueRedactaElCoreSeTraduceEnElCoreTest::test_todas_las_claves_tienen_los_dos_idiomas
test_c104_c0_esquemas.py::LoQueRedactaElCoreSeTraduceEnElCoreTest::test_un_motivo_que_no_esta_en_el_catalogo_no_se_improvisa
test_c104_c0_esquemas.py::ElCoreSigueSiendoStdlibPuroTest::test_los_digests_salen_del_canonicalizador_del_81_y_no_de_otro
test_c104_c0_esquemas.py::ElCoreSigueSiendoStdlibPuroTest::test_ningun_modulo_del_paquete_importa_nada_de_fuera
test_c104_c1_estudio_y_leaderboard.py::ReservaDeTiempoTest::test_negativa_se_rechaza
test_c104_c1_estudio_y_leaderboard.py::ReservaDeTiempoTest::test_roundtrip_json
test_c104_c1_estudio_y_leaderboard.py::ReservaDeTiempoTest::test_total_suma_las_cuatro_fases
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_anadir_un_motor_no_cambia_el_presupuesto_total
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_digest_cambia_si_cambia_el_presupuesto
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_digest_estable_para_el_mismo_contenido
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_metrica_sin_definicion_no_se_acepta
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_modo_desconocido_se_rechaza
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_motor_de_reserva_tiene_que_estar_permitido
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_reserva_igual_al_presupuesto_se_acepta
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_reserva_que_supera_el_presupuesto_se_rechaza
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_roundtrip_json
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_sin_motores_permitidos_se_rechaza
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_tiempo_de_busqueda_por_motor_es_la_division_explicita
test_c104_c1_estudio_y_leaderboard.py::EstudioSpecTest::test_valores_por_omision_son_visibles_en_el_json
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_con_entrada_no_muta_el_original
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_de_seleccion_y_de_evaluacion_final_no_se_mezclan
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_fase_desconocida_se_rechaza
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_metrica_de_seleccion_conserva_incertidumbre
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_metrica_de_seleccion_tiene_que_ser_valordemetrica
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_recurso_negativo_se_rechaza
test_c104_c1_estudio_y_leaderboard.py::LeaderboardTest::test_roundtrip_json
test_c104_c3_seleccion.py::CriterioLiteralTest::test_la_eleccion_bajo_incertidumbre_NO_DICE_el_numero_mas_alto_con_RMSE
test_c104_c3_seleccion.py::CriterioLiteralTest::test_la_eleccion_bajo_incertidumbre_NO_INVENTA_un_criterio_operativo
test_c104_c3_seleccion.py::CriterioLiteralTest::test_modelo_offline_pasa_la_restriccion_local
test_c104_c3_seleccion.py::CriterioLiteralTest::test_motivo_distingue_mejora_demostrada_de_eleccion_operativa
test_c104_c3_seleccion.py::CriterioLiteralTest::test_siempre_negativo_y_baseline_veloz_tampoco_eluden_minimos
test_c104_c3_seleccion.py::CriterioLiteralTest::test_siempre_positivo_no_gana_por_sensibilidad_sin_superar_restricciones
test_c104_c3_seleccion.py::LaFraseNoNombraAlCandidatoTest::test_el_id_SIGUE_en_chosen_candidate_que_es_lo_que_se_audita
test_c104_c3_seleccion.py::LaFraseNoNombraAlCandidatoTest::test_la_rama_no_cambia_por_no_nombrar
test_c104_c3_seleccion.py::LaFraseNoNombraAlCandidatoTest::test_la_razon_y_los_rechazados_no_llevan_el_id_en_ningun_idioma
test_c104_c3_seleccion.py::LaFraseNoNombraAlCandidatoTest::test_por_omision_todo_sigue_como_antes
test_c104_c3_seleccion.py::ResultadosNoSeleccionadosTest::test_insufficient_evidence_por_calidad_no_medida
test_c104_c3_seleccion.py::ResultadosNoSeleccionadosTest::test_insufficient_evidence_por_restriccion_no_medida
test_c104_c3_seleccion.py::ResultadosNoSeleccionadosTest::test_no_feasible_model_con_evidencia_completa
test_c104_c3_seleccion.py::WiringTest::test_politica_por_omision_es_utilidad_maxima
test_c104_c3_seleccion.py::WiringTest::test_rechazados_por_utilidad_traen_al_ganador_en_el_motivo
test_c104_c3_seleccion.py::WiringTest::test_seleccionar_con_evaluacion_de_test_se_rechaza
test_c104_c3_seleccion.py::WiringTest::test_un_solo_candidato_viable_no_necesita_comparacion
test_c104_c3_texto_de_la_restriccion.py::ElOperadorDiceLoQueSeIncumplio::test_solo_local_dice_lo_medido_en_su_idioma_y_no_un_repr_de_python
test_c104_c3_texto_de_la_restriccion.py::ElOperadorDiceLoQueSeIncumplio::test_un_booleano_dice_si_y_no_en_su_idioma
test_c104_c3_texto_de_la_restriccion.py::ElOperadorDiceLoQueSeIncumplio::test_un_igual_dice_que_no_es_lo_exigido
test_c104_c3_texto_de_la_restriccion.py::ElOperadorDiceLoQueSeIncumplio::test_un_maximo_NO_dice_minimo
test_c104_c3_texto_de_la_restriccion.py::ElOperadorDiceLoQueSeIncumplio::test_un_minimo_dice_minimo_con_el_umbral_y_la_coma_en_castellano
test_c104_c3_texto_de_la_restriccion.py::LaCifraNoEngañaAlRedondear::test_un_medido_que_redondea_al_umbral_lleva_los_decimales_que_los_separan
test_c104_c3_texto_de_la_restriccion.py::CadaOperadorTieneSuFrase::test_todos_los_operadores_del_vocabulario_tienen_motivo_en_el_catalogo
test_c104_c4_umbral.py::CriterioLiteralTest::test_cambiar_verdad_de_test_no_cambia_el_umbral
test_c104_c4_umbral.py::CriterioLiteralTest::test_caso_de_coste_sintetico_devuelve_el_optimo_conocido
test_c104_c4_umbral.py::CriterioLiteralTest::test_multiclase_no_inventa_un_umbral_binario
test_c104_c4_umbral.py::CriterioLiteralTest::test_otro_coste_sintetico_desplaza_el_optimo_en_la_direccion_correcta
test_c104_c4_umbral.py::CriterioLiteralTest::test_regresion_no_inventa_un_umbral_binario
test_c104_c4_umbral.py::EscalaYCalibradorTest::test_escala_es_probabilidad_calibrada
test_c104_c4_umbral.py::EscalaYCalibradorTest::test_recalibracion_desplaza_el_umbral_buscado
test_c104_c4_umbral.py::EscalaYCalibradorTest::test_sin_probabilidades_se_rechaza
test_c104_c4_umbral.py::RestriccionesTest::test_ningun_umbral_cumple_todas_las_restricciones_se_rechaza
test_c104_c4_umbral.py::RestriccionesTest::test_restriccion_no_derivable_del_umbral_se_rechaza
test_c104_c4_umbral.py::RestriccionesTest::test_restriccion_no_obligatoria_no_descarta
test_c104_c4_umbral.py::RestriccionesTest::test_restriccion_obligatoria_descarta_umbrales_que_no_cumplen
test_c104_c4_umbral.py::test_con_probabilidades_separadas_el_umbral_es_el_centro_del_empate_no_su_borde
test_c104_c4_umbral.py::test_el_umbral_del_centro_cuesta_LO_MISMO_que_el_mejor_posible
test_c104_c5_evaluacion_final.py::CriterioLiteralTest::test_confirmado_cuando_supera_restricciones_en_test
test_c104_c5_evaluacion_final.py::CriterioLiteralTest::test_digest_del_pipeline_probado_es_el_exportado
test_c104_c5_evaluacion_final.py::CriterioLiteralTest::test_etiqueta_identifica_artefacto_y_particion
test_c104_c5_evaluacion_final.py::CriterioLiteralTest::test_fallo_de_validacion_cuando_no_supera_restricciones_en_test
test_c104_c5_evaluacion_final.py::CriterioLiteralTest::test_no_probar_candidatos_sin_reconocer_el_nuevo_uso
test_c104_c5_evaluacion_final.py::CriterioLiteralTest::test_reentrenar_con_test_crea_version_sin_evaluacion_independiente
test_c104_c5_evaluacion_final.py::PromocionTest::test_promocion_conserva_historial_con_evidencia_comparable
test_c104_c5_evaluacion_final.py::PromocionTest::test_promocion_rechaza_evidencia_no_comparable
test_c104_c5_evaluacion_final.py::ValidacionFinalEsquemaTest::test_confirmado_con_motivo_se_rechaza
test_c104_c5_evaluacion_final.py::ValidacionFinalEsquemaTest::test_fallo_sin_motivo_se_rechaza
test_c105_c1_registro_metrico.py::ApNoEsElAreaPrTrapezoidalTest::test_cada_uno_coincide_con_SU_referencia_de_version_fijada
test_c105_c1_registro_metrico.py::ApNoEsElAreaPrTrapezoidalTest::test_la_ficha_de_ap_DICE_que_no_es_el_trapecio
test_c105_c1_registro_metrico.py::ApNoEsElAreaPrTrapezoidalTest::test_los_dos_numeros_son_distintos_y_son_los_de_la_cuenta_a_mano
test_c105_c1_registro_metrico.py::ApNoEsElAreaPrTrapezoidalTest::test_son_dos_metricas_con_dos_ids_y_dos_fichas
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_el_auroc_sale_con_logits
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_el_brier_sobre_logits_se_RECHAZA_no_se_calcula
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_la_lista_de_aplicables_LO_DICE_antes_de_reventar
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_la_log_loss_sobre_logits_tambien
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_sin_umbral_y_sin_probabilidades_no_hay_matriz_ni_metricas_del_umbral
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_una_etiqueta_dura_no_se_presenta_como_probabilidad
test_c105_c1_registro_metrico.py::UnaPuntuacionOrdenaYUnaProbabilidadAdemasMideTest::test_una_probabilidad_SI_vale_como_puntuacion_ordenada
test_c105_c1_registro_metrico.py::LosEmpatesYElOrdenDeLasClasesNoCambianElNumeroTest::test_barajar_las_filas_no_mueve_el_auroc
test_c105_c1_registro_metrico.py::LosEmpatesYElOrdenDeLasClasesNoCambianElNumeroTest::test_declarar_las_clases_al_reves_da_el_MISMO_numero
test_c105_c1_registro_metrico.py::LosEmpatesYElOrdenDeLasClasesNoCambianElNumeroTest::test_elegir_el_otro_positivo_da_otro_numero
test_c105_c1_registro_metrico.py::LosEmpatesYElOrdenDeLasClasesNoCambianElNumeroTest::test_los_empates_coinciden_con_la_referencia
test_c105_c1_registro_metrico.py::LosEmpatesYElOrdenDeLasClasesNoCambianElNumeroTest::test_un_empate_vale_medio_par_ni_uno_ni_cero
test_c105_c1_registro_metrico.py::ElRankingMueveElAurocYLaMagnitudMueveLaLogLossTest::test_cambiar_el_ranking_baja_el_auroc_a_la_cifra_prevista
test_c105_c1_registro_metrico.py::ElRankingMueveElAurocYLaMagnitudMueveLaLogLossTest::test_cambiar_solo_la_magnitud_deja_el_auroc_IGUAL
test_c105_c1_registro_metrico.py::ElRankingMueveElAurocYLaMagnitudMueveLaLogLossTest::test_y_esa_misma_magnitud_SI_mueve_la_log_loss_y_el_brier
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_cero_filas_no_dan_un_cero
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_columnas_desalineadas_con_las_clases_es_un_RECHAZO
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_los_pesos_no_se_aplican_en_silencio_a_un_recuento
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_un_denominador_vacio_da_INDEFINIDA_no_un_cero
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_un_nan_o_un_infinito_en_una_puntuacion_es_un_RECHAZO
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_una_distribucion_que_no_suma_uno_es_un_RECHAZO
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_una_metrica_indefinida_no_es_la_peor_es_que_no_se_sabe
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_una_probabilidad_de_0_o_de_1_no_manda_la_log_loss_al_infinito
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_una_probabilidad_fuera_de_rango_es_un_RECHAZO
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_una_regresion_sin_varianza_da_INDEFINIDA_donde_el_historico_pone_cero
test_c105_c1_registro_metrico.py::LoQueNoSePuedeCalcularSeDiceYNoSeInventaUnCeroTest::test_una_sola_clase_presente_da_INDEFINIDA_con_motivo_no_un_0_5
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_desviarse_a_los_dos_lados_es_igual_de_malo
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_el_esquema_se_NIEGA_a_llevar_direccion_e_ideal_a_la_vez
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_la_calibracion_en_grande_es_la_cuenta_a_mano
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_la_ficha_declara_valor_ideal_y_NO_direccion
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_las_de_calidad_si_tienen_direccion_y_cada_una_la_suya
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_mayor_mejor_coronaria_al_que_mas_sobreestima
test_c105_c1_registro_metrico.py::NoTodoSeOrdenaPorMayorMejorTest::test_y_NO_se_presenta_como_un_diagnostico_de_calibracion
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_binaria_al_umbral_da_los_mismos_numeros_que_el_historico
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_el_argmax_se_queda_con_el_PRIMERO_cuando_empatan
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_el_informe_ampliado_es_un_documento_NUEVO_con_version_y_digest
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_el_umbral_binario_corta_con_MAYOR_O_IGUAL_como_el_historico
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_la_log_loss_multiclase_es_la_cuenta_a_mano
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_los_ids_historicos_siguen_llamandose_igual
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_multiclase_argmax_da_los_mismos_numeros_y_la_misma_matriz
test_c105_c1_registro_metrico.py::LosCamposHistoricosNoCambianDeValorNiDeNombreTest::test_regresion_da_los_mismos_mae_rmse_y_r2
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_cada_numero_viaja_con_SU_version_de_formula
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_el_digest_del_catalogo_cambia_si_cambia_una_formula
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_el_digest_del_informe_cambia_si_cambia_un_numero
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_el_informe_cuenta_unidades_de_remuestreo_cuando_las_hay
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_el_informe_de_una_muestra_con_pesos_lo_DICE
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_la_clase_positiva_del_informe_es_la_de_la_MUESTRA_no_la_de_la_ficha
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_pedir_una_metrica_imposible_POR_SU_NOMBRE_revienta
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_publica_el_clipping_de_la_log_loss_y_es_el_de_la_referencia
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_publica_el_orden_de_clases_la_positiva_el_umbral_y_la_escala
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_publica_la_normalizacion_del_brier_y_dice_que_no_es_el_multicategoria
test_c105_c1_registro_metrico.py::ElInformeDeclaraCONQUEReglasSeMidioTest::test_una_metrica_que_no_se_midio_aparece_DICIENDO_por_que
test_c105_c1_registro_metrico.py::ElRegistroEsUnicoYCerradoTest::test_cada_id_aparece_UNA_vez_y_con_una_sola_ficha
test_c105_c1_registro_metrico.py::ElRegistroEsUnicoYCerradoTest::test_el_modulo_es_stdlib_puro
test_c105_c1_registro_metrico.py::ElRegistroEsUnicoYCerradoTest::test_la_metrica_de_otra_tarea_se_rechaza_con_las_suyas_escritas
test_c105_c1_registro_metrico.py::ElRegistroEsUnicoYCerradoTest::test_lo_diferido_se_distingue_de_lo_desconocido_y_trae_su_motivo
test_c105_c1_registro_metrico.py::ElRegistroEsUnicoYCerradoTest::test_ninguna_ficha_se_queda_sin_dirección_ni_ideal
test_c105_c1_registro_metrico.py::ElRegistroEsUnicoYCerradoTest::test_una_metrica_que_no_esta_no_se_inventa
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_dos_candidatos_en_la_misma_medicion_se_RECHAZAN
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_dos_columnas_de_puntuacion_se_leen_como_positivo_menos_negativo
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_dos_ordenes_de_clases_distintos_no_se_mezclan
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_la_aptitud_del_104_se_ENSANCHA_no_se_contradice
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_media_columna_no_es_una_columna
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_un_registro_con_solo_etiqueta_no_vale_para_auroc_y_si_para_accuracy
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_un_registro_sin_verdad_no_entra_en_una_muestra_de_evaluacion
test_c105_c1_registro_metrico.py::ElPuenteConElRegistroDePrediccionesTest::test_una_muestra_sale_de_los_registros_y_da_los_mismos_numeros
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_auroc_ap_trapecio_log_loss_y_brier
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_el_clipping_de_la_log_loss_es_EL_MISMO_que_el_de_la_referencia
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_hay_empates_en_el_fixture
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_las_del_umbral_y_la_matriz
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_las_mismas_con_pesos
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_multiclase_log_loss_y_accuracy
test_c105_c1_registro_metrico.py::ParidadConReferenciasDeVersionFijadaTest::test_regresion_con_y_sin_pesos
test_c105_c1_una_muestra_una_escala.py::TestConProbabilidadYLogitMandaLaProbabilidad::test_el_caso_medido_cae_donde_discrepan
test_c105_c1_una_muestra_una_escala.py::TestConProbabilidadYLogitMandaLaProbabilidad::test_el_umbral_elegido_se_aplica_en_la_escala_en_que_se_busco
test_c105_c1_una_muestra_una_escala.py::TestConProbabilidadYLogitMandaLaProbabilidad::test_la_escala_declarada_y_la_que_ordena_son_la_misma
test_c105_c1_una_muestra_una_escala.py::TestConProbabilidadYLogitMandaLaProbabilidad::test_la_matriz_sin_umbral_corta_sobre_la_PROBABILIDAD
test_c105_c1_una_muestra_una_escala.py::TestSoloPuntuacionesCrudasSiguenMandando::test_ordena_por_las_puntuaciones_y_lo_declara
test_c105_c1_una_muestra_una_escala.py::TestLosMotoresDeLaCasaNoCambianDeNumero::test_con_scores_IGUAL_a_la_probabilidad_el_AUROC_no_se_mueve
test_c105_c2_intervalos.py::GeneradorIidEstratificadoTest::test_el_recuento_por_clase_es_EXACTO_en_cada_remuestra
test_c105_c2_intervalos.py::GeneradorIidEstratificadoTest::test_regresion_no_estratifica_y_remuestrea_con_reemplazo
test_c105_c2_intervalos.py::GeneradorIidEstratificadoTest::test_un_evento_UNICO_sigue_presente_en_todas_las_remuestras
test_c105_c2_intervalos.py::GeneradorDeGruposTest::test_el_numero_de_unidades_elegidas_es_el_original
test_c105_c2_intervalos.py::GeneradorDeGruposTest::test_las_filas_de_la_misma_unidad_se_replican_igual_de_veces
test_c105_c2_intervalos.py::GeneradorDeBloquesTemporalesTest::test_envuelve_al_llegar_al_final
test_c105_c2_intervalos.py::GeneradorDeBloquesTemporalesTest::test_longitud_por_omision_es_la_heuristica_de_cordura
test_c105_c2_intervalos.py::GeneradorDeBloquesTemporalesTest::test_los_indices_de_un_bloque_son_consecutivos_modulo_n
test_c105_c2_intervalos.py::RecortarSinRevalidarTest::test_todos_los_campos_por_fila_quedan_alineados
test_c105_c2_intervalos.py::RecortarSinRevalidarTest::test_un_campo_ausente_sigue_ausente
test_c105_c2_intervalos.py::IntervaloIidTest::test_OTRA_semilla_da_OTRO_intervalo
test_c105_c2_intervalos.py::IntervaloIidTest::test_declara_la_unidad_el_metodo_la_semilla_y_las_remuestras
test_c105_c2_intervalos.py::IntervaloIidTest::test_la_MISMA_semilla_da_el_MISMO_intervalo
test_c105_c2_intervalos.py::IntervaloIidTest::test_regresion_declara_el_metodo_SIN_estratificar
test_c105_c2_intervalos.py::IntervaloGruposTest::test_declara_la_unidad_por_grupo_y_el_metodo_de_cluster
test_c105_c2_intervalos.py::IntervaloGruposTest::test_grupos_sin_unidad_declarada_es_un_fallo_de_cableado
test_c105_c2_intervalos.py::IntervaloGruposTest::test_una_sola_unidad_no_dice_nada_de_la_variacion_ENTRE_unidades
test_c105_c2_intervalos.py::IntervaloTemporalTest::test_declara_bloque_y_longitud
test_c105_c2_intervalos.py::IntervaloTemporalTest::test_la_longitud_de_bloque_se_puede_declarar_explicitamente
test_c105_c2_intervalos.py::IntervaloDisenoNoSoportadoTest::test_groups_and_time_no_esta_soportado_y_lo_dice
test_c105_c2_intervalos.py::EventosRarosTest::test_IID_estratificado_SIGUE_disponible_con_un_solo_evento
test_c105_c2_intervalos.py::EventosRarosTest::test_grupos_con_el_evento_raro_concentrado_en_UNA_unidad_se_declara_INDEFINIDO
test_c105_c2_intervalos.py::SinDatosParaEstimarVariabilidadTest::test_menos_de_cuatro_filas_no_da_para_un_bloque_temporal
test_c105_c2_intervalos.py::SinDatosParaEstimarVariabilidadTest::test_menos_de_dos_filas_no_da_para_estimar_variabilidad_IID
test_c105_c2_intervalos.py::SinDatosParaEstimarVariabilidadTest::test_si_el_PUNTO_ya_es_indefinido_el_intervalo_reusa_el_MISMO_motivo
test_c105_c2_intervalos.py::RepeticionesYPliguesTest::test_IID_sobre_repeticiones_se_RECHAZA_por_cableado
test_c105_c2_intervalos.py::RepeticionesYPliguesTest::test_grupos_con_estimando_oof_pooled_SI_funciona
test_c105_c2_intervalos.py::RepeticionesYPliguesTest::test_promedio_de_pliegues_NO_esta_implementado_y_se_rechaza_EXPLICITO
test_c105_c2_intervalos.py::MedirTest::test_el_diccionario_hace_una_ida_y_vuelta_por_Intervalo_desde_json
test_c105_c2_intervalos.py::MedirTest::test_el_valor_lleva_su_incertidumbre_embebida
test_c105_c2_intervalos.py::IntervaloEsquemaTest::test_a_json_hace_ida_y_vuelta
test_c105_c2_intervalos.py::IntervaloEsquemaTest::test_el_limite_inferior_por_encima_del_superior_se_rechaza
test_c105_c2_intervalos.py::IntervaloEsquemaTest::test_ni_valor_ni_motivo_se_rechaza
test_c105_c2_intervalos.py::IntervaloEsquemaTest::test_un_diseno_fuera_del_vocabulario_se_rechaza
test_c105_c2_intervalos.py::IntervaloEsquemaTest::test_un_limite_sin_el_otro_se_rechaza
test_c105_c2_intervalos.py::IntervaloEsquemaTest::test_valor_Y_motivo_a_la_vez_se_rechaza
test_c105_c2_intervalos.py::PercentilTest::test_casos_a_mano
test_c105_c2_intervalos.py::PercentilTest::test_coincide_con_numpy_percentile_metodo_linear
test_c105_c2_intervalos.py::PurezaYVocabularioTest::test_el_modulo_es_stdlib_puro
test_c105_c2_intervalos.py::PurezaYVocabularioTest::test_el_umbral_de_remuestras_validas_esta_por_debajo_de_uno
test_c105_c2_intervalos.py::PurezaYVocabularioTest::test_los_disenos_soportados_son_un_subconjunto_del_vocabulario_compartido
test_c105_c2_intervalos.py::PurezaYVocabularioTest::test_todos_los_diccionarios_de_vocabulario_son_tuplas_no_vacias
test_c105_c3_calibracion.py::SigmoidLogitTest::test_logit_recorta_extremos_sin_dar_infinito
test_c105_c3_calibracion.py::SigmoidLogitTest::test_son_inversas
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_bien_calibrado_da_a_cerca_de_0_y_b_cerca_de_1
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_intercepto_en_grande_fija_b_a_uno
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_menos_de_dos_observaciones_se_declara_indefinida
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_no_se_puede_construir_con_valor_y_motivo_a_la_vez
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_no_se_puede_construir_sin_valor_ni_motivo
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_referencia_numerica_para_a_y_b
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_separacion_perfecta_no_da_un_numero_falso
test_c105_c3_calibracion.py::RecalibracionLogisticaTest::test_una_sola_clase_se_declara_indefinida
test_c105_c3_calibracion.py::AplicarRecalibracionTest::test_a_0_b_1_es_la_identidad
test_c105_c3_calibracion.py::AplicarRecalibracionTest::test_aplicar_sin_ajuste_valido_se_rechaza
test_c105_c3_calibracion.py::AplicarRecalibracionTest::test_datos_de_evaluacion_no_ajustan_el_calibrador
test_c105_c3_calibracion.py::CurvaDeFiabilidadTest::test_bien_calibrado_tiene_ece_bajo
test_c105_c3_calibracion.py::CurvaDeFiabilidadTest::test_ece_depende_del_metodo_de_bins_y_se_declara
test_c105_c3_calibracion.py::CurvaDeFiabilidadTest::test_mal_calibrado_tiene_ece_mas_alto
test_c105_c3_calibracion.py::CurvaDeFiabilidadTest::test_muestra_sin_probabilidades_se_declara_indefinida
test_c105_c3_calibracion.py::CurvaDeFiabilidadTest::test_todas_las_filas_caen_en_algun_bin
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_construccion_incoherente_se_rechaza
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_errores_altos_en_regresion_se_orientan_correctamente
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_exploratorio_se_marca
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_indice_fuera_de_rango_se_rechaza
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_indices_repetidos_se_rechaza
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_segmento_con_soporte_suficiente_no_lleva_motivo
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_segmento_pequeno_recibe_cautela_por_filas_no_por_eventos
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_segmento_vacio_no_fabrica_diferencia
test_c105_c4_segmentos.py::AnalizarSegmentoTest::test_treinta_filas_un_evento_recibe_cautela_por_eventos
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_columna_real_pesa_mas_que_ruido
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_correlacion_diluye_la_importancia
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_metrica_base_indefinida_se_declara
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_metrica_permutada_indefinida_no_promedia_a_medias
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_misma_semilla_reproduce_las_mismas_caidas
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_variables_agrupadas_se_permutan_juntas
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_variables_vacio_se_rechaza
test_c105_c4_segmentos.py::ImportanciaPorPermutacionTest::test_variacion_entre_repeticiones
test_c105_c4_segmentos.py::ImportanciaDeVariableEsquemaTest::test_caidas_desalineadas_se_rechaza
test_c105_c4_segmentos.py::ImportanciaDeVariableEsquemaTest::test_no_se_puede_construir_con_valor_y_motivo
test_c105_c4_segmentos.py::ImportanciaDeVariableEsquemaTest::test_no_se_puede_construir_sin_valor_ni_motivo
test_c105_c5_comparaciones.py::CriterioLiteralTest::test_auroc_superior_con_accuracy_inferior_a_mayoritaria
test_c105_c5_comparaciones.py::CriterioLiteralTest::test_caso_equivalencia_practica
test_c105_c5_comparaciones.py::CriterioLiteralTest::test_caso_inconcluso
test_c105_c5_comparaciones.py::CriterioLiteralTest::test_intervalos_solapados_pero_diferencia_emparejada_concluyente
test_c105_c5_comparaciones.py::IncomparableTest::test_filas_distintas_por_n
test_c105_c5_comparaciones.py::IncomparableTest::test_filas_distintas_por_verdad_observada
test_c105_c5_comparaciones.py::IncomparableTest::test_metrica_sin_direccion_se_rechaza
test_c105_c5_comparaciones.py::IncomparableTest::test_mismo_protocolo_no_es_incomparable
test_c105_c5_comparaciones.py::IncomparableTest::test_protocolos_distintos
test_c105_c5_comparaciones.py::MetricaIndefinidaTest::test_metrica_indefinida_en_una_mitad_da_inconcluso_con_motivo
test_c105_c5_comparaciones.py::DisenosTest::test_diseno_groups_usa_la_unidad_declarada
test_c105_c5_comparaciones.py::DisenosTest::test_diseno_temporal_usa_bloques
test_c105_c5_comparaciones.py::ComparacionEmparejadaEsquemaTest::test_incomparable_con_intervalo_se_rechaza
test_c105_c5_comparaciones.py::ComparacionEmparejadaEsquemaTest::test_incomparable_sin_motivo_se_rechaza
test_c105_c5_comparaciones.py::ComparacionEmparejadaEsquemaTest::test_intervalo_disponible_sin_diferencia_puntual_se_rechaza
test_c105_c5_comparaciones.py::ComparacionEmparejadaEsquemaTest::test_no_incomparable_sin_intervalo_se_rechaza
test_c105_c6_informe_final.py::CriterioLiteralTest::test_distingue_seleccion_interna_prueba_final_cohorte_externa
test_c105_c6_informe_final.py::CriterioLiteralTest::test_incorpora_formulas_ic_calibracion_y_comparaciones
test_c105_c6_informe_final.py::CriterioLiteralTest::test_modelos_propio_nativo_exportado_producen_esquema_comun
test_c105_c6_informe_final.py::CriterioLiteralTest::test_ningun_campo_de_equidad_o_aplicabilidad_clinica
test_c105_c6_informe_final.py::CriterioLiteralTest::test_reentrenar_con_test_no_hereda_evaluacion_independiente
test_c105_c6_informe_final.py::CriterioLiteralTest::test_reporte_antiguo_sigue_legible_con_campos_no_disponibles
test_c105_c6_informe_final.py::RoundTripTest::test_digest_estable_en_el_round_trip
test_c105_c6_informe_final.py::RoundTripTest::test_intervalo_se_reconstruye_tipado
test_c105_c6_informe_final.py::EsquemaTest::test_clave_extra_en_desde_json_se_rechaza
test_c105_c6_informe_final.py::EsquemaTest::test_evaluacion_que_no_es_evaluationresult_se_rechaza
test_c105_c6_informe_final.py::EsquemaTest::test_intervalo_que_no_es_intervalo_se_rechaza
test_c107_c1_catalogo.py::TestElArtefactoExisteYCubreLaLista::test_hay_artefacto
test_c107_c1_catalogo.py::TestElArtefactoExisteYCubreLaLista::test_las_DOS_familias_estan_representadas
test_c107_c1_catalogo.py::TestElArtefactoExisteYCubreLaLista::test_no_sobra_ninguna_fila
test_c107_c1_catalogo.py::TestElArtefactoExisteYCubreLaLista::test_todo_candidato_tiene_su_fila
test_c107_c1_catalogo.py::TestElNucleoSigueSiendoLigero::test_el_catalogo_se_lee_sin_numpy_ni_onnxruntime
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_cada_fila_trae_spdx_con_su_fuente_y_su_fecha
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_hay_licencias_declaradas_incompatibles_y_dicen_por_que
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_la_traduccion_a_spdx_respeta_las_mayusculas_del_estandar
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_lo_descargado_lleva_su_recibo_de_aceptacion
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_una_licencia_desconocida_para_en_vez_de_adivinar
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_una_licencia_incompatible_NO_esta_descargada
test_c107_c1_catalogo.py::TestLaLicenciaNoEsUnAdorno::test_una_licencia_sin_declarar_no_se_supone
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_cada_medicion_dice_con_que_maquina_Y_CON_QUE_CARGA_se_hizo
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_el_control_CAZA_un_instrumento_que_mide_el_arranque
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_el_corte_pide_MIL_textos_y_se_miden_mil
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_el_instrumento_esta_comprobado_antes_de_dar_el_numero
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_el_tamano_declarado_es_la_suma_de_sus_ficheros
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_los_digests_del_artefacto_se_RECALCULAN_sobre_los_ficheros
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_los_tiempos_cuadran_entre_si
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_una_medicion_hecha_con_dependencia_de_fuera_lo_DICE
test_c107_c1_catalogo.py::TestLosNumerosSeMiden::test_y_aprueba_uno_que_SI_escala_con_el_trabajo
test_c107_c1_catalogo.py::TestElCriterioDeTerminadoDelCorte::test_hay_al_menos_un_ESTATICO_corrido_sobre_1000_textos_en_es_y_en
test_c107_c1_catalogo.py::TestElCriterioDeTerminadoDelCorte::test_hay_al_menos_un_ONNX_DE_FRASE_corrido_sobre_1000_textos_en_es_y_en
test_c107_c1_catalogo.py::TestElCriterioDeTerminadoDelCorte::test_lo_ejecutado_lo_ejecuto_onnxruntime
test_c107_c1_catalogo.py::TestLoQueNoSePudoMedirLoDice::test_todo_candidato_no_descargado_tiene_motivo
test_c107_c1_catalogo.py::TestLoQueNoSePudoMedirLoDice::test_un_proveedor_sin_medir_lo_dice_en_vez_de_dejar_el_hueco
test_c107_c1_catalogo.py::TestLaCoberturaDeIdiomaSeMideNoSeCita::test_cada_medicion_de_idioma_dice_COMO_se_midio
test_c107_c1_catalogo.py::TestLaCoberturaDeIdiomaSeMideNoSeCita::test_el_corpus_de_medida_esta_fijado_por_su_digest
test_c107_c1_catalogo.py::TestLaCoberturaDeIdiomaSeMideNoSeCita::test_lo_que_dice_el_autor_va_marcado_como_CITA_con_su_url
test_c107_c1_catalogo.py::TestLaCoberturaDeIdiomaSeMideNoSeCita::test_toda_fila_medida_trae_es_Y_en
test_c107_c1_catalogo.py::TestLasDecisionesDelCatalogoSonExplicitas::test_el_modelo_esta_entre_los_ficheros_que_se_bajan
test_c107_c1_catalogo.py::TestLasDecisionesDelCatalogoSonExplicitas::test_la_longitud_efectiva_de_la_libreria_va_con_su_fuente
test_c107_c1_catalogo.py::TestLasDecisionesDelCatalogoSonExplicitas::test_toda_revision_es_un_commit_completo
test_c107_c1_catalogo.py::TestLasDecisionesDelCatalogoSonExplicitas::test_todo_candidato_dice_por_que_esta_en_la_lista
test_c107_c1_catalogo.py::TestLasDecisionesDelCatalogoSonExplicitas::test_una_revision_de_rama_no_se_admite
test_c107_c1_descarga.py::TestAllowlistDeHosts::test_el_cdn_regional_pasa_porque_es_subdominio
test_c107_c1_descarga.py::TestAllowlistDeHosts::test_el_sufijo_lleva_punto
test_c107_c1_descarga.py::TestAllowlistDeHosts::test_los_hosts_exactos_pasan
test_c107_c1_descarga.py::TestAllowlistDeHosts::test_un_dominio_que_solo_TERMINA_parecido_no_pasa
test_c107_c1_descarga.py::TestPorQueNoSeUsaSecureFetch::test_el_cuerpo_se_escribe_a_disco_por_trozos_no_de_una_vez
test_c107_c1_descarga.py::TestPorQueNoSeUsaSecureFetch::test_secure_fetch_sigue_devolviendo_el_cuerpo_entero
test_c107_c1_descarga.py::TestRedireccionesValidadasAMano::test_el_abridor_por_defecto_no_sigue_redirecciones_solo
test_c107_c1_descarga.py::TestRedireccionesValidadasAMano::test_una_redireccion_a_host_prohibido_se_corta
test_c107_c1_descarga.py::TestRedireccionesValidadasAMano::test_una_redireccion_al_cdn_permitido_se_sigue
test_c107_c1_descarga.py::TestVerificacionDeDigest::test_estado_local_dice_el_motivo_no_un_booleano
test_c107_c1_descarga.py::TestVerificacionDeDigest::test_sha256_y_git_blob_sha1_son_los_que_publica_el_origen
test_c107_c1_descarga.py::TestVerificacionDeDigest::test_un_digest_que_no_cuadra_NO_deja_el_fichero_puesto
test_c107_c1_descarga.py::TestVerificacionDeDigest::test_un_fichero_a_medias_dice_que_esta_a_medias
test_c107_c1_descarga.py::TestVerificacionDeDigest::test_un_fichero_cambiado_en_un_solo_bit_se_rechaza
test_c107_c1_descarga.py::TestLaRevisionEsUnCheckpointConcreto::test_la_url_lleva_la_revision_no_main
test_c107_c1_descarga.py::TestLaRevisionEsUnCheckpointConcreto::test_una_rama_no_vale_como_revision
test_c107_c1_descarga.py::TestUnFicheroSinDigestNoSeDescarga::test_algoritmo_desconocido_no_se_construye
test_c107_c1_descarga.py::TestUnFicheroSinDigestNoSeDescarga::test_sin_digest_no_se_construye
test_c107_c1_proveedor.py::TestCuandoElPaqueteSeContradiceASiMismo::test_cuando_solo_hay_una_no_se_habla_de_varias
test_c107_c1_proveedor.py::TestCuandoElPaqueteSeContradiceASiMismo::test_manda_la_que_usa_la_implementacion_oficial
test_c107_c1_proveedor.py::TestCuandoElPaqueteSeContradiceASiMismo::test_sin_ninguna_declarada_se_usa_el_tope_y_se_dice
test_c107_c1_proveedor.py::TestCuandoElPaqueteSeContradiceASiMismo::test_y_el_motivo_DICE_que_habia_tres
test_c107_c1_proveedor.py::TestNoTruncarEsNoTruncar::test_en_bolsa_no_se_acota
test_c107_c1_proveedor.py::TestNoTruncarEsNoTruncar::test_en_secuencia_se_acota_Y_SE_DICE
test_c107_c1_proveedor.py::TestNoTruncarEsNoTruncar::test_los_dos_topes_son_distintos_a_proposito
test_c107_c1_proveedor.py::TestNoTruncarEsNoTruncar::test_seq_length_manda_sobre_model_max_length
test_c107_c1_proveedor.py::TestLeerLaComposicionDelPaquete::test_lee_la_normalizacion_del_paquete_no_de_una_tabla_a_mano
test_c107_c1_proveedor.py::TestLeerLaComposicionDelPaquete::test_otro_modo_de_pooling_se_rechaza_en_vez_de_hacer_la_media
test_c107_c1_proveedor.py::TestLeerLaComposicionDelPaquete::test_si_los_dos_ficheros_se_contradicen_se_para
test_c107_c1_proveedor.py::TestLeerLaComposicionDelPaquete::test_sin_Normalize_no_normaliza
test_c107_c1_proveedor.py::TestLeerLaComposicionDelPaquete::test_sin_modules_json_no_se_adivina
test_c107_c1_proveedor.py::TestLosUmbralesDeCobertura::test_el_veredicto_sale_del_numero
test_c107_c1_proveedor.py::TestLosUmbralesDeCobertura::test_estan_ordenados_y_por_encima_del_azar
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_exigir_cubierto_para_en_vez_de_seguir
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_la_ficha_del_autor_no_entra_en_el_veredicto
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_lo_no_medido_dice_no_medido_y_no_se_lo_inventa
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_no_medido_NO_es_lo_mismo_que_no_cubierto
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_un_idioma_cubierto_se_declara_cubierto
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_un_idioma_no_cubierto_lo_dice_Y_avisa_de_que_dara_vector_igual
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_una_fila_que_existe_pero_sin_medir_tampoco_se_aprueba
test_c107_c1_proveedor.py::TestUnIdiomaNoCubiertoSeDeclara::test_y_la_de_potion_multilingual_TAMPOCO_ahora_que_esta_medido
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_codificar_un_texto_suelto_se_rechaza_en_vez_de_tokenizar_letras
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_describe_declara_que_es_opaco
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_el_lote_no_cambia_el_vector
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_la_dimension_sale_del_grafo_no_de_una_constante
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_si_el_paquete_promete_norma_1_los_vectores_la_tienen
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_un_texto_que_no_deja_tokens_NO_devuelve_un_vector_de_ceros
test_c107_c1_proveedor.py::TestSobreLosPesosDeVerdad::test_un_tokenizador_unigram_se_niega_sin_dependencia
test_c107_c1_tokens_especiales_del_tokenizador.py::TokensEspecialesDelTokenizadorTest::test_con_padding_declarado_el_relleno_es_el_suyo
test_c107_c1_tokens_especiales_del_tokenizador.py::TokensEspecialesDelTokenizadorTest::test_el_desconocido_es_el_del_vocabulario_no_el_de_la_configuracion
test_c107_c1_tokens_especiales_del_tokenizador.py::TokensEspecialesDelTokenizadorTest::test_sin_desconocido_en_el_vocabulario_no_se_inventa_uno
test_c107_c1_tokens_especiales_del_tokenizador.py::TokensEspecialesDelTokenizadorTest::test_sobre_los_tokenizadores_descargados_de_verdad
test_c107_c1_wordpiece.py::TestStripAccentsNuloNoEsFalso::test_declarado_explicitamente_manda_sobre_lowercase
test_c107_c1_wordpiece.py::TestStripAccentsNuloNoEsFalso::test_nulo_con_minusculas_quita_los_acentos
test_c107_c1_wordpiece.py::TestStripAccentsNuloNoEsFalso::test_nulo_sin_minusculas_no_los_quita
test_c107_c1_wordpiece.py::TestStripAccentsNuloNoEsFalso::test_una_palabra_con_y_sin_acento_acaban_en_el_MISMO_token
test_c107_c1_wordpiece.py::TestElTroceoEsElDeBERT::test_el_ejemplo_canonico_del_paper
test_c107_c1_wordpiece.py::TestElTroceoEsElDeBERT::test_gana_el_trozo_mas_LARGO_no_el_primero_que_valga
test_c107_c1_wordpiece.py::TestElTroceoEsElDeBERT::test_la_puntuacion_se_aisla
test_c107_c1_wordpiece.py::TestElTroceoEsElDeBERT::test_los_simbolos_ascii_cuentan_como_puntuacion_aunque_unicode_diga_que_no
test_c107_c1_wordpiece.py::TestElTroceoEsElDeBERT::test_una_palabra_con_un_trozo_desconocido_va_ENTERA_a_unk
test_c107_c1_wordpiece.py::TestElTroceoEsElDeBERT::test_una_palabra_larguisima_va_a_unk_sin_intentarlo
test_c107_c1_wordpiece.py::TestTokensEspecialesSegunElPipeline::test_con_especiales_los_pone
test_c107_c1_wordpiece.py::TestTokensEspecialesSegunElPipeline::test_el_truncado_deja_el_sep_al_final
test_c107_c1_wordpiece.py::TestTokensEspecialesSegunElPipeline::test_sin_especiales_no_los_pone
test_c107_c1_wordpiece.py::TestTokensEspecialesSegunElPipeline::test_un_texto_sin_tokens_no_se_inventa_ninguno
test_c107_c1_wordpiece.py::TestSeNiegaAAproximar::test_otra_plantilla_de_post_procesado_se_rechaza
test_c107_c1_wordpiece.py::TestSeNiegaAAproximar::test_otro_normalizador_se_rechaza
test_c107_c1_wordpiece.py::TestSeNiegaAAproximar::test_otro_pre_tokenizador_se_rechaza
test_c107_c1_wordpiece.py::TestSeNiegaAAproximar::test_sin_truncado_ni_longitud_dada_se_niega_en_vez_de_inventarse_una
test_c107_c1_wordpiece.py::TestSeNiegaAAproximar::test_un_modelo_unigram_se_rechaza
test_c107_c1_wordpiece.py::TestSeNiegaAAproximar::test_un_vocabulario_sin_sus_tokens_especiales_no_construye
test_c107_c1_wordpiece.py::TestContraLosFicherosDeVerdad::test_all_minilm_es_uncased_y_quita_acentos
test_c107_c1_wordpiece.py::TestContraLosFicherosDeVerdad::test_el_troceo_canonico_sobre_el_vocabulario_real
test_c107_c1_wordpiece.py::TestContraLosFicherosDeVerdad::test_en_potion_los_ids_del_post_procesador_NO_son_sus_tokens_especiales
test_c107_c2_declaracion.py::TestNingunNumeroEstaTecleado::test_el_artefacto_manda_sobre_la_declaracion
test_c107_c2_declaracion.py::TestNingunNumeroEstaTecleado::test_la_dimension_y_la_composicion_salen_de_la_medicion
test_c107_c2_declaracion.py::TestNingunNumeroEstaTecleado::test_la_licencia_entera_sale_del_catalogo_con_su_fuente_y_su_fecha
test_c107_c2_declaracion.py::TestNingunNumeroEstaTecleado::test_las_aucs_de_idioma_son_las_medidas
test_c107_c2_declaracion.py::TestNingunNumeroEstaTecleado::test_los_digests_y_los_tamanos_son_los_del_catalogo
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_decir_que_la_longitud_viene_del_paquete_cuando_no_viene_se_rechaza
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_decir_que_viene_de_una_libreria_cuando_lo_declara_el_paquete_se_rechaza
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_el_onnx_con_su_origen_correcto_si_se_declara
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_el_paquete_ensena_TODAS_las_longitudes_que_declara
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_estan_las_tres
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_la_longitud_viaja_con_contra_que_se_comprobo
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_sin_alguno_de_los_campos_de_la_longitud_no_hay_declaracion
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_un_origen_que_no_esta_en_el_vocabulario_se_rechaza
test_c107_c2_declaracion.py::TestLasTresCosasDelInvariante6::test_una_longitud_que_no_es_la_que_se_midio_se_rechaza
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_cuando_no_se_pasan_dependencias_se_dice
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_datos_de_ajuste_ninguno_mientras_no_se_ajuste_nada
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_hay_lo_que_no_se_sabe_y_no_es_una_frase_de_relleno
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_la_cita_del_autor_va_marcada_como_cita
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_la_frase_de_opacidad_es_LA_MISMA_que_dice_el_proveedor
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_los_pesos_no_van_en_la_imagen_y_lo_dice
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_opaco_es_true_y_lleva_su_frase
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_un_idioma_medido_y_no_cubierto_se_declara_con_su_numero
test_c107_c2_declaracion.py::TestLoOpacoSeDiceYLoQueNoSeSabeTambien::test_un_idioma_que_nadie_midio_responde_no_medido_y_no_un_hueco
test_c107_c2_declaracion.py::TestLicenciaPorCodigoYPorCheckpoint::test_la_revision_es_el_commit_entero_y_no_una_rama
test_c107_c2_declaracion.py::TestLicenciaPorCodigoYPorCheckpoint::test_sin_aceptacion_de_licencia_no_hay_declaracion
test_c107_c2_declaracion.py::TestLicenciaPorCodigoYPorCheckpoint::test_una_licencia_incompatible_no_se_declara_por_bueno_que_sea
test_c107_c2_declaracion.py::TestUnProveedorQueNuncaSeEjecutoNoSeDeclara::test_sin_catalogo_medido_no_se_inventa_nada
test_c107_c2_declaracion.py::TestUnProveedorQueNuncaSeEjecutoNoSeDeclara::test_sin_ejecutado_por_no_hay_declaracion
test_c107_c2_declaracion.py::TestUnProveedorQueNuncaSeEjecutoNoSeDeclara::test_un_multilingue_nunca_ejecutado_no_se_puede_declarar_y_dice_por_que
test_c107_c2_declaracion.py::TestUnProveedorQueNuncaSeEjecutoNoSeDeclara::test_un_proveedor_que_no_esta_en_el_catalogo_tampoco
test_c107_c2_declaracion.py::TestUnProveedorQueNuncaSeEjecutoNoSeDeclara::test_y_potion_multilingual_medido_TAMPOCO_se_declara_con_otra_longitud
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_aceptar_OTRA_licencia_no_es_aceptar_esta
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_datos_de_ajuste_solo_admite_ninguno
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_lo_que_no_es_un_diccionario_se_rechaza_entero
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_opaco_false_no_cuela_y_la_frase_vacia_tampoco
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_pesos_en_la_imagen_true_contradice_al_paquete_entero
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_quitar_CUALQUIER_campo_obligatorio_lo_caza
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_quitar_un_campo_DENTRO_de_la_licencia_o_del_digest_tambien
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_un_algoritmo_de_digest_desconocido_no_cuela
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_una_declaracion_de_verdad_pasa_entera
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_una_dimension_booleana_no_es_una_dimension
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_una_licencia_incompatible_no_pasa_el_validador
test_c107_c2_declaracion.py::TestElValidadorEsFailClosed::test_una_revision_que_no_es_un_commit_entero_no_cuela
test_c107_c2_declaracion.py::TestComponerLaDeclaracionNoLE_PIDE_DEPENDENCIAS_AL_NUCLEO::test_se_compone_sin_numpy_ni_onnxruntime
test_c107_c2_declaracion.py::TestLaDeclaracionDelNucleoYLaDeEnginesNoDivergen::test_engines_declara_todas_las_claves_que_el_validador_exige
test_c107_c2_expediente.py::TestElManifiestoLlevaElComponenteDeTerceros::test_el_componente_viaja_entero_en_reproduce_json
test_c107_c2_expediente.py::TestElManifiestoLlevaElComponenteDeTerceros::test_el_manifest_sha256_cubre_el_componente
test_c107_c2_expediente.py::TestElManifiestoLlevaElComponenteDeTerceros::test_un_componente_a_medias_no_se_escribe_y_dice_que_le_falta
test_c107_c2_expediente.py::TestElManifiestoLlevaElComponenteDeTerceros::test_un_paquete_sin_pesos_ajenos_lo_declara_como_null
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_el_bom_entero_valida_contra_el_esquema_oficial
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_el_digest_del_tokenizer_no_se_disfraza_de_SHA1
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_el_modelo_DEPENDE_del_proveedor_y_se_ve
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_el_proveedor_queda_marcado_en_el_modelo
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_es_un_machine_learning_model_con_su_licencia_spdx
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_la_opacidad_y_el_truncado_van_donde_los_busca_quien_lee_un_bom
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_la_version_del_componente_es_EL_CHECKPOINT
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_las_referencias_externas_llevan_origen_y_licencia
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_las_tres_cosas_del_invariante_6_estan_en_el_bom
test_c107_c2_expediente.py::TestElBomEnumeraElProveedorConSuLicencia::test_los_pesos_si_van_en_hashes_porque_su_digest_ES_un_sha256
test_c107_c2_expediente.py::TestUnComponenteAMediasNoSeEnumeraAMedias::test_lo_que_falta_dice_QUE_campo_falta
test_c107_c2_expediente.py::TestUnComponenteAMediasNoSeEnumeraAMedias::test_no_aparece_ningun_componente_de_proveedor
test_c107_c2_expediente.py::TestUnComponenteAMediasNoSeEnumeraAMedias::test_y_queda_como_aviso_en_las_limitaciones_del_modelo
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_borrar_la_spec_para_esquivar_la_puerta_no_cuela
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_con_el_proveedor_a_medias_FALLA_y_nombra_los_campos
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_el_motivo_se_redacta_en_los_DOS_idiomas
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_el_paquete_honesto_con_texto_pasa
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_la_puerta_cierra_con_schema_version_1_1
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_la_spec_sin_su_bloque_de_proveedor_FALLA
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_las_etapas_siguen_siendo_CUATRO
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_si_el_TOKENIZER_de_la_spec_no_es_el_del_manifiesto_FALLA
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_si_el_TRUNCADO_de_la_spec_no_es_el_del_manifiesto_FALLA
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_si_la_spec_declara_OTRO_proveedor_FALLA
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_sin_proveedor_en_el_manifiesto_FALLA
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_un_paquete_SIN_texto_no_se_ve_afectado
test_c107_c2_expediente.py::TestUnPaqueteConTextoSinProveedorNoValida::test_un_proveedor_declarado_a_medias_falla_aunque_no_haya_texto
test_c107_c2_expediente.py::TestLaSpecLlevaLasTresCosas::test_el_bloque_de_la_spec_no_arrastra_el_expediente
test_c107_c2_expediente.py::TestLaSpecLlevaLasTresCosas::test_la_spec_lleva_el_bloque_con_las_tres_cosas
test_c107_c2_expediente.py::TestLaSpecLlevaLasTresCosas::test_sin_proveedor_la_spec_no_cambia_nada
test_c107_c2_expediente.py::TestLaSpecLlevaLasTresCosas::test_un_proveedor_con_entrada_SEQUENCE_se_rechaza
test_c107_c2_expediente.py::TestLaSpecLlevaLasTresCosas::test_una_declaracion_a_medias_no_produce_spec
test_c108_c4_inferencia.py::SinCalibradorTest::test_frontera_exacta_es_positiva
test_c108_c4_inferencia.py::SinCalibradorTest::test_probabilidad_final_es_la_cruda_sin_calibrador
test_c108_c4_inferencia.py::SinCalibradorTest::test_umbral_gobierna_la_etiqueta_no_un_0_5_fijo
test_c108_c4_inferencia.py::ConCalibradorTest::test_calibrador_que_hunde_la_probabilidad_cambia_la_etiqueta
test_c108_c4_inferencia.py::ConCalibradorTest::test_calibrador_sin_ajuste_valido_propaga_el_rechazo_de_calibracion_py
test_c108_c4_inferencia.py::ConCalibradorTest::test_recalibra_antes_de_comparar_contra_el_umbral
test_c108_c4_inferencia.py::RechazosTest::test_escala_raw_score_se_rechaza_en_vez_de_comparar_en_el_sitio_equivocado
test_c108_c4_inferencia.py::RechazosTest::test_probabilidad_fuera_de_rango_se_rechaza
test_c108_c4_inferencia.py::RechazosTest::test_probabilidad_negativa_se_rechaza
test_c108_c4_validacion_de_esquema.py::ValidacionDeEsquemaTest::test_a_json_conserva_orden_y_motivo
test_c108_c4_validacion_de_esquema.py::ValidacionDeEsquemaTest::test_columna_esperada_ausente_se_rechaza_con_motivo_bilingue
test_c108_c4_validacion_de_esquema.py::ValidacionDeEsquemaTest::test_columnas_de_mas_no_se_rechazan
test_c108_c4_validacion_de_esquema.py::ValidacionDeEsquemaTest::test_dos_columnas_ausentes_dan_dos_entradas_no_una_excepcion_de_fichero
test_c108_c4_validacion_de_esquema.py::ValidacionDeEsquemaTest::test_mismas_columnas_pasa_sin_rechazos
test_c108_torch_en_cpu_con_gpu.py::test_torch_cpu_con_gpu_presente_entrena_en_cpu_sin_preguntar[_select_train_backend]
test_c108_torch_en_cpu_con_gpu.py::test_torch_cpu_con_gpu_presente_entrena_en_cpu_sin_preguntar[_select_transformer_train_device]
test_c108_torch_en_cpu_con_gpu.py::test_torch_cpu_admite_mayusculas_y_espacios_como_los_demas_modos[_select_train_backend]
test_c108_torch_en_cpu_con_gpu.py::test_torch_cpu_admite_mayusculas_y_espacios_como_los_demas_modos[_select_transformer_train_device]
test_c108_torch_en_cpu_con_gpu.py::test_control_torch_con_gpu_sigue_yendo_a_cuda[_select_train_backend]
test_c108_torch_en_cpu_con_gpu.py::test_control_torch_con_gpu_sigue_yendo_a_cuda[_select_transformer_train_device]
test_c108_torch_en_cpu_con_gpu.py::test_control_auto_con_gpu_sigue_yendo_a_cuda
test_c108_torch_en_cpu_con_gpu.py::test_torch_cpu_sin_torch_no_finge_torch
test_c108_torch_en_cpu_con_gpu.py::test_el_nombre_del_modo_es_uno_solo
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_el_CODIGO_da_lo_MISMO_que_el_lapiz
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_pt_0_10_da_31_novenos_de_noventa
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_pt_0_20_da_0_30
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_pt_0_50_da_0_20
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_pt_0_80_da_0_10
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_pt_cero_es_legitimo_y_no_penaliza_los_falsos_positivos
test_c109_c2_perfil_clinico.py::BeneficioNetoAManoTest::test_pt_igual_a_uno_no_es_un_beneficio_enorme_sino_ninguno
test_c109_c2_perfil_clinico.py::LasDosReferenciasTest::test_a_nadie_vale_cero_por_definicion_y_no_se_mide
test_c109_c2_perfil_clinico.py::LasDosReferenciasTest::test_empatar_con_tratar_a_todos_NO_es_superarlo
test_c109_c2_perfil_clinico.py::LasDosReferenciasTest::test_este_modelo_supera_a_las_dos_donde_se_esperaba
test_c109_c2_perfil_clinico.py::LasDosReferenciasTest::test_tratar_a_todos_a_mano
test_c109_c2_perfil_clinico.py::LasDosReferenciasTest::test_un_modelo_al_reves_no_supera_a_tratar_a_todos_y_la_curva_lo_dice
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_el_intercambio_exacto_se_ROMPE_con_un_empate_en_el_umbral
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_en_0_5_invertir_p_con_el_MISMO_umbral_COMPLEMENTA_sens_y_esp
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_fuera_de_0_5_el_MISMO_umbral_NO_complementa_y_el_REFLEJADO_si
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_fuera_de_0_5_el_intercambio_EXIGE_reflejar_el_umbral
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_invertir_la_probabilidad_ENTERA_INTERCAMBIA_sens_y_esp
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_la_TABLA_del_perfil_tambien_intercambia_al_invertir
test_c109_c2_perfil_clinico.py::InversionDeLaProbabilidadTest::test_la_TABLA_intercambia_fuera_de_0_5_con_el_umbral_reflejado
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_a_prevalencia_igual_a_la_de_la_muestra_el_transporte_da_el_observado
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_el_ppv_a_prevalencia_2_por_ciento_a_mano
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_el_transportado_trae_su_intervalo
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_la_prevalencia_de_la_muestra_viaja_al_lado_de_la_declarada
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_sin_prevalencia_declarada_NO_se_publican_ppv_ni_npv
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_una_prevalencia_fuera_de_cero_uno_se_rechaza
test_c109_c2_perfil_clinico.py::PrevalenciaTest::test_y_NO_se_callan_las_que_no_dependen_de_ella
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_cero_filas_no_dan_una_curva_en_cero
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_con_probabilidad_Y_puntuacion_cruda_la_curva_corta_sobre_la_PROBABILIDAD
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_con_probabilidad_Y_puntuacion_cruda_la_tabla_exige_umbral_de_PROBABILIDAD
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_la_TABLA_de_umbrales_tambien_rechaza_la_clase_YA_decidida
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_la_tabla_sobre_puntuaciones_crudas_admite_umbrales_fuera_de_0_1
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_los_umbrales_los_declara_quien_decide_y_no_hay_omision
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_un_intervalo_derivado_sin_su_punto_se_rechaza
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_un_umbral_repetido_no_son_dos_medidas
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_una_muestra_con_la_clase_YA_decidida_se_rechaza
test_c109_c2_perfil_clinico.py::UmbralesYCableadoTest::test_una_muestra_de_puntuaciones_crudas_no_tiene_curva_de_decision
test_c109_c2_perfil_clinico.py::AlcanceDeValidacionTest::test_lo_normal_es_interna_unicamente
test_c109_c2_perfil_clinico.py::AlcanceDeValidacionTest::test_temporal_y_externa_solo_cuando_existe_la_cohorte
test_c109_c2_perfil_clinico.py::AlcanceDeValidacionTest::test_todos_los_alcances_estan_en_el_vocabulario
test_c109_c2_perfil_clinico.py::SegmentosPredefinidosTest::test_con_equipo_declarado_si_se_puede
test_c109_c2_perfil_clinico.py::SegmentosPredefinidosTest::test_la_regla_vale_TAMBIEN_para_las_curvas_por_segmento
test_c109_c2_perfil_clinico.py::SegmentosPredefinidosTest::test_sin_equipo_los_exploratorios_SI_viajan_marcados
test_c109_c2_perfil_clinico.py::SegmentosPredefinidosTest::test_sin_equipo_un_segmento_no_puede_viajar_como_predefinido
test_c109_c2_perfil_clinico.py::SegmentosPredefinidosTest::test_una_curva_de_segmento_sin_id_no_es_un_segmento
test_c109_c2_perfil_clinico.py::TablaYCurvaDeLaMismaMuestraTest::test_el_mismo_n_con_OTRA_prevalencia_tampoco
test_c109_c2_perfil_clinico.py::TablaYCurvaDeLaMismaMuestraTest::test_la_misma_muestra_en_DOS_objetos_si_hace_perfil
test_c109_c2_perfil_clinico.py::TablaYCurvaDeLaMismaMuestraTest::test_una_curva_de_OTRO_n_no_hace_perfil_con_esta_tabla
test_c109_c2_perfil_clinico.py::MapasLibresDelPerfilTest::test_la_politica_con_la_forma_del_productor_del_Studio_sale_en_JSON
test_c109_c2_perfil_clinico.py::MapasLibresDelPerfilTest::test_la_recalibracion_sale_en_la_ficha_dentro_de_calibracion
test_c109_c2_perfil_clinico.py::MapasLibresDelPerfilTest::test_sin_recalibracion_la_ficha_dice_que_NO_CONSTA_y_con_ella_no
test_c109_c2_perfil_clinico.py::MapasLibresDelPerfilTest::test_un_mapa_VACIO_no_es_ni_una_politica_ni_su_ausencia
test_c109_c2_perfil_clinico.py::MapasLibresDelPerfilTest::test_un_motivo_bilingue_dentro_del_mapa_sale_en_el_idioma_de_la_ficha
test_c109_c2_perfil_clinico.py::MapasLibresDelPerfilTest::test_un_objeto_que_no_es_un_mapa_se_rechaza_AL_CONSTRUIR
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_con_calibracion_medida_sale_el_ece
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_con_politica_de_faltantes_se_escribe
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_con_prevalencia_la_ficha_la_ENSEÑA_al_lado_del_numero
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_con_prevalencia_no_hay_nota_de_ausencia
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_cuando_el_modelo_no_supera_a_las_dos_la_ficha_lo_dice
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_el_alcance_no_niega_una_separacion_temporal_que_existe_en_las_24
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_la_casilla_vacia_no_queda_MUDA_y_el_motivo_va_debajo
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_la_curva_de_CADA_SUBGRUPO_sale_en_la_ficha_con_sus_numeros
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_la_curva_de_cada_subgrupo_dice_SU_prevalencia
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_la_ficha_INGLESA_no_lleva_castellano_colado
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_la_ficha_dice_que_el_BENEFICIO_NETO_tambien_es_de_esta_muestra
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_los_datos_sinteticos_se_avisan_y_no_se_les_atribuye_precision
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_sin_calibracion_medida_la_ficha_no_la_da_por_buena
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_sin_equipo_la_ficha_dice_que_nadie_predefinio_subgrupos
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_sin_politica_de_faltantes_se_dice_que_no_consta
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_sin_prevalencia_la_ficha_DICE_que_calla_ppv_y_npv
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_un_idioma_que_no_se_sabe_sale_en_ingles
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_un_segmento_sin_cifra_no_sale_con_un_guion_mudo
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_una_validacion_externa_NO_dice_interna_unicamente
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_validacion_interna_unicamente_va_ANTES_que_el_primer_numero
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_y_cuando_SI_supera_no_lo_dice
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_y_la_ficha_CASTELLANA_no_esta_en_ingles
test_c109_c2_perfil_clinico.py::FichaDelPerfilTest::test_y_sin_prevalencia_declarada_no_habla_de_transportar
test_c109_c2_perfil_clinico.py::TextosDeLaFichaTest::test_el_ingles_no_lleva_castellano_dentro
test_c109_c2_perfil_clinico.py::TextosDeLaFichaTest::test_las_dos_redacciones_son_DISTINTAS
test_c109_c2_perfil_clinico.py::TextosDeLaFichaTest::test_los_dos_idiomas_tienen_las_mismas_claves
test_c109_c2_perfil_clinico.py::TextosDeLaFichaTest::test_los_huecos_son_los_mismos_en_los_dos_idiomas
test_c109_c2_perfil_clinico.py::TextosDeLaFichaTest::test_ninguna_redaccion_esta_vacia
test_c109_c2_perfil_clinico.py::CasoClinicoSinteticoTest::test_el_perfil_se_construye_entero_y_sella
test_c109_c2_perfil_clinico.py::CasoClinicoSinteticoTest::test_la_prevalencia_de_esta_cohorte_NO_es_la_de_un_hospital
test_c109_c2_perfil_clinico.py::MatrizYCurvaCuadranTest::test_los_recuentos_de_la_curva_son_los_de_la_matriz
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_declaracion_de_verdad_pasa_tal_cual
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_declaracion_que_no_es_mapa_revienta
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_perfil_con_esquema_equivocado_revienta
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_perfil_de_verdad_pasa_tal_cual
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_perfil_que_no_es_ni_mapa_ni_objeto_revienta
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_sin_declaracion_no_hay_bloque
test_c109_c3_bundle_cableado.py::NoFabricarTest::test_sin_perfil_no_hay_bloque
test_c109_c3_bundle_cableado.py::ElEmpaquetadorEscribeElExpedienteTest::test_con_perfil_los_DOS_ficheros_viajan_TAL_CUAL
test_c109_c3_bundle_cableado.py::ElEmpaquetadorEscribeElExpedienteTest::test_report_probast_DEJA_DE_DECIR_FALTA_cuando_hay_expediente
test_c109_c3_bundle_cableado.py::ElEmpaquetadorEscribeElExpedienteTest::test_sin_perfil_ni_declaracion_NINGUNO_de_los_dos_ficheros_viaja
test_c109_c3_cli_probast.py::ElComandoSaleConElCodigoQueDiceTest::test_las_DOS_banderas_a_la_vez_se_rechazan
test_c109_c3_cli_probast.py::ElComandoSaleConElCodigoQueDiceTest::test_probast_sobre_un_paquete_real_sale_en_VERDE_y_escribe_la_ficha
test_c109_c3_cli_probast.py::ElComandoSaleConElCodigoQueDiceTest::test_sin_bandera_NO_adivina_que_informe_se_queria
test_c109_c3_cli_probast.py::ElComandoSaleConElCodigoQueDiceTest::test_tripod_SIGUE_funcionando_por_el_mismo_camino
test_c109_c3_cli_probast.py::ElComandoSaleConElCodigoQueDiceTest::test_un_paquete_que_no_existe_sale_en_ROJO
test_c109_c3_cli_probast.py::LaFichaNoEmiteUnVeredictoDeRiesgoTest::test_lo_que_SALE_por_pantalla_no_juzga_el_riesgo
test_c109_c3_cli_probast.py::LaFichaNoEmiteUnVeredictoDeRiesgoTest::test_y_SÍ_dice_que_no_puntua
test_c109_c3_comparacion_con_el_baseline.py::ElPerfilLaGuardaTest::test_el_motivo_de_ausencia_viaja_al_json
test_c109_c3_comparacion_con_el_baseline.py::ElPerfilLaGuardaTest::test_sin_nada_los_dos_campos_salen_nulos
test_c109_c3_comparacion_con_el_baseline.py::ElPerfilLaGuardaTest::test_viaja_al_json_con_la_diferencia_hecha_a_mano_y_su_baseline
test_c109_c3_comparacion_con_el_baseline.py::NoSeContradiceTest::test_comparacion_y_motivo_de_ausencia_a_la_vez_no
test_c109_c3_comparacion_con_el_baseline.py::NoSeContradiceTest::test_la_comparacion_remuestrea_con_el_MISMO_diseno_que_el_perfil
test_c109_c3_comparacion_con_el_baseline.py::NoSeContradiceTest::test_la_comparacion_tiene_que_ser_una_ComparacionEmparejada
test_c109_c3_comparacion_con_el_baseline.py::NoSeContradiceTest::test_un_baseline_nombrado_sin_comparacion_no
test_c109_c3_comparacion_con_el_baseline.py::NoSeContradiceTest::test_un_motivo_fuera_del_vocabulario_no
test_c109_c3_comparacion_con_el_baseline.py::NoSeContradiceTest::test_una_comparacion_sin_decir_contra_quien_no
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_cada_motivo_de_ausencia_tiene_SU_frase
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_cada_veredicto_escribe_SU_frase_y_ninguna_otra
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_escribe_la_diferencia_el_intervalo_y_la_frase_del_veredicto
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_filas_que_no_casan_dan_incomparable_y_la_ficha_dice_por_que
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_incomparable_dice_que_se_intento_y_por_que_en_su_idioma_sin_decir_mismas_filas
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_sin_nada_dice_que_no_consta_y_no_que_no_se_pudo
test_c109_c3_comparacion_con_el_baseline.py::LaFichaLoDiceTest::test_un_intervalo_que_no_se_pudo_calcular_dice_POR_QUE_en_su_idioma
test_c109_c3_comparacion_con_el_baseline.py::ElExpedienteLaLeeTest::test_con_comparacion_sale_MEDIDO_y_resumida_con_sus_numeros
test_c109_c3_comparacion_con_el_baseline.py::ElExpedienteLaLeeTest::test_con_motivo_de_ausencia_el_expediente_dice_ESE_motivo_y_no_el_generico
test_c109_c3_comparacion_con_el_baseline.py::ElExpedienteLaLeeTest::test_sin_comparacion_sale_FALTA_y_el_motivo_ya_no_dice_que_no_se_escribe
test_c109_c3_comparacion_con_el_baseline.py::ElExpedienteLaLeeTest::test_una_comparacion_de_verdad_sigue_saliendo_medida_por_el_resolver
test_c109_c3_comparacion_con_el_baseline.py::ElExpedienteLaLeeTest::test_una_comparacion_incomparable_NO_sale_medida_y_dice_por_que
test_c109_c3_expediente.py::ElEstadoLoDiceElFicheroTest::test_lo_que_el_PERFIL_registra_pero_declaro_una_persona_no_sale_medido
test_c109_c3_expediente.py::ElEstadoLoDiceElFicheroTest::test_lo_que_escribe_el_core_sale_MEDIDO
test_c109_c3_expediente.py::ElEstadoLoDiceElFicheroTest::test_lo_que_escribe_una_persona_sale_DECLARADO
test_c109_c3_expediente.py::NoFabricarTest::test_lo_que_el_equipo_no_declaro_sale_FALTA_y_no_relleno
test_c109_c3_expediente.py::NoFabricarTest::test_los_umbrales_los_manda_el_PERFIL_y_nadie_mas
test_c109_c3_expediente.py::NoFabricarTest::test_un_campo_declarado_VACIO_tampoco_cuenta_como_declarado
test_c109_c3_expediente.py::NoFabricarTest::test_un_dato_no_puede_no_llevar_valor
test_c109_c3_expediente.py::NoFabricarTest::test_un_hueco_NO_PUEDE_llevar_valor
test_c109_c3_expediente.py::NoFabricarTest::test_un_hueco_dice_POR_QUE_falta
test_c109_c3_expediente.py::CadaFraseTrazaAUnCampoTest::test_toda_linea_lleva_su_ruta_aunque_el_campo_falte
test_c109_c3_expediente.py::CadaFraseTrazaAUnCampoTest::test_una_ruta_a_un_fichero_que_no_es_del_paquete_se_rechaza
test_c109_c3_expediente.py::CadaFraseTrazaAUnCampoTest::test_una_ruta_sin_campo_se_rechaza
test_c109_c3_expediente.py::NuncaUnJuicioDeRiesgoTest::test_NOMBRAR_el_riesgo_de_sesgo_si_se_puede
test_c109_c3_expediente.py::NuncaUnJuicioDeRiesgoTest::test_el_MARKDOWN_no_sirve_para_colarlo
test_c109_c3_expediente.py::NuncaUnJuicioDeRiesgoTest::test_el_vocabulario_de_veredicto_revienta_en_los_dos_idiomas
test_c109_c3_expediente.py::NuncaUnJuicioDeRiesgoTest::test_la_lista_de_veredictos_no_esta_vacia
test_c109_c3_expediente.py::NuncaUnJuicioDeRiesgoTest::test_solo_hay_TRES_estados
test_c109_c3_expediente.py::NuncaUnJuicioDeRiesgoTest::test_un_cuarto_estado_se_rechaza
test_c109_c3_expediente.py::ElAlcanceSeComponeNoSeCopiaTest::test_NO_se_afirma_que_no_haya_separacion_temporal
test_c109_c3_expediente.py::ElAlcanceSeComponeNoSeCopiaTest::test_se_re_deriva_de_evidencia_y_diseno
test_c109_c3_expediente.py::ElAlcanceSeComponeNoSeCopiaTest::test_un_alcance_guardado_que_no_cuadra_SE_DICE
test_c109_c3_expediente.py::UnFicheroRotoNoEsUnFicheroAusenteTest::test_sin_manifiesto_no_hay_expediente
test_c109_c3_expediente.py::UnFicheroRotoNoEsUnFicheroAusenteTest::test_una_declaracion_rota_no_se_lee_como_no_declarada
test_c109_c3_expediente.py::BilingueTest::test_media_traduccion_se_rechaza_al_construir
test_c109_c3_expediente.py::BilingueTest::test_toda_evidencia_trae_las_DOS_redacciones
test_c109_c3_probast.py::NoJuzgaTest::test_el_juicio_de_riesgo_va_explicito_y_vacio
test_c109_c3_probast.py::NoJuzgaTest::test_la_ficha_no_califica_el_riesgo_de_sesgo_en_ningun_idioma
test_c109_c3_probast.py::NoJuzgaTest::test_la_puerta_tiene_dientes
test_c109_c3_probast.py::NoJuzgaTest::test_ningun_estado_del_mapa_es_un_veredicto
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_con_instrumento_se_responde_a_LO_QUE_TRAE_el_fichero
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_el_estado_de_una_pregunta_dice_QUE_CLASE_de_evidencia_hay
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_la_cuenta_del_contrato_se_cita_SIN_darla_por_comprobada
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_la_lista_de_evaluacion_tiene_su_propia_cuenta
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_sin_instrumento_NO_hay_preguntas
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_sin_instrumento_la_ficha_DICE_por_que_va_por_dominio
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_un_instrumento_roto_no_se_lee_como_ausente
test_c109_c3_probast.py::NoSeInventanLosEnunciadosTest::test_una_cuenta_que_no_cuadra_con_el_contrato_SE_DICE
test_c109_c3_probast.py::LoQueFaltaSeEnumeraTest::test_el_resumen_cuenta_lo_que_hay
test_c109_c3_probast.py::LoQueFaltaSeEnumeraTest::test_la_comparacion_con_el_proceso_actual_ausente_se_dice
test_c109_c3_probast.py::LoQueFaltaSeEnumeraTest::test_lo_que_el_paquete_no_trae_lleva_el_campo_que_lo_arreglaria
test_c109_c3_probast.py::LoQueFaltaSeEnumeraTest::test_un_paquete_SIN_USO_PREVISTO_marca_falta
test_c109_c3_probast.py::CadaLineaTrazaTest::test_el_json_y_el_markdown_salen_de_la_misma_lectura
test_c109_c3_probast.py::CadaLineaTrazaTest::test_toda_linea_del_inventario_lleva_su_ruta
test_c109_c3_probast.py::BilingueTest::test_en_espanol_no_se_cuela_el_ingles
test_c109_c3_probast.py::BilingueTest::test_un_fichero_roto_tampoco_cuela_castellano_en_la_ficha_inglesa
test_c109_c3_probast.py::BilingueTest::test_y_en_ingles_no_se_cuela_el_castellano
test_c109_c3_probast.py::SinPaqueteNoHayFichaTest::test_sin_manifiesto_se_levanta_en_vez_de_devolver_un_formulario
test_c109_c3_probast.py::DiceQueNoHayPilotoTest::test_la_ficha_declara_que_se_construyo_sin_disparador
test_c109_c3_tripod_perfil.py::LaSeccionClinicaSoloSiElPaqueteLaTraeTest::test_con_declaracion_del_equipo_pero_sin_perfil_tambien
test_c109_c3_tripod_perfil.py::LaSeccionClinicaSoloSiElPaqueteLaTraeTest::test_con_perfil_sale_entera
test_c109_c3_tripod_perfil.py::LaSeccionClinicaSoloSiElPaqueteLaTraeTest::test_un_paquete_sin_perfil_ni_declaracion_no_la_lleva
test_c109_c3_tripod_perfil.py::ElAvisoQueCaducoTest::test_el_motivo_NO_dice_que_el_core_no_sepa_medirlo
test_c109_c3_tripod_perfil.py::ElAvisoQueCaducoTest::test_la_ficha_de_85_C6_sigue_entera_sin_perfil
test_c109_c3_tripod_perfil.py::ElAvisoQueCaducoTest::test_lo_que_el_paquete_NO_trae_sigue_siendo_un_hueco
test_c109_c3_tripod_perfil.py::ElAvisoQueCaducoTest::test_lo_que_el_paquete_TRAE_deja_de_enumerarse_como_hueco
test_c109_c3_tripod_perfil.py::ElAvisoQueCaducoTest::test_lo_que_ningun_run_puede_rellenar_sigue_enumerado
test_c109_c3_tripod_perfil.py::NoFabricarTest::test_el_alcance_no_afirma_lo_que_no_puede_afirmar
test_c109_c3_tripod_perfil.py::NoFabricarTest::test_la_declaracion_del_equipo_no_puede_cambiar_los_umbrales
test_c109_c3_tripod_perfil.py::NoFabricarTest::test_lo_declarado_se_marca_como_declarado_y_no_como_medido
test_c109_c3_tripod_perfil.py::NoFabricarTest::test_un_paquete_sin_uso_previsto_marca_FALTA
test_c109_c3_tripod_perfil.py::CadaFraseTrazaAUnCampoTest::test_TODA_la_ficha_traza_a_un_campo_no_solo_la_seccion_nueva
test_c109_c3_tripod_perfil.py::CadaFraseTrazaAUnCampoTest::test_los_predictores_dicen_DE_DONDE_salen
test_c109_c3_tripod_perfil.py::CadaFraseTrazaAUnCampoTest::test_toda_linea_de_la_seccion_clinica_lleva_su_ruta
test_c109_c3_tripod_perfil.py::CadaFraseTrazaAUnCampoTest::test_un_hueco_lleva_el_campo_que_lo_rellenaria
test_c109_c3_tripod_perfil.py::NuncaUnJuicioDeRiesgoTest::test_la_ficha_no_califica_el_riesgo_de_sesgo
test_c109_c3_tripod_perfil.py::NuncaUnJuicioDeRiesgoTest::test_la_puerta_esta_puesta_en_la_ficha_tambien
test_c109_c3_tripod_perfil.py::BilingueTest::test_en_espanol_no_se_cuela_el_ingles
test_c109_c3_tripod_perfil.py::BilingueTest::test_y_en_ingles_no_se_cuela_el_castellano
test_c109_c3_tripod_perfil.py::PorElCliTest::test_el_comando_escribe_la_seccion_nueva
test_c111_c1_accion_de_verify.py::test_NUNCA_mas_verde_que_verify_aunque_no_se_exija_nada
test_c111_c1_accion_de_verify.py::test_y_LA_OTRA_MITAD_un_paquete_entero_SI_sale_verde
test_c111_c1_accion_de_verify.py::test_require_solo_puede_APRETAR_nunca_aflojar
test_c111_c1_accion_de_verify.py::test_los_NO_REALIZADOS_salen_en_el_resumen_AUNQUE_el_trabajo_sea_verde
test_c111_c1_accion_de_verify.py::test_y_llevan_ANOTACION_que_es_lo_que_se_ve_sin_abrir_el_registro
test_c111_c1_accion_de_verify.py::test_EL_TITULAR_Y_EL_SEMAFORO_dicen_lo_mismo
test_c111_c1_accion_de_verify.py::test_NOT_RUN_e_INCOMPARABLE_no_son_aprobados[NOT_RUN]
test_c111_c1_accion_de_verify.py::test_NOT_RUN_e_INCOMPARABLE_no_son_aprobados[INCOMPARABLE]
test_c111_c1_accion_de_verify.py::test_un_alcance_AUSENTE_del_informe_no_se_da_por_bueno
test_c111_c1_accion_de_verify.py::test_lo_exigido_POR_DEFECTO_es_lo_que_una_maquina_ajena_puede_realizar
test_c111_c1_accion_de_verify.py::test_el_YAML_no_pasa_NINGUNA_bandera_que_el_modulo_no_acepte
test_c111_c1_accion_de_verify.py::test_y_el_YAML_no_inventa_un_VALOR_POR_DEFECTO_distinto_del_modulo
test_c111_c1_accion_de_verify.py::test_el_YAML_SIGUE_SIENDO_TONTO_Y_NO_SE_TRAGA_NINGUN_CODIGO_DE_SALIDA
test_c111_c1_accion_de_verify.py::test_NINGUNA_entrada_se_INTERPOLA_dentro_de_un_run
test_c111_c1_accion_de_verify.py::test_el_YAML_pasa_CADA_entrada_por_su_bandera[engines---engines]
test_c111_c1_accion_de_verify.py::test_el_YAML_pasa_CADA_entrada_por_su_bandera[locale---locale]
test_c111_c1_accion_de_verify.py::test_el_YAML_pasa_CADA_entrada_por_su_bandera[package---package]
test_c111_c1_accion_de_verify.py::test_el_YAML_pasa_CADA_entrada_por_su_bandera[require---require]
test_c111_c1_accion_de_verify.py::test_el_YAML_pasa_CADA_entrada_por_su_bandera[retrain---retrain]
test_c111_c1_accion_de_verify.py::test_el_YAML_declara_LAS_TRES_SALIDAS_que_el_modulo_escribe
test_c111_c1_accion_de_verify.py::test_el_YAML_COMPRUEBA_que_el_modulo_esta_ANTES_de_ejecutarlo
test_c111_c1_accion_de_verify.py::test_el_YAML_no_instala_matrixai_engines_POR_SU_CUENTA
test_c111_c1_accion_de_verify.py::test_la_RUTA_del_informe_se_declara_UNA_sola_vez
test_c111_c1_accion_de_verify.py::test_el_preflight_FALLA_EN_ROJO_cuando_el_modulo_NO_esta
test_c111_c1_accion_de_verify.py::test_y_LA_OTRA_MITAD_el_preflight_deja_pasar_cuando_el_modulo_ESTA
test_c111_c1_accion_de_verify.py::test_el_mensaje_de_la_guarda_dice_QUE_HACER_y_no_solo_que_falla
test_c111_c1_accion_de_verify.py::test_la_guarda_comprueba_EL_MODULO_QUE_EL_YAML_EJECUTA
test_c111_c1_accion_de_verify.py::test_main_SALE_EN_ROJO_cuando_verify_falla
test_c111_c1_accion_de_verify.py::test_y_LA_OTRA_MITAD_main_sale_verde_con_un_paquete_entero
test_c111_c1_accion_de_verify.py::test_main_sale_en_rojo_si_lo_EXIGIDO_no_se_realizo
test_c111_c1_accion_de_verify.py::test_main_un_paquete_QUE_NO_EXISTE_no_sale_verde
test_c111_c1_accion_de_verify.py::test_main_un_informe_ILEGIBLE_no_sale_verde
test_c111_c1_accion_de_verify.py::test_main_llama_a_verify_CON_JSON_Y_SOBRE_EL_PAQUETE
test_c111_c1_accion_de_verify.py::test_main_pasa_retrain_cuando_se_pide[true]
test_c111_c1_accion_de_verify.py::test_main_pasa_retrain_cuando_se_pide[1]
test_c111_c1_accion_de_verify.py::test_main_pasa_retrain_cuando_se_pide[yes]
test_c111_c1_accion_de_verify.py::test_main_pasa_retrain_cuando_se_pide[on]
test_c111_c1_accion_de_verify.py::test_main_NO_pasa_retrain_cuando_no_se_pide[false]
test_c111_c1_accion_de_verify.py::test_main_NO_pasa_retrain_cuando_no_se_pide[0]
test_c111_c1_accion_de_verify.py::test_main_NO_pasa_retrain_cuando_no_se_pide[no]
test_c111_c1_accion_de_verify.py::test_main_NO_pasa_retrain_cuando_no_se_pide[off]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[si]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[s\xed]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[SI]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[verdadero]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[  ]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[y]
test_c111_c1_accion_de_verify.py::test_retrain_FALLA_CERRADO_con_un_valor_que_no_entiende[2]
test_c111_c1_accion_de_verify.py::test_require_CON_UNA_ERRATA_no_deja_de_exigir
test_c111_c1_accion_de_verify.py::test_require_ALL_exige_LOS_CUATRO
test_c111_c1_accion_de_verify.py::test_require_NONE_no_exige_ninguno
test_c111_c1_accion_de_verify.py::test_main_escribe_el_informe_CRUDO_tal_y_como_lo_dio_verify
test_c111_c1_accion_de_verify.py::test_main_escribe_las_TRES_SALIDAS_y_el_RESUMEN
test_c111_c1_accion_de_verify.py::test_los_RETORNOS_TEMPRANOS_tambien_dejan_informe_resumen_y_salidas
test_c111_c1_accion_de_verify.py::test_un_FAIL_no_se_titula_VERIFIED
test_c111_c1_accion_de_verify.py::test_un_FAIL_se_anota_como_ERROR_no_como_AVISO
test_c111_c1_accion_de_verify.py::test_un_NO_REALIZADO_EXIGIDO_se_anota_como_ERROR
test_c111_c1_accion_de_verify.py::test_la_TABLA_no_pone_yes_en_Performed_si_no_se_realizo
test_c111_c1_accion_de_verify.py::test_el_RECUENTO_de_alcances_realizados_NO_MIENTE
test_c111_c1_accion_de_verify.py::test_el_MOTIVO_LITERAL_viaja_DOS_VECES_en_la_tabla_Y_en_la_lista
test_c111_c1_accion_de_verify.py::test_una_ETAPA_QUE_LA_ACCION_NO_CONOCE_no_desaparece_del_resumen
test_c111_c1_accion_de_verify.py::test_engines_AUTO_no_instala_nada_si_el_paquete_no_lo_pide
test_c111_c1_accion_de_verify.py::test_engines_AUTO_si_lo_instala_cuando_el_paquete_LO_PIDE
test_c111_c1_accion_de_verify.py::test_engines_se_detecta_tambien_en_dependencias_json
test_c111_c1_accion_de_verify.py::test_un_pip_install_FALLIDO_de_engines_PARA_la_accion
test_c111_c1_accion_de_verify.py::test_engines_CON_UNA_CADENA_EXPLICITA_instala_esa
test_c111_c1_accion_de_verify.py::test_engines_SKIP_no_instala_nada_aunque_el_paquete_lo_pida
test_c111_c1_accion_de_verify.py::test_el_resumen_DECLARA_LO_QUE_PASO_con_engines
test_c111_c1_accion_de_verify.py::test_un_ZIP_QUE_ESCRIBE_FUERA_se_rechaza_entero
test_c111_c1_accion_de_verify.py::test_un_ZIP_NORMAL_si_se_mira
test_c111_c1_accion_de_verify.py::test_engines_VACIO_falla_cerrado
test_c111_c1_accion_de_verify.py::test_require_VACIO_cae_en_el_defecto_declarado
test_c111_c1_accion_de_verify.py::test_require_no_deja_MEZCLAR_all_con_nombres
test_c111_c1_accion_de_verify.py::test_un_verify_QUE_NO_ESCRIBE_NADA_no_sale_verde[]
test_c111_c1_accion_de_verify.py::test_un_verify_QUE_NO_ESCRIBE_NADA_no_sale_verde[\n]
test_c111_c1_accion_de_verify.py::test_un_verify_QUE_NO_ESCRIBE_NADA_no_sale_verde[   \n  \n]
test_c111_c1_accion_de_verify.py::test_un_informe_que_es_una_LISTA_no_es_un_informe
test_c111_c1_accion_de_verify.py::test_una_cadena_EXPLICITA_de_engines_que_no_instala_para_la_accion
test_c111_c1_accion_de_verify.py::test_el_resumen_no_dice_NOT_REQUESTED_de_un_paquete_que_SI_lo_pide
test_c111_c1_accion_de_verify.py::test_el_resumen_DICE_que_no_pudo_mirar_si_el_zip_no_se_abre
test_c60_torch_stdlib_parity.py::test_kelvin_learns_on_torch_backend
test_c60_torch_stdlib_parity.py::test_kelvin_torch_matches_stdlib_quality
test_c60_torch_stdlib_parity.py::test_fahrenheit_learns_on_torch_backend
test_c60_torch_stdlib_parity.py::test_template_module_uses_stdlib_init_scheme_not_native_kaiming
test_c60_torch_stdlib_parity.py::test_stdlib_kelvin_unchanged
test_c60_torch_stdlib_parity.py::test_composite_dense_template_module_uses_stdlib_init_scheme
test_c60_torch_stdlib_parity.py::test_composite_regression_without_layernorm_learns_on_torch
test_c64_auditoria1.py::TestTopeDuroInevadible::test_la_politica_marca_el_tope_como_insatisfacible
test_c64_auditoria1.py::TestTopeDuroInevadible::test_el_generador_RECHAZA_en_vez_de_entregar_una_red_ilegal
test_c64_auditoria1.py::TestTopeDuroInevadible::test_tambien_cuando_la_arquitectura_viene_de_FUERA
test_c64_auditoria1.py::TestTopeDuroInevadible::test_el_techo_de_DATOS_no_rechaza_nada_solo_avisa
test_c64_auditoria1.py::TestTopeDuroInevadible::test_lo_que_SI_cabe_sigue_generandose
test_c64_auditoria1.py::TestCandidatasCompletas::test_una_propuesta_externa_aceptada_se_registra
test_c64_auditoria1.py::TestCandidatasCompletas::test_una_estrechada_registra_la_PETICION_original
test_c64_auditoria1.py::TestFilasEntrenables::test_las_filas_sin_target_no_cuentan
test_c64_auditoria1.py::TestFilasEntrenables::test_y_eso_puede_cambiar_la_red_elegida
test_c64_auditoria1.py::TestEstimacionDeRecursos::test_la_decision_lleva_la_estimacion
test_c64_auditoria1.py::TestEstimacionDeRecursos::test_no_es_una_puerta
test_c64_auditoria1.py::TestM12CabeEnAvanzado::test_doce_por_2048_cabe_en_avanzado
test_c64_auditoria1.py::TestM12CabeEnAvanzado::test_y_NO_cabe_en_equilibrado
test_c64_auditoria2.py::TestElFlujoPublicoNoEvadeElTope::test_analyze_playground_request_devuelve_el_error_estructurado
test_c64_auditoria2.py::TestElFlujoPublicoNoEvadeElTope::test_NO_cae_al_supervisor_con_otro_modelo
test_c64_auditoria2.py::TestElFlujoPublicoNoEvadeElTope::test_el_fallback_SIGUE_existiendo_para_lo_suyo
test_c64_auditoria2.py::TestElFlujoPublicoNoEvadeElTope::test_el_flujo_desde_datos_dice_QUE_tope_es
test_c64_auditoria2.py::TestElFlujoPublicoNoEvadeElTope::test_y_el_endpoint_del_Studio_tambien
test_c64_auditoria2.py::TestEstimacionConSupuestos::test_los_supuestos_van_declarados
test_c64_auditoria2.py::TestEstimacionConSupuestos::test_los_intrinsecos_no_dependen_del_contexto
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_cada_perfil_tiene_su_tope
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_override_por_variable_de_entorno
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_hosted_ignora_el_override
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_aparece_en_el_snapshot_de_la_UI
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_el_error_habla_de_la_RED_no_del_dataset
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_una_arquitectura_que_excede_el_presupuesto_se_estrecha
test_c64_politica_arquitectura.py::TestC1Presupuesto::test_el_conteo_de_parametros_es_el_real
test_c64_politica_arquitectura.py::TestC2Politica::test_es_determinista
test_c64_politica_arquitectura.py::TestC2Politica::test_el_ancho_sale_de_la_dimension_de_entrada
test_c64_politica_arquitectura.py::TestC2Politica::test_MAS_FILAS_no_agrandan_la_red
test_c64_politica_arquitectura.py::TestC2Politica::test_pero_MENOS_filas_si_la_encogen
test_c64_politica_arquitectura.py::TestC2Politica::test_la_dimension_EFECTIVA_cuenta_el_one_hot
test_c64_politica_arquitectura.py::TestC2Politica::test_una_categorica_declarada_ensancha_la_red
test_c64_politica_arquitectura.py::TestC2Politica::test_mas_clases_dan_una_capa_mas
test_c64_politica_arquitectura.py::TestC2Politica::test_regresion_y_clasificacion_binaria_no_se_quedan_sin_capacidad
test_c64_politica_arquitectura.py::TestC2Politica::test_ya_no_sale_siempre_128_64_32
test_c64_politica_arquitectura.py::TestC2Politica::test_el_presupuesto_PUEDE_hacerlas_converger
test_c64_politica_arquitectura.py::TestC3Precedencia::test_el_prompt_gana_a_la_politica
test_c64_politica_arquitectura.py::TestC3Precedencia::test_el_llamante_gana_al_prompt
test_c64_politica_arquitectura.py::TestC3Precedencia::test_NINGUNA_fuente_se_salta_el_limite_duro
test_c64_politica_arquitectura.py::TestC3Precedencia::test_el_suelo_de_ancho_tambien_es_innegociable
test_c64_politica_arquitectura.py::TestC4Auditable::test_la_politica_registra_entradas_presupuesto_y_candidatas
test_c64_politica_arquitectura.py::TestC4Auditable::test_se_registra_TAMBIEN_cuando_gana_otra_fuente
test_c64_politica_arquitectura.py::TestC4Auditable::test_el_limite_aplicado_queda_anotado
test_c64_politica_arquitectura.py::TestC4Auditable::test_estrechar_NO_es_silencioso
test_c64_politica_arquitectura.py::TestC4Auditable::test_un_dataset_pequeno_para_su_entrada_se_avisa
test_c64_politica_arquitectura.py::TestC4Auditable::test_la_decision_llega_al_resultado_del_playground
test_c64_politica_arquitectura.py::TestC4Auditable::test_el_flujo_desde_datos_completo_usa_las_filas_reales
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[predecir si un pedido llegara tarde a partir de la distancia en km, el peso en kg y la hora de salida]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[predecir si un paciente necesitara ingreso a partir de la edad, la saturacion de oxigeno y la frecuencia cardiaca]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[predecir si llovera ma\xf1ana a partir de la humedad]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[detectar una averia rara en una turbina eolica a partir de vibracion, temperatura y velocidad del viento]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[saber si un cliente va a darse de baja]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[determinar si una transaccion es fraudulenta]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[predict whether a shipment will arrive late]
test_c70_tarea_del_prompt.py::test_una_pregunta_de_si_o_no_es_binaria[clasificar si un pedido llegara tarde]
test_c70_tarea_del_prompt.py::test_predecir_una_magnitud_sigue_siendo_regresion[predecir el precio de una vivienda a partir de los metros cuadrados]
test_c70_tarea_del_prompt.py::test_predecir_una_magnitud_sigue_siendo_regresion[predecir la temperatura de ma\xf1ana]
test_c70_tarea_del_prompt.py::test_predecir_una_magnitud_sigue_siendo_regresion[estimar el consumo diario de un edificio de oficinas]
test_c70_tarea_del_prompt.py::test_predecir_una_magnitud_sigue_siendo_regresion[predecir el coste en euros de una reparacion]
test_c70_tarea_del_prompt.py::test_predecir_una_magnitud_sigue_siendo_regresion[estimar los minutos de espera en urgencias]
test_c70_tarea_del_prompt.py::test_predecir_una_magnitud_sigue_siendo_regresion[predict the price of a house from its size]
test_c70_tarea_del_prompt.py::test_una_palabra_de_regresion_ENTRE_LAS_COLUMNAS_no_decide
test_c70_tarea_del_prompt.py::test_la_misma_palabra_SI_decide_cuando_es_lo_que_se_predice
test_c70_tarea_del_prompt.py::test_los_conectores_separan_objetivo_de_columnas[a partir de]
test_c70_tarea_del_prompt.py::test_los_conectores_separan_objetivo_de_columnas[segun]
test_c70_tarea_del_prompt.py::test_los_conectores_separan_objetivo_de_columnas[en funcion de]
test_c70_tarea_del_prompt.py::test_los_conectores_separan_objetivo_de_columnas[from]
test_c70_tarea_del_prompt.py::test_los_conectores_separan_objetivo_de_columnas[based on]
test_c70_tarea_del_prompt.py::test_los_conectores_separan_objetivo_de_columnas[using]
test_c70_tarea_del_prompt.py::test_sin_conector_se_mira_la_frase_entera
test_c70_tarea_del_prompt.py::test_un_bracket_explicito_gana_sobre_todo
test_c70_tarea_del_prompt.py::test_multiclase_declarada_sigue_siendo_multiclase
test_c70_tarea_del_prompt.py::test_la_suposicion_dice_POR_QUE_no_solo_que
test_c70_tarea_del_prompt.py::test_cuando_NO_se_ha_entendido_se_dice_que_es_por_defecto
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[predecir si un pedido llegara tarde a partir de la distancia en km-binary]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[predecir el coste en euros de una reparacion de coche a partir de los kilometros-regression]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[clasificar el tipo de incidencia de un ascensor en electrica, mecanica, puertas o software-multiclass]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[predecir si un alumno aprobara segun las horas de estudio y la asignatura-binary]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[estimar los minutos de espera en urgencias a partir del numero de pacientes-regression]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[detectar fraude en un seguro de hogar a partir de importe y valor asegurado-binary]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[detectar una averia rara en una turbina eolica a partir de vibracion y temperatura-binary]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[predecir la variacion diaria de temperatura en grados a partir de la humedad-regression]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[clasificar el riesgo de un credito en bajo, medio o alto-multiclass]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[predecir si un paciente necesitara ingreso a partir de la edad-binary]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[predecir si llovera ma\xf1ana a partir de la humedad-binary]
test_c70_tarea_del_prompt.py::test_el_barrido_de_los_15[estimar el porcentaje de ocupacion de un hotel a partir del mes y el precio medio-regression]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[detectar fraude a partir del precio de la compra-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[detectar fraude a partir de la temperatura del motor-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[detectar averias usando temperatura y vibracion-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[detectar averias utilizando el consumo electrico-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[detectar averias mediante el valor del sensor-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[quiero un modelo para mi empresa que me diga si un cliente va a impagar-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[necesito saber cuanto antes si una pieza va a fallar-binary]
test_c70_tarea_del_prompt.py::test_hallazgos_de_la_primera_pasada[predecir segun el precio si un cliente se va-binary]
test_c70_tarea_del_prompt.py::test_un_SI_CONDICIONAL_no_es_una_pregunta_de_si_o_no
test_c70_tarea_del_prompt.py::test_el_conector_no_convierte_una_magnitud_en_clase
test_c70_tarea_del_prompt.py::test_el_corte_va_al_conector_mas_TEMPRANO_del_texto[detectar averias usando temperatura a partir del sensor principal-binary]
test_c70_tarea_del_prompt.py::test_el_corte_va_al_conector_mas_TEMPRANO_del_texto[detectar fraude segun el importe a partir del precio de venta-binary]
test_c70_tarea_del_prompt.py::test_el_corte_va_al_conector_mas_TEMPRANO_del_texto[predecir el consumo a partir del precio usando la temperatura-regression]
test_c70_tarea_del_prompt.py::test_el_corte_va_al_conector_mas_TEMPRANO_del_texto[estimar el precio usando la superficie a partir del catastro-regression]
test_c70_tarea_del_prompt.py::test_el_camino_del_LLM_respeta_las_mismas_reglas
test_c70_tarea_del_prompt.py::test_un_prompt_degenerado_no_revienta[]
test_c70_tarea_del_prompt.py::test_un_prompt_degenerado_no_revienta[   ]
test_c70_tarea_del_prompt.py::test_un_prompt_degenerado_no_revienta[si]
test_c70_tarea_del_prompt.py::test_un_prompt_degenerado_no_revienta[predecir]
test_c70_tarea_del_prompt.py::test_un_prompt_degenerado_no_revienta[a partir de]
test_c70_tarea_del_prompt.py::test_la_suposicion_de_tarea_sale_del_generador
test_c71_identificadores.py::TestPareceIdentificador::test_los_que_NO_lo_son
test_c71_identificadores.py::TestPareceIdentificador::test_los_que_lo_son
test_c71_identificadores.py::TestPareceIdentificador::test_un_codigo_postal_no_es_un_identificador
test_c71_identificadores.py::TestAvisoAlResolverCampos::test_avisa_de_cada_uno
test_c71_identificadores.py::TestAvisoAlResolverCampos::test_avisa_del_identificador
test_c71_identificadores.py::TestAvisoAlResolverCampos::test_el_aviso_va_en_el_idioma_pedido
test_c71_identificadores.py::TestAvisoAlResolverCampos::test_no_avisa_cuando_no_hay_ninguno
test_c71_identificadores.py::TestAvisoAlResolverCampos::test_se_avisa_pero_NO_se_quita
test_c80_c1_receta_de_datos.py::TestElIdiomaDeLaReceta::test_ruido_comentarios_y_etiquetas_numericas
test_c80_c1_receta_de_datos.py::TestElIdiomaDeLaReceta::test_el_ruido_se_escribe_en_el_texto_auditable
test_c80_c1_receta_de_datos.py::TestElIdiomaDeLaReceta::test_un_ruido_imposible_se_ignora_en_vez_de_reventar
test_c80_c1_receta_de_datos.py::TestLosDatosTienenSenal::test_sin_receta_el_objetivo_sigue_siendo_ruido
test_c80_c1_receta_de_datos.py::TestLosDatosTienenSenal::test_con_receta_y_SIN_LLM_hay_senal_de_verdad
test_c80_c1_receta_de_datos.py::TestLosDatosTienenSenal::test_el_binario_ya_no_esta_excluido
test_c80_c1_receta_de_datos.py::TestLosDatosTienenSenal::test_la_regla_viaja_de_vuelta_para_poder_auditarla
test_c80_c1_receta_de_datos.py::TestElRuidoMuerde::test_sin_ruido_el_dataset_obedece_la_regla_entera
test_c80_c1_receta_de_datos.py::TestElRuidoMuerde::test_el_ruido_declarado_es_el_ruido_real
test_c80_c1_receta_de_datos.py::TestReproducibilidad::test_misma_semilla_misma_huella_y_mismo_csv
test_c80_c1_receta_de_datos.py::TestReproducibilidad::test_otra_semilla_otro_csv
test_c80_c1_receta_de_datos.py::TestLoQueLaRecetaNOHaceTodavia::test_una_receta_de_regresion_no_se_ignora_en_silencio
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_el_parser_lee_terminos_constante_y_ruido
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_una_regla_de_clases_NO_es_una_receta_de_regresion
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_normalizar_conserva_el_resultado
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_sin_receta_la_regresion_sigue_siendo_ruido
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_con_receta_el_objetivo_depende_de_las_entradas
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_el_ruido_de_la_regresion_muerde
test_c80_c1_receta_de_datos.py::TestLaRecetaDeRegresion::test_la_receta_de_regresion_viaja_de_vuelta
test_c80_c1_receta_de_datos.py::TestElRepartoDeClases::test_el_idioma_admite_porcentajes_y_proporciones
test_c80_c1_receta_de_datos.py::TestElRepartoDeClases::test_el_reparto_pedido_se_cumple
test_c80_c1_receta_de_datos.py::TestElRepartoDeClases::test_las_filas_SIGUEN_obedeciendo_la_regla
test_c80_c1_receta_de_datos.py::test_una_receta_que_no_discrimina_no_se_le_echa_al_LLM
test_c80_c1_receta_de_datos.py::test_el_reparto_pedido_tambien_manda_en_un_objetivo_binario
test_c80_c1_receta_de_datos.py::test_un_reparto_que_la_regla_no_permite_se_dice
test_c81_c1_jcs.py::ElOrdenEsElDeJCSTest::test_las_claves_van_ordenadas
test_c81_c1_jcs.py::ElOrdenEsElDeJCSTest::test_ordena_por_unidades_UTF16_no_por_code_points
test_c81_c1_jcs.py::ElOrdenEsElDeJCSTest::test_sin_espacios
test_c81_c1_jcs.py::LosCaracteresNoSeESCAPANTest::test_el_texto_no_ascii_viaja_tal_cual
test_c81_c1_jcs.py::LosCaracteresNoSeESCAPANTest::test_los_controles_van_en_forma_corta_cuando_existe
test_c81_c1_jcs.py::LosCaracteresNoSeESCAPANTest::test_los_escapes_obligatorios_SI_se_ponen
test_c81_c1_jcs.py::LosNumerosSiguenAECMAScriptTest::test_lo_que_no_es_un_numero_JSON_se_RECHAZA
test_c81_c1_jcs.py::LosNumerosSiguenAECMAScriptTest::test_los_grandes_van_en_exponencial_como_ECMAScript
test_c81_c1_jcs.py::LosNumerosSiguenAECMAScriptTest::test_un_entero_no_lleva_punto
test_c81_c1_jcs.py::LosNumerosSiguenAECMAScriptTest::test_un_float_entero_tampoco
test_c81_c1_jcs.py::LosBytesSonLoQueSEFIRMATest::test_devuelve_UTF8
test_c81_c1_jcs.py::LosBytesSonLoQueSEFIRMATest::test_el_mismo_contenido_da_LOS_MISMOS_bytes
test_c81_c1_jcs.py::LosBytesSonLoQueSEFIRMATest::test_y_contenidos_distintos_dan_bytes_distintos
test_c81_c1_politicas.py::ElResultadoNOMBRALaReglaTest::test_cuando_decide_el_DEFECTO_tambien_se_dice
test_c81_c1_politicas.py::ElResultadoNOMBRALaReglaTest::test_dice_qué_regla_decidió_y_de_qué_política
test_c81_c1_politicas.py::LaPrecedenciaEsEXPLICITATest::test_manda_la_PRIMERA_regla_que_casa
test_c81_c1_politicas.py::FalloCERRADOTest::test_un_dato_que_falta_NO_se_rellena
test_c81_c1_politicas.py::FalloCERRADOTest::test_un_esquema_FUTURO_no_se_interpreta_a_medias
test_c81_c1_politicas.py::FalloCERRADOTest::test_un_predicado_que_no_se_entiende_NIEGA_no_ignora
test_c81_c1_politicas.py::FalloCERRADOTest::test_una_politica_sin_version_de_esquema_se_RECHAZA
test_c81_c1_politicas.py::DeterministaTest::test_ABSTAIN_es_un_resultado_no_un_hueco
test_c81_c1_politicas.py::DeterministaTest::test_la_misma_entrada_da_la_misma_salida
test_c81_c3_concurrencia.py::VariosPipelinesALaVezNoSeMEZCLANTest::test_lo_que_produjo_cada_uno_es_SUYO
test_c81_c3_concurrencia.py::VariosPipelinesALaVezNoSeMEZCLANTest::test_los_recibos_de_dos_a_la_vez_no_se_pisan
test_c81_c3_concurrencia.py::VariosPipelinesALaVezNoSeMEZCLANTest::test_ocho_a_la_vez_dan_cada_uno_SU_traza
test_c81_c3_concurrencia.py::VariosPipelinesALaVezNoSeMEZCLANTest::test_una_cancelacion_solo_para_SU_pipeline
test_c81_c3_concurrencia.py::ElMotorEsSECUENCIAL_Y_SeDICETest::test_el_orden_de_la_traza_es_el_MISMO_en_dos_ejecuciones
test_c81_c3_concurrencia.py::ElMotorEsSECUENCIAL_Y_SeDICETest::test_los_nodos_NO_se_solapan
test_c81_c3_concurrencia.py::UnPipelineDETERMINISTA_DaElMismoDIGESTTest::test_cambiar_una_ENTRADA_cambia_el_digest
test_c81_c3_concurrencia.py::UnPipelineDETERMINISTA_DaElMismoDIGESTTest::test_diez_ejecuciones_dan_el_MISMO_digest_de_salida
test_c81_c3_concurrencia.py::UnPipelineDETERMINISTA_DaElMismoDIGESTTest::test_y_ese_digest_es_el_del_valor_que_de_verdad_salio
test_c81_c3_concurrencia.py::ElBENCHMARK_BaseTest::test_dos_llamadas_dan_el_MISMO_digest
test_c81_c3_concurrencia.py::ElBENCHMARK_BaseTest::test_el_benchmark_corre_y_da_numeros
test_c81_c3_concurrencia.py::ElBENCHMARK_BaseTest::test_mide_el_MOTOR_no_los_modelos
test_c81_c3_concurrencia.py::ElBENCHMARK_BaseTest::test_si_el_pipeline_de_referencia_NO_termina_bien_se_CORTA
test_c81_c3_concurrencia.py::ElBENCHMARK_BaseTest::test_y_es_REPRODUCIBLE
test_c81_c3_concurrencia.py::InyectarUnFALLO_EnCadaNodoTest::test_el_nodo_señalado_es_SIEMPRE_el_que_rompio
test_c81_c3_concurrencia.py::InyectarUnFALLO_EnCadaNodoTest::test_un_fallo_en_el_ULTIMO_no_deja_nada_sin_arrancar
test_c81_c3_ejecutor_de_modelos.py::UnModeloDeVerdadCorreTest::test_el_mapa_del_registry_se_MIDE_del_registry_no_se_escribe_a_mano
test_c81_c3_ejecutor_de_modelos.py::UnModeloDeVerdadCorreTest::test_el_pipeline_ejecuta_el_modelo_del_registry_y_produce_salida
test_c81_c3_ejecutor_de_modelos.py::UnModeloDeVerdadCorreTest::test_el_recibo_describe_la_ejecucion_con_su_digest_de_salida
test_c81_c3_ejecutor_de_modelos.py::UnModeloDeVerdadCorreTest::test_la_salida_lleva_la_señal_que_declara_el_modelo
test_c81_c3_ejecutor_de_modelos.py::DosModelosREALESEncadenadosTest::test_SIN_receta_de_enlace_NO_se_mapea_por_su_cuenta
test_c81_c3_ejecutor_de_modelos.py::DosModelosREALESEncadenadosTest::test_el_recibo_lleva_los_DOS_pasos_con_sus_digests
test_c81_c3_ejecutor_de_modelos.py::DosModelosREALESEncadenadosTest::test_la_señal_del_primero_alimenta_al_segundo_y_sale_una_clasificacion
test_c81_c3_ejecutor_de_modelos.py::DosModelosREALESEncadenadosTest::test_un_origen_con_VARIOS_valores_no_se_recorta_al_primero
test_c81_c3_ejecutor_de_modelos.py::DosModelosREALESEncadenadosTest::test_una_receta_que_apunta_a_lo_que_NO_existe_para_y_dice_que_hay
test_c81_c3_ejecutor_de_modelos.py::ElDigestSeComprubaOtraVezAlEjecutarTest::test_saltarse_la_comprobacion_es_una_DECISION_explicita
test_c81_c3_ejecutor_de_modelos.py::ElDigestSeComprubaOtraVezAlEjecutarTest::test_si_la_entrada_CAMBIA_entre_la_verificacion_y_el_nodo_no_ejecuta
test_c81_c3_ejecutor_de_modelos.py::ElDigestSeComprubaOtraVezAlEjecutarTest::test_una_entrada_MANIPULADA_no_ejecuta
test_c81_c3_ejecutor_de_modelos.py::UnNombreSinVersionNoSeResuelveTest::test_falla_diciendo_por_que_un_nombre_a_secas_no_vale
test_c81_c3_ejecutor_de_modelos.py::ConDosFuentesNoSeEligeUnaTest::test_declarar_entrada_Y_recibirla_de_otro_nodo_es_ambiguo
test_c81_c3_ejecutor_de_modelos.py::ConDosFuentesNoSeEligeUnaTest::test_un_nodo_sin_entrada_y_sin_dependencias_no_se_ejecuta_con_nada
test_c81_c3_ejecutor_de_modelos.py::LosTiposSeComprubanSiEstanDeclaradosTest::test_CON_tipos_declarados_la_traza_dice_que_se_contrasto
test_c81_c3_ejecutor_de_modelos.py::LosTiposSeComprubanSiEstanDeclaradosTest::test_SIN_tipos_declarados_se_DICE_en_vez_de_dar_por_comprobado
test_c81_c3_ejecutor_de_modelos.py::LosTiposSeComprubanSiEstanDeclaradosTest::test_una_entrada_con_MENOS_campos_dice_las_DOS_tallas
test_c81_c3_ejecutor_de_modelos.py::LosTiposSeComprubanSiEstanDeclaradosTest::test_una_entrada_con_OTRO_vector_no_ejecuta
test_c81_c3_motor.py::DePuntaAPuntaTest::test_ejecuta_los_dos_nodos_en_orden_y_transporta_la_salida
test_c81_c3_motor.py::DePuntaAPuntaTest::test_el_digest_que_declara_el_motor_es_el_que_el_transporte_comprueba
test_c81_c3_motor.py::DePuntaAPuntaTest::test_la_huella_de_entrada_del_segundo_nodo_NO_es_nula
test_c81_c3_motor.py::DePuntaAPuntaTest::test_la_traza_queda_completa_y_con_los_dos_nodos_atados_a_su_raiz
test_c81_c3_motor.py::NoSeEmpiezaSiNoVerificaTest::test_se_dicen_TODOS_los_problemas_no_el_primero
test_c81_c3_motor.py::NoSeEmpiezaSiNoVerificaTest::test_un_ciclo_no_ejecuta_NADA
test_c81_c3_motor.py::UnKindSinEjecutorNoCorreTest::test_NO_lo_ejecuta_con_el_unico_que_hay
test_c81_c3_motor.py::UnKindSinEjecutorNoCorreTest::test_dice_QUE_ejecutores_hay_para_no_tener_que_adivinarlo
test_c81_c3_motor.py::UnKindSinEjecutorNoCorreTest::test_falla_cerrado_en_vez_de_saltarse_el_nodo
test_c81_c3_motor.py::LaPoliticaDecideAntesDeEjecutarTest::test_ABSTAIN_TAMPOCO_autoriza
test_c81_c3_motor.py::LaPoliticaDecideAntesDeEjecutarTest::test_con_allow_ejecuta_y_la_decision_queda_en_la_traza
test_c81_c3_motor.py::LaPoliticaDecideAntesDeEjecutarTest::test_el_motivo_NOMBRA_la_regla_que_decidio
test_c81_c3_motor.py::LaPoliticaDecideAntesDeEjecutarTest::test_sin_politica_declarada_el_nodo_corre
test_c81_c3_motor.py::LaPoliticaDecideAntesDeEjecutarTest::test_un_deny_para_el_pipeline_y_el_nodo_NO_ejecuta
test_c81_c3_motor.py::DryRunNoEjecutaNadaTest::test_declara_lo_que_NO_ha_comprobado
test_c81_c3_motor.py::DryRunNoEjecutaNadaTest::test_no_declara_salidas_que_no_ha_producido
test_c81_c3_motor.py::DryRunNoEjecutaNadaTest::test_no_llama_al_ejecutor_ni_una_vez
test_c81_c3_motor.py::DryRunNoEjecutaNadaTest::test_recorre_el_grafo_ENTERO_aunque_no_ejecute
test_c81_c3_motor.py::DryRunNoEjecutaNadaTest::test_una_ejecucion_de_verdad_NO_lleva_esa_lista
test_c81_c3_motor.py::DryRunNoEjecutaNadaTest::test_una_simulacion_NO_emite_recibo
test_c81_c3_motor.py::LoQueNoArrancoSeDiceTest::test_el_error_del_nodo_viaja_declarado_no_tragado
test_c81_c3_motor.py::LoQueNoArrancoSeDiceTest::test_un_fallo_a_la_mitad_enumera_lo_que_nunca_empezo
test_c81_c3_motor.py::LoQueNoArrancoSeDiceTest::test_una_ejecucion_entera_no_deja_nada_sin_arrancar
test_c81_c3_motor.py::HaberCorridoNoEsHaberProducidoTest::test_un_nodo_que_devuelve_None_corta_AHI_y_no_dos_nodos_despues
test_c81_c3_motor.py::CancelarDetieneLoPendienteTest::test_el_motivo_de_la_cancelacion_viaja
test_c81_c3_motor.py::CancelarDetieneLoPendienteTest::test_lo_que_no_ha_arrancado_NO_arranca
test_c81_c3_motor.py::CancelarDetieneLoPendienteTest::test_un_testigo_sin_activar_no_para_nada
test_c81_c3_motor.py::ElLimiteDeTiempoTest::test_al_ejecutor_se_le_pasa_el_tiempo_que_QUEDA
test_c81_c3_motor.py::ElLimiteDeTiempoTest::test_el_ALCANCE_del_limite_se_declara_en_vez_de_dejarlo_suponer
test_c81_c3_motor.py::ElLimiteDeTiempoTest::test_el_motivo_lleva_el_tiempo_Y_el_limite_no_un_se_pasó
test_c81_c3_motor.py::ElLimiteDeTiempoTest::test_pasado_el_limite_el_siguiente_nodo_NO_arranca
test_c81_c3_motor.py::ReintentarSoloLoQueSePuedeTest::test_el_reintento_negado_DICE_por_que_no_se_hizo
test_c81_c3_motor.py::ReintentarSoloLoQueSePuedeTest::test_por_defecto_NO_se_reintenta_aunque_se_pidan_reintentos
test_c81_c3_motor.py::ReintentarSoloLoQueSePuedeTest::test_un_nodo_idempotente_se_reintenta_y_sale_adelante
test_c81_c3_motor.py::LaTrazaNoGuardaElDatoTest::test_el_valor_producido_NO_aparece_en_la_traza_serializada
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_el_recibo_NO_inventa_la_huella_del_dato
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_la_ATESTACION_vive_en_el_SOBRE_no_en_el_payload
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_la_fecha_es_la_de_la_EJECUCION_no_la_de_emitir
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_las_politicas_evaluadas_viajan_en_el_recibo
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_lleva_el_CONTENIDO_MINIMO_del_contrato
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_los_MODELOS_van_con_su_digest
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_se_puede_firmar_y_alcanza_A1
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_un_pipeline_CORTADO_no_pasa_por_uno_entero
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_un_recibo_de_una_ejecucion_buena_lleva_sus_dos_pasos
test_c81_c3_motor.py::ElReciboDiceLoQueLaTrazaVIOTest::test_una_traza_con_nodos_ABIERTOS_no_produce_recibo
test_c81_c3_motor.py::UnIdRepetidoNoTAPA_LoDemasTest::test_con_ids_distintos_salen_los_TRES
test_c81_c3_motor.py::UnIdRepetidoNoTAPA_LoDemasTest::test_el_id_repetido_NO_entra_en_el_grafo
test_c81_c3_motor.py::UnIdRepetidoNoTAPA_LoDemasTest::test_y_con_el_id_REPETIDO_tambien_salen_TODOS
test_c81_c3_runtime.py::ResolverPorDIGESTTest::test_cuando_coincide_devuelve_el_digest_resuelto
test_c81_c3_runtime.py::ResolverPorDIGESTTest::test_sin_digest_declarado_NO_se_resuelve_por_nombre
test_c81_c3_runtime.py::ResolverPorDIGESTTest::test_un_digest_que_no_coincide_PARA_la_ejecucion
test_c81_c3_runtime.py::ResolverPorDIGESTTest::test_un_modelo_que_no_esta_se_dice
test_c81_c3_runtime.py::ElORDENLoManDanLasDependenciasTest::test_el_orden_es_ESTABLE_entre_ejecuciones
test_c81_c3_runtime.py::ElORDENLoManDanLasDependenciasTest::test_un_CICLO_se_rechaza_ANTES_de_ejecutar
test_c81_c3_runtime.py::ElORDENLoManDanLasDependenciasTest::test_un_nodo_va_despues_de_aquel_del_que_depende
test_c81_c3_runtime.py::ElORDENLoManDanLasDependenciasTest::test_una_dependencia_que_NO_existe_se_rechaza
test_c81_c3_runtime.py::VerificarANTESDeEjecutarTest::test_dice_TODOS_los_problemas_no_solo_el_primero
test_c81_c3_runtime.py::VerificarANTESDeEjecutarTest::test_un_digest_que_no_cuadra_lo_PARA
test_c81_c3_runtime.py::VerificarANTESDeEjecutarTest::test_un_limite_de_tiempo_que_no_es_un_tiempo_se_rechaza
test_c81_c3_runtime.py::VerificarANTESDeEjecutarTest::test_un_pipeline_correcto_pasa
test_c81_c3_runtime.py::LoQueLaAUDITORIA_EncontroTest::test_DOS_pasos_con_el_mismo_id_no_pasan
test_c81_c3_runtime.py::LoQueLaAUDITORIA_EncontroTest::test_sin_pipeline_id_no_pasa
test_c81_c3_runtime.py::LoQueLaAUDITORIA_EncontroTest::test_una_POLITICA_rota_se_caza_ANTES_de_ejecutar_nada
test_c81_c3_runtime.py::LoQueLaAUDITORIA_EncontroTest::test_y_una_politica_BUENA_no_estorba
test_c81_c3_transporte.py::LoQueUnNodoRECIBETest::test_sin_dependencias_recibe_un_diccionario_vacio
test_c81_c3_transporte.py::LoQueUnNodoRECIBETest::test_toma_la_salida_de_aquel_del_que_depende
test_c81_c3_transporte.py::LoQueUnNodoRECIBETest::test_varias_dependencias_llegan_TODAS
test_c81_c3_transporte.py::LoQueFALTANoSeRellenaTest::test_un_nodo_que_corrio_pero_NO_produjo_tambien_para
test_c81_c3_transporte.py::LoQueFALTANoSeRellenaTest::test_una_dependencia_que_no_ha_producido_PARA_el_pipeline
test_c81_c3_transporte.py::LoQueCAMBIAPorElCaminoTest::test_cuando_cuadra_se_entrega
test_c81_c3_transporte.py::LoQueCAMBIAPorElCaminoTest::test_si_el_digest_no_cuadra_NO_se_entrega
test_c81_c3_transporte.py::LoQueCAMBIAPorElCaminoTest::test_sin_digest_declarado_NO_se_inventa_una_comprobacion
test_c81_c3_traza.py::LaRaizATaTodoTest::test_cada_nodo_referencia_la_raiz
test_c81_c3_traza.py::LaRaizATaTodoTest::test_registra_inicio_final_modelo_y_runtime
test_c81_c3_traza.py::LaRaizATaTodoTest::test_un_nodo_sin_cerrar_se_VE
test_c81_c3_traza.py::LoQueSEREGISTRADeCadaNodoTest::test_las_politicas_evaluadas_viajan_con_su_regla
test_c81_c3_traza.py::LoQueSEREGISTRADeCadaNodoTest::test_los_digests_de_entrada_y_salida_se_anotan
test_c81_c3_traza.py::LoQueSEREGISTRADeCadaNodoTest::test_un_error_se_propaga_DECLARADO
test_c81_c3_traza.py::LosEfectosEXTERNOSSeControlanTest::test_en_DRY_RUN_no_se_ejecuta_ningun_efecto
test_c81_c3_traza.py::LosEfectosEXTERNOSSeControlanTest::test_un_nodo_NO_autorizado_no_puede_ejecutar_un_efecto
test_c81_c3_traza.py::LosEfectosEXTERNOSSeControlanTest::test_uno_autorizado_SI_y_queda_registrado
test_c81_c3_traza.py::ReintentosYEfectosNoIdempotentesTest::test_por_DEFECTO_no_es_idempotente
test_c81_c3_traza.py::ReintentosYEfectosNoIdempotentesTest::test_reintentar_algo_IDEMPOTENTE_se_permite_y_se_cuenta
test_c81_c3_traza.py::ReintentosYEfectosNoIdempotentesTest::test_reintentar_algo_NO_idempotente_se_NIEGA
test_c81_c4_verificador.py::DiceQUEHaVerificadoYQUENoTest::test_lista_las_garantias_comprobadas
test_c81_c4_verificador.py::DiceQUEHaVerificadoYQUENoTest::test_sin_clave_NO_finge_haber_comprobado_la_firma
test_c81_c4_verificador.py::DiceQUEHaVerificadoYQUENoTest::test_y_lista_lo_que_NO_ha_podido_verificar
test_c81_c4_verificador.py::LasTresProhibicionesTest::test_NO_presenta_A1_como_A2
test_c81_c4_verificador.py::LasTresProhibicionesTest::test_NO_presenta_trazabilidad_como_correccion
test_c81_c4_verificador.py::LasTresProhibicionesTest::test_ignora_el_nivel_que_el_recibo_se_ATRIBUYE
test_c81_c4_verificador.py::CamposCRITICOSAmbiguosTest::test_dos_pasos_con_el_MISMO_id_se_rechazan
test_c81_c4_verificador.py::CamposCRITICOSAmbiguosTest::test_un_digest_que_NO_es_un_digest_se_rechaza
test_c81_c4_verificador.py::InspeccionarYCompararTest::test_comparar_dice_EN_QUE_se_diferencian
test_c81_c4_verificador.py::InspeccionarYCompararTest::test_comparar_dos_iguales_lo_dice
test_c81_c4_verificador.py::InspeccionarYCompararTest::test_inspeccionar_NO_verifica_y_lo_dice
test_c81_c4_verificador.py::ElNivelNoSeLeeComoUnAPROBADOTest::test_con_la_firma_comprobada_ya_no_avisa
test_c81_c4_verificador.py::ElNivelNoSeLeeComoUnAPROBADOTest::test_sin_clave_avisa_de_que_el_nivel_es_DECLARADO
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_con_la_clave_y_todo_bien_SI_esta_comprobado_del_todo
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_inspect_enseña_la_fecha_QUE_EL_EMISOR_ESCRIBE
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_sin_clave_NO_esta_COMPROBADO_del_todo
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_sin_clave_SI_es_no_comprobada
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_un_recibo_sin_las_secciones_de_14_2_NO_sale_verificado
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_una_firma_COMPROBADA_Y_RECHAZADA_no_se_llama_no_comprobada
test_c81_c4_verificador.py::ElVERIFICADORNoAprueba_LoQueNoHaMiradoTest::test_y_NOMBRA_lo_que_falta
test_c81_c4_verificador.py::LosTRESCodigosDeSalidaTest::test_NO_SE_PUDO_COMPROBAR_es_3_y_no_0
test_c81_c4_verificador.py::LosTRESCodigosDeSalidaTest::test_algo_FALLA_es_2
test_c81_c4_verificador.py::LosTRESCodigosDeSalidaTest::test_los_tres_son_DISTINTOS
test_c81_c4_verificador.py::LosTRESCodigosDeSalidaTest::test_son_LOS_MISMOS_que_los_de_matrixai_verify
test_c81_c4_verificador.py::LosTRESCodigosDeSalidaTest::test_todo_comprobado_y_bien_es_0
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_dos_paquetes_distintos_dan_huellas_distintas
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_lleva_la_huella_del_PAQUETE
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_lleva_las_cuatro_etapas_del_verify_de_dentro
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_los_TRES_desenlaces_no_se_colapsan
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_rc3_NO_es_una_acusacion
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_un_fichero_ILEGIBLE_no_se_traga
test_c81_c5_recibo_de_reproduccion.py::ElRECIBO_SeEmiteSIEMPRETest::test_y_dice_si_se_REENTRENÓ
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_DeDependenciasTest::test_lista_paquetes_con_version
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_DeDependenciasTest::test_una_licencia_que_no_consta_sale_NULL_y_se_cuenta
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_DeDependenciasTest::test_van_ordenados_para_poder_comparar_dos_inventarios
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_SeMideDENTROTest::test_el_inventario_de_dentro_ENTRA_en_la_huella_del_entorno
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_SeMideDENTROTest::test_la_ETIQUETA_no_entra_en_la_huella
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_SeMideDENTROTest::test_si_no_se_pudo_mirar_dentro_NO_se_cuela_el_del_anfitrion
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_SeMideDENTROTest::test_si_no_se_pudo_mirar_dentro_la_huella_lo_DECLARA
test_c81_c5_recibo_de_reproduccion.py::ElINVENTARIO_SeMideDENTROTest::test_y_cuando_si_se_pudo_dice_DONDE_lo_midio
test_c81_c5_recibo_de_reproduccion.py::ElENTORNO_MiraLoQueHayDENTROTest::test_la_MISMA_imagen_con_otro_matrixai_NO_es_el_mismo_entorno
test_c81_c5_recibo_de_reproduccion.py::ElENTORNO_MiraLoQueHayDENTROTest::test_la_huella_incluye_la_version_de_dentro
test_c81_c5_recibo_de_reproduccion.py::ElENTORNO_MiraLoQueHayDENTROTest::test_no_saber_la_version_NO_se_rellena
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_dos_NO_COMPROBADAS_que_coinciden_no_sostienen_nada
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_dos_paquetes_distintos_NO_son_comparables
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_en_el_MISMO_entorno_lo_dice_y_avisa
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_en_entornos_DISTINTOS_tambien_lo_dice
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_la_MISMA_imagen_con_otra_ETIQUETA_es_el_MISMO_entorno
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_las_etapas_que_difieren_se_NOMBRAN
test_c81_c5_recibo_de_reproduccion.py::CompararConLaREFERENCIATest::test_si_no_se_pudo_mirar_DENTRO_la_comparacion_no_sostiene_nada
test_c81_c5_recibo_de_reproduccion.py::ElENLACEQueNoSeCubriaTest::test_el_recibo_de_replay_lleva_su_FECHA
test_c81_c5_recibo_de_reproduccion.py::ElENLACEQueNoSeCubriaTest::test_un_enlace_COLADO_se_cuenta_y_se_NOMBRA
test_c81_c5_recibo_de_reproduccion.py::ElENLACEQueNoSeCubriaTest::test_un_paquete_honesto_SI_esta_cubierto
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_el_paquete_se_monta_de_SOLO_LECTURA
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_el_tope_de_memoria_va_CON_su_swap
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_la_red_va_DESACTIVADA
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_lo_que_corre_dentro_es_el_verify_del_82
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_los_limites_del_argv_son_los_MISMOS_que_se_declaran
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_no_se_pueden_subir_privilegios_dentro
test_c81_c5_reproducir_dentro.py::ElComandoAPLICALoQueDECLARATest::test_va_con_el_USUARIO_de_quien_llama
test_c81_c5_reproducir_dentro.py::LaImagenNoSeDescargaSolaTest::test_la_imagen_por_defecto_es_la_del_PRODUCTO
test_c81_c5_reproducir_dentro.py::LaImagenNoSeDescargaSolaTest::test_se_puede_declarar_otra
test_c81_c5_reproducir_dentro.py::LaImagenNoSeDescargaSolaTest::test_sin_imagen_NO_se_ejecuta_y_se_dice_cual_falta
test_c81_c5_reproducir_dentro.py::LosMENSAJES_DicenQueHacerTest::test_el_Dockerfile_que_nombra_el_mensaje_EXISTE
test_c81_c5_reproducir_dentro.py::LosMENSAJES_DicenQueHacerTest::test_sin_imagen_el_mensaje_trae_el_COMANDO
test_c81_c5_reproducir_dentro.py::LosMENSAJES_DicenQueHacerTest::test_y_si_la_imagen_no_sabe_verificar_tambien
test_c81_c5_reproducir_dentro.py::UnBackendQueNoMontaImagenesNoReproduceTest::test_bubblewrap_se_NIEGA_en_vez_de_correr_el_matrixai_del_anfitrion
test_c81_c5_reproducir_dentro.py::UnVERIFICADOR_VIEJO_NoAcusaAlPaqueteTest::test_la_comprobacion_previa_pregunta_por_verify
test_c81_c5_reproducir_dentro.py::UnVERIFICADOR_VIEJO_NoAcusaAlPaqueteTest::test_si_la_imagen_no_sabe_verificar_NO_se_reproduce
test_c81_c5_reproducir_dentro.py::UnVERIFICADOR_VIEJO_NoAcusaAlPaqueteTest::test_una_imagen_que_SI_sabe_deja_reproducir
test_c81_c5_reproducir_dentro.py::UnVERIFICADOR_VIEJO_NoAcusaAlPaqueteTest::test_y_el_informe_lo_dice_ARRIBA_no_enterrado
test_c81_c5_reproducir_dentro.py::AgotarElTiempoNoEsFALLARTest::test_un_timeout_se_declara_como_tal_y_no_como_paquete_malo
test_c81_c5_reproducir_dentro.py::ElCOMANDO_replayTest::test_el_comando_esta_REGISTRADO_no_solo_escrito
test_c81_c5_reproducir_dentro.py::ElCOMANDO_replayTest::test_sin_aislamiento_tampoco_es_un_FAIL
test_c81_c5_reproducir_dentro.py::ElCOMANDO_replayTest::test_un_paquete_que_cuadra_sale_con_CERO
test_c81_c5_reproducir_dentro.py::ElCOMANDO_replayTest::test_uno_MANIPULADO_sale_con_DOS
test_c81_c5_reproducir_dentro.py::ElCOMANDO_replayTest::test_y_lo_que_NO_SE_PUDO_COMPROBAR_sale_con_TRES
test_c81_c5_reproducir_dentro.py::ElCOMANDO_replayTest::test_y_rc3_NO_es_lo_mismo_que_rc2
test_c81_c5_reproducir_dentro.py::DentroDelContenedorDeVerdadTest::test_un_paquete_honesto_se_reproduce_dentro
test_c81_c5_reproducir_dentro.py::DentroDelContenedorDeVerdadTest::test_una_linea_de_mas_en_la_receta_se_CAZA_dentro
test_c81_c5_sandbox.py::LosBackendsSeDECLARANTest::test_describir_dice_cual_hay_y_cual_falta
test_c81_c5_sandbox.py::LosBackendsSeDECLARANTest::test_hay_una_lista_declarada_con_version_minima
test_c81_c5_sandbox.py::SinAislamientoNOSeEjecutaTest::test_NO_se_degrada_a_ejecucion_sin_sandbox
test_c81_c5_sandbox.py::SinAislamientoNOSeEjecutaTest::test_falla_CERRADO_y_dice_por_que
test_c81_c5_sandbox.py::SinAislamientoNOSeEjecutaTest::test_ni_siquiera_con_una_bandera_amable
test_c81_c5_sandbox.py::ConAislamientoSeDECLARALoQueSEAPLICATest::test_declara_el_backend_y_su_version
test_c81_c5_sandbox.py::ConAislamientoSeDECLARALoQueSEAPLICATest::test_los_limites_viajan_en_el_informe
test_c81_c6_readmission.py::ElCasoDiceLoQueNO_EsTest::test_la_advertencia_sale_DONDE_se_lee_el_resultado
test_c81_c6_readmission.py::ElCasoDiceLoQueNO_EsTest::test_la_advertencia_viaja_DENTRO_del_recibo
test_c81_c6_readmission.py::ElCasoDiceLoQueNO_EsTest::test_tambien_cuando_el_pipeline_NO_termina
test_c81_c6_readmission.py::ElCasoDiceLoQueNO_EsTest::test_y_en_ingles_dice_lo_mismo
test_c81_c6_readmission.py::NotaClinicaVACIATest::test_con_nota_SI_la_señal_se_declara_presente
test_c81_c6_readmission.py::NotaClinicaVACIATest::test_una_nota_vacia_NO_es_una_nota_normal
test_c81_c6_readmission.py::NotaClinicaVACIATest::test_y_la_ausencia_de_señal_llega_HASTA_la_salida
test_c81_c6_readmission.py::NotaExcesivamenteLARGATest::test_truncar_se_DICE
test_c81_c6_readmission.py::NotaExcesivamenteLARGATest::test_una_nota_normal_NO_se_declara_truncada
test_c81_c6_readmission.py::NotaExcesivamenteLARGATest::test_y_llega_a_la_salida_del_caso
test_c81_c6_readmission.py::VariablesTabularesINCOMPLETASTest::test_la_ausencia_de_una_opcional_va_DENTRO_del_vector
test_c81_c6_readmission.py::VariablesTabularesINCOMPLETASTest::test_un_numero_que_no_es_numero_se_RECHAZA
test_c81_c6_readmission.py::VariablesTabularesINCOMPLETASTest::test_una_OPCIONAL_que_falta_NO_abstiene
test_c81_c6_readmission.py::VariablesTabularesINCOMPLETASTest::test_una_obligatoria_que_falta_NO_se_imputa
test_c81_c6_readmission.py::VariablesTabularesINCOMPLETASTest::test_y_el_caso_SE_ABSTIENE_con_su_regla
test_c81_c6_readmission.py::CategoriaDESCONOCIDATest::test_no_se_mapea_a_la_mas_parecida
test_c81_c6_readmission.py::CategoriaDESCONOCIDATest::test_y_el_caso_se_abstiene_con_SU_regla
test_c81_c6_readmission.py::DatosPOSTERIORES_ALaDecisionTest::test_SIN_momento_declarado_todo_es_sospechoso
test_c81_c6_readmission.py::DatosPOSTERIORES_ALaDecisionTest::test_se_detecta_la_fuga_temporal
test_c81_c6_readmission.py::DatosPOSTERIORES_ALaDecisionTest::test_un_dato_ANTERIOR_no_es_fuga
test_c81_c6_readmission.py::DatosPOSTERIORES_ALaDecisionTest::test_y_el_caso_se_abstiene_con_su_regla
test_c81_c6_readmission.py::TextoConCODIFICACION_IncorrectaTest::test_un_byte_que_no_es_utf8_NO_se_reemplaza
test_c81_c6_readmission.py::TextoConCODIFICACION_IncorrectaTest::test_utf8_valido_con_acentos_pasa
test_c81_c6_readmission.py::TextoConCODIFICACION_IncorrectaTest::test_y_el_caso_NO_produce_decision
test_c81_c6_readmission.py::FusionConDIMENSIONES_IncompatiblesTest::test_las_tallas_declaradas_encajan
test_c81_c6_readmission.py::FusionConDIMENSIONES_IncompatiblesTest::test_no_se_recorta_para_que_cuadre
test_c81_c6_readmission.py::BajaCONFIANZA_YAbstencionTest::test_el_umbral_esta_DECLARADO_no_escondido_en_el_codigo
test_c81_c6_readmission.py::BajaCONFIANZA_YAbstencionTest::test_por_debajo_del_umbral_NO_se_predice
test_c81_c6_readmission.py::BajaCONFIANZA_YAbstencionTest::test_por_encima_del_umbral_si_predice
test_c81_c6_readmission.py::BajaCONFIANZA_YAbstencionTest::test_y_al_abstenerse_NO_viaja_una_clase
test_c81_c6_readmission.py::LaTrazaNoLLEVA_ElDatoClinicoTest::test_el_perfil_de_privacidad_declara_QUE_no_entra
test_c81_c6_readmission.py::LaTrazaNoLLEVA_ElDatoClinicoTest::test_ni_en_el_recibo
test_c81_c6_readmission.py::LaTrazaNoLLEVA_ElDatoClinicoTest::test_ni_la_nota_ni_el_identificador_aparecen
test_c81_c6_readmission.py::LaTrazaNoLLEVA_ElDatoClinicoTest::test_pero_SI_su_huella_para_poder_compararlo
test_c81_c6_readmission.py::ElRECIBO_IdentificaTodasLasVersionesTest::test_cambiar_una_POLITICA_cambia_el_digest_del_nodo
test_c81_c6_readmission.py::ElRECIBO_IdentificaTodasLasVersionesTest::test_el_recibo_lleva_el_momento_de_corte
test_c81_c6_readmission.py::ElRECIBO_IdentificaTodasLasVersionesTest::test_los_cuatro_nodos_con_su_digest
test_c81_c6_readmission.py::ElRECIBO_IdentificaTodasLasVersionesTest::test_y_la_regla_que_decidio_la_abstencion
test_c81_c6_readmission.py::EjecucionSIN_RED_YReproduccionTest::test_con_otra_semilla_NO_es_el_mismo
test_c81_c6_readmission.py::EjecucionSIN_RED_YReproduccionTest::test_el_dataset_se_REGENERA_igual_con_la_misma_semilla
test_c81_c6_readmission.py::EjecucionSIN_RED_YReproduccionTest::test_el_perfil_declara_ejecucion_local_sin_red
test_c81_c6_readmission.py::EjecucionSIN_RED_YReproduccionTest::test_la_regla_de_la_etiqueta_esta_PUBLICADA
test_c81_c6_readmission.py::EjecucionSIN_RED_YReproduccionTest::test_las_columnas_del_csv_son_LAS_de_la_fusion
test_c81_c6_readmission.py::UnSUBMODELO_AlteradoInvalidaLaVerificacionTest::test_TOCAR_los_pesos_impide_usarlo
test_c81_c6_readmission.py::UnSUBMODELO_AlteradoInvalidaLaVerificacionTest::test_el_modelo_INTACTO_se_puede_usar
test_c81_c6_readmission.py::UnSUBMODELO_AlteradoInvalidaLaVerificacionTest::test_un_vector_de_otra_talla_NO_se_ejecuta
test_c81_c6_readmission.py::ACuienDejaSinRespuestaLaABSTENCIONTest::test_la_cobertura_se_enseña_ademas_de_la_abstencion
test_c81_c6_readmission.py::ACuienDejaSinRespuestaLaABSTENCIONTest::test_la_exactitud_AL_RESPONDER_va_con_su_aviso
test_c81_c6_readmission.py::ACuienDejaSinRespuestaLaABSTENCIONTest::test_la_tasa_GLOBAL_esconde_a_quien_se_deja_fuera
test_c81_c6_readmission.py::ACuienDejaSinRespuestaLaABSTENCIONTest::test_se_NOMBRA_la_clase_peor_cubierta
test_c81_c6_readmission.py::ACuienDejaSinRespuestaLaABSTENCIONTest::test_sin_predicciones_no_dice_cobertura_perfecta
test_c81_c6_readmission.py::LaDEMOSTRACION_DiceLoQueHaceTest::test_el_docstring_lista_LOS_MISMOS_pasos_que_se_imprimen
test_c81_c6_readmission.py::LaDEMOSTRACION_DiceLoQueHaceTest::test_y_van_numerados_sin_saltos
test_c81_c6_readmission.py::ExportacionONNX_YPaqueteTest::test_el_modelo_del_caso_exporta_a_ONNX
test_c81_c6_readmission.py::ElANALISIS_DeConfianzaTest::test_el_aviso_de_ALCANCE_va_con_el_numero
test_c81_c6_readmission.py::ElANALISIS_DeConfianzaTest::test_mide_la_brecha_entre_lo_que_dice_y_lo_que_acierta
test_c81_c6_readmission.py::ElANALISIS_DeConfianzaTest::test_sin_predicciones_NO_dice_calibracion_perfecta
test_c81_c6_readmission.py::ElANALISIS_DeConfianzaTest::test_un_modelo_SOBRECONFIADO_se_ve
test_c81_c6_readmission.py::ElANALISIS_DeConfianzaTest::test_una_confianza_imposible_se_rechaza
test_c81_recibos.py::ElNIVELDiceLoQueElReciboSOSTIENETest::test_A3_y_A4_estan_RESERVADOS_y_no_se_alcanzan
test_c81_recibos.py::ElNIVELDiceLoQueElReciboSOSTIENETest::test_con_evidencias_reproducibles_es_A2
test_c81_recibos.py::ElNIVELDiceLoQueElReciboSOSTIENETest::test_firmado_es_A1
test_c81_recibos.py::ElNIVELDiceLoQueElReciboSOSTIENETest::test_lo_que_NO_se_reconoce_como_reproducible_tampoco_sube_el_nivel
test_c81_recibos.py::ElNIVELDiceLoQueElReciboSOSTIENETest::test_sin_firma_es_A0_y_se_dice
test_c81_recibos.py::ElNIVELDiceLoQueElReciboSOSTIENETest::test_una_RAIZ_DE_TRAZA_no_basta_para_A2
test_c81_recibos.py::LaFirmaSeVerificaSobreLosBYTESTest::test_cambiar_UNA_letra_lo_invalida
test_c81_recibos.py::LaFirmaSeVerificaSobreLosBYTESTest::test_otra_clave_no_lo_valida
test_c81_recibos.py::LaFirmaSeVerificaSobreLosBYTESTest::test_se_verifica_sobre_el_PAYLOAD_guardado_no_sobre_uno_recompuesto
test_c81_recibos.py::LaFirmaSeVerificaSobreLosBYTESTest::test_un_recibo_intacto_verifica
test_c81_recibos.py::UnReciboMalFormADONoSeFirmATest::test_la_firma_dice_QUE_CLAVE_la_hizo
test_c81_recibos.py::UnReciboMalFormADONoSeFirmATest::test_sin_esquema_no_se_firma
test_c81_recibos.py::UnReciboMalFormADONoSeFirmATest::test_sin_pasos_no_hay_nada_que_atestiguar
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_el_BOOLEANO_no_compra_un_A2
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_ni_una_cadena_que_no_es_un_DIGEST
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_ni_una_referencia_VACIA
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_pero_una_evidencia_QUE_SE_PUEDE_SEGUIR_sigue_dando_A2
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_sin_el_CAMINO_EJECUTADO_tampoco
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_un_event_type_INVENTADO_no_se_libra_de_las_secciones
test_c81_recibos.py::LoQueElREFUTADOREncontroTest::test_un_recibo_al_que_le_falta_medio_14_2_NO_se_firma
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_comprobada_sostiene_la_promesa
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_desmentida_tampoco
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_el_codigo_del_backend_viaja_tal_cual
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_no_comprobada_no_la_sostiene
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_un_paquete_sin_receta_no_necesita_verificacion
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_una_captura_vieja_lo_dice_y_no_lo_finge
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_una_verificacion_sin_veredicto_se_rechaza
test_c82_a2_procedencia_verificada.py::ProcedenciaVerificadaTest::test_verificada_sin_receta_es_una_contradiccion
test_c82_auditoria_rutas.py::UnPaqueteNoEligeQueFicheroSeABRETest::test_el_paquete_HONESTO_sigue_pasando
test_c82_auditoria_rutas.py::UnPaqueteNoEligeQueFicheroSeABRETest::test_un_ENLACE_SIMBOLICO_que_apunta_fuera_tampoco
test_c82_auditoria_rutas.py::UnPaqueteNoEligeQueFicheroSeABRETest::test_una_ruta_ABSOLUTA_no_pasa
test_c82_auditoria_rutas.py::UnPaqueteNoEligeQueFicheroSeABRETest::test_una_ruta_con_dos_puntos_NO_pasa
test_c82_auditoria_rutas.py::UnPaqueteNoEligeQueFicheroSeABRETest::test_y_se_NOMBRA_el_artefacto_que_lo_intenta
test_c82_auditoria_rutas.py::LaComprobacionDeRutaEnSIMismaTest::test_dos_puntos_en_MEDIO_de_la_ruta_tampoco
test_c82_auditoria_rutas.py::LaComprobacionDeRutaEnSIMismaTest::test_una_ruta_con_espacios_alrededor_se_rechaza
test_c82_auditoria_rutas.py::LaComprobacionDeRutaEnSIMismaTest::test_una_ruta_de_dentro_pasa
test_c82_auditoria_rutas.py::LaComprobacionDeRutaEnSIMismaTest::test_una_ruta_vacia_no_es_una_ruta
test_c82_auditoria_rutas.py::LaComprobacionDeRutaEnSIMismaTest::test_y_una_de_dentro_en_la_raiz_tambien
test_c82_c1_procedencia_del_run.py::TestElCrudoNoEsElPreparado::test_el_crudo_y_el_preparado_son_distintos_de_verdad
test_c82_c1_procedencia_del_run.py::TestElCrudoNoEsElPreparado::test_el_preparado_solo_no_bastaba
test_c82_c1_procedencia_del_run.py::TestElCrudoNoEsElPreparado::test_las_filas_son_las_que_ENTRENAN
test_c82_c1_procedencia_del_run.py::TestAusenteEsNull::test_lo_que_si_llega_se_guarda_tal_cual
test_c82_c1_procedencia_del_run.py::TestAusenteEsNull::test_sin_semilla_de_datos_ni_versiones_se_quedan_en_null
test_c82_c1_procedencia_del_run.py::TestAusenteEsNull::test_un_run_sin_receta_deja_los_campos_de_receta_en_null
test_c82_c1_procedencia_del_run.py::TestAusenteEsNull::test_una_receta_en_blanco_no_cuenta_como_receta
test_c82_c1_procedencia_del_run.py::TestLaCapturaSeVerificaSola::test_declara_su_version_de_esquema
test_c82_c1_procedencia_del_run.py::TestLaCapturaSeVerificaSola::test_el_digest_de_la_receta_cubre_la_receta_que_viaja
test_c82_c1_procedencia_del_run.py::TestLaCapturaSeVerificaSola::test_el_digest_del_mxtrain_cubre_el_texto_que_viaja
test_c82_c1_procedencia_del_run.py::TestLaCapturaSeVerificaSola::test_el_mxai_usa_LA_MISMA_regla_que_el_digest_que_ya_existia
test_c82_c1_procedencia_del_run.py::TestLaCapturaSeVerificaSola::test_la_semilla_del_split_sale_del_contrato_parseado
test_c82_c1_procedencia_del_run.py::TestElMotorYLaMaquinaSonLosDeVerdad::test_se_anotan_desde_el_resultado_del_run
test_c82_c1_procedencia_del_run.py::TestContarFilas::test_solo_cabecera_son_cero_filas
test_c82_c1_procedencia_del_run.py::TestContarFilas::test_un_campo_entrecomillado_con_saltos_de_linea_es_UNA_fila
test_c82_c1_procedencia_del_run.py::TestContarFilas::test_un_csv_vacio_no_da_filas_negativas
test_c82_c1_procedencia_del_run.py::TestContarFilas::test_una_linea_en_blanco_no_es_una_fila_y_lo_dice_el_lector_del_trainer
test_c82_c1_procedencia_del_run.py::TestElCableadoDelEndpoint::test_la_procedencia_declarada_llega_al_core
test_c82_c1_procedencia_del_run.py::TestElCableadoDelEndpoint::test_una_peticion_sin_procedencia_la_pasa_como_null
test_c82_c1_procedencia_del_run.py::TestElCableadoDelEndpoint::test_una_semilla_de_datos_cero_es_cero_y_no_se_pierde
test_c82_c1_procedencia_del_run.py::TestLasEpocasQueCorrieron::test_el_early_stop_para_ANTES_del_numero_efectivo
test_c82_c1_procedencia_del_run.py::TestLasEpocasQueCorrieron::test_el_mxtrain_que_viaja_NO_se_reescribe
test_c82_c1_procedencia_del_run.py::TestLasEpocasQueCorrieron::test_el_tope_del_operador_recorta_y_la_captura_lo_declara
test_c82_c1_procedencia_del_run.py::TestLasEpocasQueCorrieron::test_lo_que_pide_el_cliente_tampoco_es_lo_que_dice_el_contrato
test_c82_c1_procedencia_del_run.py::TestLasFilasSonLasQueEntrenan::test_las_lineas_en_blanco_no_inflan_el_recuento
test_c82_c1_procedencia_del_run.py::TestLosRangosDecidenElPreparado::test_el_preparado_se_rehace_desde_el_crudo_con_lo_publicado
test_c82_c1_procedencia_del_run.py::TestLosRangosDecidenElPreparado::test_la_captura_lleva_los_rangos_con_los_que_se_normalizo
test_c82_c1_procedencia_del_run.py::TestLosRangosDecidenElPreparado::test_sin_los_rangos_el_preparado_NO_casa
test_c82_c1_procedencia_del_run.py::TestDeQuePesosPartio::test_dos_runs_distintos_ya_no_dan_la_MISMA_captura
test_c82_c1_procedencia_del_run.py::TestDeQuePesosPartio::test_sin_pesos_de_partida_la_captura_lo_dice
test_c82_c1_procedencia_del_run.py::TestDeQuePesosPartio::test_torch_los_usa_y_la_captura_lo_declara_con_su_huella
test_c82_c1_procedencia_del_run.py::TestDeQuePesosPartio::test_unos_pesos_que_el_stdlib_IGNORA_no_se_declaran_usados
test_c82_c1_procedencia_del_run.py::TestLaHuellaDeUnosPesos::test_cambiar_UN_numero_cambia_el_digest
test_c82_c1_procedencia_del_run.py::TestLaHuellaDeUnosPesos::test_cuenta_los_parametros_y_los_tensores
test_c82_c1_procedencia_del_run.py::TestLaHuellaDeUnosPesos::test_los_mismos_pesos_dan_el_mismo_digest_en_cualquier_orden
test_c82_c1_procedencia_del_run.py::TestLaHuellaDeUnosPesos::test_un_buffer_sin_numero_de_elementos_no_cuenta_cero_parametros
test_c82_c1_procedencia_del_run.py::TestLaHuellaDeUnosPesos::test_unos_pesos_que_no_se_pueden_leer_dan_null_y_no_medio_digest
test_c82_c1_procedencia_del_run.py::TestLaCapturaLaLeeQuienEmpaqueta::test_un_manifiesto_construido_con_la_captura_del_run
test_c82_c2_verify.py::LasCuatroEtapasSiempreEstanTest::test_estan_las_cuatro_y_con_un_estado_conocido
test_c82_c2_verify.py::LasCuatroEtapasSiempreEstanTest::test_la_salida_es_json_serializable
test_c82_c2_verify.py::ElManifiestoSeComprueba::test_cambiar_una_linea_de_la_receta_da_FAIL_en_manifest
test_c82_c2_verify.py::ElManifiestoSeComprueba::test_sin_reproduce_json_no_hay_nada_que_verificar
test_c82_c2_verify.py::ElManifiestoSeComprueba::test_tocar_el_manifiesto_tambien_se_ve
test_c82_c2_verify.py::ElManifiestoSeComprueba::test_un_paquete_honesto_pasa_la_etapa_manifest
test_c82_c2_verify.py::LoQueNoSePuedeCompararNoEsUnFallo::test_R3_es_NOT_RUN_mientras_falten_sus_datos
test_c82_c2_verify.py::LoQueNoSePuedeCompararNoEsUnFallo::test_reentrenar_no_se_hace_sin_pedirlo
test_c82_c2_verify.py::LoQueNoSePuedeCompararNoEsUnFallo::test_sin_receta_R1_es_INCOMPARABLE_no_FAIL
test_c82_c2_verify.py::ElCodigoDeSalidaEsParaGuionesTest::test_todo_bien_o_incomparable_no_es_lo_mismo_que_manipulado
test_c82_c2_verify.py::PorElComandoNoSoloPorLaFuncionTest::test_el_json_es_json_y_conserva_el_codigo
test_c82_c2_verify.py::PorElComandoNoSoloPorLaFuncionTest::test_saboteado_sale_con_2_y_NOMBRA_el_artefacto
test_c82_c2_verify.py::PorElComandoNoSoloPorLaFuncionTest::test_un_paquete_honesto_NO_sale_acusado
test_c82_c2_verify.py::PorElComandoNoSoloPorLaFuncionTest::test_y_si_algo_NO_se_pudo_comprobar_sale_con_3
test_c82_c2_verify.py::R1RegeneraDeVerdadTest::test_con_retrain_el_entrenamiento_llega_a_termino
test_c82_c2_verify.py::R1RegeneraDeVerdadTest::test_si_el_digest_declarado_no_es_el_que_sale_es_FAIL
test_c82_c2_verify.py::R1RegeneraDeVerdadTest::test_sin_R1_no_hay_con_que_entrenar_y_se_dice
test_c82_c2_verify.py::R1RegeneraDeVerdadTest::test_un_dataset_que_se_regenera_igual_da_PASS
test_c82_c2_verify.py::R3ComparaLasMetricasTest::test_dentro_de_tolerancia_es_PASS
test_c82_c2_verify.py::R3ComparaLasMetricasTest::test_fuera_de_tolerancia_es_FAIL_y_enseña_los_dos_valores
test_c82_c2_verify.py::R3ComparaLasMetricasTest::test_sin_reentrenar_es_NOT_RUN_no_un_verde
test_c82_c2_verify.py::R3ComparaLasMetricasTest::test_una_metrica_a_la_que_le_faltan_datos_es_INCOMPARABLE
test_c82_c2_verify.py::R3DiceElMOTIVO_DeVerdadTest::test_habiendolo_pedido_NO_manda_a_hacer_lo_ya_hecho
test_c82_c2_verify.py::R3DiceElMOTIVO_DeVerdadTest::test_sin_pedirlo_SI_manda_a_ponerlo
test_c82_c2_verify.py::R3DiceElMOTIVO_DeVerdadTest::test_y_un_FAIL_del_entrenamiento_tambien_viaja
test_c82_c3_ficha.py::LaSeccionCuentaQueEjecutarTest::test_dice_en_que_entorno_se_entrenó
test_c82_c3_ficha.py::LaSeccionCuentaQueEjecutarTest::test_dice_lo_que_deberia_salir
test_c82_c3_ficha.py::LaSeccionCuentaQueEjecutarTest::test_enseña_los_cinco_elementos_con_su_huella
test_c82_c3_ficha.py::LaSeccionCuentaQueEjecutarTest::test_lleva_el_comando_que_hay_que_ejecutar
test_c82_c3_ficha.py::NoPrometeLoQueElPaqueteNoPuedeCumplirTest::test_sin_manifiesto_no_se_inventa_una_seccion
test_c82_c3_ficha.py::NoPrometeLoQueElPaqueteNoPuedeCumplirTest::test_un_paquete_no_reproducible_lo_DICE_y_no_invita_a_ejecutar
test_c82_c3_ficha.py::LaSeccionLLEGAAlREADMEDeVerdadTest::test_con_manifiesto_la_seccion_ESTA_en_el_readme
test_c82_c3_ficha.py::LaSeccionLLEGAAlREADMEDeVerdadTest::test_sin_manifiesto_el_readme_no_la_inventa
test_c82_c3_ficha.py::LaSeccionLLEGAAlREADMEDeVerdadTest::test_un_paquete_no_reproducible_no_invita_a_verificar
test_c82_c4_space.py::LaPlantillaViajaEnElPaqueteTest::test_el_front_matter_declara_sdk_static_y_app_file_index
test_c82_c4_space.py::LaPlantillaViajaEnElPaqueteTest::test_el_readme_lleva_el_front_matter_que_HF_entiende
test_c82_c4_space.py::LaPlantillaViajaEnElPaqueteTest::test_la_pagina_es_html_valido_minimo
test_c82_c4_space.py::LaPlantillaViajaEnElPaqueteTest::test_la_pagina_usa_lo_que_el_paquete_YA_trae
test_c82_c4_space.py::LaPlantillaViajaEnElPaqueteTest::test_no_crea_nada_en_la_cuenta_de_nadie
test_c82_c4_space.py::LaPlantillaViajaEnElPaqueteTest::test_sin_sdk_version_que_ya_no_significa_nada
test_c82_c4_space.py::LaPlantillaLLEGAAlPaqueteTest::test_el_bundler_escribe_space_index_html_y_su_readme
test_c82_c4_space.py::LaPlantillaLLEGAAlPaqueteTest::test_el_nombre_del_space_sale_del_modelo_no_de_una_constante
test_c82_c4_space.py::LaPlantillaLLEGAAlPaqueteTest::test_el_predict_js_del_space_es_EL_QUE_GENERA_wasm_exporter
test_c82_c4_space.py::ElSpaceNoDuplicaElModeloEnElZipTest::test_el_bundler_NO_escribe_model_onnx_dentro_de_space
test_c82_c4_space.py::ElSpaceNoDuplicaElModeloEnElZipTest::test_predict_js_pide_el_modelo_con_ruta_relativa_al_Space_aplanado
test_c82_c4_space.py::LaPaginaDeclaraLoQueHaceYLoQueNoTest::test_NO_finge_ejecutar_verify_dentro_del_Space
test_c82_c4_space.py::LaPaginaDeclaraLoQueHaceYLoQueNoTest::test_da_el_comando_LOCAL_para_verificar_de_verdad
test_c82_c4_space.py::LaPaginaDeclaraLoQueHaceYLoQueNoTest::test_dice_QUE_NO_verifica_y_por_que
test_c82_c4_space.py::LaPaginaDeclaraLoQueHaceYLoQueNoTest::test_dice_que_corre_en_el_navegador_y_no_manda_los_datos
test_c82_c4_space.py::LaPaginaDeclaraLoQueHaceYLoQueNoTest::test_no_declara_limites_de_CPU_de_un_Space_que_ya_no_ejecuta_nada
test_c82_c4_space.py::LaVersionDeOrtWebEsLaMismaQueEnElBundleWasmTest::test_el_cdn_de_la_pagina_usa_ORT_WEB_MIN_VERSION
test_c82_c4_space.py::LaVersionDeOrtWebEsLaMismaQueEnElBundleWasmTest::test_y_es_la_MISMA_constante_que_importa_wasm_exporter
test_c82_c4_space.py::ElNombreDelModeloSeEscapaEnLaPaginaTest::test_un_nombre_con_marcado_no_llega_crudo_a_la_pagina
test_c82_c4_space.py::ElNombreDelModeloSeEscapaEnLaPaginaTest::test_y_un_nombre_normal_sale_tal_cual
test_c82_c4_space.py::ElScriptDeLaPaginaEsJavaScriptValidoTest::test_el_script_generado_pasa_node_check
test_c82_c4_space.py::ElScriptDeLaPaginaEsJavaScriptValidoTest::test_y_el_FUENTE_de_la_plantilla_no_lleva_ninguna_barra_invertida
test_c82_c4_space_codificador_js.py::TestElInstrumentoLeeLaPaginaDeVerdad::test_saca_la_funcion_del_html_generado
test_c82_c4_space_codificador_js.py::TestElInstrumentoLeeLaPaginaDeVerdad::test_el_caso_base_codifica_de_verdad_y_coincide
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[base]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[entero_con_decimales]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[entero_en_notacion_cientifica]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[escalar01_por_encima]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[escalar_desbordado]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[escalar_por_debajo_del_rango]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[escalar_por_encima_del_rango]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[escalar_vacio]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[indice_sin_vocab_2.0]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[indice_sin_vocab_con_decimales]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[indice_sin_vocab_en_notacion_cientifica]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_se_puede_escribir_en_el_formulario[indice_sin_vocab_menos_cero]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[booleano_2]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[booleano_como_numero]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[campo_desconocido]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[escalar_null]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[escalar_solo_espacios]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[falta_la_clave]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[indice_sin_vocab_con_letras]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_lo_que_solo_llega_por_programa[one_hot_con_un_numero]
test_c82_c4_space_codificador_js.py::TestLaPaginaCodificaComoPredictPy::test_la_deuda_declarada_es_solo_de_programa
test_c82_c4_space_codificador_js.py::TestLaPaginaDeclaraElRecorte::test_fuera_de_rango_la_pagina_dice_lo_mismo_que_predict_py[escalar_por_encima_del_rango]
test_c82_c4_space_codificador_js.py::TestLaPaginaDeclaraElRecorte::test_fuera_de_rango_la_pagina_dice_lo_mismo_que_predict_py[escalar_por_debajo_del_rango]
test_c82_c4_space_codificador_js.py::TestLaPaginaDeclaraElRecorte::test_fuera_de_rango_la_pagina_dice_lo_mismo_que_predict_py[escalar01_por_encima]
test_c82_c4_space_codificador_js.py::TestLaPaginaDeclaraElRecorte::test_dentro_de_rango_no_declara_ningun_recorte
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_el_dispositivo_NO_se_impone_y_se_declara
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_la_semilla_de_INICIALIZACION_se_aplica_por_el_entrenador
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_las_epocas_del_RUN_ganan_a_las_del_contrato
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_si_el_entrenador_NO_admite_semilla_se_DICE
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_un_manifiesto_sin_GENERATION_no_inventa_nada
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_warm_start_CON_pesos_no_se_puede_aplicar_y_se_dice
test_c82_r3_aplica_la_configuracion_del_run.py::LaConfiguracionSaleDeGENERATIONTest::test_warm_start_FALSE_esta_aplicado_porque_reentrenar_es_eso
test_c82_r3_aplica_la_configuracion_del_run.py::LasEpocasSeAplicanConstruyendoTest::test_sin_bloque_RUN_no_hay_donde_aplicarlas
test_c82_r3_aplica_la_configuracion_del_run.py::LasEpocasSeAplicanConstruyendoTest::test_un_valor_que_no_es_un_entero_positivo_no_se_aplica
test_c82_r3_aplica_la_configuracion_del_run.py::NoAplicaNoEsLoMismoQueNoSePudoTest::test_el_entrenador_FUNCTION_lo_declara
test_c82_r3_aplica_la_configuracion_del_run.py::NoAplicaNoEsLoMismoQueNoSePudoTest::test_si_NO_es_determinista_sigue_siendo_una_limitacion
test_c82_r3_aplica_la_configuracion_del_run.py::NoAplicaNoEsLoMismoQueNoSePudoTest::test_si_la_inicializacion_es_determinista_la_semilla_NO_bloquea
test_c82_r3_aplica_la_configuracion_del_run.py::NoAplicaNoEsLoMismoQueNoSePudoTest::test_y_su_inicializacion_lo_CUMPLE
test_c82_r3_aplica_la_configuracion_del_run.py::LasMetricasQueQUEDAN_EN_DISCO_seLeenTest::test_lee_los_numeros
test_c82_r3_aplica_la_configuracion_del_run.py::LasMetricasQueQUEDAN_EN_DISCO_seLeenTest::test_lo_que_NO_es_numero_no_entra
test_c82_r3_aplica_la_configuracion_del_run.py::LasMetricasQueQUEDAN_EN_DISCO_seLeenTest::test_sin_fichero_no_inventa_nada
test_c82_r3_aplica_la_configuracion_del_run.py::LasMetricasQueQUEDAN_EN_DISCO_seLeenTest::test_un_fichero_ilegible_no_tumba_la_verificacion
test_c82_tolerancia_medida.py::LaToleranciaVIAJACON_SU_ALCANCETest::test_con_ella_la_metrica_YA_es_comparable
test_c82_tolerancia_medida.py::LaToleranciaVIAJACON_SU_ALCANCETest::test_las_dos_cosas_juntas_o_ninguna
test_c82_tolerancia_medida.py::LaToleranciaVIAJACON_SU_ALCANCETest::test_lo_que_declara_el_llamante_MANDA
test_c82_tolerancia_medida.py::LaToleranciaVIAJACON_SU_ALCANCETest::test_si_el_llamante_declara_la_RELATIVA_tampoco_se_le_repone
test_c82_tolerancia_medida.py::LaToleranciaVIAJACON_SU_ALCANCETest::test_una_metrica_que_el_catalogo_NO_conoce_no_recibe_tolerancia
test_c82_tolerancia_medida.py::UnaToleranciaSoloValeDondeSeMIDIOTest::test_el_motivo_enseña_LOS_DOS_digests
test_c82_tolerancia_medida.py::UnaToleranciaSoloValeDondeSeMIDIOTest::test_en_EL_MISMO_entorno_la_tolerancia_aplica
test_c82_tolerancia_medida.py::UnaToleranciaSoloValeDondeSeMIDIOTest::test_en_OTRO_entorno_NO_aplica_y_se_dice_por_que
test_c82_tolerancia_medida.py::UnaToleranciaSoloValeDondeSeMIDIOTest::test_sin_alcance_declarado_no_se_estorba
test_c82_tolerancia_medida.py::UnaToleranciaSoloValeDondeSeMIDIOTest::test_sin_digest_de_entorno_tampoco_se_da_por_bueno
test_c82_tolerancia_medida.py::UnaToleranciaSoloValeDondeSeMIDIOTest::test_un_alcance_DESCONOCIDO_no_se_da_por_bueno
test_c82_tolerancia_medida.py::R3DA_UN_VEREDICTO_DE_VERDADTest::test_OTRO_valor_en_el_mismo_entorno_es_FAIL_con_los_dos_numeros
test_c82_tolerancia_medida.py::R3DA_UN_VEREDICTO_DE_VERDADTest::test_el_MISMO_valor_en_el_MISMO_entorno_es_PASS
test_c82_tolerancia_medida.py::R3DA_UN_VEREDICTO_DE_VERDADTest::test_en_OTRO_entorno_una_diferencia_NO_es_FAIL
test_c82_tolerancia_medida.py::R3DA_UN_VEREDICTO_DE_VERDADTest::test_y_en_otro_entorno_tampoco_se_apunta_un_PASS_gratis
test_c82_tolerancia_medida.py::ElValorMEDIDOTest::test_el_cero_esta_MEDIDO_no_supuesto
test_c82_tolerancia_medida.py::ElValorMEDIDOTest::test_el_entrenamiento_de_este_entorno_ES_repetible
test_c83_c4_deriva_de_verdad.py::ElInformeDelCoreSeSERIALIZATest::test_con_asdict_SI_y_results_es_un_DICCIONARIO
test_c83_c4_deriva_de_verdad.py::ElInformeDelCoreSeSERIALIZATest::test_un_DriftReport_no_se_puede_convertir_con_dict
test_c83_c4_deriva_de_verdad.py::LaSerieLEELoQueElCoreESCRIBETest::test_el_veredicto_es_EL_DEL_CORE_no_uno_deducido_aqui
test_c83_c4_deriva_de_verdad.py::LaSerieLEELoQueElCoreESCRIBETest::test_las_cinco_features_de_la_politica_aparecen
test_c83_c4_deriva_de_verdad.py::LaSerieLEELoQueElCoreESCRIBETest::test_sin_desplazamiento_tambien_se_lee_y_no_es_lo_mismo_que_no_medir
test_c83_c4_deriva_de_verdad.py::LaSerieLEELoQueElCoreESCRIBETest::test_una_medicion_de_verdad_NO_sale_como_una_serie_vacia
test_c83_c4_refinamiento.py::ElDiffSeVeTest::test_marca_lo_que_se_quita_y_lo_que_se_pone
test_c83_c4_refinamiento.py::ElDiffSeVeTest::test_no_se_pierde_ninguna_linea
test_c83_c4_refinamiento.py::ElDiffSeVeTest::test_sin_cambios_lo_dice_en_vez_de_devolver_una_lista_vacia
test_c83_c4_refinamiento.py::RechazarSinMotivoNoValeTest::test_aceptar_no_exige_motivo
test_c83_c4_refinamiento.py::RechazarSinMotivoNoValeTest::test_el_registro_dice_QUIEN_y_CUANDO
test_c83_c4_refinamiento.py::RechazarSinMotivoNoValeTest::test_sin_quien_no_hay_decision
test_c83_c4_refinamiento.py::RechazarSinMotivoNoValeTest::test_un_rechazo_sin_motivo_se_RECHAZA
test_c83_c4_refinamiento.py::LaDerivaEnElTiempoTest::test_lista_las_features_que_aparecen_para_poder_pintarlas
test_c83_c4_refinamiento.py::LaDerivaEnElTiempoTest::test_los_puntos_van_en_ORDEN_por_su_fecha
test_c83_c4_refinamiento.py::LaDerivaEnElTiempoTest::test_no_recalcula_el_veredicto_del_core
test_c83_c4_refinamiento.py::LaDerivaEnElTiempoTest::test_sin_informes_lo_dice_en_vez_de_una_serie_vacia
test_c83_c4_refinamiento.py::LaDerivaEnElTiempoTest::test_sin_muestras_suficientes_se_DICE
test_c83_c4_refinamiento.py::LaDerivaEnElTiempoTest::test_una_medicion_SALTADA_no_se_dibuja_como_un_cero
test_c83_registry_lectura_no_escribe.py::TestLeerNoCreaNada::test_construir_el_registry_no_toca_el_disco
test_c83_registry_lectura_no_escribe.py::TestLeerNoCreaNada::test_listar_un_registry_que_no_existe_devuelve_vacio
test_c83_registry_lectura_no_escribe.py::TestLeerNoCreaNada::test_pedir_una_entrada_que_no_existe_no_crea_el_registry
test_c83_registry_lectura_no_escribe.py::TestEscribirSiLaCrea::test_tag_crea_la_estructura_que_necesita
test_c83_registry_lectura_no_escribe.py::TestEscribirSiLaCrea::test_guardar_el_indice_crea_su_carpeta
test_c83_tipos_al_publicar.py::TestSeDeducenDelModeloQueSePublica::test_el_vector_de_entrada_y_la_salida_de_la_red
test_c83_tipos_al_publicar.py::TestSeDeducenDelModeloQueSePublica::test_viajan_en_el_manifiesto_que_se_escribe
test_c83_tipos_al_publicar.py::TestNoSeInventaNada::test_sin_modelo_no_hay_tipos
test_c83_tipos_al_publicar.py::TestNoSeInventaNada::test_lo_que_declara_quien_publica_manda
test_c83_tipos_al_publicar.py::TestLaIntegridadDeP21NoSeToca::test_los_tipos_no_cambian_el_entry_hash
test_c83_tipos_al_publicar.py::TestLoQueElModeloNoDICENoSeINVENTA::test_la_salida_sin_forma_se_publica_sin_forma
test_c83_tipos_al_publicar.py::TestLoQueElModeloNoDICENoSeINVENTA::test_y_esa_salida_casa_con_cualquier_tensor
test_c83_tipos_al_publicar.py::TestUnVectorQueNoCasaSeDETECTA::test_tallas_distintas_no_encajan
test_c83_tipos_al_publicar.py::TestUnVectorQueNoCasaSeDETECTA::test_la_misma_talla_encaja
test_c83_tipos_al_publicar.py::TestUnVectorQueNoCasaSeDETECTA::test_sin_talla_declarada_no_se_inventa_un_desencaje
test_c83_tipos_al_publicar.py::TestUnVectorQueNoCasaSeDETECTA::test_talla_cero_es_un_dato_no_un_hueco
test_c83_tipos_al_publicar.py::TestPorElPRODUCTONoSoloPorLaFUNCION::test_una_talla_que_no_encaja_se_rechaza
test_c83_tipos_al_publicar.py::TestPorElPRODUCTONoSoloPorLaFUNCION::test_la_talla_correcta_pasa
test_c83_tipos_al_publicar.py::TestLosDosExtremosHablanElMismoIdioma::test_un_vector_se_dice_como_se_dice_en_la_entrada
test_c83_tipos_al_publicar.py::TestLosDosExtremosHablanElMismoIdioma::test_un_tensor_lleva_su_forma
test_c83_tipos_al_publicar.py::TestLosDosExtremosHablanElMismoIdioma::test_un_escalar_se_queda_como_estaba
test_c83_tipos_al_publicar.py::TestLosDosExtremosHablanElMismoIdioma::test_las_etiquetas_no_son_el_tipo
test_c83_tipos_al_publicar.py::TestLosDosExtremosHablanElMismoIdioma::test_lo_que_no_se_sabe_leer_no_se_inventa
test_c83_tipos_al_publicar.py::TestElEjemploPasaSuPropioVerificador::test_el_pipeline_del_ejemplo_typechequea
test_c83_verificador_imports.py::TestElAliasImportadoEsUnNodoDeclarado::test_el_ejemplo_del_repositorio_se_verifica
test_c83_verificador_imports.py::TestElAliasImportadoEsUnNodoDeclarado::test_el_segundo_ejemplo_ya_no_señala_sus_piezas_importadas
test_c83_verificador_imports.py::TestElAliasImportadoEsUnNodoDeclarado::test_el_alias_importado_cuenta_como_declarado
test_c83_verificador_imports.py::TestSigueCazandoLoQueDebeCazar::test_un_nodo_que_nadie_declara_sigue_siendo_un_error
test_c83_verificador_imports.py::TestLoQueEsteARREGLONoCierra::test_un_network_alimentado_por_un_import_sigue_rechazandose
test_c85_c2b_motivos_en_su_idioma.py::ElInformeEnteroHablaUnSoloIdiomaTest::test_en_espanol_no_queda_ni_una_palabra_funcional_inglesa
test_c85_c2b_motivos_en_su_idioma.py::ElInformeEnteroHablaUnSoloIdiomaTest::test_en_ingles_no_queda_ni_una_palabra_funcional_espanola
test_c85_c2b_motivos_en_su_idioma.py::ElInformeEnteroHablaUnSoloIdiomaTest::test_una_clave_nueva_del_informe_no_se_cuela_sin_clasificar
test_c85_c2b_motivos_en_su_idioma.py::ElInformeEnteroHablaUnSoloIdiomaTest::test_y_el_barrido_LLEGA_a_prosa_de_verdad
test_c85_c2b_motivos_en_su_idioma.py::ElCatalogoEnteroEstaTraducidoTest::test_los_dos_idiomas_dicen_LAS_MISMAS_cosas
test_c85_c2b_motivos_en_su_idioma.py::ElCatalogoEnteroEstaTraducidoTest::test_ni_una_frase_del_catalogo_esta_en_el_idioma_equivocado
test_c85_c2b_motivos_en_su_idioma.py::ElCatalogoEnteroEstaTraducidoTest::test_no_sobra_ninguna_frase_ni_falta_ninguna
test_c85_c2b_motivos_en_su_idioma.py::LoQueNoEsProsaNoCambiaTest::test_el_nombre_de_la_opcion_del_CLI_tampoco_se_traduce
test_c85_c2b_motivos_en_su_idioma.py::LoQueNoEsProsaNoCambiaTest::test_el_veredicto_es_EL_MISMO_en_los_dos_idiomas
test_c85_c2b_motivos_en_su_idioma.py::LoQueNoEsProsaNoCambiaTest::test_la_version_desconocida_viaja_igual_dentro_del_motivo
test_c85_c2b_motivos_en_su_idioma.py::LoQueNoEsProsaNoCambiaTest::test_lo_que_el_PAQUETE_redacto_se_cita_sin_traducir
test_c85_c2b_motivos_en_su_idioma.py::LoQueNoEsProsaNoCambiaTest::test_los_nombres_de_etapa_no_se_traducen
test_c85_c2b_motivos_en_su_idioma.py::LoQueNoEsProsaNoCambiaTest::test_un_dato_interpolado_es_EL_MISMO_en_los_dos
test_c85_c2b_motivos_en_su_idioma.py::UnMotivoAUSENTE_SigueAusenteTest::test_un_PASS_no_estrena_motivo_por_traducirlo
test_c85_c2b_motivos_en_su_idioma.py::UnMotivoAUSENTE_SigueAusenteTest::test_y_lo_que_NO_es_PASS_sigue_trayéndolo_en_los_dos_idiomas
test_c85_c2b_motivos_en_su_idioma.py::ElIdiomaSePideYSeRESPETATest::test_ES_y_En_con_mayusculas_son_el_mismo_idioma
test_c85_c2b_motivos_en_su_idioma.py::ElIdiomaSePideYSeRESPETATest::test_por_defecto_es_espanol_como_el_resto_del_core
test_c85_c2b_motivos_en_su_idioma.py::ElIdiomaSePideYSeRESPETATest::test_un_idioma_que_no_existe_cae_al_espanol_y_no_revienta
test_c85_c2b_motivos_en_su_idioma.py::ElCLI_PuedePedirElIdiomaTest::test_el_defecto_del_CLI_sigue_siendo_ingles
test_c85_c2b_motivos_en_su_idioma.py::ElCLI_PuedePedirElIdiomaTest::test_el_json_tambien_respeta_el_idioma
test_c85_c2b_motivos_en_su_idioma.py::ElCLI_PuedePedirElIdiomaTest::test_los_status_y_las_etapas_salen_igual_en_los_dos
test_c85_c2b_motivos_en_su_idioma.py::ElCLI_PuedePedirElIdiomaTest::test_y_el_codigo_de_salida_tampoco
test_c85_c2b_motivos_en_su_idioma.py::ElCLI_PuedePedirElIdiomaTest::test_y_se_le_puede_pedir_espanol
test_c85_c5a_receta_desde_el_cli.py::ElTipoDelObjetivoSeLEE_noSeAdivinaTest::test_las_clases_salen_de_los_parametros_del_tipo
test_c85_c5a_receta_desde_el_cli.py::ElTipoDelObjetivoSeLEE_noSeAdivinaTest::test_un_objetivo_continuo_no_tiene_clases_que_devolver
test_c85_c5a_receta_desde_el_cli.py::ElTipoDelObjetivoSeLEE_noSeAdivinaTest::test_un_objetivo_de_clases_NO_es_continuo
test_c85_c5a_receta_desde_el_cli.py::ElTipoDelObjetivoSeLEE_noSeAdivinaTest::test_un_objetivo_escalar_SI
test_c85_c5a_receta_desde_el_cli.py::LaFuncionEXTRAIDAEsLaMismaParaLosDosTest::test_reglas_de_clases_sobre_un_objetivo_CONTINUO_se_rechazan
test_c85_c5a_receta_desde_el_cli.py::LaFuncionEXTRAIDAEsLaMismaParaLosDosTest::test_sin_receta_no_hay_nada_que_resolver
test_c85_c5a_receta_desde_el_cli.py::LaFuncionEXTRAIDAEsLaMismaParaLosDosTest::test_una_receta_ILEGIBLE_no_da_reglas_a_medias
test_c85_c5a_receta_desde_el_cli.py::LaFuncionEXTRAIDAEsLaMismaParaLosDosTest::test_una_receta_de_clases_da_reglas
test_c85_c5a_receta_desde_el_cli.py::LosRangosDeclaradosMandanTest::test_con_rangos_declarados_la_condicion_esta_VIVA
test_c85_c5a_receta_desde_el_cli.py::LosRangosDeclaradosMandanTest::test_los_rangos_del_mxai_llegan_al_aviso
test_c85_c5a_receta_desde_el_cli.py::LosRangosDeclaradosMandanTest::test_un_campo_sin_rango_no_entra_en_el_mapa
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_el_modo_viaja_porque_sin_el_R1_no_compara
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_la_receta_viaja_con_su_digest_o_no_viaja
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_lleva_la_identidad_del_run
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_sin_ninguna_semilla_no_se_escribe_la_clave
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_una_captura_IMPOSIBLE_se_corta_al_construirla
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_una_semilla_que_no_se_sabe_NO_viaja_como_nula
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaCapturaSeConstruyeYSeValidaTest::test_warm_start_false_es_una_AFIRMACION
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::ElDispositivoSeComparaNoSeImponeTest::test_si_COINCIDE_queda_aplicado
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::ElDispositivoSeComparaNoSeImponeTest::test_si_NO_SE_SABE_no_se_afirma_nada
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::ElDispositivoSeComparaNoSeImponeTest::test_si_NO_coincide_sigue_sin_aplicarse
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LoQueElCLI_LeeDelManifiestoTest::test_del_manifiesto_salen_los_tres
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LoQueElCLI_LeeDelManifiestoTest::test_sin_manifiesto_queda_la_semilla_suelta_y_NINGUN_total
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LoQueElCLI_LeeDelManifiestoTest::test_un_manifiesto_ilegible_no_tumba_el_entrenamiento
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaExactitudSEESCRIBE_noSoloSeImprimeTest::test_la_traza_guarda_la_exactitud_que_el_CLI_imprime
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LaExactitudSEESCRIBE_noSoloSeImprimeTest::test_y_tambien_las_metricas_de_clasificacion_que_ya_calculaba
test_c85_c5b_el_cli_produce_paquetes_que_se_demuestran.py::LasDireccionesDeLasMetricasTest::test_mas_exactitud_es_mejor_y_menos_perdida_tambien
test_c85_c6_ficha_tripod.py::LaFichaDiceLoQueHayTest::test_la_receta_viaja_entera_dentro_de_la_ficha
test_c85_c6_ficha_tripod.py::LaFichaDiceLoQueHayTest::test_las_cifras_del_run_salen_por_su_nombre
test_c85_c6_ficha_tripod.py::LaFichaNoInventaTest::test_NUNCA_se_imprime_un_None_crudo
test_c85_c6_ficha_tripod.py::LaFichaNoInventaTest::test_lo_que_la_ficha_NO_puede_rellenar_va_ENUMERADO
test_c85_c6_ficha_tripod.py::LaFichaNoInventaTest::test_sin_metricas_no_se_pinta_una_tabla_vacia
test_c85_c6_ficha_tripod.py::LaFichaNoInventaTest::test_un_hueco_se_dice_Y_POR_QUE
test_c85_c6_ficha_tripod.py::LaFichaNoInventaTest::test_un_paquete_sin_manifiesto_no_produce_una_ficha_vacia
test_c85_c6_ficha_tripod.py::LaFichaNoPrometeTest::test_dice_que_no_es_un_producto_sanitario
test_c85_c6_ficha_tripod.py::LaFichaNoPrometeTest::test_el_aviso_de_datos_SINTETICOS_va_arriba_del_todo
test_c85_c6_ficha_tripod.py::LaFichaNoPrometeTest::test_sin_receta_no_se_declara_sintetico_lo_que_no_lo_es
test_c85_c6_ficha_tripod.py::LaFichaHablaUnSoloIdiomaTest::test_en_espanol_no_se_cuela_el_motivo_en_ingles
test_c85_c6_ficha_tripod.py::LaFichaHablaUnSoloIdiomaTest::test_y_en_ingles_no_se_cuela_el_castellano
test_c85_c6_ficha_tripod.py::LosPredictoresSalenDelPAQUETESiHaceFaltaTest::test_manda_lo_que_diga_el_MANIFIESTO_cuando_lo_dice
test_c85_c6_ficha_tripod.py::LosPredictoresSalenDelPAQUETESiHaceFaltaTest::test_se_leen_del_modelo_con_su_rango
test_c85_c6_ficha_tripod.py::LosPredictoresSalenDelPAQUETESiHaceFaltaTest::test_sin_modelo_en_el_paquete_se_dice_que_no_hay
test_c85_c6_ficha_tripod.py::LosPredictoresSalenDelPAQUETESiHaceFaltaTest::test_un_mxai_ilegible_no_produce_una_lista_a_medias
test_c85_divergencia_accionable.py::LaGuardaCazaLaDivergenciaTest::test_PESOS_FINITOS_pero_el_cuadrado_del_error_desborda
test_c85_divergencia_accionable.py::LaGuardaCazaLaDivergenciaTest::test_el_mensaje_dice_QUE_HACER_y_no_promete_que_funcione
test_c85_divergencia_accionable.py::LaGuardaCazaLaDivergenciaTest::test_pesos_INFINITOS
test_c85_divergencia_accionable.py::LaGuardaCazaLaDivergenciaTest::test_sin_escala_medible_el_mensaje_no_se_la_inventa
test_c85_divergencia_accionable.py::LaGuardaCazaLaDivergenciaTest::test_una_etiqueta_que_no_es_un_numero_no_tumba_la_guarda
test_c85_divergencia_accionable.py::LaGuardaCazaLaDivergenciaTest::test_unos_pesos_sanos_no_levantan_nada
test_c85_divergencia_accionable.py::LaGuardaESTA_CABLEADA_alEntrenamientoTest::test_entrenar_algo_que_diverge_levanta_el_error_ACCIONABLE
test_c85_el_nombre_de_los_pesos.py::LosDosNombresTest::test_el_modelo_se_puede_parsear_con_lo_que_deja
test_c85_el_nombre_de_los_pesos.py::LosDosNombresTest::test_una_RED_deja_los_dos_ficheros
test_c85_el_nombre_de_los_pesos.py::LosDosNombresTest::test_y_son_EL_MISMO_contenido
test_c85_el_paquete_citado_y_traducido.py::LasDosListasDicenLO_MISMOTest::test_ni_una_clave_sin_pareja
test_c85_el_paquete_citado_y_traducido.py::LasDosListasDicenLO_MISMOTest::test_y_ninguna_se_queda_en_blanco
test_c85_el_paquete_citado_y_traducido.py::NO_SE_INVENTA_LoQueNoSabeDecirTest::test_con_las_que_sabe_compone_la_frase_entera
test_c85_el_paquete_citado_y_traducido.py::NO_SE_INVENTA_LoQueNoSabeDecirTest::test_respeta_el_ORDEN_en_que_llegan
test_c85_el_paquete_citado_y_traducido.py::NO_SE_INVENTA_LoQueNoSabeDecirTest::test_si_no_sabe_decir_NINGUNA_devuelve_None
test_c85_el_paquete_citado_y_traducido.py::NO_SE_INVENTA_LoQueNoSabeDecirTest::test_una_clave_desconocida_se_ENUMERA
test_c85_el_paquete_citado_y_traducido.py::NO_SE_INVENTA_LoQueNoSabeDecirTest::test_y_no_entra_en_la_frase
test_c85_el_paquete_citado_y_traducido.py::NO_ES_UNA_TRADUCCION_DE_LA_FRASETest::test_la_funcion_no_recibe_la_frase_inglesa
test_c85_el_paquete_publicado_REPRODUCE.py::ElDatasetSeEscribeDONDE_EL_CONTRATO_LO_CITATest::test_la_carpeta_del_contrato_se_RESPETA
test_c85_el_paquete_publicado_REPRODUCE.py::ElDatasetSeEscribeDONDE_EL_CONTRATO_LO_CITATest::test_ni_una_que_SUBE_de_directorio
test_c85_el_paquete_publicado_REPRODUCE.py::ElDatasetSeEscribeDONDE_EL_CONTRATO_LO_CITATest::test_sin_carpeta_sigue_siendo_el_nombre
test_c85_el_paquete_publicado_REPRODUCE.py::ElDatasetSeEscribeDONDE_EL_CONTRATO_LO_CITATest::test_sin_fuente_hay_un_nombre_por_defecto
test_c85_el_paquete_publicado_REPRODUCE.py::ElDatasetSeEscribeDONDE_EL_CONTRATO_LO_CITATest::test_una_ruta_ABSOLUTA_no_se_obedece
test_c85_el_paquete_publicado_REPRODUCE.py::SeReentrenaConLA_MISMA_PARTETest::test_con_una_sola_fila_no_se_parte
test_c85_el_paquete_publicado_REPRODUCE.py::SeReentrenaConLA_MISMA_PARTETest::test_un_CSV_propio_se_escribe_ENTERO
test_c85_el_paquete_publicado_REPRODUCE.py::SeReentrenaConLA_MISMA_PARTETest::test_un_train_de_generate_dataset_se_PARTE_80_20
test_c85_el_paquete_publicado_REPRODUCE.py::SeReentrenaConLA_MISMA_PARTETest::test_y_las_filas_no_se_pierden_ni_se_repiten
test_c85_el_paquete_publicado_REPRODUCE.py::ElCorteLO_DECIDE_UN_SOLO_SITIOTest::test_el_CLI_llama_a_la_regla_comun
test_c85_el_paquete_publicado_REPRODUCE.py::ElCorteLO_DECIDE_UN_SOLO_SITIOTest::test_el_nombre_del_eval_sale_del_de_train
test_c85_el_paquete_publicado_REPRODUCE.py::ElCorteLO_DECIDE_UN_SOLO_SITIOTest::test_ninguna_parte_se_queda_VACIA
test_c85_el_paquete_publicado_REPRODUCE.py::ConducidoDE_VERDAD_DesdeOtroDirectorioTest::test_desde_un_directorio_LIMPIO_las_cuatro_etapas_pasan
test_c85_el_paquete_publicado_REPRODUCE.py::UnZIP_SE_PUEDE_VerificarTest::test_las_cuatro_etapas_salen_igual_que_desde_la_carpeta
test_c85_el_paquete_publicado_REPRODUCE.py::UnZIP_SE_PUEDE_VerificarTest::test_un_ZIP_que_ESCAPA_no_se_descomprime_a_medias
test_c85_el_paquete_publicado_REPRODUCE.py::ElCoreNoDECLARA_LaLicenciaDeUnosDatosQueNoHaVistoTest::test_el_motivo_dice_lo_que_FALTA_no_por_que
test_c85_el_paquete_publicado_REPRODUCE.py::ElCoreNoDECLARA_LaLicenciaDeUnosDatosQueNoHaVistoTest::test_y_ya_NO_afirma_nada_sobre_redistribuir
test_c85_exactitud_vacua.py::UnVectorDeUnElementoNoTieneClasesTest::test_con_DOS_clases_de_verdad_mide_como_siempre
test_c85_exactitud_vacua.py::UnVectorDeUnElementoNoTieneClasesTest::test_el_camino_multiclase_se_NIEGA
test_c85_exactitud_vacua.py::UnVectorDeUnElementoNoTieneClasesTest::test_y_una_exactitud_MALA_sigue_saliendo_mala
test_c85_exactitud_vacua.py::FormasQueNoCasanTest::test_dos_salidas_contra_un_objetivo_escalar_se_niega
test_c85_exactitud_vacua.py::FormasQueNoCasanTest::test_el_binario_de_UNA_salida_contra_UN_objetivo_sigue_valiendo
test_c85_exactitud_vacua.py::FormasQueNoCasanTest::test_lo_mismo_en_el_camino_binario
test_c85_hallazgo13_normalizacion.py::LosRangosDeclaradosSeLeenTest::test_del_objetivo_solo_si_es_continuo
test_c85_hallazgo13_normalizacion.py::LosRangosDeclaradosSeLeenTest::test_del_vector_sale_lo_que_declara
test_c85_hallazgo13_normalizacion.py::LosRangosDeclaradosSeLeenTest::test_en_CLASIFICACION_la_etiqueta_no_se_escala
test_c85_hallazgo13_normalizacion.py::LosRangosDeclaradosSeLeenTest::test_lo_que_NO_declara_rango_no_entra
test_c85_hallazgo13_normalizacion.py::LosRangosDeclaradosSeLeenTest::test_sin_rango_declarado_el_objetivo_no_se_toca
test_c85_hallazgo13_normalizacion.py::LosRangosDeclaradosSeLeenTest::test_un_rango_al_reves_o_degenerado_no_se_usa
test_c85_hallazgo13_normalizacion.py::NormalizarFilasTest::test_devuelve_lo_APLICADO_para_que_el_export_lo_repita
test_c85_hallazgo13_normalizacion.py::NormalizarFilasTest::test_escala_solo_las_columnas_con_dominio
test_c85_hallazgo13_normalizacion.py::NormalizarFilasTest::test_sin_dominios_no_toca_nada_y_lo_dice
test_c85_hallazgo13_normalizacion.py::NormalizarFilasTest::test_una_fila_mas_corta_que_los_campos_no_revienta
test_c85_hallazgo13_normalizacion.py::ElEntrenadorLasAPLICATest::test_el_camino_FUNCTION_normaliza_entradas_y_objetivo
test_c85_hallazgo13_normalizacion.py::ElEntrenadorLasAPLICATest::test_sin_nada_declarado_devuelve_los_MISMOS_ejemplos
test_c85_hallazgo4_export_regresion_lineal.py::UnaSolaListaDiceQueSeExportaTest::test_la_regresion_lineal_esta_soportada
test_c85_hallazgo4_export_regresion_lineal.py::UnaSolaListaDiceQueSeExportaTest::test_y_equivalence_usa_LA_MISMA_lista
test_c85_hallazgo4_export_regresion_lineal.py::ElKelvinSeExportaYPREDICELoMismoTest::test_el_paquete_SALE
test_c85_hallazgo4_export_regresion_lineal.py::ElKelvinSeExportaYPREDICELoMismoTest::test_la_salida_NO_esta_aplastada_entre_0_y_1
test_c85_hallazgo4_export_regresion_lineal.py::ElKelvinSeExportaYPREDICELoMismoTest::test_una_regresion_NO_lleva_etiquetas_de_clase
test_c85_hallazgo4_export_regresion_lineal.py::ElKelvinSeExportaYPREDICELoMismoTest::test_y_el_ONNX_convierte_de_verdad
test_c85_metrica_de_la_tarea.py::LaMetricaQueAplicaTest::test_con_solo_MAE_tambien_es_regresion
test_c85_metrica_de_la_tarea.py::LaMetricaQueAplicaTest::test_sin_metrics_json_no_se_inventa_nada_y_cae_a_lo_de_siempre
test_c85_metrica_de_la_tarea.py::LaMetricaQueAplicaTest::test_un_metrics_json_ilegible_no_tumba_el_entrenamiento
test_c85_metrica_de_la_tarea.py::LaMetricaQueAplicaTest::test_una_CLASIFICACION_sigue_enseñando_la_exactitud
test_c85_metrica_de_la_tarea.py::LaMetricaQueAplicaTest::test_una_REGRESION_enseña_R2_y_MAE_y_NO_accuracy
test_c85_modo_efectivo_en_la_captura.py::ElGeneradorPublicaElModoEfectivoTest::test_SIN_receta_el_pedido_dice_coherente_y_el_efectivo_dice_ALEATORIO
test_c85_modo_efectivo_en_la_captura.py::ElGeneradorPublicaElModoEfectivoTest::test_aleatorio_es_aleatorio_por_los_dos_lados
test_c85_modo_efectivo_en_la_captura.py::ElGeneradorPublicaElModoEfectivoTest::test_con_receta_el_efectivo_es_el_pedido
test_c85_modo_efectivo_en_la_captura.py::LaCapturaLlevaElModoTest::test_el_modo_declarado_viaja_a_la_captura_con_el_nombre_QUE_EL_CORE_LEE
test_c85_modo_efectivo_en_la_captura.py::LaCapturaLlevaElModoTest::test_sin_declararlo_la_captura_dice_que_NO_CONSTA
test_c85_receta_ilegible_se_dice.py::LaRecetaIlegibleSeCuentaTest::test_con_parentesis_el_producto_DICE_que_no_pudo_leerla
test_c85_receta_ilegible_se_dice.py::LaRecetaIlegibleSeCuentaTest::test_el_aviso_generico_ya_NO_manda_a_mirar_el_modo_de_generacion
test_c85_receta_ilegible_se_dice.py::LaRecetaIlegibleSeCuentaTest::test_los_codigos_del_validador_NO_se_meten_en_la_frase
test_c85_receta_ilegible_se_dice.py::LaRecetaIlegibleSeCuentaTest::test_sin_receta_el_aviso_generico_sigue_como_estaba
test_c85_receta_ilegible_se_dice.py::LaRecetaIlegibleSeCuentaTest::test_una_receta_QUE_SE_LEE_no_saca_ningun_aviso_de_receta
test_c85_receta_ilegible_se_dice.py::ElCoreYaSabiaLoQuePasabaTest::test_los_parentesis_no_dejan_ni_una_regla
test_c85_receta_ilegible_se_dice.py::ElCoreYaSabiaLoQuePasabaTest::test_y_una_regla_simple_si
test_c85_receta_ilegible_se_dice.py::LaRecetaQueSeLeeAMediasTest::test_el_dataset_sigue_siendo_de_dominio_porque_lo_es
test_c85_receta_ilegible_se_dice.py::LaRecetaQueSeLeeAMediasTest::test_la_linea_que_se_cayo_se_ENUMERA
test_c85_receta_ilegible_se_dice.py::LaRecetaQueSeLeeAMediasTest::test_las_directivas_NO_cuentan_como_lineas_caidas
test_c85_receta_ilegible_se_dice.py::LaRecetaQueSeLeeAMediasTest::test_una_receta_ENTERA_no_declara_ninguna_caida
test_c85_receta_ilegible_se_dice.py::LaRecetaQueSeLeeAMediasTest::test_y_el_aviso_dice_lo_que_eso_significa
test_c85_receta_ilegible_se_dice.py::CondicionesMuertasTest::test_con_el_dominio_DECLARADO_la_misma_condicion_esta_viva
test_c85_receta_ilegible_se_dice.py::CondicionesMuertasTest::test_el_producto_lo_DICE_al_generar
test_c85_receta_ilegible_se_dice.py::CondicionesMuertasTest::test_un_campo_sin_dominio_QUE_NO_SE_PUEDE_LEER_no_se_juzga
test_c85_receta_ilegible_se_dice.py::CondicionesMuertasTest::test_un_umbral_fuera_del_dominio_no_se_cumple_nunca
test_c85_receta_ilegible_se_dice.py::CondicionesMuertasTest::test_una_receta_con_todo_vivo_no_saca_el_aviso
test_c85_receta_ilegible_se_dice.py::CondicionesMuertasTest::test_y_uno_que_lo_abarca_todo_se_cumple_SIEMPRE
test_c85_run_imprime_la_prediccion.py::LaPrediccionSeImprimeTest::test_NO_se_vuelca_el_estado_entero
test_c85_run_imprime_la_prediccion.py::LaPrediccionSeImprimeTest::test_sin_programa_no_revienta_y_no_inventa_nada
test_c85_run_imprime_la_prediccion.py::LaPrediccionSeImprimeTest::test_un_clasificador_NOMBRA_SUS_CLASES
test_c85_run_imprime_la_prediccion.py::LaPrediccionSeImprimeTest::test_una_etiqueta_de_mas_no_se_empareja_a_ciegas
test_c85_run_imprime_la_prediccion.py::LaPrediccionSeImprimeTest::test_una_regresion_ENSEÑA_SU_NUMERO
test_c85_run_imprime_la_prediccion.py::LasSalidasSeLeenDelIRTest::test_de_una_funcion_y_de_una_red
test_c86_c1_sobre_dsse.py::ElSobreVaEnBASE64Test::test_decodifica_a_los_bytes_JCS_que_se_firmaron
test_c86_c1_sobre_dsse.py::ElSobreVaEnBASE64Test::test_el_RESTO_del_sobre_no_cambia
test_c86_c1_sobre_dsse.py::ElSobreVaEnBASE64Test::test_el_payload_emitido_es_base64_estandar
test_c86_c1_sobre_dsse.py::ElSobreVaEnBASE64Test::test_y_NO_va_en_claro
test_c86_c1_sobre_dsse.py::ElPAESigueSobreLosBYTESCRUDOSTest::test_la_firma_cuadra_con_el_PAE_de_los_bytes_DECODIFICADOS
test_c86_c1_sobre_dsse.py::ElPAESigueSobreLosBYTESCRUDOSTest::test_se_verifica_sobre_LO_QUE_SALE_DEL_BASE64_no_sobre_un_recompuesto
test_c86_c1_sobre_dsse.py::ElPAESigueSobreLosBYTESCRUDOSTest::test_y_NO_con_el_PAE_del_base64
test_c86_c1_sobre_dsse.py::UnaImplementacionAJENADeDSSELoAceptaTest::test_lo_verifica_y_saca_el_recibo
test_c86_c1_sobre_dsse.py::UnaImplementacionAJENADeDSSELoAceptaTest::test_y_ESE_MISMO_verificador_no_podia_con_el_formato_anterior
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_compare_lo_rechaza_diciendolo
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_el_CLI_lo_rechaza_diciendolo_y_con_codigo_2
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_el_NIVEL_de_un_sobre_ilegible_es_A0
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_el_verificador_del_81_C4_tambien
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_inspect_lo_rechaza_diciendolo
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_lo_que_NO_es_base64_NI_el_formato_anterior_se_dice_aparte
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_un_payload_en_claro_NUNCA_pasa_por_base64_valido
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_verificar_recibo_lo_rechaza_diciendolo
test_c86_c1_sobre_dsse.py::ElFormatoANTERIORSeRechazaConSuMOTIVOTest::test_y_no_sale_con_medio_informe
test_c86_c1_sobre_dsse.py::ElBASE64NoEsUnaFIRMATest::test_cambiar_el_contenido_y_recodificar_no_cuela
test_c86_c1_sobre_dsse.py::ElBASE64NoEsUnaFIRMATest::test_cambiar_el_payloadType_tampoco
test_c86_c1_sobre_dsse.py::ElBASE64NoEsUnaFIRMATest::test_un_sobre_INTACTO_si_verifica
test_c86_c1_sobre_dsse.py::ElBASE64NoEsUnaFIRMATest::test_y_el_verificador_del_81_C4_tampoco_lo_aprueba
test_c86_c2_statement_in_toto.py::ElSobreEsUnStatementDeVerdadTest::test_el_predicado_es_NUESTRO_y_va_versionado_por_URL
test_c86_c2_statement_in_toto.py::ElSobreEsUnStatementDeVerdadTest::test_el_recibo_entero_viaja_como_predicado
test_c86_c2_statement_in_toto.py::ElSobreEsUnStatementDeVerdadTest::test_lleva_el_tipo_y_el_payload_type_estandar
test_c86_c2_statement_in_toto.py::ElSobreEsUnStatementDeVerdadTest::test_los_digests_van_SIN_el_prefijo_del_algoritmo
test_c86_c2_statement_in_toto.py::ElSobreEsUnStatementDeVerdadTest::test_los_sujetos_son_el_pipeline_y_sus_modelos
test_c86_c2_statement_in_toto.py::ElSobreEsUnStatementDeVerdadTest::test_un_recibo_que_no_cumple_14_2_NO_se_envuelve
test_c86_c2_statement_in_toto.py::LosDosSobresValenLoMismoTest::test_el_NIVEL_es_el_mismo_por_los_dos_caminos
test_c86_c2_statement_in_toto.py::LosDosSobresValenLoMismoTest::test_el_PAE_ata_el_tipo_al_contenido
test_c86_c2_statement_in_toto.py::LosDosSobresValenLoMismoTest::test_el_de_in_toto_verifica_igual_que_el_nativo
test_c86_c2_statement_in_toto.py::LosDosSobresValenLoMismoTest::test_una_clave_que_no_es_no_verifica_ninguno
test_c86_c2_statement_in_toto.py::LoQueNoSeInterpretaAMediasTest::test_un_Statement_de_OTRO_predicado_no_se_lee_como_nuestro
test_c86_c2_statement_in_toto.py::LoQueNoSeInterpretaAMediasTest::test_un_sobre_nativo_sigue_dando_su_recibo
test_c86_c2_statement_in_toto.py::LoQueNoSeInterpretaAMediasTest::test_y_el_tipo_nativo_no_ha_cambiado
test_c86_c3_ml_bom.py::ValidaContraElEsquemaOficialTest::test_cero_errores_de_esquema
test_c86_c3_ml_bom.py::ValidaContraElEsquemaOficialTest::test_declara_la_version_que_dice_emitir
test_c86_c3_ml_bom.py::EsDeterministaTest::test_el_mismo_paquete_da_el_MISMO_numero_de_serie
test_c86_c3_ml_bom.py::EsDeterministaTest::test_y_un_paquete_DISTINTO_da_otro
test_c86_c3_ml_bom.py::NoRellenaLoQueNoSabeTest::test_sin_manifiesto_no_hay_BOM_vacio
test_c86_c3_ml_bom.py::NoRellenaLoQueNoSabeTest::test_un_ausente_no_se_escribe_como_texto
test_c86_c3_ml_bom.py::NoRellenaLoQueNoSabeTest::test_y_lo_que_falta_se_puede_ENUMERAR
test_c86_c3_ml_bom.py::LosAvisosVanDondeSeBuscanTest::test_las_metricas_viajan_con_su_dataset
test_c86_c3_ml_bom.py::LosAvisosVanDondeSeBuscanTest::test_los_datos_sinteticos_se_declaran_en_las_consideraciones
test_c86_c3_ml_bom.py::LosAvisosVanDondeSeBuscanTest::test_un_paquete_NO_reproducible_lo_dice_con_su_motivo
test_c86_c3_ml_bom.py::SinSemanticaInventadaTest::test_NO_se_inventa_un_intervalo_de_confianza
test_c86_c3_ml_bom.py::SinSemanticaInventadaTest::test_el_digest_y_la_direccion_NO_desaparecen
test_c86_c3_ml_bom.py::SinSemanticaInventadaTest::test_la_particion_va_en_SLICE_que_es_para_eso
test_c86_c3_ml_bom.py::SinSemanticaInventadaTest::test_lo_que_falta_incluye_la_LICENCIA
test_c86_c3_ml_bom.py::SinSemanticaInventadaTest::test_una_receta_a_None_no_revienta
test_c86_c3_ml_bom.py::SinSemanticaInventadaTest::test_y_la_RECETA_cuando_no_la_hay
test_c86_c4_sigstore.py::DiceQueFaltaYPorQueTest::test_con_biblioteca_pero_sin_identidad_NO_manda_a_instalar_nada
test_c86_c4_sigstore.py::DiceQueFaltaYPorQueTest::test_con_identidad_pero_sin_biblioteca_manda_a_instalarla
test_c86_c4_sigstore.py::DiceQueFaltaYPorQueTest::test_con_las_dos_cosas_dice_que_SI_y_sin_motivo
test_c86_c4_sigstore.py::DiceQueFaltaYPorQueTest::test_sin_biblioteca_y_sin_identidad_lo_dice_TODO
test_c86_c4_sigstore.py::NoDevuelveUnBundleAMediasTest::test_si_la_firma_revienta_se_DICE_y_no_se_devuelve_nada
test_c86_c4_sigstore.py::NoDevuelveUnBundleAMediasTest::test_sin_nada_levanta_su_motivo
test_c86_c4_sigstore.py::SigstoreNoSubeElNivelTest::test_el_modulo_lo_deja_ESCRITO
test_c86_c4_sigstore.py::SigstoreNoSubeElNivelTest::test_un_recibo_sin_evidencia_reproducible_sigue_siendo_A1
test_c86_c4_sigstore.py::SigstoreNoSubeElNivelTest::test_y_con_ella_es_A2_por_LA_EVIDENCIA_no_por_la_firma
test_c86_integrado_en_el_producto.py::ElProductoEmiteLosDosSobresTest::test_con_key_e_in_toto_se_escriben_LOS_DOS
test_c86_integrado_en_el_producto.py::ElProductoEmiteLosDosSobresTest::test_el_statement_lleva_el_SUJETO_del_modelo
test_c86_integrado_en_el_producto.py::ElProductoEmiteLosDosSobresTest::test_sin_key_el_in_toto_se_RECHAZA
test_c86_integrado_en_el_producto.py::SigstoreNoCaeAHmacEnSilencioTest::test_dice_QUE_falta_y_no_escribe_recibo
test_c86_integrado_en_el_producto.py::SigstoreNoCaeAHmacEnSilencioTest::test_el_CLI_lo_OFRECE
test_c86_integrado_en_el_producto.py::LosSobresEXTRA_TAMBIEN_SIN_FicheroTest::test_in_toto_sin_o_SALE_por_la_salida
test_c86_integrado_en_el_producto.py::LosSobresEXTRA_TAMBIEN_SIN_FicheroTest::test_sin_sobres_extra_la_salida_NO_cambia_de_forma
test_c86_integrado_en_el_producto.py::LosSobresEXTRA_TAMBIEN_SIN_FicheroTest::test_y_dice_como_separarlos_en_ficheros
test_c86_integrado_en_el_producto.py::UnReciboFirmadoConSigstoreNoSeDeclaraSIN_FIRMARTest::test_con_bundle_de_sigstore_NO_es_A0
test_c86_integrado_en_el_producto.py::UnReciboFirmadoConSigstoreNoSeDeclaraSIN_FIRMARTest::test_un_bundle_VACIO_no_cuenta_como_firma
test_c86_integrado_en_el_producto.py::UnReciboFirmadoConSigstoreNoSeDeclaraSIN_FIRMARTest::test_y_sigue_SIN_subir_de_nivel_por_firmar_mejor
test_c87_c1_ejecutor_onnx.py::CorreUnModeloAjenoTest::test_dice_si_pudo_contrastar_la_forma_o_no
test_c87_c1_ejecutor_onnx.py::CorreUnModeloAjenoTest::test_ejecuta_y_devuelve_sus_valores
test_c87_c1_ejecutor_onnx.py::CorreUnModeloAjenoTest::test_el_digest_se_comprueba_AL_EJECUTAR
test_c87_c1_ejecutor_onnx.py::CorreUnModeloAjenoTest::test_sin_digest_declarado_no_se_ejecuta
test_c87_c1_ejecutor_onnx.py::CorreUnModeloAjenoTest::test_una_entrada_de_otra_forma_NO_se_recorta_ni_se_rellena
test_c87_c1_ejecutor_onnx.py::UnPipelineNoEligeQueFicheroSeAbreTest::test_un_fichero_que_no_esta_se_dice
test_c87_c1_ejecutor_onnx.py::UnPipelineNoEligeQueFicheroSeAbreTest::test_una_ruta_fuera_de_la_raiz_no_se_abre
test_c87_c1_ejecutor_onnx.py::LaVerificacionPreviaConoceEstosKindsTest::test_onnx_esta_declarado_fuera_del_registry
test_c87_c1_ejecutor_onnx.py::LaVerificacionPreviaConoceEstosKindsTest::test_pero_SIGUE_exigiendo_el_digest
test_c87_c1_ejecutor_onnx.py::LaVerificacionPreviaConoceEstosKindsTest::test_un_kind_normal_sigue_resolviendose_por_el_registry
test_c87_c1_ejecutor_onnx.py::DePUNTA_A_PUNTA_porElMotorTest::test_el_motor_corre_un_pipeline_con_un_modelo_ajeno
test_c87_c1_ejecutor_onnx.py::LosTiposDECLARADOSSeContrastanTest::test_un_entero_recibe_ENTEROS
test_c87_c1_ejecutor_onnx.py::LosTiposDECLARADOSSeContrastanTest::test_un_float_sigue_siendo_float
test_c87_c1_ejecutor_onnx.py::LosTiposDECLARADOSSeContrastanTest::test_un_tipo_que_no_sabe_alimentar_se_DICE
test_c87_c1_ejecutor_onnx.py::LosTiposDECLARADOSSeContrastanTest::test_y_un_3_7_contra_un_int64_se_RECHAZA
test_c87_c1_ejecutor_onnx.py::LaFormaNoConfundeElLOTEConLasCaracteristicasTest::test_un_eje_dinamico_no_se_rechaza_se_DECLARA_no_comprobado
test_c87_c1_ejecutor_onnx.py::LaFormaNoConfundeElLOTEConLasCaracteristicasTest::test_una_forma_entera_si_se_contrasta
test_c87_c1_ejecutor_onnx.py::LaFormaNoConfundeElLOTEConLasCaracteristicasTest::test_y_el_lote_no_cuenta_como_caracteristica
test_c87_c1_ejecutor_onnx.py::LosDosCaminosAlimentanIGUALTest::test_los_dos_modulos_importan_el_MISMO_ayudante
test_c87_c1_ejecutor_onnx.py::LosDosCaminosAlimentanIGUALTest::test_un_eje_DINAMICO_no_se_confunde_con_una_caracteristica
test_c87_c2_attest.py::AtestiguaLoQueMideTest::test_dice_cuantas_filas_MIDIO_y_cuantas_habia
test_c87_c2_attest.py::AtestiguaLoQueMideTest::test_el_mismo_modelo_y_los_mismos_datos_dan_el_MISMO_id
test_c87_c2_attest.py::AtestiguaLoQueMideTest::test_el_recibo_declara_QUE_NO_demuestra
test_c87_c2_attest.py::AtestiguaLoQueMideTest::test_es_un_recibo_de_VERDAD_y_pasa_su_esquema
test_c87_c2_attest.py::AtestiguaLoQueMideTest::test_firmado_verifica_y_sube_de_A0
test_c87_c2_attest.py::AtestiguaLoQueMideTest::test_mide_y_ata_el_numero_a_los_dos_digests
test_c87_c2_attest.py::LoQueNoSePuedeMedirNoSeInventaTest::test_las_metricas_que_sabe_medir_estan_declaradas
test_c87_c2_attest.py::LoQueNoSePuedeMedirNoSeInventaTest::test_un_CSV_con_otras_columnas_no_se_recorta_ni_se_rellena
test_c87_c2_attest.py::LoQueNoSePuedeMedirNoSeInventaTest::test_un_CSV_sin_filas_no_produce_un_cero
test_c87_c2_attest.py::LoQueNoSePuedeMedirNoSeInventaTest::test_una_CABECERA_VACIA_se_dice_en_vez_de_reventar
test_c87_c2_attest.py::LoQueNoSePuedeMedirNoSeInventaTest::test_una_columna_objetivo_que_no_existe_se_dice
test_c87_c2_attest.py::LoQueNoSePuedeMedirNoSeInventaTest::test_una_metrica_que_no_sabe_medir_se_contesta_con_las_que_hay
test_c87_c2_attest.py::UnaSalidaNoEsUnaListaDeClasesTest::test_un_sigmoide_se_mide_con_UMBRAL_no_con_argmax
test_c87_c2_attest.py::UnaSalidaNoEsUnaListaDeClasesTest::test_y_un_softmax_de_dos_clases_sigue_midiendose_con_argmax
test_c87_c2_attest.py::ElEntornoSeREGISTRATest::test_el_recibo_trae_el_entorno_que_dice_atestiguar
test_c87_c2_attest.py::AttestAlimentaCOMO_EL_EJECUTORTest::test_un_eje_DINAMICO_ya_no_se_confunde_con_una_entrada
test_c87_c2_attest.py::AttestAlimentaCOMO_EL_EJECUTORTest::test_un_modelo_de_ENTEROS_no_traga_un_3_7_en_silencio
test_c87_c2_attest.py::AttestAlimentaCOMO_EL_EJECUTORTest::test_y_el_recibo_dice_CON_QUE_se_alimento
test_c87_c2_attest.py::QuienLoPideNoLoSABE_ESTE_MODULOTest::test_el_CLI_pone_SU_nombre_porque_ahi_es_verdad
test_c87_c2_attest.py::QuienLoPideNoLoSABE_ESTE_MODULOTest::test_quien_llama_SI_puede_decirlo
test_c87_c2_attest.py::QuienLoPideNoLoSABE_ESTE_MODULOTest::test_sin_actor_el_recibo_dice_que_NO_CONSTA
test_c87_c2_attest.py::QuienLoPideNoLoSABE_ESTE_MODULOTest::test_y_NO_nombra_el_terminal
test_c87_c2_attest.py::ElPROPOSITO_DE_RESPALDO_HablaSuIdiomaTest::test_en_castellano_por_defecto
test_c87_c2_attest.py::ElPROPOSITO_DE_RESPALDO_HablaSuIdiomaTest::test_la_metrica_va_dentro_de_la_frase
test_c87_c2_attest.py::ElPROPOSITO_DE_RESPALDO_HablaSuIdiomaTest::test_lo_que_DECLARE_quien_lo_pide_manda_en_los_dos
test_c87_c2_attest.py::ElPROPOSITO_DE_RESPALDO_HablaSuIdiomaTest::test_un_idioma_que_no_hay_cae_al_de_casa
test_c87_c2_attest.py::ElPROPOSITO_DE_RESPALDO_HablaSuIdiomaTest::test_y_en_ingles_cuando_se_pide
test_c87_c3_lo_que_no_aplica.py::SinContratoNoSePuedeReentrenarYSeDICETest::test_NUNCA_sale_como_PASS
test_c87_c3_lo_que_no_aplica.py::SinContratoNoSePuedeReentrenarYSeDICETest::test_lo_dice_aunque_NO_se_haya_pedido
test_c87_c3_lo_que_no_aplica.py::SinContratoNoSePuedeReentrenarYSeDICETest::test_y_CUENTA_como_etapa_sin_comprobar
test_c87_c3_lo_que_no_aplica.py::SinContratoNoSePuedeReentrenarYSeDICETest::test_y_lo_mismo_cuando_SÍ_se_pide
test_c87_c3_lo_que_no_aplica.py::ConContratoSeConservaLaDISTINCIONTest::test_no_pedirlo_sigue_siendo_una_ELECCION_de_quien_verifica
test_c87_c3_lo_que_no_aplica.py::ConContratoSeConservaLaDISTINCIONTest::test_y_esa_eleccion_NO_cuenta_como_etapa_sin_comprobar
test_camino_gpu_modelos_del_prompt.py::TestLoQueSI_CAMBIA_EN_GPU::test_en_cuda_se_IGNORA_el_batch_del_spec
test_camino_gpu_modelos_del_prompt.py::TestLoQueSI_CAMBIA_EN_GPU::test_la_consecuencia_las_MISMAS_epocas_no_son_lo_mismo
test_camino_gpu_modelos_del_prompt.py::TestLoQueSI_CAMBIA_EN_GPU::test_la_estimacion_de_recursos_supone_CPU_siempre
test_camino_gpu_modelos_del_prompt.py::TestElCompuestoTambien::test_entrena_por_los_dos_caminos
test_camino_gpu_modelos_del_prompt.py::TestElCompuestoTambien::test_los_dos_deciden_la_misma_tarea
test_camino_gpu_modelos_del_prompt.py::TestElCompuestoTambien::test_los_dos_avisan_del_colapso
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_el_modelo_del_prompt_entrena_por_los_DOS[binaria]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_el_modelo_del_prompt_entrena_por_los_DOS[multiclase]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_el_modelo_del_prompt_entrena_por_los_DOS[regresion]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_cada_uno_declara_el_backend_que_uso_de_verdad[binaria]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_cada_uno_declara_el_backend_que_uso_de_verdad[multiclase]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_cada_uno_declara_el_backend_que_uso_de_verdad[regresion]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_la_forma_del_resultado_es_la_MISMA[binaria]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_la_forma_del_resultado_es_la_MISMA[multiclase]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_la_forma_del_resultado_es_la_MISMA[regresion]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_los_dos_deciden_LA_MISMA_TAREA[binaria]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_los_dos_deciden_LA_MISMA_TAREA[multiclase]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_los_dos_deciden_LA_MISMA_TAREA[regresion]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_los_dos_APRENDEN__no_solo_terminan[binaria]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_los_dos_APRENDEN__no_solo_terminan[multiclase]
test_camino_gpu_modelos_del_prompt.py::TestLosDosCaminosLlevanAlMismoSitio::test_los_dos_APRENDEN__no_solo_terminan[regresion]
test_campos_inventados_se_dicen.py::LosCamposQueNadieNombroSeDicen::test_con_los_campos_inventados_lo_dice_y_los_NOMBRA
test_campos_inventados_se_dicen.py::LosCamposQueNadieNombroSeDicen::test_el_agente_sigue_sin_extraer_campos_de_la_prosa
test_campos_inventados_se_dicen.py::LosCamposQueNadieNombroSeDicen::test_si_los_campos_SON_tuyos_no_dice_nada
test_campos_inventados_se_dicen.py::LosCamposQueNadieNombroSeDicen::test_tambien_en_ingles
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_cuando_el_generador_se_rinde_y_cae_al_supervisor_TAMBIEN
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_el_generador_denso_sigue_rellenando_esa_prosa
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_el_prompt_ingles_de_la_tarea_avisa_y_NOMBRA_el_relleno
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_la_rama_COMPUESTA_comparte_resolutor_y_aviso
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_por_la_rama_densa_en_espanol_tambien
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_si_los_campos_SON_tuyos_la_rama_densa_calla
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_sin_campos_que_nombrar_no_se_avisa
test_campos_inventados_se_dicen.py::LaRamaDensaTambienLoDice::test_sin_sintesis_no_revienta_ni_afirma
test_constantes_c62_c2_feature_constante.py::TestDeteccion::test_los_nulos_no_cuentan_como_segundo_valor
test_constantes_c62_c2_feature_constante.py::TestDeteccion::test_marca_constante_numerica_booleana_y_categorica
test_constantes_c62_c2_feature_constante.py::TestDeteccion::test_una_columna_que_varia_no_se_marca
test_constantes_c62_c2_feature_constante.py::TestExclusionPorDefecto::test_la_constante_no_entra_en_el_vector
test_constantes_c62_c2_feature_constante.py::TestExclusionPorDefecto::test_la_procedencia_dice_por_que_falta
test_constantes_c62_c2_feature_constante.py::TestExclusionPorDefecto::test_las_exclusiones_por_tipo_conservan_su_motivo
test_constantes_c62_c2_feature_constante.py::TestExclusionPorDefecto::test_no_se_inventa_un_rango_de_mas_menos_uno
test_constantes_c62_c2_feature_constante.py::TestConservarlaEsExplicito::test_con_vocabulario_la_categorica_entra_DE_VERDAD
test_constantes_c62_c2_feature_constante.py::TestConservarlaEsExplicito::test_conservar_categorica_constante_exige_vocabulario_completo
test_constantes_c62_c2_feature_constante.py::TestConservarlaEsExplicito::test_conservar_con_rango_de_dominio_real
test_constantes_c62_c2_feature_constante.py::TestConservarlaEsExplicito::test_conservar_sin_rango_declarado_falla_y_dice_como
test_constantes_c62_c2_feature_constante.py::TestConservarlaEsExplicito::test_un_rango_degenerado_se_rechaza
test_constantes_c62_c2_feature_constante.py::TestConservarlaEsExplicito::test_una_booleana_constante_conservada_SI_aparece
test_constantes_c62_c2_feature_constante.py::TestSinFeaturesInformativas::test_aborta_nombrando_las_constantes_y_como_conservarlas
test_constantes_c62_c2_feature_constante.py::TestInvariante3GenerarNoEsRePreparar::test_se_puede_reproducir_un_esquema_que_incluia_la_constante
test_core.py::TestLexer::test_comment_ignored
test_core.py::TestLexer::test_dotted_ident
test_core.py::TestLexer::test_eof_present
test_core.py::TestLexer::test_ident
test_core.py::TestLexer::test_number_float
test_core.py::TestLexer::test_number_integer
test_core.py::TestLexer::test_number_scientific
test_core.py::TestLexer::test_operators
test_core.py::TestLexer::test_parens_comma_equals
test_core.py::TestLexer::test_unexpected_char_raises
test_core.py::TestParser::test_assignment_no_params
test_core.py::TestParser::test_assignment_two_params
test_core.py::TestParser::test_assignment_with_params
test_core.py::TestParser::test_bad_syntax_raises
test_core.py::TestParser::test_binop_add
test_core.py::TestParser::test_function_call_nested
test_core.py::TestParser::test_function_call_no_args
test_core.py::TestParser::test_function_call_one_arg
test_core.py::TestParser::test_literal
test_core.py::TestParser::test_multiple_statements
test_core.py::TestParser::test_parentheses_override_precedence
test_core.py::TestParser::test_precedence_mul_before_add
test_core.py::TestParser::test_str
test_core.py::TestParser::test_to_dict
test_core.py::TestParser::test_unary_minus
test_core.py::TestParser::test_variable
test_core.py::TestAstNodes::test_assign_to_dict
test_core.py::TestAstNodes::test_binop_add
test_core.py::TestAstNodes::test_binop_div_by_zero
test_core.py::TestAstNodes::test_binop_mul
test_core.py::TestAstNodes::test_binop_to_dict
test_core.py::TestAstNodes::test_number_node_eval
test_core.py::TestAstNodes::test_number_to_dict
test_core.py::TestAstNodes::test_var_node_dotted
test_core.py::TestAstNodes::test_var_node_eval
test_core.py::TestAstNodes::test_var_node_missing_raises
test_core.py::TestAstNodes::test_var_to_dict
test_core.py::TestEvaluator::test_binop
test_core.py::TestEvaluator::test_call_method
test_core.py::TestEvaluator::test_literal
test_core.py::TestEvaluator::test_missing_registry_fn_raises
test_core.py::TestEvaluator::test_nested_calls
test_core.py::TestEvaluator::test_precedence_in_eval
test_core.py::TestEvaluator::test_registry_function
test_core.py::TestEvaluator::test_score_example
test_core.py::TestEvaluator::test_unary_minus_eval
test_core.py::TestEvaluator::test_undefined_raises
test_core.py::TestEvaluator::test_user_defined_function_call
test_core.py::TestEvaluator::test_utility_example
test_core.py::TestEvaluator::test_variable_from_env
test_core.py::TestTrace::test_output_recorded
test_core.py::TestTrace::test_steps_nonempty
test_core.py::TestTrace::test_trace_contains_function_calls
test_core.py::TestTrace::test_trace_node_name
test_core.py::TestTrace::test_trace_to_dict
test_core.py::TestGraph::test_edges_reference_valid_nodes
test_core.py::TestGraph::test_graph_to_text
test_core.py::TestGraph::test_has_call_nodes
test_core.py::TestGraph::test_has_input_node
test_core.py::TestGraph::test_has_nodes_and_edges
test_core.py::TestGraph::test_has_output_node
test_core.py::TestGraph::test_no_params_graph
test_core.py::TestMathOps::test_abs_negative
test_core.py::TestMathOps::test_add
test_core.py::TestMathOps::test_div
test_core.py::TestMathOps::test_div_by_zero
test_core.py::TestMathOps::test_max_varargs
test_core.py::TestMathOps::test_mean
test_core.py::TestMathOps::test_min_varargs
test_core.py::TestMathOps::test_mul
test_core.py::TestMathOps::test_pow
test_core.py::TestMathOps::test_sqrt
test_core.py::TestMathOps::test_sub
test_core.py::TestMathOps::test_sum
test_core.py::TestTransforms::test_clip
test_core.py::TestTransforms::test_normalize_clips_high
test_core.py::TestTransforms::test_normalize_clips_low
test_core.py::TestTransforms::test_normalize_passthrough
test_core.py::TestTransforms::test_scale
test_core.py::TestTransforms::test_scale_zero_span
test_core.py::TestTransforms::test_sigmoid_at_zero
test_core.py::TestTransforms::test_sigmoid_large_negative
test_core.py::TestTransforms::test_sigmoid_large_positive
test_core.py::TestTransforms::test_softmax_monotone
test_core.py::TestTransforms::test_softmax_sums_to_one
test_core.py::TestScoring::test_argmax
test_core.py::TestScoring::test_coherence_from_dict
test_core.py::TestScoring::test_confidence_missing_returns_zero
test_core.py::TestScoring::test_cost_from_dict
test_core.py::TestScoring::test_rank
test_core.py::TestScoring::test_relevance_from_dict
test_core.py::TestScoring::test_relevance_from_scalar
test_core.py::TestScoring::test_topk
test_core.py::TestEndToEnd::test_graph_score
test_core.py::TestEndToEnd::test_score_and_utility
test_core.py::TestEndToEnd::test_trace_score
test_core.py::TestCliEval::test_eval_basic
test_core.py::TestCliEval::test_eval_json
test_core.py::TestCliEval::test_eval_specific_call
test_core.py::TestCliEval::test_eval_trace
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_una_columna_de_frases_se_reconoce_como_texto[frases0]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_una_columna_de_frases_se_reconoce_como_texto[frases1]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_la_evidencia_viaja_con_sus_numeros
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[pedido_id-valores0]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[uuid-valores1]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[dni-valores2]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[email-valores3]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[url-valores4]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[sku-valores5]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_un_identificador_de_verdad_no_se_marca[nombre-valores6]
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_pocas_filas_no_bastan_para_afirmarlo
test_csv_columna_de_texto.py::TestDetectorDeTextoLibre::test_el_tipo_NO_cambia
test_csv_columna_de_texto.py::TestProyectoDesdeDatos::test_con_otras_columnas_el_modelo_sale_igual_pero_con_aviso
test_csv_columna_de_texto.py::TestProyectoDesdeDatos::test_el_motivo_estructurado_deja_de_mentir
test_csv_columna_de_texto.py::TestProyectoDesdeDatos::test_sin_ninguna_otra_columna_el_error_dice_la_verdad
test_csv_columna_de_texto.py::TestProyectoDesdeDatos::test_un_identificador_de_verdad_no_gana_ningun_aviso
test_csv_columna_de_texto.py::TestProyectoDesdeDatos::test_el_aviso_se_traduce_en_el_core
test_csv_columna_de_texto.py::TestProyectoDesdeDatos::test_el_idioma_llega_al_generador_no_solo_a_este_aviso
test_diagnostico_por_valor_distinto.py::test_una_columna_se_prepara_leyendo_cada_valor_distinto_una_vez
test_diagnostico_por_valor_distinto.py::test_el_indicador_de_la_positiva_se_compone_UNA_vez_no_una_por_predictor
test_diagnostico_por_valor_distinto.py::test_lo_que_diagnostica_no_cambia_con_la_lectura_por_valor
test_diagnostico_por_valor_distinto.py::test_preparar_da_lo_mismo_por_celda[valores0-esperado0]
test_diagnostico_por_valor_distinto.py::test_preparar_da_lo_mismo_por_celda[valores1-esperado1]
test_dos_clases_en_varias_clases_pregunta.py::test_dos_clases_con_varias_clases_pregunta_y_no_confirma
test_dos_clases_en_varias_clases_pregunta.py::test_la_pregunta_sale_en_los_dos_idiomas_con_el_objetivo_y_las_clases
test_dos_clases_en_varias_clases_pregunta.py::test_contestar_binaria_pide_la_clase_positiva_por_el_camino_de_siempre
test_dos_clases_en_varias_clases_pregunta.py::test_tres_clases_con_varias_clases_sigue_como_hoy
test_dos_clases_en_varias_clases_pregunta.py::test_una_binaria_deducida_sigue_como_hoy
test_dos_clases_en_varias_clases_pregunta.py::test_dos_clases_mas_un_NA_que_no_cuenta_como_clase_tambien_pregunta
test_dos_clases_en_varias_clases_pregunta.py::test_un_nivel_legitimo_llamado_none_cuenta_como_clase
test_dos_clases_en_varias_clases_pregunta.py::test_con_un_analisis_hecho_sin_los_tokens_de_ausencia_se_cuentan_los_valores_leidos
test_dos_clases_en_varias_clases_pregunta.py::test_regresion_no_pregunta_nada_de_esto
test_dos_clases_en_varias_clases_pregunta.py::test_el_catalogo_tiene_las_dos_redacciones_con_los_mismos_huecos
test_dos_clases_en_varias_clases_pregunta.py::test_la_pregunta_viaja_en_el_json[multiclass_classification]
test_dos_clases_en_varias_clases_pregunta.py::test_las_clases_se_nombran_como_las_trae_el_csv[valores0-(\xab0\xbb, \xab1\xbb)]
test_dos_clases_en_varias_clases_pregunta.py::test_las_clases_se_nombran_como_las_trae_el_csv[valores1-(\xabNo\xbb, \xabS\xed\xbb)]
test_dos_clases_en_varias_clases_pregunta.py::test_las_clases_se_nombran_como_las_trae_el_csv[valores2-(\xab1\xbb, \xab-1\xbb)]
test_dos_clases_en_varias_clases_pregunta.py::test_las_clases_se_nombran_como_las_trae_el_csv[valores3-(\xabMajor\xbb, \xabMinor\xbb)]
test_dos_clases_en_varias_clases_pregunta.py::test_un_objetivo_0_1_con_binaria_y_la_clase_como_se_escribe_confirma
test_dos_clases_en_varias_clases_pregunta.py::test_lo_que_se_lee_como_ausente_se_nombra[valores0-\xabNone\xbb]
test_dos_clases_en_varias_clases_pregunta.py::test_lo_que_se_lee_como_ausente_se_nombra[valores1-\xabNA\xbb]
test_dos_clases_en_varias_clases_pregunta.py::test_lo_que_se_lee_como_ausente_se_nombra[valores2-\xabNA\xbb, \xab?\xbb]
test_dos_clases_en_varias_clases_pregunta.py::test_una_celda_vacia_no_se_nombra_como_ausente
test_dos_clases_en_varias_clases_pregunta.py::test_la_pregunta_no_pisa_la_columna_de_texto_declarada
test_dos_clases_en_varias_clases_pregunta.py::test_sin_etiquetas_que_contar_no_se_pregunta_ni_revienta[valores0-kw0-objetivo_no_predecible]
test_dos_clases_en_varias_clases_pregunta.py::test_sin_etiquetas_que_contar_no_se_pregunta_ni_revienta[valores1-kw1-objetivo_con_una_sola_clase]
test_dos_clases_en_varias_clases_pregunta.py::test_con_dos_clases_declaradas_tambien_se_pregunta
test_dos_clases_en_varias_clases_pregunta.py::test_con_una_clase_positiva_mandada_por_api_tambien_se_pregunta
test_dos_clases_en_varias_clases_pregunta.py::test_una_clase_con_coma_no_se_lee_como_dos
test_dos_clases_en_varias_clases_pregunta.py::test_un_valor_leido_como_ausente_que_es_una_clase_tiene_su_salida
test_dos_clases_en_varias_clases_pregunta.py::test_la_plantilla_con_ausentes_dice_lo_que_pasa_y_a_donde_ir[valores0]
test_dos_clases_en_varias_clases_pregunta.py::test_la_plantilla_con_ausentes_dice_lo_que_pasa_y_a_donde_ir[valores1]
test_dos_clases_en_varias_clases_pregunta.py::test_la_plantilla_con_ausentes_dice_lo_que_pasa_y_a_donde_ir[valores2]
test_dos_clases_en_varias_clases_pregunta.py::test_cada_valor_leido_como_ausente_se_nombra_una_vez
test_dos_clases_en_varias_clases_pregunta.py::test_con_tokens_declarados_se_nombra_lo_declarado
test_dos_clases_en_varias_clases_pregunta.py::test_renombrar_es_condicional_no_una_orden[valores0]
test_dos_clases_en_varias_clases_pregunta.py::test_renombrar_es_condicional_no_una_orden[valores1]
test_dos_clases_en_varias_clases_pregunta.py::test_renombrar_es_condicional_no_una_orden[valores2]
test_dos_clases_en_varias_clases_pregunta.py::test_renombrar_lleva_a_volver_a_confirmar_con_un_nombre_que_no_se_lea_como_ausente
test_ejemplo_text_routing_integro.py::ElEjemploQueSePublicaVerificaTest::test_el_ejemplo_restaura_los_BYTES_no_el_objeto
test_ejemplo_text_routing_integro.py::ElEjemploQueSePublicaVerificaTest::test_las_DOS_entradas_pasan_su_propia_verificacion
test_ejemplo_text_routing_integro.py::ElEjemploQueSePublicaVerificaTest::test_reserializar_los_params_ROMPE_la_integridad
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_fuga_numerica_se_ve_con_cualquier_forma_de_la_clase[si-no-si]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_fuga_numerica_se_ve_con_cualquier_forma_de_la_clase[1-0-1]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_fuga_numerica_se_ve_con_cualquier_forma_de_la_clase[S\xed-No-S\xed]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_fuga_numerica_se_ve_con_cualquier_forma_de_la_clase[Yes-No-Yes]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_fuga_numerica_se_ve_con_cualquier_forma_de_la_clase[1-0-class_1]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_precision_insuficiente_cuenta_los_eventos_de_verdad[si-no-si]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_precision_insuficiente_cuenta_los_eventos_de_verdad[1-0-1]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_precision_insuficiente_cuenta_los_eventos_de_verdad[S\xed-No-S\xed]
test_el_diagnostico_con_etiquetas_normalizadas.py::test_la_precision_insuficiente_cuenta_los_eventos_de_verdad[Yes-No-Yes]
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_los_datos_de_la_clasica_con_el_rango_del_modelo_guardado_se_rechazan_sin_entrenar
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_por_la_puerta_del_studio_tampoco_se_crea_el_trabajo
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_un_csv_propio_en_miles_con_el_rango_en_euros_se_rechaza
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_el_csv_generado_con_el_rango_entrena_igual_que_sin_la_guarda
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_unos_pocos_atipicos_fuera_del_rango_entrenan_como_hoy
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_se_rechaza_desde_el_90_por_ciento_fuera[100-True]
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_se_rechaza_desde_el_90_por_ciento_fuera[90-True]
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_se_rechaza_desde_el_90_por_ciento_fuera[89-False]
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_se_rechaza_desde_el_90_por_ciento_fuera[10-False]
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_se_rechaza_desde_el_90_por_ciento_fuera[0-False]
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_un_valor_en_el_borde_por_redondeo_cuenta_como_dentro
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_lo_que_no_es_un_numero_no_cuenta_ni_dentro_ni_fuera
test_el_objetivo_fuera_de_la_escala_del_rango.py::test_sin_rango_no_hay_guarda_y_se_entrena_como_hoy
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: precio_eur: Scalar en [60000, 900000]-rango0-False]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Integer[0, 10]-rango1-False]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[OUTPUT: y: Scalar in [0, 5]-rango2-False]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Scalar en [9, 1]-None-True]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Scalar en [1, 1]-None-True]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Scalar en [a, b]-None-True]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Scalar en [0, inf]-None-True]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Scalar en [1, 2, 3]-None-True]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: Scalar-None-False]
test_el_rango_declarado_de_la_salida.py::test_el_rango_de_la_salida_solo_si_es_valido[SALIDA: y: ProbabilityMap[a, b]-None-False]
test_el_rango_declarado_de_la_salida.py::test_la_ruta_del_prompt_declara_el_rango_con_clave_propia_y_sin_tocar_lo_demas
test_el_rango_declarado_de_la_salida.py::test_un_rango_del_reves_no_viaja_y_se_dice_por_que
test_el_rango_declarado_de_la_salida.py::test_un_rango_no_convierte_en_regresion_una_clasificacion
test_el_rango_declarado_de_la_salida.py::test_con_el_rango_el_objetivo_se_genera_dentro_de_el
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[invalido0]
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[invalido1]
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[invalido2]
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[invalido3]
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[invalido4]
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[invalido5]
test_el_rango_declarado_de_la_salida.py::test_un_rango_invalido_no_viaja_y_el_csv_es_el_de_siempre[None]
test_el_rango_declarado_de_la_salida.py::test_el_csv_con_el_rango_se_entrena_normalizando_con_el
test_el_rango_declarado_de_la_salida.py::test_una_salida_numerica_de_una_red_de_clasificacion_no_declara_rango[clasificar el riesgo en BAJO, MEDIO, ALTO\nFEATURES:\n  edad: Scalar en [18, 90]\nSALIDA: riesgo: Scalar en [0, 2]]
test_el_rango_declarado_de_la_salida.py::test_una_salida_numerica_de_una_red_de_clasificacion_no_declara_rango[clasificar si un cliente abandona\nFEATURES:\n  edad: Scalar en [18, 90]\nSALIDA: abandona: Integer[0, 1]]
test_el_rango_declarado_de_la_salida.py::test_una_salida_numerica_de_una_red_de_clasificacion_no_declara_rango[clasificar averias en ok y fallo\nFEATURES:\n  temperatura: Scalar en [0, 150]\nSALIDA: estado: Scalar en [0, 1]]
test_el_rango_declarado_de_la_salida.py::test_una_clasificacion_no_lleva_el_aviso_del_rango_que_no_valio[clasificar averias en tres clases\nFEATURES:\n  temperatura: Scalar en [0, 150]\nSALIDA: clase: Integer[9, 1]]
test_el_rango_declarado_de_la_salida.py::test_una_clasificacion_no_lleva_el_aviso_del_rango_que_no_valio[clasificar averias en OK o FALLO\nFEATURES:\n  temperatura: Scalar en [0, 150]\nSALIDA: estado: Scalar en [a, b]]
test_el_rango_declarado_de_la_salida.py::test_una_clasificacion_no_lleva_el_aviso_del_rango_que_no_valio[clasificar averias en OK, AVISO o FALLO\nFEATURES:\n  temperatura: Scalar en [0, 150]\nOUTPUT: estado: Integer[0, inf]]
test_el_rango_declarado_de_la_salida.py::test_la_misma_salida_en_una_regresion_si_lleva_el_aviso
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango0]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango1]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[12_0]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[ab]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[12_1]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango5]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango6]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango7]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango8]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango9]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango10]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[5]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[5.0]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango13]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango14]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango15]
test_el_rango_declarado_de_la_salida.py::test_lo_que_no_es_un_par_de_numeros_no_vale_como_rango[rango16]
test_el_rango_declarado_de_la_salida.py::test_un_par_de_numeros_crecientes_si_vale[rango0-esperado0]
test_el_rango_declarado_de_la_salida.py::test_un_par_de_numeros_crecientes_si_vale[rango1-esperado1]
test_el_rango_declarado_de_la_salida.py::test_un_par_de_numeros_crecientes_si_vale[rango2-esperado2]
test_el_rango_declarado_de_la_salida.py::test_el_generador_ignora_lo_que_no_es_un_rango_y_da_el_csv_de_siempre[invalido0]
test_el_rango_declarado_de_la_salida.py::test_el_generador_ignora_lo_que_no_es_un_rango_y_da_el_csv_de_siempre[12]
test_el_rango_declarado_de_la_salida.py::test_el_generador_ignora_lo_que_no_es_un_rango_y_da_el_csv_de_siempre[invalido2]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_trae_su_rango[TARGET COLUMN: precio: Scalar in [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_trae_su_rango[COLUMNA OBJETIVO: precio: Scalar en [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_trae_su_rango[VARIABLE OBJETIVO: precio: Scalar en [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_trae_su_rango[target column: precio: Scalar in [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_se_lee_como_salida_y_no_como_entrada[TARGET COLUMN: precio: Scalar in [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_se_lee_como_salida_y_no_como_entrada[COLUMNA OBJETIVO: precio: Scalar en [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_se_lee_como_salida_y_no_como_entrada[VARIABLE OBJETIVO: precio: Scalar en [100, 200]]
test_el_rango_declarado_de_la_salida.py::test_la_salida_de_dos_palabras_se_lee_como_salida_y_no_como_entrada[target column: precio: Scalar in [100, 200]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [60000, 900000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [1, 100]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [1, 1000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [10, 50000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [100, 200000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [500, 900000] (N1)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [1000, 900000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [0, 900000] (N1)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [0.5, 1000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [-1000, 1000] (N1)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [273.15, 373.15]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[k\u20ac con el rango en \u20ac]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[\u20ac con el rango en k\u20ac]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[recorrido del 0,5 % dentro del rango]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [0, 100] (antes deuda)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [-20, 45] (antes deuda)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[la cl\xe1sica con [-50, 50]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[recorrido del 2 % dentro del rango (R3-1: R\xb2 \u22124,7)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[recorrido del 3 % dentro del rango (R3-1: R\xb2 \u22121,6)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[todo fuera, 50 veces el ancho (R\xb2 \u22120,08)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[una tasa en [0, 1] con el CSV en porcentaje 20\u201339 (V1: R\xb2 \u22120,00005)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[[0,5; 1,5] con datos en 250\u2013262 (V1: R\xb2 \u22124,4)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[datos de 1 ancho a 11 anchos del rango (R\xb2 0,26)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_rechaza[datos de 15 anchos a 36 del rango (R\xb2 \u22120,02)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[generado con el rango]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[bordes exactos]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[10 % de at\xedpicos \xd76]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[\xd71,5 (una parte por encima del m\xe1ximo)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[mismo dominio, otro mercado (N2)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[un extremo de validaci\xf3n a 120 veces el ancho (B-R3.1: un 61,53 escrito 6153)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[todo fuera, 15 veces el ancho (R3-2: R\xb2 0,98\u20130,997)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[SpO2 en [0, 100], 4,7 % (R\xb2 0,88)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[datos de 1 ancho a 6 anchos del rango (R\xb2 0,993)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[datos de 15 anchos a 31 del rango (R\xb2 0,987)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_se_entrena[datos de 1 ancho por debajo, a 3 anchos (R\xb2 0,99)]
test_el_recorrido_del_objetivo_con_su_rango.py::test_dentro_del_rango_pero_en_un_trozo_infimo_el_motivo_es_ese_y_no_otra_escala[rango0-menos del 0,01 %-less than 0.01 %]
test_el_recorrido_del_objetivo_con_su_rango.py::test_dentro_del_rango_pero_en_un_trozo_infimo_el_motivo_es_ese_y_no_otra_escala[rango1-solo el 0,1 %-only 0.1 %]
test_el_recorrido_del_objetivo_con_su_rango.py::test_los_umbrales_del_recorrido_en_sus_bordes
test_el_recorrido_del_objetivo_con_su_rango.py::test_N1_los_datos_de_la_clasica_con_un_rango_que_contiene_menos_uno_uno_no_se_entrenan[SALIDA: precio_eur: Scalar en [0, 900000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_N1_los_datos_de_la_clasica_con_un_rango_que_contiene_menos_uno_uno_no_se_entrenan[SALIDA: beneficio_eur: Scalar en [-1000, 1000]]
test_el_recorrido_del_objetivo_con_su_rango.py::test_N2_datos_del_mismo_dominio_fuera_del_rango_se_entrenan
test_el_recorrido_del_objetivo_con_su_rango.py::test_la_guarda_mira_la_salida_aunque_vaya_la_primera
test_el_recorrido_del_objetivo_con_su_rango.py::test_y_no_rechaza_por_una_entrada_que_va_la_ultima
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_motivo_en_ingles_no_lleva_castellano[valores0-rango0-otra_escala]
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_motivo_en_ingles_no_lleva_castellano[valores1-rango1-rango_mucho_mas_ancho_que_los_datos]
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_motivo_en_ingles_no_lleva_castellano[valores2-rango2-rango_mucho_mas_ancho_que_los_datos]
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_motivo_en_ingles_no_lleva_castellano[valores3-rango3-otra_escala]
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_motivo_en_ingles_no_lleva_castellano[valores4-rango4-rango_invalido]
test_el_recorrido_del_objetivo_con_su_rango.py::test_los_dos_motivos_no_dicen_lo_mismo
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_objetivo_constante_se_dice_constante
test_el_recorrido_del_objetivo_con_su_rango.py::test_los_numeros_de_la_frase_sin_notacion_cientifica_N6_y_con_coma_en_castellano_R3_5
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_objetivo_constante_fuera_tambien_se_dice_constante
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_porcentaje_no_pierde_una_unidad_por_la_coma_flotante
test_el_recorrido_del_objetivo_con_su_rango.py::test_el_porcentaje_no_redondea_hasta_el_umbral
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[1000000.5-1000000]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[2500000.25-2500000]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[1137473.26-1137473]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[100.5-100.5]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[58320.0-58320]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[60000.0-60000]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[0.0-0]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[-1000.0--1000]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[0.5-0.5]
test_el_recorrido_del_objetivo_con_su_rango.py::test_numero_legible[273.15-273.15]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_se_rechaza_con_su_motivo[rango0]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_se_rechaza_con_su_motivo[rango1]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_se_rechaza_con_su_motivo[rango2]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_se_rechaza_con_su_motivo[rango3]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_se_rechaza_con_su_motivo[rango4]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_no_llega_a_normalizar_ni_a_entrenar[rango0]
test_el_recorrido_del_objetivo_con_su_rango.py::test_un_rango_imposible_no_llega_a_normalizar_ni_a_entrenar[rango1]
test_export_c1_inference_spec.py::InputOrderAndMetadataTest::test_hashes_shapes_and_metadata_present
test_export_c1_inference_spec.py::InputOrderAndMetadataTest::test_input_order_equals_vector_fields
test_export_c1_inference_spec.py::ScalarEncodingTest::test_boolean_field_cannot_have_scalar_range
test_export_c1_inference_spec.py::ScalarEncodingTest::test_field_ranges_arg_wins_over_mxai_range
test_export_c1_inference_spec.py::ScalarEncodingTest::test_scalar01_fallback_when_no_range
test_export_c1_inference_spec.py::ScalarEncodingTest::test_scalar_range_from_field_ranges_arg
test_export_c1_inference_spec.py::ScalarEncodingTest::test_scalar_range_from_mxai_field_type
test_export_c1_inference_spec.py::ScalarEncodingTest::test_unknown_field_range_raises
test_export_c1_inference_spec.py::OneHotEncodingTest::test_one_hot_columns_not_listed_as_scalars
test_export_c1_inference_spec.py::OneHotEncodingTest::test_one_hot_group_detected
test_export_c1_inference_spec.py::OneHotEncodingTest::test_range_for_one_hot_group_raises
test_export_c1_inference_spec.py::OneHotEncodingTest::test_raw_to_column_mapping_is_authoritative
test_export_c1_inference_spec.py::EmbeddingEncodingTest::test_embedding_with_human_vocab
test_export_c1_inference_spec.py::EmbeddingEncodingTest::test_embedding_with_vocab_size_only
test_export_c1_inference_spec.py::OutputContractTest::test_binary_classification_single_output_two_labels
test_export_c1_inference_spec.py::OutputContractTest::test_classification_labels_from_arg
test_export_c1_inference_spec.py::OutputContractTest::test_classification_labels_from_program_probmap
test_export_c1_inference_spec.py::OutputContractTest::test_multiclass_label_count_mismatch_raises
test_export_c1_inference_spec.py::OutputContractTest::test_multiclass_with_real_export_labels_ok
test_export_c1_inference_spec.py::OutputContractTest::test_multiclass_without_real_labels_raises
test_export_c1_inference_spec.py::OutputContractTest::test_regression_single_output_no_labels
test_export_c1_inference_spec.py::FieldTypesTest::test_field_type_annotation_from_arg
test_export_c1_inference_spec.py::FieldTypesTest::test_field_type_arg_wins_over_mxai
test_export_c1_inference_spec.py::FieldTypesTest::test_field_type_derived_from_mxai
test_export_c1_inference_spec.py::FieldTypesTest::test_unknown_field_type_raises
test_export_c1_inference_spec.py::EmbeddingVocabFromMxaiTest::test_embedding_vocab_from_type_args
test_export_c1_inference_spec.py::ExampleInputValidationTest::test_unknown_field_in_example_input_raises
test_export_c1_inference_spec.py::ExampleInputValidationTest::test_valid_example_input_accepted
test_export_c1_inference_spec.py::ScopeGuardTest::test_multi_vector_rejected
test_export_c1_inference_spec.py::ScopeGuardTest::test_no_vector_rejected
test_export_c1_inference_spec.py::ScopeGuardTest::test_sequence_input_rejected
test_export_c1_inference_spec.py::IntegrationBundleTest::test_inference_spec_in_bundle_with_labels
test_export_c1_inference_spec.py::IntegrationBundleTest::test_unlabelled_classification_skips_spec_observably
test_export_c2_predict_wrapper.py::StaticTemplateTest::test_only_numpy_and_onnxruntime_third_party
test_export_c2_predict_wrapper.py::StaticTemplateTest::test_template_has_no_matrixai_imports
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_boolean_accepts_many_forms
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_integer_scalar_rejects_non_integer
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_missing_field_raises
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_nan_scalar_raises
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_non_numeric_scalar_raises
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_scalar01_passthrough
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_scalar_clipped_and_reported
test_export_c2_predict_wrapper.py::ScalarEncodingTest::test_scalar_normalized
test_export_c2_predict_wrapper.py::OneHotEncodingTest::test_sets_chosen_column
test_export_c2_predict_wrapper.py::OneHotEncodingTest::test_unknown_category_raises_with_valid_list
test_export_c2_predict_wrapper.py::EmbeddingEncodingTest::test_vocab_index
test_export_c2_predict_wrapper.py::EmbeddingEncodingTest::test_vocab_size_integer_index
test_export_c2_predict_wrapper.py::EmbeddingEncodingTest::test_vocab_size_non_integer_raises
test_export_c2_predict_wrapper.py::EmbeddingEncodingTest::test_vocab_size_out_of_range_raises
test_export_c2_predict_wrapper.py::EmbeddingEncodingTest::test_vocab_unknown_raises
test_export_c2_predict_wrapper.py::DecodeTest::test_binary_classification_two_way
test_export_c2_predict_wrapper.py::DecodeTest::test_classification_maps_labels
test_export_c2_predict_wrapper.py::DecodeTest::test_regression_scalar
test_export_c2_predict_wrapper.py::HashCheckTest::test_hash_match_ok
test_export_c2_predict_wrapper.py::HashCheckTest::test_hash_mismatch_raises
test_export_c2_predict_wrapper.py::HashCheckTest::test_missing_metadata_allowed_when_check_disabled
test_export_c2_predict_wrapper.py::HashCheckTest::test_missing_metadata_raises
test_export_c2_predict_wrapper.py::BatchAndCliTest::test_cli_prints_prediction
test_export_c2_predict_wrapper.py::BatchAndCliTest::test_predict_batch
test_export_c2_predict_wrapper.py::IntegrationC2Test::test_bundle_ships_usable_artifacts
test_export_c2_predict_wrapper.py::IntegrationC2Test::test_classification_bundle_with_labels
test_export_c2_predict_wrapper.py::IntegrationC2Test::test_downloaded_predict_reproduces_expected_output
test_export_c2_predict_wrapper.py::IntegrationC2Test::test_usable_bundle_requires_onnxruntime
test_export_c3_roundtrip.py::ScalarRangeRoundTripTest::test_out_of_range_clipped_consistently
test_export_c3_roundtrip.py::ScalarRangeRoundTripTest::test_roundtrip
test_export_c3_roundtrip.py::OneHotRoundTripTest::test_roundtrip
test_export_c3_roundtrip.py::OneHotRoundTripTest::test_roundtrip_accents_and_spaces
test_export_c3_roundtrip.py::EmbeddingRoundTripTest::test_roundtrip_human_vocab
test_export_c3_roundtrip.py::EmbeddingRoundTripTest::test_roundtrip_vocab_size_only
test_export_c5_cli.py::ExportBundleCliTest::test_json_output_reports_skip_reason_field
test_export_c5_cli.py::ExportBundleCliTest::test_labels_flow_from_mxai_without_sidecar
test_export_c5_cli.py::ExportBundleCliTest::test_malformed_json_sidecar_errors_cleanly
test_export_c5_cli.py::ExportBundleCliTest::test_semantically_invalid_sidecar_errors
test_export_c5_cli.py::ExportBundleCliTest::test_sidecar_produces_usable_bundle
test_export_c5_cli.py::LoadInferenceMetadataTest::test_category_string_not_list_raises
test_export_c5_cli.py::LoadInferenceMetadataTest::test_empty_category_list_raises
test_export_c5_cli.py::LoadInferenceMetadataTest::test_non_string_labels_raise
test_export_c5_cli.py::LoadInferenceMetadataTest::test_range_min_not_less_than_max_raises
test_export_c5_cli.py::LoadInferenceMetadataTest::test_range_non_finite_raises
test_export_c5_cli.py::LoadInferenceMetadataTest::test_range_wrong_length_raises
test_export_c5_cli.py::LoadInferenceMetadataTest::test_unknown_field_type_raises
test_export_c5_cli.py::LoadInferenceMetadataTest::test_valid_sidecar_loads
test_export_c5_cli.py::LoadInferenceMetadataTest::test_wrong_top_level_type_raises
test_faltante_que_el_entrenamiento_no_vio.py::TestLaParteQuePerdiaLaRedAnterior::test_la_premisa_los_dos_huecos_de_V8_solo_estan_en_la_parte_medida
test_faltante_que_el_entrenamiento_no_vio.py::TestLaParteQuePerdiaLaRedAnterior::test_la_parte_YA_NO_se_pierde
test_faltante_que_el_entrenamiento_no_vio.py::TestLaParteQuePerdiaLaRedAnterior::test_los_dos_huecos_van_al_codigo_reservado_y_las_demas_filas_no_se_mueven
test_faltante_que_el_entrenamiento_no_vio.py::TestLaParteQuePerdiaLaRedAnterior::test_se_declara_con_su_recuento_y_aparte_de_las_categorias_no_vistas
test_faltante_que_el_entrenamiento_no_vio.py::TestEmbedding::test_un_hueco_que_el_entrenamiento_no_tuvo_YA_NO_pierde_la_parte
test_faltante_que_el_entrenamiento_no_vio.py::TestEmbedding::test_se_escribe_el_codigo_reservado_y_la_fila_de_al_lado_no_se_mueve
test_faltante_que_el_entrenamiento_no_vio.py::TestEmbedding::test_sin_codigo_reservado_lo_rechaza_diciendo_QUE_falta
test_faltante_que_el_entrenamiento_no_vio.py::TestEmbedding::test_se_declara_y_dice_como_se_codifico
test_faltante_que_el_entrenamiento_no_vio.py::TestOneHot::test_el_grupo_entero_a_cero_y_el_de_al_lado_marca_el_suyo
test_faltante_que_el_entrenamiento_no_vio.py::TestOneHot::test_NO_se_usa_la_categoria_de_referencia
test_faltante_que_el_entrenamiento_no_vio.py::TestOneHot::test_se_declara_como_ninguna_de_las_conocidas_con_el_recuento_REAL
test_faltante_que_el_entrenamiento_no_vio.py::TestLoQueNoCambia::test_si_el_entrenamiento_SI_tuvo_huecos_es_una_categoria_suya_y_no_se_avisa
test_faltante_que_el_entrenamiento_no_vio.py::TestLoQueNoCambia::test_sin_huecos_no_se_avisa_de_nada
test_faltante_que_el_entrenamiento_no_vio.py::TestLoQueNoCambia::test_un_valor_NUEVO_del_usuario_sigue_abortando_aunque_llegue_junto_a_un_hueco
test_faltante_que_el_entrenamiento_no_vio.py::TestLoQueNoCambia::test_un_hueco_y_una_categoria_no_vista_se_cuentan_cada_uno_en_su_aviso
test_faltante_que_el_entrenamiento_no_vio.py::TestElHuecoCrudoEnUnaRecetaNueva::test_la_receta_es_posterior_a_la_politica_de_faltantes
test_faltante_que_el_entrenamiento_no_vio.py::TestElHuecoCrudoEnUnaRecetaNueva::test_en_embedding_va_al_codigo_reservado_y_el_modelo_lo_acepta
test_faltante_que_el_entrenamiento_no_vio.py::TestElHuecoCrudoEnUnaRecetaNueva::test_en_one_hot_el_grupo_a_cero_pero_ahora_DICHO
test_faltante_que_el_entrenamiento_no_vio.py::TestElHuecoCrudoEnUnaRecetaNueva::test_la_marca_y_la_celda_vacia_juntas_se_cuentan_y_se_escriben_igual
test_faltante_que_el_entrenamiento_no_vio.py::TestElHuecoCrudoEnUnaRecetaNueva::test_la_marca_con_espacios_alrededor_tambien_cuenta
test_faltante_que_el_entrenamiento_no_vio.py::TestElHuecoCrudoEnUnaRecetaNueva::test_una_fila_SIN_OBJETIVO_no_se_cuenta_porque_no_se_escribe
test_faltante_que_el_entrenamiento_no_vio.py::TestUnaRecetaANTERIORSeReproduceComoEntonces::test_en_one_hot_el_hueco_crudo_sale_a_cero_y_SIN_aviso_como_entonces
test_faltante_que_el_entrenamiento_no_vio.py::TestUnaRecetaANTERIORSeReproduceComoEntonces::test_en_embedding_el_hueco_crudo_NO_se_reubica
test_faltante_que_el_entrenamiento_no_vio.py::TestUnaRecetaANTERIORSeReproduceComoEntonces::test_el_CSV_ENTERO_sale_byte_a_byte_como_entonces[one-hot]
test_faltante_que_el_entrenamiento_no_vio.py::TestUnaRecetaANTERIORSeReproduceComoEntonces::test_el_CSV_ENTERO_sale_byte_a_byte_como_entonces[embedding]
test_faltante_que_el_entrenamiento_no_vio.py::TestUnaRecetaANTERIORSeReproduceComoEntonces::test_la_MARCA_literal_no_depende_de_la_clave_y_se_rescata_con_su_aviso[one-hot]
test_faltante_que_el_entrenamiento_no_vio.py::TestUnaRecetaANTERIORSeReproduceComoEntonces::test_la_MARCA_literal_no_depende_de_la_clave_y_se_rescata_con_su_aviso[embedding]
test_faltante_que_el_entrenamiento_no_vio.py::TestLasMarcasEnFilasSinObjetivo::test_una_marca_solo_en_filas_descartadas_no_aborta_ni_se_cuenta[one-hot-__desconocida__]
test_faltante_que_el_entrenamiento_no_vio.py::TestLasMarcasEnFilasSinObjetivo::test_una_marca_solo_en_filas_descartadas_no_aborta_ni_se_cuenta[one-hot-__faltante__]
test_faltante_que_el_entrenamiento_no_vio.py::TestLasMarcasEnFilasSinObjetivo::test_una_marca_solo_en_filas_descartadas_no_aborta_ni_se_cuenta[embedding-__desconocida__]
test_faltante_que_el_entrenamiento_no_vio.py::TestLasMarcasEnFilasSinObjetivo::test_una_marca_solo_en_filas_descartadas_no_aborta_ni_se_cuenta[embedding-__faltante__]
test_faltante_que_el_entrenamiento_no_vio.py::TestLasMarcasEnFilasSinObjetivo::test_un_valor_NUEVO_de_verdad_sigue_abortando_aunque_solo_este_en_esas_filas
test_faltante_que_el_entrenamiento_no_vio.py::TestLosTokensDeAusenciaReales::test_con_la_heuristica_un_token_de_ausencia_va_al_codigo_reservado[NA]
test_faltante_que_el_entrenamiento_no_vio.py::TestLosTokensDeAusenciaReales::test_con_la_heuristica_un_token_de_ausencia_va_al_codigo_reservado[?]
test_faltante_que_el_entrenamiento_no_vio.py::TestLosTokensDeAusenciaReales::test_con_tokens_DECLARADOS_cuenta_el_declarado
test_faltante_que_el_entrenamiento_no_vio.py::test_en_one_hot_un_hueco_va_al_grupo_a_cero_aunque_el_vocabulario_traiga_desconocida
test_faltante_que_el_entrenamiento_no_vio.py::test_embedding_SIN_codigo_reservado_y_la_marca_solo_en_filas_descartadas_ya_no_aborta[__desconocida__]
test_faltante_que_el_entrenamiento_no_vio.py::test_embedding_SIN_codigo_reservado_y_la_marca_solo_en_filas_descartadas_ya_no_aborta[__faltante__]
test_faltante_que_el_entrenamiento_no_vio.py::test_una_CASI_marca_es_un_valor_nuevo_y_sigue_abortando[__FALTANTE__-one-hot]
test_faltante_que_el_entrenamiento_no_vio.py::test_una_CASI_marca_es_un_valor_nuevo_y_sigue_abortando[__FALTANTE__-embedding]
test_faltante_que_el_entrenamiento_no_vio.py::test_una_CASI_marca_es_un_valor_nuevo_y_sigue_abortando[__Desconocida__-one-hot]
test_faltante_que_el_entrenamiento_no_vio.py::test_una_CASI_marca_es_un_valor_nuevo_y_sigue_abortando[__Desconocida__-embedding]
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_a_metric_without_a_value_is_rejected
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_a_model_without_a_recipe_says_so_instead_of_keeping_quiet
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_a_package_with_the_five_pieces_is_reproducible
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_an_unknown_seed_stays_null_it_is_never_invented
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_artifacts_carry_path_media_type_and_full_sha256
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_caller_cannot_forge_the_core_owned_versions
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_dataset_sha256_is_the_full_digest_not_the_short_fingerprint
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_dataset_travels_as_expectation_not_as_file
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_environment_has_its_own_digest
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_environment_is_closed_exact_versions_no_ranges
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_generation_carries_the_versions_the_core_owns
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_generation_keeps_the_effective_parameters
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_manifest_digest_excludes_itself_and_verifies
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_metrics_keep_the_fields_that_make_them_comparable
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_missing_mxtrain_alone_blocks_reproduction
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_missing_pieces_are_named_one_by_one
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_no_metrics_is_an_empty_list_not_a_missing_key
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_rows_live_in_one_place_only
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_split_seed_is_read_from_the_mxtrain_that_actually_trained
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_tampering_any_field_breaks_the_manifest_digest
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_the_canonicalization_travels_so_the_digest_can_be_recomputed
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_the_captured_generator_version_is_the_one_that_ran
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_the_manifest_does_not_promise_authenticity
test_fichas_c1_reproduce.py::ReproduceManifestUnitTest::test_the_three_seeds_travel_separately
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_a_trained_package_carries_no_warning
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_bundle_ships_the_mxtrain_byte_for_byte
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_digests_are_taken_from_the_files_not_echoed_from_the_caller
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_reproduce_json_is_always_there_even_with_nothing_to_declare
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_the_bundle_manifest_verifies_itself
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_the_full_package_is_declared_reproducible
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_the_mxtrain_enters_with_a_fixed_name
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_the_readme_lists_the_real_files_and_declares_the_state
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_the_untrained_warning_travels_inside_the_package
test_fichas_c1_reproduce.py::BundleShipsTheReproduciblePackageTest::test_touching_the_recipe_after_packaging_breaks_its_digest
test_fichas_c1_reproduce.py::ExportBundleCliTest::test_cli_refuses_a_metric_that_cannot_be_compared_with_anything
test_fichas_c1_reproduce.py::ExportBundleCliTest::test_cli_refuses_a_non_integer_seed
test_fichas_c1_reproduce.py::ExportBundleCliTest::test_cli_refuses_the_short_fingerprint_as_dataset_proof
test_fichas_c1_reproduce.py::ExportBundleCliTest::test_cli_says_out_loud_when_the_package_is_not_reproducible
test_fichas_c1_reproduce.py::ExportBundleCliTest::test_cli_ships_training_recipe_and_reproduce_metadata
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_dataset_sha256_that_is_not_a_sha256_is_refused
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_fully_wired_package_can_run_the_four_stages
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_metric_cannot_carry_the_short_fingerprint_either
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_metric_is_comparable_only_when_r3_could_actually_use_it
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_metric_with_an_impossible_shape_is_refused
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_null_seed_is_still_a_legitimate_answer
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_real_digest_still_goes_through
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_a_seed_that_is_not_an_integer_is_refused
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_an_artifact_path_cannot_escape_the_package
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_an_incomplete_metric_is_declared_incomplete_not_smuggled_as_complete
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_generation_shapes_that_cannot_be_used_to_regenerate_are_refused
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_la_tolerancia_del_llamante_MANDA_sobre_la_medida
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_lo_que_DECLARA_quien_exporta_manda_sobre_el_catalogo
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_r1_needs_the_mxtrain_too_because_the_generator_asks_for_it
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_reproducible_no_longer_rests_on_mere_presence
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_row_counts_that_no_dataset_can_have_are_refused
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_caller_cannot_declare_its_own_metric_comparable
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_claim_does_not_say_reproducible_when_it_is_not
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_claim_says_reproducible_when_it_is
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_effective_parameters_that_are_well_formed_still_travel
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_manifest_is_valid_json_and_its_digest_covers_the_new_blocks
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_measured_finding_no_longer_produces_a_reproducible_package
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_short_fingerprint_is_refused_where_the_contract_asks_for_proof
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_the_stages_speak_the_same_vocabulary_as_the_verifier
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_true_is_not_a_row_count
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_two_values_for_the_same_metric_are_a_contradiction_not_two_metrics
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_una_metrica_DESCONOCIDA_sigue_sin_tolerancia_que_reponer
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_una_metrica_que_el_core_NO_conoce_sigue_diciendo_lo_que_le_falta
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_una_perdida_declara_direccion_pero_NO_agregacion
test_fichas_c1_reproduce.py::ElManifiestoNoPuedeMentirTest::test_what_only_r3_needs_is_declared_instead_of_kept_quiet
test_fichas_c1_reproduce.py::LaFichaNoTranquilizaDeMasTest::test_a_package_that_can_be_checked_end_to_end_adds_no_warning
test_fichas_c1_reproduce.py::LaFichaNoTranquilizaDeMasTest::test_a_reproducible_package_says_what_it_still_cannot_check
test_fichas_c1_reproduce.py::LaFichaNoTranquilizaDeMasTest::test_the_files_table_does_not_promise_what_the_file_may_not_carry
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_capture_that_is_not_json_never_reaches_the_package
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_conflict_blocks_every_stage_not_just_its_own
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_metric_declares_what_it_lacks_and_r3_stays_unverifiable
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_metric_measured_on_another_dataset_is_a_contradiction
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_metric_measured_on_the_run_s_dataset_goes_through
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_package_without_a_capture_cannot_run_any_stage
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_payload_that_says_something_else_is_declared_and_loses
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_recipe_attached_at_export_time_is_not_the_run_s_recipe
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_a_trailing_newline_is_not_a_different_artifact
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_an_artifact_that_is_not_the_one_that_trained_is_declared
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_an_impossible_capture_is_refused_where_it_can_still_be_fixed
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_capture_is_named_by_a_digest_not_copied_into_the_package
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_claim_does_not_blame_the_capture_when_there_is_one
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_claim_of_a_package_without_a_capture_says_the_whole_thing
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_claim_says_where_what_it_states_comes_from
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_digest_covers_the_new_blocks
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_five_pieces_are_no_longer_enough
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_manifest_states_what_the_run_captured
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_prepared_digest_is_not_a_contradiction
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_readme_of_a_contradicted_package_prints_the_reason
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_the_split_seed_comes_from_the_captured_contract
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_what_the_capture_does_not_declare_is_ignored_not_invented
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_without_a_capture_matching_is_null_not_false
test_fichas_c1_reproduce.py::LaCapturaMandaTest::test_without_a_capture_nothing_about_the_run_is_published
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_capture_that_does_not_count_epochs_invents_nothing
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_capture_that_does_not_say_where_the_weights_started_is_a_hole
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_capture_version_this_core_cannot_read_is_still_refused
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_cold_start_is_declared_and_does_not_block
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_range_that_cannot_be_used_is_refused
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_warm_start_that_says_nothing_is_refused
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_warm_started_run_cannot_promise_the_same_numbers
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_a_weights_state_that_is_not_one_is_refused
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_both_row_counts_travel_because_they_answer_two_questions
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_epochs_the_run_could_not_have_executed_are_refused
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_no_ranges_is_still_a_legitimate_answer
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_not_stated_is_not_trained
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_offered_weights_the_run_never_ruled_on_do_not_pass
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_row_counts_that_no_run_can_have_are_refused
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_running_more_epochs_than_the_run_was_configured_for_is_impossible
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_stopping_early_is_not_a_contradiction
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_capture_can_deny_the_weights_but_never_vouch_for_them
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_claim_opens_with_the_warning_when_the_weights_are_random
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_contract_that_travels_has_to_be_the_one_that_ran
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_payload_may_report_either_count
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_ranges_that_decided_the_prepared_csv_travel
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_same_epochs_are_not_a_contradiction
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_the_state_of_the_weights_travels_in_the_manifest
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_untrained_weights_cannot_be_declared_reproducible
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_untrained_weights_do_not_pretend_r1_is_impossible
test_fichas_c1_reproduce.py::ElManifiestoNoSellaLoQueNoSabeTest::test_weights_offered_and_ignored_are_not_a_warm_start
test_funcion_sin_semantica_avisa.py::test_una_funcion_inventada_avisa_con_su_nombre
test_funcion_sin_semantica_avisa.py::test_no_es_un_error_el_modelo_sigue_siendo_valido
test_funcion_sin_semantica_avisa.py::test_las_funciones_CON_semantica_no_avisan
test_funcion_sin_semantica_avisa.py::test_NINGUN_ejemplo_del_repositorio_dispara_el_aviso
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_degenerate_range_min_equals_max_dropped
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_float_bounds
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_integer_is_scalar_with_flag
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_inverted_range_dropped_with_warning
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_non_numeric_range_dropped_with_warning
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_scalar_bracket_no_word_equals_scalar_en
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_scalar_en_bracket_es
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_scalar_in_bracket_en
test_gen_c1_prompt_field_specs.py::ScalarRangeGrammarTest::test_scalar_without_range
test_gen_c1_prompt_field_specs.py::CategoricalGrammarTest::test_accents_and_spaces_preserved
test_gen_c1_prompt_field_specs.py::CategoricalGrammarTest::test_basic_values
test_gen_c1_prompt_field_specs.py::CategoricalGrammarTest::test_case_insensitive_type
test_gen_c1_prompt_field_specs.py::CategoricalGrammarTest::test_duplicates_collapse_preserving_order
test_gen_c1_prompt_field_specs.py::CategoricalGrammarTest::test_single_value_downgraded_to_scalar_with_warning
test_gen_c1_prompt_field_specs.py::BooleanGrammarTest::test_boolean_variants
test_gen_c1_prompt_field_specs.py::SeparatorsAndBlockTest::test_comma_and_semicolon_separated_same_line
test_gen_c1_prompt_field_specs.py::SeparatorsAndBlockTest::test_multiline_block
test_gen_c1_prompt_field_specs.py::SeparatorsAndBlockTest::test_prose_header_before_fields
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_accented_field_name_sanitized
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_bare_names_not_returned
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_duplicate_field_name_first_wins
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_empty_prompt
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_metadata_lines_not_fields
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_name_with_hyphen_not_truncated
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_name_with_leading_accent_not_truncated
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_name_with_spaces_and_accent
test_gen_c1_prompt_field_specs.py::RetrocompatAndScopeTest::test_output_probabilitymap_not_a_field
test_gen_c1_prompt_field_specs.py::RealPromptTest::test_banca_prompt
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_dataset_template_header_expanded
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_field_categories_populated
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_input_dim_matches_expanded
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_output_labels_preserved
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_parses_and_params_build
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_training_text_uses_expanded_columns
test_gen_c2_categorical_onehot.py::DeterministicOneHotTest::test_vector_has_onehot_columns
test_gen_c2_categorical_onehot.py::ThresholdTest::test_high_cardinality_not_onehot_by_dense
test_gen_c2_categorical_onehot.py::ThresholdTest::test_low_cardinality_boundary_onehot
test_gen_c2_categorical_onehot.py::InvariantPromptWinsTest::test_input_fields_do_not_drop_prompt_categorical
test_gen_c2_categorical_onehot.py::InvariantPromptWinsTest::test_mixed_prompt_has_no_spurious_or_mangled_fields
test_gen_c2_categorical_onehot.py::DispatchSurfacesFieldCategoriesTest::test_analyze_playground_request_surfaces_field_categories
test_gen_c2_categorical_onehot.py::ExportAcceptsRawStringTest::test_downloaded_predict_accepts_raw_category
test_gen_c3_boolean_ranges.py::BooleanAndRangeMetadataTest::test_field_ranges_populated
test_gen_c3_boolean_ranges.py::BooleanAndRangeMetadataTest::test_field_types_populated
test_gen_c3_boolean_ranges.py::BooleanAndRangeMetadataTest::test_input_dim_unaffected_by_boolean_or_range
test_gen_c3_boolean_ranges.py::BooleanAndRangeMetadataTest::test_mxai_vector_stays_bare_scalar_no_range
test_gen_c3_boolean_ranges.py::BooleanAndRangeMetadataTest::test_normalized_csv_value_passes_verifier_range_check
test_gen_c3_boolean_ranges.py::BooleanAndRangeMetadataTest::test_parses_and_params_build
test_gen_c3_boolean_ranges.py::DispatchSurfacesC3MetadataTest::test_analyze_playground_request_surfaces_field_ranges_and_types
test_gen_c3_boolean_ranges.py::MultilineNoBracketRegressionTest::test_boolean_does_not_swallow_next_field
test_gen_c3_boolean_ranges.py::MultilineNoBracketRegressionTest::test_plain_scalar_does_not_swallow_next_field
test_gen_c3_boolean_ranges.py::MixedWithCategoricalTest::test_all_four_kinds_together
test_gen_c3_boolean_ranges.py::ExportAcceptsBooleanAndRangeTest::test_downloaded_predict_normalizes_and_accepts_boolean
test_gen_c3_composite_types.py::CompositeHonorsPromptTypesTest::test_clean_field_names_not_placeholders
test_gen_c3_composite_types.py::CompositeHonorsPromptTypesTest::test_field_ranges_persisted
test_gen_c3_composite_types.py::CompositeHonorsPromptTypesTest::test_field_types_persisted
test_gen_c3_composite_types.py::CompositeHonorsPromptTypesTest::test_is_composite_with_residual_block
test_gen_c3_composite_types.py::CompositeHonorsPromptTypesTest::test_mxai_vector_stays_bare_scalar
test_gen_c3_composite_types.py::CompositeCategoricalBecomesEmbeddingTest::test_declared_categorical_is_embedding_with_human_vocab
test_gen_c3_composite_types.py::CompositeCategoricalBecomesEmbeddingTest::test_prompt_categorical_wins_over_llm_categorical_fields
test_gen_c3_composite_types.py::DispatchSurfacesCompositeMetadataTest::test_analyze_playground_request_surfaces_composite_metadata
test_gen_c4_binary_labeled.py::ExplicitTwoLabelBracketIsSoftmaxTest::test_dataset_target_is_label_not_probability
test_gen_c4_binary_labeled.py::ExplicitTwoLabelBracketIsSoftmaxTest::test_dummy_row_uses_first_label_not_zero
test_gen_c4_binary_labeled.py::ExplicitTwoLabelBracketIsSoftmaxTest::test_label_order_preserved
test_gen_c4_binary_labeled.py::ExplicitTwoLabelBracketIsSoftmaxTest::test_loss_is_cross_entropy
test_gen_c4_binary_labeled.py::ExplicitTwoLabelBracketIsSoftmaxTest::test_mxai_declares_probabilitymap_two_units
test_gen_c4_binary_labeled.py::ExplicitTwoLabelBracketIsSoftmaxTest::test_output_is_two_class_softmax_not_sigmoid
test_gen_c4_binary_labeled.py::LabelOrderIsDeclarationOrderTest::test_reversed_declaration_order_is_kept
test_gen_c4_binary_labeled.py::BinaryWithoutBracketStaysSigmoidTest::test_clasificacion_binaria_a_secas_is_sigmoid
test_gen_c4_binary_labeled.py::BinaryWithoutBracketStaysSigmoidTest::test_english_binary_classification_bare_is_sigmoid
test_gen_c4_binary_labeled.py::BinaryWithoutBracketStaysSigmoidTest::test_existing_binary_keyword_prompt_unaffected
test_gen_c4_binary_labeled.py::MulticlassThreeLabelsUnaffectedTest::test_three_label_bracket_still_multiclass
test_gen_c4_binary_labeled.py::CompositeHonorsSameC4PolicyTest::test_composite_bare_binary_stays_sigmoid
test_gen_c4_binary_labeled.py::CompositeHonorsSameC4PolicyTest::test_composite_explicit_two_label_bracket_is_softmax
test_gen_c4_binary_labeled.py::AuditPromptBracketWinsOverCallerLabelsTest::test_composite_same_precedence
test_gen_c4_binary_labeled.py::AuditPromptBracketWinsOverCallerLabelsTest::test_matching_caller_labels_produce_no_spurious_warning
test_gen_c4_binary_labeled.py::AuditPromptBracketWinsOverCallerLabelsTest::test_three_caller_labels_do_not_widen_the_output
test_gen_c4_binary_labeled.py::AuditPromptBracketWinsOverCallerLabelsTest::test_two_caller_labels_do_not_make_it_sigmoid
test_gen_c4_binary_labeled.py::AuditBracketForcesClassificationTaskTest::test_bracket_beats_regression_keywords
test_gen_c4_binary_labeled.py::AuditBracketForcesClassificationTaskTest::test_bracket_without_any_task_keyword
test_gen_c4_binary_labeled.py::AuditBracketForcesClassificationTaskTest::test_label_bracket_also_forces_classification
test_gen_c4_binary_labeled.py::AuditBracketForcesClassificationTaskTest::test_regression_without_bracket_unchanged
test_gen_c4_binary_labeled.py::AuditMaxLabelsCapWarnsTest::test_bracket_within_cap_no_warning
test_gen_c4_binary_labeled.py::AuditMaxLabelsCapWarnsTest::test_capped_bracket_emits_warning
test_gen_c4_binary_labeled.py::DispatchSurfacesC4Test::test_analyze_playground_request_generates_two_class_softmax
test_gen_c4_binary_labeled.py::ExportAcceptsTwoClassSoftmaxTest::test_downloaded_predict_gives_both_named_probabilities
test_gen_c5_llm_schema_validation.py::LlmContradictionLosesToPromptTest::test_llm_categorical_over_explicit_boolean_is_ignored
test_gen_c5_llm_schema_validation.py::LlmContradictionLosesToPromptTest::test_llm_categorical_over_explicit_scalar_is_ignored
test_gen_c5_llm_schema_validation.py::LlmContradictionLosesToPromptTest::test_prompt_categorical_vocab_beats_llm_count
test_gen_c5_llm_schema_validation.py::LlmOmissionFilledFromPromptTest::test_llm_input_fields_missing_declared_fields_still_typed
test_gen_c5_llm_schema_validation.py::LlmInvalidNamesNormalizedTest::test_invalid_field_names_are_sanitized_and_mxai_parses
test_gen_c5_llm_schema_validation.py::LlmInvalidNamesNormalizedTest::test_parse_dense_schema_rejects_invalid_categorical_entries
test_gen_c5_llm_schema_validation.py::LlmInvalidNamesNormalizedTest::test_unrecoverable_name_is_dropped_with_warning
test_gen_c5_llm_schema_validation.py::ThresholdAlignedWithOnehotMaxTest::test_prompt_declared_low_card_in_composite_still_embedding
test_gen_c5_llm_schema_validation.py::ThresholdAlignedWithOnehotMaxTest::test_vocab_above_threshold_is_embedding
test_gen_c5_llm_schema_validation.py::ThresholdAlignedWithOnehotMaxTest::test_vocab_at_threshold_is_dropped_with_warning
test_gen_c5_llm_schema_validation.py::HighCardPromptCategoricalRoutingTest::test_direct_dense_call_warns_and_leaves_scalar
test_gen_c5_llm_schema_validation.py::HighCardPromptCategoricalRoutingTest::test_dispatch_routes_highcard_prompt_to_composite_embedding
test_gen_c5_llm_schema_validation.py::AuditCategoricalFieldsNormalizedTest::test_invalid_key_name_normalized_and_mxai_parses
test_gen_c5_llm_schema_validation.py::AuditCategoricalFieldsNormalizedTest::test_invalid_vocab_values_dropped_not_raised
test_gen_c5_llm_schema_validation.py::AuditCategoricalFieldsNormalizedTest::test_orphan_categorical_is_appended_to_vector_and_dataset
test_gen_c5_llm_schema_validation.py::AuditCategoricalFieldsNormalizedTest::test_unrecoverable_key_dropped_with_warning
test_gen_c5_llm_schema_validation.py::AuditEmbeddingTraceabilityTest::test_architecture_source_is_prompt_types
test_gen_c5_llm_schema_validation.py::AuditEmbeddingTraceabilityTest::test_prompt_embedding_not_attributed_to_llm
test_gen_c5_llm_schema_validation.py::DeterministicParityTest::test_dispatch_without_llm_same_as_generator
test_gen_c5_llm_schema_validation.py::DeterministicParityTest::test_echoed_llm_kwargs_produce_same_type_metadata
test_gen_c6_roundtrip.py::OneHotUserRoundTripTest::test_onehot_prompt_to_prediction_with_human_values
test_gen_c6_roundtrip.py::EmbeddingUserRoundTripTest::test_highcard_prompt_routes_to_embedding_and_accepts_names
test_gen_c6_roundtrip.py::BooleanIntegerUserRoundTripTest::test_boolean_and_range_prompt_accepts_human_values
test_gen_c6_roundtrip.py::LabeledBinaryUserRoundTripTest::test_probabilitymap_two_labels_gives_named_distribution
test_gen_c6_roundtrip.py::Invariant6ConsistencyTest::test_categories_for_scalar_field_fail_the_spec
test_gen_c6_roundtrip.py::Invariant6ConsistencyTest::test_consistent_metadata_still_builds_usable_spec
test_gen_c6_roundtrip.py::Invariant6ConsistencyTest::test_embedding_vocab_size_mismatch_fails_the_spec
test_gen_c6_roundtrip.py::Invariant6ConsistencyTest::test_partial_onehot_group_fails_the_spec
test_gen_c6_roundtrip.py::Invariant6ConsistencyTest::test_unknown_categorical_fails_the_spec
test_gen_c6_roundtrip.py::PreExpandedDatasetGroupsTest::test_sampler_respects_pre_expanded_groups
test_gen_c6_roundtrip.py::EmbeddingDatasetRangeIsolationTest::test_llm_ranges_do_not_include_embedding_sources
test_gen_c6_roundtrip.py::EmbeddingDatasetRangeIsolationTest::test_user_range_for_embedding_source_is_ignored
test_gen_c6_roundtrip.py::BooleanRangeIsolationTest::test_llm_ranges_do_not_include_booleans
test_gen_c6_roundtrip.py::BooleanRangeIsolationTest::test_user_range_for_boolean_is_ignored
test_gen_c6_roundtrip.py::ArchKindReflectsEmittedNetworkTest::test_composite_routing_that_emits_dense_is_labelled_dense
test_gen_c6_roundtrip.py::ArchKindReflectsEmittedNetworkTest::test_prompt_highcard_labels_composite
test_gpu_c1_dense_torch_trainer.py::test_torch_dense_trainer_learns
test_gpu_c1_dense_torch_trainer.py::test_trained_weights_have_forward_parity_with_stdlib
test_gpu_c1_dense_torch_trainer.py::test_torch_dense_trainer_accuracy_above_prior
test_gpu_c1_dense_torch_trainer.py::test_early_stop_respected
test_gpu_c1_dense_torch_trainer.py::test_epoch_callback_can_cancel
test_gpu_c1_dense_torch_trainer.py::test_regression_mse_trains
test_gpu_c2_composite_torch_trainer.py::test_composite_torch_trainer_learns_embedding_signal
test_gpu_c2_composite_torch_trainer.py::test_composite_torch_forward_parity_with_stdlib
test_gpu_c2_composite_torch_trainer.py::test_composite_torch_trainer_accuracy_above_prior
test_gpu_c2_composite_torch_trainer.py::test_residual_only_composite_trains
test_gpu_c2_composite_torch_trainer.py::test_early_stop_respected
test_gpu_c2_composite_torch_trainer.py::test_batched_training_effective_batch_size_in_result
test_gpu_c2_composite_torch_trainer.py::test_batched_training_uses_preloaded_named_tensors
test_gpu_c2_composite_torch_trainer.py::test_batched_cancel_check_called
test_gpu_c3_backend_selection.py::test_selector_stdlib_when_no_gpu_or_forced
test_gpu_c3_backend_selection.py::test_selector_auto_falls_back_to_stdlib_without_cuda
test_gpu_c3_backend_selection.py::test_selector_torch_forced
test_gpu_c3_backend_selection.py::test_dense_default_backend_is_stdlib
test_gpu_c3_backend_selection.py::test_dense_torch_path_through_studio
test_gpu_c3_backend_selection.py::test_dense_torch_path_above_threshold_does_not_fall_back_to_stdlib
test_gpu_c3_backend_selection.py::test_composite_torch_path_through_studio
test_gpu_c3_backend_selection.py::test_composite_default_backend_is_stdlib
test_gpu_c3_backend_selection.py::test_async_job_status_reports_backend
test_gpu_c3_backend_selection.py::test_embedded_ui_reports_backend_in_success_message
test_gpu_c6_torch_eval.py::test_torch_eval_matches_stdlib_classification
test_gpu_c6_torch_eval.py::test_torch_eval_matches_stdlib_regression
test_gpu_c6_torch_eval.py::test_torch_eval_empty_raises
test_gpu_c6_torch_eval.py::test_composite_torch_eval_matches_stdlib
test_gpu_c6_torch_eval.py::test_composite_batched_forward_matches_per_sample
test_gpu_c6_torch_eval.py::test_composite_torch_eval_chunked_large
test_gpu_c6_torch_eval.py::test_tf32_helper_noop_on_cpu
test_gpu_c6_torch_eval.py::test_tf32_helper_respects_env_off
test_gpu_c6_torch_eval.py::test_tf32_helper_enables_on_cuda
test_gpu_c6_torch_eval.py::test_playground_torch_path_reports_metrics
test_gpu_c6_torch_eval.py::test_playground_torch_eval_chunked_large
test_gpu_c6_torch_eval.py::test_playground_torch_eval_fallback_on_error
test_gpu_m10_coherent_labeling.py::test_coherent_without_rules_equals_random
test_gpu_m10_coherent_labeling.py::test_coherent_is_reproducible
test_gpu_m10_coherent_labeling.py::test_coherent_does_not_run_the_network_no_attrs
test_gpu_m10_coherent_labeling.py::test_wide_deep_net_generates_instantly
test_gpu_m12_prompt_width.py::test_width_from_prompt_unidades
test_gpu_m12_prompt_width.py::test_width_from_prompt_units_equals
test_gpu_m12_prompt_width.py::test_width_capped_at_sanity_max
test_gpu_m12_prompt_width.py::test_ancho_explicito_respeta_el_tope_del_perfil
test_gpu_m12_prompt_width.py::test_estrecharla_no_es_silencioso
test_gpu_m12_prompt_width.py::test_en_avanzado_cabe_lo_que_en_equilibrado_no
test_gpu_m12_prompt_width.py::test_no_width_keeps_tapering
test_gpu_m12_prompt_width.py::test_width_without_depth_uses_default_depth
test_gpu_m12_prompt_width.py::test_irrelevant_number_not_taken_as_width
test_hallazgo15_entrada_no_ejecutable.py::LaEntradaSABE_SI_SePuedeEjecutarTest::test_con_modelo_SI
test_hallazgo15_entrada_no_ejecutable.py::LaEntradaSABE_SI_SePuedeEjecutarTest::test_el_dato_NO_se_duplica_en_un_campo_nuevo
test_hallazgo15_entrada_no_ejecutable.py::LaEntradaSABE_SI_SePuedeEjecutarTest::test_sin_modelo_NO_es_ejecutable
test_hallazgo15_entrada_no_ejecutable.py::PublicarSIN_MODELO_SIGUE_PERMITIDOTest::test_se_publica_y_queda_MARCADA
test_hallazgo15_entrada_no_ejecutable.py::PublicarSIN_MODELO_SIGUE_PERMITIDOTest::test_y_una_con_modelo_sale_ejecutable
test_hallazgo15_entrada_no_ejecutable.py::ElEjecutorLO_DICE_EnVezDeReventarTest::test_el_motivo_nombra_lo_que_falta_y_a_quien_le_toca
test_json_seguro.py::test_nan_se_vuelve_null_no_cero
test_json_seguro.py::test_infinitos_tambien
test_json_seguro.py::test_los_numeros_de_verdad_no_se_tocan
test_json_seguro.py::test_recursivo_por_donde_viven_las_perdidas
test_json_seguro.py::test_lo_que_sale_ES_json_valido
test_json_seguro.py::test_sin_sanear_json_dumps_produce_algo_que_nadie_puede_leer
test_la_clase_positiva_como_la_escribe_el_csv.py::test_la_clase_tal_como_viene_confirma_con_su_etiqueta[1-0-1-class_1]
test_la_clase_positiva_como_la_escribe_el_csv.py::test_la_clase_tal_como_viene_confirma_con_su_etiqueta[S\xed-No-S\xed-si]
test_la_clase_positiva_como_la_escribe_el_csv.py::test_la_clase_tal_como_viene_confirma_con_su_etiqueta[Y-N-Y-y]
test_la_clase_positiva_como_la_escribe_el_csv.py::test_la_clase_tal_como_viene_confirma_con_su_etiqueta[1-0-class_1-class_1]
test_la_clase_positiva_como_la_escribe_el_csv.py::test_la_clase_tal_como_viene_confirma_con_su_etiqueta[si-no-si-si]
test_la_clase_positiva_como_la_escribe_el_csv.py::test_un_valor_que_no_esta_en_la_columna_sigue_preguntando
test_la_densa_para_por_plazo.py::test_un_plazo_vencido_para_tras_UN_lote_lo_declara_y_entrega_un_modelo
test_la_densa_para_por_plazo.py::test_un_plazo_que_no_se_alcanza_da_EXACTAMENTE_los_mismos_pesos_que_sin_plazo
test_la_densa_para_por_plazo.py::test_lo_entregado_es_la_MEJOR_epoca_vista_no_la_ultima_a_medias
test_la_densa_para_por_plazo.py::test_el_plazo_llega_desde_la_superficie_publica
test_la_densa_para_por_plazo.py::test_la_compuesta_tambien_para_por_plazo_y_lo_declara
test_la_densa_para_por_plazo.py::test_la_compuesta_con_un_plazo_lejano_da_los_MISMOS_pesos_y_dice_que_no_paro
test_la_rueda_lleva_los_datos_del_paquete.py::test_cada_fichero_de_datos_del_paquete_casa_con_package_data
test_la_rueda_lleva_los_datos_del_paquete.py::test_y_el_caso_que_lo_destapo_esta_cubierto
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_bytes_se_expresan_en_MB
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_campos_obligatorios
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_configurable_ofrece_donde_cambiarlo
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_hosted_no_ofrece_accion_imposible
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_is_limit_error_discrimina
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_perfil_ilimitado_no_tiene_maximo
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_tamano_se_formatea_segun_magnitud
test_limites_c62_c1_error_estructurado.py::TestLimitErrorPayload::test_texto_de_respaldo_no_mezcla_idiomas
test_limites_c62_c1_error_estructurado.py::TestRutasEmitenElPayload::test_dataset_sintetico_supera_max_csv_bytes
test_limites_c62_c1_error_estructurado.py::TestRutasEmitenElPayload::test_normalize_external_csv_no_falla_por_debajo_del_tope
test_limites_c62_c1_error_estructurado.py::TestRutasEmitenElPayload::test_normalize_external_csv_supera_max_csv_bytes
test_limites_c62_c1_error_estructurado.py::TestRutasEmitenElPayload::test_validate_training_csv_supera_max_rows
test_limites_c62_c1_error_estructurado.py::TestDatasetProjectNoMiente::test_details_es_none_para_errores_que_no_son_topes
test_limites_c62_c1_error_estructurado.py::TestDatasetProjectNoMiente::test_tope_de_filas_no_se_presenta_como_hueco_de_preparacion
test_limites_c62_c1_error_estructurado.py::TestDatasetProjectNoMiente::test_un_fallo_real_de_preparacion_conserva_su_mensaje
test_limites_tamano_de_datos.py::TamanoDeDatosSinTopeTest::test_el_analisis_pasa_dentro_del_banco_con_un_tope_ridiculo
test_limites_tamano_de_datos.py::TamanoDeDatosSinTopeTest::test_el_banco_de_pruebas_no_hereda_ningun_tope
test_limites_tamano_de_datos.py::TamanoDeDatosSinTopeTest::test_el_bloque_se_deshace_aunque_falle_lo_de_dentro
test_limites_tamano_de_datos.py::TamanoDeDatosSinTopeTest::test_el_csv_ya_no_tiene_tope_por_omision
test_limites_tamano_de_datos.py::TamanoDeDatosSinTopeTest::test_las_filas_ya_no_se_recortan_en_el_analisis
test_limites_tamano_de_datos.py::LoQueSigueProtegidoTest::test_el_aviso_dice_quien_puso_el_tope
test_limites_tamano_de_datos.py::LoQueSigueProtegidoTest::test_el_banco_de_pruebas_no_afloja_el_servicio_compartido
test_limites_tamano_de_datos.py::LoQueSigueProtegidoTest::test_el_servicio_compartido_conserva_sus_topes
test_limites_tamano_de_datos.py::LoQueSigueProtegidoTest::test_lo_que_cuesta_calcular_sigue_topado
test_limites_tamano_de_datos.py::LoQueSigueProtegidoTest::test_un_tope_puesto_a_mano_se_aplica
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_deja_pasar_lo_que_si_cabe
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_el_analisis_avisa_antes_de_leer_lo_que_no_cabe
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_el_banco_de_pruebas_tampoco_la_apaga
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_el_texto_sintetico_tambien_estima_antes_de_generar
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_la_generacion_sintetica_estima_antes_de_generar
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_no_ofrece_una_accion_que_no_arregla_nada
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_rechaza_lo_que_no_cabe_y_lo_dice_con_numeros
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_se_puede_apagar
test_limites_tamano_de_datos.py::GuardaDeMemoriaTest::test_si_no_se_puede_medir_la_memoria_no_opina
test_limites_tamano_de_datos.py::ElTopeDeENTRENAMIENTO_TambienCaeDentroDelBancoTest::test_dentro_del_banco_NO_hay_tope_de_entrenamiento
test_limites_tamano_de_datos.py::ElTopeDeENTRENAMIENTO_TambienCaeDentroDelBancoTest::test_el_bloque_no_se_escapa
test_limites_tamano_de_datos.py::ElTopeDeENTRENAMIENTO_TambienCaeDentroDelBancoTest::test_fuera_del_banco_el_tope_SIGUE_puesto
test_limites_tamano_de_datos.py::ElTopeDeENTRENAMIENTO_TambienCaeDentroDelBancoTest::test_lo_decide_el_CONTEXTO_y_no_la_variable_de_entorno
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_complete_extracts_content_text
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_empty_api_key_raises
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_multi_block_content_is_joined
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_no_semantic_text_raises
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_propose_uses_messages_endpoint_and_headers
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_retries_on_retryable_status
test_llm_multiprovider.py::TestAnthropicAdapterWireFormat::test_token_budget_enforced
test_llm_multiprovider.py::TestProviderRouting::test_anthropic_ignores_leftover_openai_endpoint
test_llm_multiprovider.py::TestProviderRouting::test_anthropic_routes_to_adapter
test_llm_multiprovider.py::TestProviderRouting::test_deepseek_routes_to_chat_completions_with_default_endpoint
test_llm_multiprovider.py::TestProviderRouting::test_explicit_endpoint_overrides_default
test_llm_multiprovider.py::TestProviderRouting::test_gemini_routes_to_openai_compatible_endpoint
test_llm_multiprovider.py::TestProviderRouting::test_openai_default_endpoint
test_los_dos_numeros_cuadran.py::test_la_matriz_y_la_exactitud_cuentan_lo_mismo
test_los_dos_numeros_cuadran.py::test_tambien_cuando_falla_todo
test_los_dos_numeros_cuadran.py::test_el_resultado_del_entrenAMIENTO_lleva_la_matriz_de_VALIDACION
test_los_dos_numeros_cuadran.py::test_la_pantalla_lee_la_evaluacion_de_VALIDACION_y_no_la_inflada
test_los_ejemplos_del_prompt_se_leen_bien.py::test_2_1_por_el_camino_real_la_salida_no_entra_en_el_vector
test_los_ejemplos_del_prompt_se_leen_bien.py::test_ninguna_forma_de_declarar_la_salida_la_vuelve_una_entrada[predecir\nFEATURES:\n  a: Scalar en [0, 1]\nSALIDA: y: Scalar en [5, 9]-esperadas0]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_ninguna_forma_de_declarar_la_salida_la_vuelve_una_entrada[predecir\nFEATURES:\n  a: Scalar\nOUTPUT: y: Scalar-esperadas1]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_ninguna_forma_de_declarar_la_salida_la_vuelve_una_entrada[predecir\nFEATURES:\n  a: Scalar\nOUTPUT y: Scalar-esperadas2]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_ninguna_forma_de_declarar_la_salida_la_vuelve_una_entrada[predecir\nFEATURES:\n  a: Scalar\nobjetivo: y: Integer[0, 9]-esperadas3]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_ninguna_forma_de_declarar_la_salida_la_vuelve_una_entrada[predecir\nFEATURES:\n  a: Scalar\nTARGET: y: Boolean-esperadas4]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_ninguna_forma_de_declarar_la_salida_la_vuelve_una_entrada[clasificar\nFEATURES:\n  a: Scalar\nSALIDA: y: ProbabilityMap[si, no]-esperadas5]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_en_un_prompt_de_una_sola_linea_lo_de_detras_de_la_salida_sigue_siendo_entrada
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_objetivo_del_prompt_se_sigue_leyendo_de_la_salida
test_los_ejemplos_del_prompt_se_leen_bien.py::test_7_1_por_el_camino_real_la_red_no_se_llama_o
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[FEATURES: modelo: Categorical[M0, M1]--]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[FEATURES: red: Scalar, input_x: Scalar--]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[redes neuronales para la demanda--]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[crea una red llamada Ventas que prediga x-Ventas-]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[modelo Riesgo con edad-Riesgo-]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[network named Sales-Sales-]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_el_nombre_de_la_red_y_de_la_entidad_solo_si_el_prompt_lo_dice[entrada llamada Cliente--Cliente]
test_los_ejemplos_del_prompt_se_leen_bien.py::test_7_1_el_csv_del_generador_con_el_indice_escrito_2_0_valida
test_los_entrenamientos_tienen_dueno.py::UnEntrenamientoEsDeQuienLoLanza::test_OTRO_no_lo_ve
test_los_entrenamientos_tienen_dueno.py::UnEntrenamientoEsDeQuienLoLanza::test_su_dueno_lo_ve
test_los_entrenamientos_tienen_dueno.py::ElMensajeNoConfirmaQueExista::test_el_mismo_mensaje_que_un_id_inventado
test_los_entrenamientos_tienen_dueno.py::Cancelar::test_OTRO_no_puede_cancelarlo
test_los_entrenamientos_tienen_dueno.py::Cancelar::test_su_dueno_sí
test_los_entrenamientos_tienen_dueno.py::SinDuenoNoCambiaNada::test_cualquiera_lo_ve_y_lo_cancela
test_los_miles_van_en_su_idioma.py::ElSeparadorDependeDelIdioma::test_en_espanol_es_punto
test_los_miles_van_en_su_idioma.py::ElSeparadorDependeDelIdioma::test_en_ingles_es_coma
test_los_miles_van_en_su_idioma.py::ElSeparadorDependeDelIdioma::test_los_pequenos_no_llevan_separador
test_los_miles_van_en_su_idioma.py::ElSeparadorDependeDelIdioma::test_no_se_escriben_igual
test_los_miles_van_en_su_idioma.py::ElSeparadorDependeDelIdioma::test_por_defecto_sigue_siendo_espanol
test_los_miles_van_en_su_idioma.py::ElMOTIVOQueRedactaElCoreLoUsaBien::test_el_rationale_en_ingles_no_lleva_punto_de_miles
test_m12_limits.py::test_defaults_are_equilibrado
test_m12_limits.py::test_unknown_limit_raises
test_m12_limits.py::test_profile_avanzado
test_m12_limits.py::test_profile_ilimitado_gives_none
test_m12_limits.py::test_bad_profile_falls_back_to_equilibrado
test_m12_limits.py::test_per_limit_env_override
test_m12_limits.py::test_env_unlimited_tokens[0]
test_m12_limits.py::test_env_unlimited_tokens[none]
test_m12_limits.py::test_env_unlimited_tokens[unlimited]
test_m12_limits.py::test_env_unlimited_tokens[ilimitado]
test_m12_limits.py::test_env_unlimited_tokens[off]
test_m12_limits.py::test_env_invalid_falls_back_to_profile
test_m12_limits.py::test_negative_env_means_unlimited
test_m12_limits.py::test_hosted_ignores_env_and_profile
test_m12_limits.py::test_hosted_never_offers_ilimitado
test_m12_limits.py::test_snapshot_descargable_offers_ilimitado
test_m12_limits.py::test_cap_and_exceeds_with_limit
test_m12_limits.py::test_cap_and_exceeds_unlimited
test_m12_limits.py::test_playground_generation_honours_row_override
test_m12_limits.py::test_epoch_cap_honours_override
test_m12_limits.py::test_generator_depth_honours_override
test_m15_effective_batch.py::test_cuda_ignores_small_spec_batch
test_m15_effective_batch.py::test_cuda_none_spec_uses_default
test_m15_effective_batch.py::test_cuda_respects_larger_spec
test_m15_effective_batch.py::test_cuda_capped_by_n_train
test_m15_effective_batch.py::test_cuda_device_index_string
test_m15_effective_batch.py::test_env_override_lowers_default
test_m15_effective_batch.py::test_env_override_below_spec_still_takes_max
test_m15_effective_batch.py::test_env_invalid_falls_back_to_default
test_m15_effective_batch.py::test_cpu_respects_spec_batch
test_m15_effective_batch.py::test_cpu_none_spec_defaults_2048
test_m15_effective_batch.py::test_cpu_capped_by_n_train
test_m15_effective_batch.py::test_cpu_env_does_not_apply
test_m15f_composite_builder.py::test_with_values_false_is_structure_only
test_m15f_composite_builder.py::test_with_values_true_still_materializes
test_m15f_composite_builder.py::test_torch_module_builds_from_valueless_template
test_m15f_composite_builder.py::test_torch_composite_training_is_reproducible_and_has_real_weights
test_m16_csv_template.py::test_template_columns_and_target
test_m16_csv_template.py::test_template_csv_is_downloadable_and_parseable
test_m16_csv_template.py::test_template_regression_target
test_m16_csv_template.py::test_template_requires_inputs
test_m16_csv_template.py::test_validate_wrong_columns_actionable
test_m16_csv_template.py::test_validate_partial_missing_target
test_m16_csv_template.py::test_validate_ok_includes_expected_columns
test_m16_csv_template.py::test_validate_tolerates_reordered_columns
test_m16_csv_template.py::test_validate_extra_column_ok_with_warning
test_m16_csv_template.py::test_template_note_does_not_claim_exact
test_m2_c3_composite_generation.py::TestDetectors::test_wants_composite_on_hints
test_m2_c3_composite_generation.py::TestDetectors::test_sequence_detection
test_m2_c3_composite_generation.py::TestDetectors::test_unsupported_ops
test_m2_c3_composite_generation.py::TestRouting::test_composite_prompt_routes_to_composite
test_m2_c3_composite_generation.py::TestRouting::test_normal_neural_prompt_stays_dense
test_m2_c3_composite_generation.py::TestRouting::test_no_native_embedding_in_v1
test_m2_c3_composite_generation.py::TestWarnings::test_sequence_prompt_falls_back_to_dense_with_warning
test_m2_c3_composite_generation.py::TestWarnings::test_unsupported_op_warns_on_neural_composite
test_m2_c3_composite_generation.py::TestGeneratedCompositeTrains::test_generated_composite_trains_e2e
test_m2v2_c1_composite_onnx.py::test_composite_export_produces_valid_onnx
test_m2v2_c1_composite_onnx.py::test_composite_parity_with_forward
test_m2v2_c1_composite_onnx.py::test_flat_composite_parity
test_m2v2_c1_composite_onnx.py::test_composite_parity_with_trained_weights
test_m2v2_c1_composite_onnx.py::test_embedding_composite_exports_with_parity
test_m2v2_c2_composite_equivalence.py::test_composite_equivalence_passes
test_m2v2_c2_composite_equivalence.py::test_wasm_export_composite_by_delegation
test_m2v2_c2_composite_equivalence.py::test_core_manifest_for_composite
test_m2v2_c4_embedding.py::test_generator_declares_index_range_zero_to_vocab_minus_one
test_m2v2_c4_embedding.py::test_synthetic_dataset_samples_integer_indices
test_m2v2_c4_embedding.py::test_composite_template_has_a_data_row
test_m2v2_c4_embedding.py::test_embedding_index_not_normalized_in_dataset_csv
test_m2v2_c5_llm_composite.py::TestParser::test_parses_categoricals
test_m2v2_c5_llm_composite.py::TestParser::test_ignores_malformed_and_tiny_vocab
test_m2v2_c5_llm_composite.py::TestParser::test_no_categoricals_line
test_m2v2_c5_llm_composite.py::TestRouting::test_llm_categoricals_emit_embedding_composite
test_m2v2_c5_llm_composite.py::TestRouting::test_categorical_missing_from_fields_is_folded_in
test_m2v2_c5_llm_composite.py::TestRouting::test_no_categoricals_keeps_dense
test_m2v2_c5_llm_composite.py::TestRouting::test_residual_plus_categoricals
test_m3_metrics.py::TestSyncTrainingMetrics::test_multiclass_exposes_macro_f1_and_confusion
test_m3_metrics.py::TestSyncTrainingMetrics::test_metrics_also_inside_evaluation_report
test_m3_metrics.py::TestSyncTrainingMetrics::test_binary_classification_has_metrics
test_m3_metrics.py::TestJobStatusMetrics::test_async_job_status_flattens_metrics
test_m6_range_editor.py::TestSuggestRanges::test_returns_columns_and_llm_ranges
test_m6_range_editor.py::TestSuggestRanges::test_without_llm_returns_columns_with_empty_ranges
test_m6_range_editor.py::TestSuggestRanges::test_llm_extra_columns_filtered
test_m6_range_editor.py::TestSuggestRanges::test_invalid_mxai_fails
test_m6_range_editor.py::TestSuggestRanges::test_empty_inputs_fail
test_m6_range_editor.py::TestGenerateWithOverride::test_full_override_skips_llm
test_m6_range_editor.py::TestGenerateWithOverride::test_partial_override_llm_fills_gaps_only
test_m6_range_editor.py::TestGenerateWithOverride::test_user_wins_even_if_llm_returns_same_column
test_m6_range_editor.py::TestGenerateWithOverride::test_override_without_llm
test_m6_range_editor.py::TestGenerateWithOverride::test_override_unknown_column_filtered
test_m6_range_editor.py::TestGenerateWithOverride::test_no_override_keeps_previous_behaviour
test_m7_collapse_detection.py::TestProbe::test_collapsed_params_detected
test_m7_collapse_detection.py::TestProbe::test_healthy_params_not_flagged
test_m7_collapse_detection.py::TestProbe::test_invalid_params_returns_none
test_m7_collapse_detection.py::TestProbe::test_model_without_network_returns_none
test_m7_collapse_detection.py::TestProbe::test_unparseable_mxai_returns_none
test_m7_collapse_detection.py::TestAttach::test_collapsed_result_gets_flag_and_warning
test_m7_collapse_detection.py::TestAttach::test_healthy_result_flag_false_without_warning
test_m7_collapse_detection.py::TestAttach::test_failed_result_untouched
test_m7_collapse_detection.py::TestAttach::test_result_without_params_untouched
test_m7_collapse_detection.py::TestAttach::test_probe_failure_never_breaks_result
test_m7_collapse_detection.py::TestTrainingJobE2E::test_job_status_exposes_model_collapsed
test_m8_a1_architecture_sanitizer.py::TestSanitizeUnit::test_widens_narrow_relu
test_m8_a1_architecture_sanitizer.py::TestSanitizeUnit::test_keeps_wide_relu
test_m8_a1_architecture_sanitizer.py::TestSanitizeUnit::test_non_relu_untouched
test_m8_a1_architecture_sanitizer.py::TestSanitizeUnit::test_multiple_narrow
test_m8_a1_architecture_sanitizer.py::TestSanitizeUnit::test_empty
test_m8_a1_architecture_sanitizer.py::TestGeneratorSanitizes::test_narrow_bottleneck_widened_in_mxai
test_m8_a1_architecture_sanitizer.py::TestGeneratorSanitizes::test_clean_architecture_no_warning
test_m8_a1_architecture_sanitizer.py::TestEndToEndViaLLMSchema::test_llm_proposed_bottleneck_is_sanitized_and_warned
test_m8_a1_architecture_sanitizer.py::TestEndToEndViaLLMSchema::test_sanitized_model_trains
test_m8_a3_seed_retry.py::TestDenseSeed::test_different_seeds_differ
test_m8_a3_seed_retry.py::TestDenseSeed::test_same_seed_reproducible
test_m8_a3_seed_retry.py::TestDenseSeed::test_he_normal_init_already_in_core
test_m8_a3_seed_retry.py::TestCompositeSeed::test_different_seeds_differ
test_m8_a3_seed_retry.py::TestSubmitJobSeed::test_submit_accepts_seed
test_m8_b1_llm_architect.py::TestParser::test_parses_architecture_and_rationale
test_m8_b1_llm_architect.py::TestParser::test_architecture_normalized_to_dense
test_m8_b1_llm_architect.py::TestParser::test_no_architecture_line
test_m8_b1_llm_architect.py::TestRouting::test_llm_residual_routes_composite_without_prompt_hints
test_m8_b1_llm_architect.py::TestRouting::test_llm_dense_stays_dense
test_m8_b1_llm_architect.py::TestRouting::test_no_llm_is_deterministic_default
test_m8_b1_llm_architect.py::TestRouting::test_prompt_hints_win_without_llm
test_m8_b1_llm_architect.py::TestRouting::test_rationale_surfaced_in_pipeline
test_m8_b1_llm_architect.py::TestRouting::test_llm_residual_still_sanitized
test_m8_c1_data_signal.py::TestLabelOrigin::test_coherent_without_domain_rules_degrades_to_random
test_m8_c1_data_signal.py::TestLabelOrigin::test_random_classification_warns
test_m8_c1_data_signal.py::TestLabelOrigin::test_random_regression_no_signal_warning
test_m8v2_c1_domain_rules.py::test_parse_basic_rules
test_m8v2_c1_domain_rules.py::test_first_match_wins_then_default
test_m8v2_c1_domain_rules.py::test_and_or_semantics
test_m8v2_c1_domain_rules.py::test_operators
test_m8v2_c1_domain_rules.py::test_missing_feature_does_not_match
test_m8v2_c1_domain_rules.py::test_mixed_combiner_rule_is_skipped
test_m8v2_c1_domain_rules.py::test_normalized_maps_domain_thresholds_to_unit
test_m8v2_c1_domain_rules.py::test_normalized_does_not_clamp_out_of_range_thresholds
test_m8v2_c1_domain_rules.py::test_normalized_keeps_value_when_no_range
test_m8v2_c1_domain_rules.py::test_validate_ok
test_m8v2_c1_domain_rules.py::test_validate_unknown_feature_and_label
test_m8v2_c1_domain_rules.py::test_validate_rejects_empty
test_m8v2_c1_domain_rules.py::test_validate_requires_two_reachable_labels
test_m8v2_c2_llm_domain.py::test_system_prompt_mentions_format_and_default
test_m8v2_c2_llm_domain.py::test_llm_domain_rules_parses_provider_output
test_m8v2_c2_llm_domain.py::test_llm_domain_rules_returns_none_on_provider_error
test_m8v2_c2_llm_domain.py::test_llm_domain_rules_garbage_text_is_invalid
test_m8v2_c3_generation.py::test_generator_uses_domain_rules_not_runtime
test_m8v2_c3_generation.py::test_domain_rules_skew_not_rebalanced
test_m8v2_c3_generation.py::test_generate_synthetic_dataset_domain_origin_with_llm
test_m8v2_c3_generation.py::test_fallback_to_random_without_llm
test_m8v2_c3_generation.py::test_warns_when_declared_classes_are_missing
test_m8v2_c3_generation.py::test_no_missing_warning_when_all_classes_present
test_m8v2_c3_generation.py::test_fallback_when_domain_rules_collapse_to_one_class
test_m8v2_c3_generation.py::test_fallback_when_llm_rules_invalid
test_m9_coherence.py::test_coherent_vector_passes
test_m9_coherence.py::test_extra_input_columns_tolerated
test_m9_coherence.py::test_ellipsis_three_dots_detected
test_m9_coherence.py::test_ellipsis_unicode_detected
test_m9_coherence.py::test_dimension_field_mismatch
test_m9_coherence.py::test_message_is_bilingual_and_actionable
test_m9_coherence.py::test_playground_generation_returns_coherence_error
test_m9_coherence.py::test_playground_generation_ok_when_coherent
test_multiclase_sin_clases.py::TestUnSoftmaxDeUnaUnidadNoExiste::test_el_caso_medido_del_core
test_multiclase_sin_clases.py::TestUnSoftmaxDeUnaUnidadNoExiste::test_el_mxai_que_sale_ya_no_es_el_que_el_verificador_rechaza
test_multiclase_sin_clases.py::TestUnSoftmaxDeUnaUnidadNoExiste::test_la_propuesta_del_LLM_no_se_descarta_en_silencio
test_multiclase_sin_clases.py::TestUnSoftmaxDeUnaUnidadNoExiste::test_sin_pregunta_de_si_o_no_usa_clases_de_ejemplo_Y_LO_DECLARA
test_multiclase_sin_clases.py::TestUnSoftmaxDeUnaUnidadNoExiste::test_con_CERO_clases_tambien
test_multiclase_sin_clases.py::TestClasesInventadasEnSilencio::test_las_clases_de_ejemplo_se_declaran_como_tales
test_multiclase_sin_clases.py::TestClasesInventadasEnSilencio::test_si_las_clases_se_leen_del_prompt_NO_se_avisa_de_nada
test_multiclase_sin_clases.py::TestClasesInventadasEnSilencio::test_el_aviso_dice_QUE_NO_SE_PUDIERON_LEER_no_que_no_esten
test_multiclase_sin_clases.py::TestClasesInventadasEnSilencio::test_una_binaria_no_lleva_este_aviso
test_multiclase_sin_clases.py::TestClasesInventadasEnSilencio::test_una_regresion_tampoco
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_las_lee[clasificar una incidencia en critica, media o baja-esperadas0]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_las_lee[clasificar la incidencia como critica, media o baja-esperadas1]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_las_lee[classify the ticket into urgent, normal or low-esperadas2]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_NO_se_inventa_clases_donde_no_las_hay[clasificar los pedidos en funcion del peso]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_NO_se_inventa_clases_donde_no_las_hay[predecir el precio a partir de la superficie y el barrio]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_NO_se_inventa_clases_donde_no_las_hay[clasificar si un cliente cancela]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_NO_se_inventa_clases_donde_no_las_hay[clasificar el riesgo segun la edad, la tension y el pulso]
test_multiclase_sin_clases.py::TestClasesDichasEnProsa::test_NO_se_inventa_clases_donde_no_las_hay[detectar fraude en un seguro de hogar a partir de importe, antiguedad y codigo postal]
test_multiclase_sin_clases.py::TestLoQueLaRaizNoAlcanza::test_verbo_separado_del_si_sigue_siendo_una_pregunta_de_si_o_no[clasificar para saber si un cliente cancela]
test_multiclase_sin_clases.py::TestLoQueLaRaizNoAlcanza::test_verbo_separado_del_si_sigue_siendo_una_pregunta_de_si_o_no[clasificar el correo para determinar si es spam]
test_multiclase_sin_clases.py::TestLoQueLaRaizNoAlcanza::test_verbo_separado_del_si_sigue_siendo_una_pregunta_de_si_o_no[categorizar los pedidos y decir si llegaran tarde]
test_multiclase_sin_clases.py::TestLoQueNoSeToca::test_una_multiclase_de_verdad_sigue_igual
test_multiclase_sin_clases.py::TestLoQueNoSeToca::test_dos_clases_siguen_siendo_softmax_de_dos
test_multiclase_sin_clases.py::TestLoQueNoSeToca::test_una_regresion_sigue_siendo_una_regresion
test_multiclase_sin_clases.py::TestLoQueNoSeToca::test_una_binaria_normal_sigue_igual
test_multiclase_sin_clases.py::test_ninguna_pregunta_de_si_o_no_acaba_en_softmax_de_una[clasificar si un cliente cancela]
test_multiclase_sin_clases.py::test_ninguna_pregunta_de_si_o_no_acaba_en_softmax_de_una[saber si un paciente necesita ingreso]
test_multiclase_sin_clases.py::test_ninguna_pregunta_de_si_o_no_acaba_en_softmax_de_una[predict whether an order will be late]
test_multiclase_sin_clases.py::test_ninguna_pregunta_de_si_o_no_acaba_en_softmax_de_una[quiero un modelo que me diga si un cliente va a impagar]
test_mvp.py::MatrixAIMVPTest::test_architect_generates_valid_email_agent
test_mvp.py::MatrixAIMVPTest::test_architect_generates_valid_risk_agent
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_budget_exceeded
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_candidate_without_project_skipped
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_from_env_requires_api_key
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_generates_supervised_candidate
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_loads_dotenv_file
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_no_choices_raises
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_no_retry_on_400
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_rejects_dotenv_placeholder
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_retries_exhausted
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_retries_on_429
test_mvp.py::MatrixAIMVPTest::test_chat_completions_provider_retries_on_5xx
test_mvp.py::MatrixAIMVPTest::test_collect_vars
test_mvp.py::MatrixAIMVPTest::test_email_agent_parses_and_validates
test_mvp.py::MatrixAIMVPTest::test_email_agent_runs_simulated_action
test_mvp.py::MatrixAIMVPTest::test_expr_binop_add_mul
test_mvp.py::MatrixAIMVPTest::test_expr_call_clip_and_scale
test_mvp.py::MatrixAIMVPTest::test_expr_call_normalize
test_mvp.py::MatrixAIMVPTest::test_expr_call_sigmoid
test_mvp.py::MatrixAIMVPTest::test_expr_division_by_zero_raises
test_mvp.py::MatrixAIMVPTest::test_expr_literal_eval
test_mvp.py::MatrixAIMVPTest::test_expr_to_dict_round_trip
test_mvp.py::MatrixAIMVPTest::test_expr_var_dotted_eval
test_mvp.py::MatrixAIMVPTest::test_expr_var_eval
test_mvp.py::MatrixAIMVPTest::test_extract_weighted_sum_eval
test_mvp.py::MatrixAIMVPTest::test_extract_weighted_sum_two_terms
test_mvp.py::MatrixAIMVPTest::test_goal_translator_derives_rules_from_goals
test_mvp.py::MatrixAIMVPTest::test_llm_call_trace_prompt_hash_is_stable
test_mvp.py::MatrixAIMVPTest::test_llm_call_trace_recorded_on_http_error
test_mvp.py::MatrixAIMVPTest::test_llm_call_trace_recorded_on_success
test_mvp.py::MatrixAIMVPTest::test_llm_call_trace_token_usage_captured
test_mvp.py::MatrixAIMVPTest::test_llm_proposal_agent_accepts_deterministic_provider
test_mvp.py::MatrixAIMVPTest::test_llm_proposal_agent_rejects_when_no_candidate_passes
test_mvp.py::MatrixAIMVPTest::test_llm_proposal_agent_tries_next_candidate_after_rejection
test_mvp.py::MatrixAIMVPTest::test_llm_proposal_batch_call_traces_in_json
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_build_symbolic_expr
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_build_symbolic_invalid
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_build_symbolic_weighted_sum
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_marks_unresolved
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_mixed_batch
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_positive_threshold_still_works
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_aggregate_max
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_aggregate_mean
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_aggregate_softmax
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_aggregate_vote
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_assign
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_normalize
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_normalize_with_range
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translate_select
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_and_rule
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_classify_rule
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_negative_threshold_and
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_negative_threshold_or
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_negative_threshold_simple
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_or_rule
test_mvp.py::MatrixAIMVPTest::test_mathematical_agent_translates_simple_rule
test_mvp.py::MatrixAIMVPTest::test_optimizer_no_suggestions_on_minimal_graph
test_mvp.py::MatrixAIMVPTest::test_optimizer_suggests_merge_for_email_agent
test_mvp.py::MatrixAIMVPTest::test_p1_mxai_select_argmax_runtime_matches_compiled
test_mvp.py::MatrixAIMVPTest::test_p1_mxai_symbolic_normalize_aggregate_runtime_matches_compiled
test_mvp.py::MatrixAIMVPTest::test_parse_expr_unknown_function_resolves_from_env
test_mvp.py::MatrixAIMVPTest::test_parse_expr_weighted_sum_structure
test_mvp.py::MatrixAIMVPTest::test_planner_verifier_accepts_valid_plan
test_mvp.py::MatrixAIMVPTest::test_planner_verifier_fails_goal_rule_violation
test_mvp.py::MatrixAIMVPTest::test_planner_verifier_rejects_unsafe_action
test_mvp.py::MatrixAIMVPTest::test_prompt_agent_extracts_fields_rules_and_lineage
test_mvp.py::MatrixAIMVPTest::test_prompt_agent_generates_supervised_email_agent
test_mvp.py::MatrixAIMVPTest::test_prompt_rules_are_executable_action_evidence
test_mvp.py::MatrixAIMVPTest::test_prompt_supervisor_accepts_prompt_pipeline
test_mvp.py::MatrixAIMVPTest::test_prompt_supervisor_rejects_unsafe_semantic_proposal
test_mvp.py::MatrixAIMVPTest::test_propose_and_supervise_exhaust_all_evaluates_all_candidates
test_mvp.py::MatrixAIMVPTest::test_python_compiler_generated_email_matches_runtime
test_mvp.py::MatrixAIMVPTest::test_python_compiler_generated_pharmacy_matches_runtime
test_mvp.py::MatrixAIMVPTest::test_runtime_evaluates_aggregate_max
test_mvp.py::MatrixAIMVPTest::test_runtime_evaluates_aggregate_mean
test_mvp.py::MatrixAIMVPTest::test_runtime_evaluates_normalize
test_mvp.py::MatrixAIMVPTest::test_runtime_evaluates_symbolic_weighted_sum
test_mvp.py::MatrixAIMVPTest::test_runtime_vector_fields_exposed_in_state
test_mvp.py::MatrixAIMVPTest::test_unknown_function_semantics_fail_explicitly
test_nightly_transformer.py::TestNightlyDenseGradient::test_all_parameters_were_updated
test_nightly_transformer.py::TestNightlyDenseGradient::test_loss_is_finite
test_nightly_transformer.py::TestNightlyDenseGradient::test_tensors_moved
test_nightly_transformer.py::TestNightlyDenseGradient::test_training_completed
test_ningun_entrenamiento_queda_vivo.py::ElGuardianDeLosEntrenamientosVivos::test_cae_la_que_lo_deja_con_su_nombre_y_la_siguiente_no_lo_hereda
test_ningun_entrenamiento_queda_vivo.py::ElGuardianDeLosEntrenamientosVivos::test_no_importa_el_playground_si_la_prueba_no_lo_hizo
test_ningun_entrenamiento_queda_vivo.py::ElGuardianDeLosEntrenamientosVivos::test_una_prueba_que_espera_al_suyo_no_cae
test_nombres_de_las_metricas.py::test_cada_metrica_del_registro_tiene_nombre_en_los_dos_idiomas
test_nombres_de_las_metricas.py::test_no_hay_nombres_de_metricas_que_no_existen
test_nombres_de_las_metricas.py::test_los_de_la_matriz_de_confusion_se_llaman_como_en_castellano
test_nombres_de_las_metricas.py::test_una_desconocida_o_aplazada_no_se_nombra
test_nombres_de_las_metricas.py::test_el_nombre_NO_entra_en_la_huella_del_catalogo
test_normalizacion_c61_train_parity.py::TestApiTrainNormalizationParity::test_domain_scale_csv_learns_both_classes_with_ranges
test_normalizacion_c61_train_parity.py::TestApiTrainNormalizationParity::test_normalizing_learns_both_classes_and_never_hurts
test_normalizacion_c61_train_parity.py::TestApiTrainRouteThreadsFieldRanges::test_train_route_passes_coerced_field_ranges
test_normalizacion_c61_train_parity.py::TestApiTrainRouteThreadsFieldRanges::test_train_route_without_field_ranges_passes_none
test_normalizacion_c61_train_parity.py::TestApiTrainRouteThreadsFieldRanges::test_train_start_route_tambien_pide_el_objetivo_sin_recortar
test_normalizacion_c61_train_parity.py::TestComposeNormalizeRanges::test_feature_ranges_pass_through
test_normalizacion_c61_train_parity.py::TestComposeNormalizeRanges::test_invalid_mxai_still_returns_feature_ranges
test_normalizacion_c61_train_parity.py::TestComposeNormalizeRanges::test_target_range_maps_to_real_output_column
test_normalizacion_c61_train_parity.py::TestTargetRangeThroughHttpTrain::test_train_route_denormalizes_regression_metrics
test_normalizacion_c61_train_parity.py::TestTargetRangeThroughHttpTrain::test_train_route_without_target_range_leaves_it_none
test_normalizacion_c61_train_parity.py::TestRunWithParamsCoherence::test_domain_input_with_ranges_equals_manual_normalization
test_normalizacion_c61_train_parity.py::TestRunWithParamsCoherence::test_domain_input_without_ranges_is_incoherent
test_normalizacion_c61_train_parity.py::TestRunWithParamsCoherence::test_run_with_params_route_threads_field_ranges
test_normalizacion_c61_train_parity.py::TestNormalizeInputHelper::test_fields_without_range_and_clamping
test_normalizacion_c61_train_parity.py::TestNormalizeInputHelper::test_nested_and_flat_forms
test_normalizacion_c61_train_parity.py::TestNormalizeInputHelper::test_no_ranges_is_identity
test_normalizacion_c61_train_parity.py::TestFromDataExportPredictCoherence::test_predict_py_matches_run_with_params_on_domain_input
test_normalizacion_c61_train_parity.py::TestTemporalFromDataNormalization::test_temporal_project_trains_with_lag_aligned_ranges
test_normalizacion_c61_train_parity.py::TestValidateCsvAlwaysReportsError::test_target_value_mismatch_populates_error_summary
test_normalizacion_c61_train_parity.py::TestSyncAsyncParity::test_same_seed_same_result
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_objetivo_de_un_solo_valor_se_rechaza_con_su_valor
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_un_objetivo_que_varia_no_se_toca
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_basta_una_fila_distinta_para_que_valga
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_los_nulos_no_cuentan_como_un_segundo_valor
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_un_objetivo_de_texto_constante_tambien
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_columna_que_no_existe_no_es_cosa_de_esta_regla
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_columna_entera_vacia_no_es_cosa_de_esta_regla
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_sobre_un_fichero_roto_no_se_diagnostica_el_objetivo
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_ni_aunque_el_objetivo_sea_una_columna_que_SÍ_llegó
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_csv_vacio_o_sin_columna_pedida_no_revienta
test_objetivo_constante_y_csv_roto.py::TestObjetivoConstante::test_el_delimitador_de_excel_tambien_se_ve
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_el_fichero_del_hallazgo_se_rechaza
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_el_fichero_del_hallazgo_nombra_sus_averias
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_una_fila_con_campos_de_menos_se_dice_por_su_nombre
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_una_fila_con_campos_de_mas_se_dice_por_su_nombre
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_bytes_de_control_en_una_celda
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_una_comilla_sin_cerrar_se_traga_el_fichero_y_se_dice
test_objetivo_constante_y_csv_roto.py::TestCsvRoto::test_muchos_danos_se_cuentan_en_vez_de_listarse_enteros
test_objetivo_constante_y_csv_roto.py::TestLaSegundaPuerta::test_da_el_mismo_motivo_que_el_analisis
test_objetivo_constante_y_csv_roto.py::TestLaSegundaPuerta::test_un_csv_sano_pasa
test_objetivo_constante_y_csv_roto.py::TestLaSegundaPuerta::test_no_lanza_con_un_csv_vacio_o_sin_cabecera
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_comillas_de_verdad_con_comas_dentro
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_texto_entrecomillado_con_comas_Y_SALTOS_dentro
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_una_celda_multilinea_en_la_ULTIMA_fila_tampoco_es_un_daño
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_comillas_dobles_escapadas_dentro_de_una_celda
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_celdas_vacias_de_verdad_no_son_campos_que_falten
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_lineas_en_blanco_al_final
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_excel_europeo_con_bom_y_punto_y_coma
test_objetivo_constante_y_csv_roto.py::TestNoSeRechazaLoQueSiEsUnCsv::test_un_tabulador_dentro_de_una_celda_es_texto_raro_no_binario
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_all_primitives_have_ast
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_attention_inputs
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_attention_kind
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_cls_pooling_kind
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_embedding_lookup_inputs
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_embedding_lookup_kind
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_mean_pooling_kind
test_p10_attention_primitives.py::AttentionPrimitiveParseTest::test_positional_encoding_kind
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_attention_kind_in_node
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_attention_supported_not_differentiable
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_cls_pooling_supported_differentiable
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_embedding_lookup_kind_in_node
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_embedding_lookup_supported_not_differentiable
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_mean_pooling_supported_differentiable
test_p10_attention_primitives.py::AttentionPrimitiveBackendContractTest::test_positional_encoding_supported_differentiable
test_p10_audit_fixes.py::TestTensorShapeValidation::test_3d_tensor_shape
test_p10_audit_fixes.py::TestTensorShapeValidation::test_correct_shape_passes
test_p10_audit_fixes.py::TestTensorShapeValidation::test_non_list_rejected
test_p10_audit_fixes.py::TestTensorShapeValidation::test_tensor_without_shape_accepts_any_list
test_p10_audit_fixes.py::TestTensorShapeValidation::test_wrong_rank_reports_error
test_p10_audit_fixes.py::TestTensorShapeValidation::test_wrong_shape_reports_error
test_p10_audit_fixes.py::TestFunctionOutputShapeNewPrimitives::test_dot_reported_as_supported
test_p10_audit_fixes.py::TestFunctionOutputShapeNewPrimitives::test_relu_reported_as_supported
test_p10_audit_fixes.py::TestCallLayerValidatesExistence::test_missing_layer_not_supported
test_p10_audit_fixes.py::TestCallLayerValidatesExistence::test_present_layer_supported
test_p10_audit_fixes.py::TestLayerManifestInToDict::test_layer_manifest_has_correct_layer
test_p10_audit_fixes.py::TestLayerManifestInToDict::test_layer_manifest_present_in_to_dict
test_p10_audit_fixes.py::TestLayerManifestInToDict::test_no_layers_no_manifest_key
test_p10_audit_fixes.py::TestRecordTypeSyntax::test_empty_record
test_p10_audit_fixes.py::TestRecordTypeSyntax::test_multiple_fields
test_p10_audit_fixes.py::TestRecordTypeSyntax::test_record_in_param_parse
test_p10_audit_fixes.py::TestRecordTypeSyntax::test_record_with_tensor_comma_inside_brackets
test_p10_audit_fixes.py::TestRecordTypeSyntax::test_single_scalar_field
test_p10_audit_fixes.py::TestRecordTypeSyntax::test_tensor_field
test_p10_audit_fixes.py::TestOperandShapeCompatibility::test_attention_q_k_dim_mismatch_blocked
test_p10_audit_fixes.py::TestOperandShapeCompatibility::test_attention_with_mask_supported
test_p10_audit_fixes.py::TestOperandShapeCompatibility::test_attention_without_mask_supported
test_p10_audit_fixes.py::TestOperandShapeCompatibility::test_dot_shape_mismatch_blocked
test_p10_audit_fixes.py::TestOperandShapeCompatibility::test_residual_same_shape_ok
test_p10_audit_fixes.py::TestOperandShapeCompatibility::test_residual_shape_mismatch_blocked
test_p10_backend_extended.py::LayerManifestTest::test_attention_layer_in_manifest
test_p10_backend_extended.py::LayerManifestTest::test_attention_layer_param_count
test_p10_backend_extended.py::LayerManifestTest::test_empty_layer_manifest_for_flat_program
test_p10_backend_extended.py::LayerManifestTest::test_layer_has_input_type
test_p10_backend_extended.py::LayerManifestTest::test_layer_has_output_type
test_p10_backend_extended.py::LayerManifestTest::test_layer_manifest_count
test_p10_backend_extended.py::LayerManifestTest::test_layer_manifest_dtype
test_p10_backend_extended.py::LayerManifestTest::test_layer_manifest_present
test_p10_backend_extended.py::LayerManifestTest::test_layer_manifest_trainable_flag
test_p10_backend_extended.py::LayerManifestTest::test_layer_param_paths
test_p10_backend_extended.py::LayerManifestTest::test_layer_param_shapes
test_p10_backend_extended.py::LayerManifestTest::test_linear_layer_in_manifest
test_p10_backend_extended.py::LayerManifestTest::test_linear_layer_param_count
test_p10_backend_extended.py::LayerManifestTest::test_non_trainable_param_excluded
test_p10_layers.py::LayerParseTest::test_attention_layer_has_three_params
test_p10_layers.py::LayerParseTest::test_attention_layer_input_type
test_p10_layers.py::LayerParseTest::test_attention_layer_output_type
test_p10_layers.py::LayerParseTest::test_attention_layer_param_shapes
test_p10_layers.py::LayerParseTest::test_attention_layer_parsed
test_p10_layers.py::LayerParseTest::test_bare_layer_no_params
test_p10_layers.py::LayerParseTest::test_layer_inline_param_init
test_p10_layers.py::LayerParseTest::test_layer_inline_param_trainable_false
test_p10_layers.py::LayerParseTest::test_layer_params_trainable_by_default
test_p10_layers.py::LayerParseTest::test_no_layers_by_default
test_p10_layers.py::LayerParseTest::test_simple_layer_parsed
test_p10_layers.py::CallLayerExpressionTest::test_call_layer_input
test_p10_layers.py::CallLayerExpressionTest::test_call_layer_kind
test_p10_layers.py::CallLayerExpressionTest::test_call_layer_layer_name
test_p10_layers.py::CallLayerExpressionTest::test_call_layer_simple_linear
test_p10_layers.py::LayerToDictTest::test_layer_dict_has_name
test_p10_layers.py::LayerToDictTest::test_layer_dict_has_parameters
test_p10_layers.py::LayerToDictTest::test_layer_dict_has_types
test_p10_layers.py::LayerToDictTest::test_layers_appear_in_to_dict
test_p10_layers.py::LayerToDictTest::test_no_layers_key_when_empty
test_p10_layers.py::LayerToDictTest::test_no_layers_key_when_truly_empty
test_p10_layers.py::BackwardCompatLayerTest::test_existing_program_unchanged
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_dot_compiles
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_dot_runs
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_gelu_compiles
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_gelu_runs
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_layer_call_compiles
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_layer_call_produces_list
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_layer_call_runs
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_relu_compiles
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_relu_runs_negative
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_relu_runs_positive
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_residual_compiles
test_p10_lowering.py::TensorPrimitiveLoweringTest::test_residual_runs
test_p10_lowering.py::LoweringBackwardCompatTest::test_softmax_linear_unchanged
test_p10_lowering.py::LoweringBackwardCompatTest::test_symbolic_expr_unchanged
test_p10_params.py::HierarchicalManifestTest::test_flat_params_path_equals_name
test_p10_params.py::HierarchicalManifestTest::test_layer_params_appear_in_manifest
test_p10_params.py::HierarchicalManifestTest::test_layer_params_have_function_field
test_p10_params.py::HierarchicalManifestTest::test_layer_params_have_hierarchical_path
test_p10_params.py::HierarchicalManifestTest::test_layer_params_shapes
test_p10_params.py::HierarchicalParameterSetTest::test_flat_param_no_is_layer_flag
test_p10_params.py::HierarchicalParameterSetTest::test_flat_params_stored_with_name_key
test_p10_params.py::HierarchicalParameterSetTest::test_layer_param_entry_has_is_layer_flag
test_p10_params.py::HierarchicalParameterSetTest::test_layer_param_entry_has_shape
test_p10_params.py::HierarchicalParameterSetTest::test_layer_params_have_initial_values
test_p10_params.py::HierarchicalParameterSetTest::test_layer_params_stored_with_path_key
test_p10_params.py::HierarchicalRuntimeParametersTest::test_flat_params_still_expose_function_dot_name
test_p10_params.py::HierarchicalRuntimeParametersTest::test_layer_path_key_in_runtime_params
test_p10_params.py::HierarchicalRuntimeParametersTest::test_layer_path_not_doubled
test_p10_params.py::ValidateHierarchicalParameterSetTest::test_missing_layer_param_detected
test_p10_params.py::ValidateHierarchicalParameterSetTest::test_valid_flat_parameter_set_unchanged
test_p10_params.py::ValidateHierarchicalParameterSetTest::test_valid_layer_parameter_set
test_p10_params.py::BackwardCompatFlatParamsTest::test_flat_param_keys_unchanged
test_p10_params.py::BackwardCompatFlatParamsTest::test_flat_ps_roundtrip
test_p10_primitives.py::TensorPrimitiveParseTest::test_dot_inputs
test_p10_primitives.py::TensorPrimitiveParseTest::test_dot_kind
test_p10_primitives.py::TensorPrimitiveParseTest::test_gelu_kind
test_p10_primitives.py::TensorPrimitiveParseTest::test_layer_norm_inputs
test_p10_primitives.py::TensorPrimitiveParseTest::test_layer_norm_kind
test_p10_primitives.py::TensorPrimitiveParseTest::test_matmul_kind
test_p10_primitives.py::TensorPrimitiveParseTest::test_primitive_has_ast_in_parameters
test_p10_primitives.py::TensorPrimitiveParseTest::test_relu_inputs
test_p10_primitives.py::TensorPrimitiveParseTest::test_relu_kind
test_p10_primitives.py::TensorPrimitiveParseTest::test_residual_inputs
test_p10_primitives.py::TensorPrimitiveParseTest::test_residual_kind
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_dot_is_supported
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_dot_kind_in_node_report
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_gelu_is_supported
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_layer_norm_is_supported
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_matmul_is_supported
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_relu_is_supported
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_relu_kind_in_node_report
test_p10_primitives.py::TensorPrimitiveBackendContractTest::test_residual_is_supported
test_p10_primitives.py::TensorPrimitiveBackwardCompatTest::test_softmax_linear_unchanged
test_p10_primitives.py::TensorPrimitiveBackwardCompatTest::test_symbolic_expr_unchanged
test_p10_regression.py::P1LanguageRegressionTest::test_email_program_parses
test_p10_regression.py::P1LanguageRegressionTest::test_fall_risk_program_parses
test_p10_regression.py::P2TypeSystemRegressionTest::test_all_p2_types_parse
test_p10_regression.py::P2TypeSystemRegressionTest::test_check_program_types_no_errors
test_p10_regression.py::P2TypeSystemRegressionTest::test_probability_range
test_p10_regression.py::P3BackendContractRegressionTest::test_backend_contract_ok_for_softmax_linear
test_p10_regression.py::P3BackendContractRegressionTest::test_parameter_manifest_has_path
test_p10_regression.py::P4TrainingRegressionTest::test_build_initial_parameter_set
test_p10_regression.py::P4TrainingRegressionTest::test_validate_parameter_set_ok
test_p10_regression.py::P1P5DifferentiablePythonRegressionTest::test_differentiable_python_compiles
test_p10_regression.py::P1P5DifferentiablePythonRegressionTest::test_sigmoid_linear_compiles
test_p10_regression.py::P10NewFeaturesCoexistTest::test_program_with_layers_and_flat_params
test_p10_regression.py::P10NewFeaturesCoexistTest::test_structured_types_in_vector_fields
test_p10_types.py::TensorTypeTest::test_tensor_1d
test_p10_types.py::TensorTypeTest::test_tensor_2d
test_p10_types.py::TensorTypeTest::test_tensor_3d
test_p10_types.py::TensorTypeTest::test_tensor_bare_has_no_shape
test_p10_types.py::TensorTypeTest::test_tensor_shape_1d_helper
test_p10_types.py::TensorTypeTest::test_tensor_shape_helper
test_p10_types.py::EmbeddingTypeTest::test_embedding_dims_helper
test_p10_types.py::EmbeddingTypeTest::test_embedding_dims_single_returns_none
test_p10_types.py::EmbeddingTypeTest::test_embedding_single_dim
test_p10_types.py::EmbeddingTypeTest::test_embedding_vocab_dim
test_p10_types.py::EmbeddingTypeTest::test_tensor_shape_for_embedding_single_dim
test_p10_types.py::EmbeddingTypeTest::test_tensor_shape_for_embedding_vocab_dim
test_p10_types.py::SequenceTypeTest::test_sequence_scalar
test_p10_types.py::SequenceTypeTest::test_sequence_tensor_1d
test_p10_types.py::SequenceTypeTest::test_sequence_tensor_2d
test_p10_types.py::ListTypeTest::test_list_bare_still_works
test_p10_types.py::ListTypeTest::test_list_probability
test_p10_types.py::ListTypeTest::test_list_tensor
test_p10_types.py::MapTypeTest::test_map_bare_still_works
test_p10_types.py::MapTypeTest::test_map_string_score
test_p10_types.py::ValidateStructuredTypesTest::test_list_rejects_non_list
test_p10_types.py::ValidateStructuredTypesTest::test_list_validates_elements
test_p10_types.py::ValidateStructuredTypesTest::test_map_rejects_non_dict
test_p10_types.py::ValidateStructuredTypesTest::test_map_validates_dict
test_p10_types.py::ValidateStructuredTypesTest::test_sequence_max_length
test_p10_types.py::ValidateStructuredTypesTest::test_sequence_within_length_ok
test_p10_types.py::BackwardCompatTest::test_embedding_single_dim_unchanged
test_p10_types.py::BackwardCompatTest::test_label_args
test_p10_types.py::BackwardCompatTest::test_probability
test_p10_types.py::BackwardCompatTest::test_record_bare
test_p10_types.py::BackwardCompatTest::test_score_with_range
test_p10_types.py::BackwardCompatTest::test_tensor_2d_unchanged
test_p10_types.py::BackwardCompatTest::test_vector
test_p10_types.py::TypeCheckerParamShapeTest::test_tensor_bare_emits_warning
test_p10_types.py::TypeCheckerParamShapeTest::test_tensor_with_shape_no_warning
test_p11_5_cut1_liveness.py::TestLayerLivenessAnalysis::test_all_params_used
test_p11_5_cut1_liveness.py::TestLayerLivenessAnalysis::test_completely_dead_param
test_p11_5_cut1_liveness.py::TestLayerLivenessAnalysis::test_used_in_disconnected_branch
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_encoder_embed_has_embed_table_param
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_encoder_embed_has_embedding_lookup_op
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_encoder_embed_has_mean_pooling_op
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_encoder_embed_layer_exists
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_graph_node_type_sequence
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_graph_nodes_order
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_sequence_length
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_sequence_name
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_sequence_spec_not_in_vectors_in_dict
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_sequence_spec_to_dict
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_sequence_vocab_size
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_sequences_list_has_one_entry
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_template_parses
test_p11_5_cut2_sequence.py::TestSequenceSpec::test_vectors_list_is_empty
test_p11_5_cut2_sequence.py::TestBackendContractWithSequence::test_contract_ok
test_p11_5_cut2_sequence.py::TestBackendContractWithSequence::test_param_count_includes_embed_table
test_p11_5_cut2_sequence.py::TestBackendContractWithSequence::test_sequence_node_is_supported
test_p11_5_cut2_sequence.py::TestBackendContractWithSequence::test_torch_contract_ok
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_different_tokens_produce_different_logits
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_embedded_has_size_8
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_forward_is_deterministic
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_logits_are_finite
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_logits_have_two_elements
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_sequence_input_stored_as_integers
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_sequence_node_in_state
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_state_has_embedded
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_state_has_logits
test_p11_5_cut2_sequence.py::TestDifferentiablePythonForwardWithSequence::test_trace_has_sequence_node
test_p11_5_cut2_sequence.py::TestTorchForwardWithSequence::test_both_backends_agree_on_logit_shape
test_p11_5_cut2_sequence.py::TestTorchForwardWithSequence::test_logits_are_finite
test_p11_5_cut2_sequence.py::TestTorchForwardWithSequence::test_logits_have_two_elements
test_p11_5_cut2_sequence.py::TestTorchForwardWithSequence::test_trace_has_sequence_node_type
test_p11_5_cut2_sequence.py::TestEmbeddingLookupAndMeanPooling::test_embedding_lookup_2d_table
test_p11_5_cut2_sequence.py::TestEmbeddingLookupAndMeanPooling::test_mean_pooling_2d_averages_rows
test_p11_5_cut2_sequence.py::TestEmbeddingLookupAndMeanPooling::test_sequence_parser_requires_length
test_p11_5_cut2_sequence.py::TestEmbeddingLookupAndMeanPooling::test_sequence_parser_requires_vocab_size
test_p11_5_cut2_sequence.py::TestEmbeddingLookupAndMeanPooling::test_sequence_parser_with_inline_definition
test_p11_5_cut2_sequence.py::TestTrainingCsvFormat::test_csv_has_label_column
test_p11_5_cut2_sequence.py::TestTrainingCsvFormat::test_csv_has_token_columns
test_p11_5_cut2_sequence.py::TestTrainingCsvFormat::test_csv_values_are_integers
test_p11_5_cut2_sequence.py::TestTrainingCsvFormat::test_train_spec_references_sequence_columns
test_p11_5_cut3_attention.py::TestAttentionUnrolling::test_attention_op_is_removed
test_p11_5_cut3_attention.py::TestAttentionUnrolling::test_backend_contract_accepts_unrolled_attention
test_p11_5_cut3_attention.py::TestAttentionUnrolling::test_differentiable_python_forward_is_finite
test_p11_5_cut3_attention.py::TestAttentionUnrolling::test_torch_backend_contract_accepts_unrolled_attention
test_p11_5_cut3_attention.py::TestAttentionUnrolling::test_torch_forward_is_finite
test_p11_5_cut3_attention.py::TestAttentionUnrolling::test_unrolled_ops_are_present
test_p11_5_cut3_attention.py::TestScaleSoftmaxInContract::test_scale_accepted_by_dp_backend_contract
test_p11_5_cut3_attention.py::TestScaleSoftmaxInContract::test_softmax_accepted_by_dp_backend_contract
test_p11_5_cut3_attention.py::TestAttentionDegeneracy::test_softmax_of_scalar_is_one_differentiable_python
test_p11_5_cut3_attention.py::TestAttentionDegeneracy::test_softmax_of_scalar_is_one_torch
test_p11_5_cut3_attention.py::TestAttentionDegeneracy::test_wq_wk_have_no_effect_on_forward_output
test_p11_cut1_layer_body.py::TestLayerBodyOp::test_body_ops_in_ir_to_dict
test_p11_cut1_layer_body.py::TestLayerBodyOp::test_chain_body_ops_parsed
test_p11_cut1_layer_body.py::TestLayerBodyOp::test_no_body_ops_when_only_params
test_p11_cut1_layer_body.py::TestLayerBodyOp::test_single_body_op_parsed
test_p11_cut1_layer_body.py::TestLayerExecutorGenerated::test_body_binds_layer_param
test_p11_cut1_layer_body.py::TestLayerExecutorGenerated::test_chain_executor_contains_relu
test_p11_cut1_layer_body.py::TestLayerExecutorGenerated::test_executor_function_in_compiled_source
test_p11_cut1_layer_body.py::TestLayerExecutorGenerated::test_param_binding_falsy_qualified_key_not_replaced_by_fallback
test_p11_cut1_layer_body.py::TestLayerExecutorGenerated::test_param_binding_uses_is_not_none_not_or
test_p11_cut1_layer_body.py::TestLayerExecutorGenerated::test_passthrough_when_no_body_ops
test_p11_cut1_layer_body.py::TestLayerBodyExecution::test_chain_body_applies_relu_after_matmul
test_p11_cut1_layer_body.py::TestLayerBodyExecution::test_matmul_body_returns_transformed_input
test_p11_cut1_layer_body.py::TestLayerBodyExecution::test_matmul_with_non_identity_w
test_p11_cut1_layer_body.py::TestMatchUpdatePatterns::test_exact_encoder_prefix_matches
test_p11_cut1_layer_body.py::TestMatchUpdatePatterns::test_exact_path_matches_one
test_p11_cut1_layer_body.py::TestMatchUpdatePatterns::test_multiple_patterns_union
test_p11_cut1_layer_body.py::TestMatchUpdatePatterns::test_no_match_returns_empty
test_p11_cut1_layer_body.py::TestMatchUpdatePatterns::test_prefix_wildcard_matches_subtree
test_p11_cut1_layer_body.py::TestMatchUpdatePatterns::test_wildcard_star_matches_all
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_exact_flat_name_accepted
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_exact_hierarchical_path_accepted
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_mix_valid_and_invalid_reports_only_invalid
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_original_error_message_preserved
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_prefix_wildcard_accepted_when_params_match
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_prefix_wildcard_matches_all_layers_of_prefix
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_unknown_exact_rejected
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_unknown_prefix_rejected
test_p11_cut1_trainer_integration.py::TestVerifierUpdatePatterns::test_wildcard_star_accepted_for_all_params
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_best_params_is_matrix
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_epoch_callback_called_each_epoch
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_epoch_numbers_are_sequential
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_epoch_trace_entry_keys
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_epoch_trace_has_correct_length
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_loss_decreases_on_deterministic_task
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_loss_is_non_negative
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_no_matching_pattern_raises
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_returns_best_and_final_params
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_trainable_keys_with_exact_path
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_trainable_keys_with_layer_prefix
test_p11_cut1_trainer_integration.py::TestGenericSupervisedTrainer::test_trainable_keys_with_wildcard_star
test_p11_cut2_template.py::TestTemplateParses::test_graph_edges
test_p11_cut2_template.py::TestTemplateParses::test_graph_topology
test_p11_cut2_template.py::TestTemplateParses::test_one_vector_declared
test_p11_cut2_template.py::TestTemplateParses::test_project_name
test_p11_cut2_template.py::TestTemplateParses::test_template_file_exists
test_p11_cut2_template.py::TestTemplateParses::test_three_functions_declared
test_p11_cut2_template.py::TestTemplateParses::test_three_layers_declared
test_p11_cut2_template.py::TestLayerStructure::test_classifier_body_op_count
test_p11_cut2_template.py::TestLayerStructure::test_classifier_param_count
test_p11_cut2_template.py::TestLayerStructure::test_classifier_param_names
test_p11_cut2_template.py::TestLayerStructure::test_encoder_attn_body_op_count
test_p11_cut2_template.py::TestLayerStructure::test_encoder_attn_body_ops_include_attention
test_p11_cut2_template.py::TestLayerStructure::test_encoder_attn_param_count
test_p11_cut2_template.py::TestLayerStructure::test_encoder_attn_param_names
test_p11_cut2_template.py::TestLayerStructure::test_encoder_ffn_body_op_count
test_p11_cut2_template.py::TestLayerStructure::test_encoder_ffn_body_ops_include_gelu
test_p11_cut2_template.py::TestLayerStructure::test_encoder_ffn_param_count
test_p11_cut2_template.py::TestLayerStructure::test_encoder_ffn_param_names
test_p11_cut2_template.py::TestBackendContract::test_all_expected_paths_present
test_p11_cut2_template.py::TestBackendContract::test_bias_params_have_bias_role
test_p11_cut2_template.py::TestBackendContract::test_gain_params_have_gain_role
test_p11_cut2_template.py::TestBackendContract::test_matrix_shapes
test_p11_cut2_template.py::TestBackendContract::test_no_parameter_errors
test_p11_cut2_template.py::TestBackendContract::test_no_unsupported_nodes
test_p11_cut2_template.py::TestBackendContract::test_report_ok
test_p11_cut2_template.py::TestBackendContract::test_trainable_field_in_manifest_dict
test_p11_cut2_template.py::TestBackendContract::test_trainable_parameter_count
test_p11_cut2_template.py::TestBackendContract::test_vector_shapes
test_p11_cut2_template.py::TestCompilation::test_all_param_keys_in_source
test_p11_cut2_template.py::TestCompilation::test_forward_pass_returns_logits_length_2_and_finite
test_p11_cut2_template.py::TestCompilation::test_is_not_none_sentinel_used
test_p11_cut2_template.py::TestCompilation::test_layer_exec_classifier_generated
test_p11_cut2_template.py::TestCompilation::test_layer_exec_encoder_attn_generated
test_p11_cut2_template.py::TestCompilation::test_layer_exec_encoder_ffn_generated
test_p11_cut2_template.py::TestCompilation::test_source_executes_without_error
test_p11_cut2_template.py::TestCompilation::test_source_non_empty
test_p11_cut2_template.py::TestParameterSet::test_all_expected_keys_present
test_p11_cut2_template.py::TestParameterSet::test_bias_values_are_zeros
test_p11_cut2_template.py::TestParameterSet::test_bias_vectors_are_lists
test_p11_cut2_template.py::TestParameterSet::test_classifier_w_has_shape_8x2
test_p11_cut2_template.py::TestParameterSet::test_gain_values_are_ones
test_p11_cut2_template.py::TestParameterSet::test_matrix_values_have_correct_shape
test_p11_cut2_template.py::TestParameterSet::test_model_hash_non_empty
test_p11_cut2_template.py::TestParameterSet::test_parameter_schema_hash_non_empty
test_p11_cut2_template.py::TestParameterSet::test_parameter_set_id
test_p11_cut2_template.py::TestParameterSet::test_total_key_count
test_p11_cut2_template.py::TestParameterSet::test_w1_has_shape_8x32
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_attn_block_alias_matches
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_attn_block_output_shape
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_ffn_block_alias_matches
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_ffn_block_output_shape
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_input_vector_shape
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_logits_alias_matches
test_p11_cut3_forward_pass.py::TestForwardPassShapes::test_logits_output_shape
test_p11_cut3_forward_pass.py::TestForwardPassState::test_all_graph_nodes_in_state
test_p11_cut3_forward_pass.py::TestForwardPassState::test_all_output_refs_in_state
test_p11_cut3_forward_pass.py::TestForwardPassState::test_no_extra_junk_keys
test_p11_cut3_forward_pass.py::TestForwardPassState::test_scalar_fields_in_state
test_p11_cut3_forward_pass.py::TestForwardPassTrace::test_trace_has_four_entries
test_p11_cut3_forward_pass.py::TestForwardPassTrace::test_trace_node_order
test_p11_cut3_forward_pass.py::TestForwardPassTrace::test_trace_node_types
test_p11_cut3_forward_pass.py::TestForwardPassTrace::test_trace_output_refs
test_p11_cut3_forward_pass.py::TestForwardPassValues::test_different_input_produces_different_logits
test_p11_cut3_forward_pass.py::TestForwardPassValues::test_different_params_produce_different_logits
test_p11_cut3_forward_pass.py::TestForwardPassValues::test_forward_pass_is_deterministic
test_p11_cut3_forward_pass.py::TestForwardPassValues::test_intermediate_outputs_are_finite
test_p11_cut3_forward_pass.py::TestForwardPassValues::test_logits_are_finite
test_p11_cut3_forward_pass.py::TestForwardPassMetadata::test_autodiff_plan_ready
test_p11_cut3_forward_pass.py::TestForwardPassMetadata::test_parameter_manifest_count
test_p11_cut3_forward_pass.py::TestForwardPassMetadata::test_parameter_manifest_has_trainable_field
test_p11_cut3_forward_pass.py::TestForwardPassMetadata::test_tensor_shapes_includes_input
test_p11_cut3_forward_pass.py::TestForwardPassMetadata::test_trainable_parameters_count
test_p11_cut3_forward_pass.py::TestTorchBackendContract::test_differentiable_python_contract_still_ok
test_p11_cut3_forward_pass.py::TestTorchBackendContract::test_torch_contract_layer_call_nodes_supported
test_p11_cut3_forward_pass.py::TestTorchBackendContract::test_torch_contract_ok
test_p11_cut3_forward_pass.py::TestForwardPassTorchEquivalence::test_attention_with_mask_applies_mask_to_score
test_p11_cut3_forward_pass.py::TestForwardPassTorchEquivalence::test_deferred_body_op_raises_torch_forward_error
test_p11_cut3_forward_pass.py::TestForwardPassTorchEquivalence::test_logits_match_within_tolerance
test_p11_cut3_forward_pass.py::TestForwardPassTorchEquivalence::test_torch_forward_state_has_expected_shapes
test_p11_cut3_forward_pass.py::TestForwardPassTorchEquivalence::test_unknown_body_op_raises_torch_forward_error
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_dataset_input_columns
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_dataset_input_vector
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_dataset_name
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_dataset_source_kind
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_dataset_target_labels
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_dataset_target_name
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_file_exists
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_loss_prediction
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_loss_target
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_loss_type
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_metric_type
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_model_field
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_optimizer_learning_rate
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_optimizer_type
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_optimizer_update_patterns
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_parses_without_exception
test_p11_cut4_training_spec.py::TestTrainingSpecParses::test_run_epochs
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_classifier_params_present
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_dataset_path_resolved
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_differentiability_ok
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_differentiability_prediction_node
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_encoder_attn_params_present
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_encoder_ffn_params_present
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_model_path_resolved
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_no_errors
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_trainable_params_count
test_p11_cut4_training_spec.py::TestTrainingVerifier::test_verifier_ok
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_all_patterns_together_match_fourteen_keys
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_classifier_glob_includes_b
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_classifier_glob_matches_two_params
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_encoder_attn_glob_includes_bias_and_gain
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_encoder_attn_glob_matches_six_params
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_encoder_ffn_glob_includes_b1_and_b2
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_encoder_ffn_glob_matches_six_params
test_p11_cut4_training_spec.py::TestUpdatePatterns::test_wildcard_matches_all_fourteen
test_p11_cut4_training_spec.py::TestDatasetFile::test_all_input_values_are_numeric
test_p11_cut4_training_spec.py::TestDatasetFile::test_all_labels_are_valid
test_p11_cut4_training_spec.py::TestDatasetFile::test_both_classes_represented
test_p11_cut4_training_spec.py::TestDatasetFile::test_has_all_input_columns
test_p11_cut4_training_spec.py::TestDatasetFile::test_has_label_column
test_p11_cut4_training_spec.py::TestDatasetFile::test_row_count
test_p11_cut4_training_spec.py::TestLayerCallAcceptedForCrossEntropy::test_old_softmax_linear_models_still_accepted
test_p11_cut4_training_spec.py::TestLayerCallAcceptedForCrossEntropy::test_verifier_accepts_layer_call_prediction_kind
test_p11_cut4_training_spec.py::TestLayerCallAcceptedForCrossEntropy::test_verifier_does_not_error_on_layer_call_loss
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_all_paths_only_contain_graph_nodes
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_classifier_paths_reach_logits_directly
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_encoder_attn_paths_go_through_attn_block
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_encoder_ffn_paths_go_through_ffn_block
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_fourteen_paths_verified
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_layer_to_node_map_correct
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_no_paths_warning_absent
test_p11_cut5_training_run.py::TestDifferentiabilityVerifierGlob::test_ok_no_errors
test_p11_cut5_training_run.py::TestCrossEntropyOverLogits::test_backward_compat_dict_prediction
test_p11_cut5_training_run.py::TestCrossEntropyOverLogits::test_backward_compat_int_string_target_no_labels
test_p11_cut5_training_run.py::TestCrossEntropyOverLogits::test_correct_class_has_lower_loss
test_p11_cut5_training_run.py::TestCrossEntropyOverLogits::test_loss_is_finite_for_list_prediction
test_p11_cut5_training_run.py::TestCrossEntropyOverLogits::test_loss_not_max_sentinel_when_labels_provided
test_p11_cut5_training_run.py::TestCrossEntropyOverLogits::test_softmax_applied_probabilities_sum_to_one
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_best_params_present
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_epoch_trace_has_three_entries
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_final_loss_is_finite
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_params_changed_after_training
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_runs_without_exception
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_train_loss_decreases_over_epochs
test_p11_cut5_training_run.py::TestGenericTrainerOnTransformer::test_trainable_keys_are_classifier_params
test_p11_cut5_training_run.py::TestBackwardCompatAfterFixes::test_cut4_diff_now_has_14_paths
test_p11_cut5_training_run.py::TestBackwardCompatAfterFixes::test_cut4_no_paths_warning_gone
test_p11_cut5_training_run.py::TestBackwardCompatAfterFixes::test_cut4_verifier_still_ok
test_p11_cut5_training_run.py::TestBackwardCompatAfterFixes::test_email_agent_p4_model_unaffected
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_backend_metadata_identifies_generic_evaluator
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_cli_evaluate_writes_generic_evaluation_report
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_confusion_matrix_covers_all_rows
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_dataset_fingerprint_and_schema_are_preserved
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_evaluation_result_shape_matches_p4_contract
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_metrics_are_finite_and_bounded
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_report_is_json_serializable
test_p11_cut6_evaluation_report.py::TestP11Cut6EvaluationReport::test_trainer_returns_valid_parameter_sets
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_fall_risk_training_unaffected
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_get_prediction_kind_layer_call_for_transformer
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_get_prediction_kind_returns_empty_on_invalid_input
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_get_prediction_kind_softmax_linear_for_fall_risk
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_backend_stdlib
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_best_epoch_positive
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_epoch_has_losses
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_has_evaluation_report
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_has_metrics_field
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_has_two_epochs
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_params_best_has_id
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_params_best_has_transformer_keys
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_run_playground_training_generic_returns_ok
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_submit_training_job_layer_call_returns_job_id_and_completes
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_transformer_classifier_in_examples_dict
test_p11_cut7_playground.py::TestP11Cut7PlaygroundIntegration::test_transformer_classifier_in_project_example_index
test_p11_cut8_regression.py::TestP11RegressionVerifier::test_binary_cross_entropy_still_accepts_sigmoid_linear
test_p11_cut8_regression.py::TestP11RegressionVerifier::test_cross_entropy_still_accepts_softmax_linear
test_p11_cut8_regression.py::TestP11RegressionVerifier::test_email_agent_training_verifier_still_ok
test_p11_cut8_regression.py::TestP11RegressionVerifier::test_fall_risk_training_verifier_still_ok
test_p11_cut8_regression.py::TestP11RegressionDifferentiability::test_email_agent_differentiability_ok
test_p11_cut8_regression.py::TestP11RegressionDifferentiability::test_email_agent_parameter_paths_still_verified
test_p11_cut8_regression.py::TestP11RegressionDifferentiability::test_fall_risk_differentiability_ok
test_p11_cut8_regression.py::TestP11RegressionDifferentiability::test_no_spurious_warning_for_p4_exact_paths
test_p11_cut8_regression.py::TestP11RegressionSupervisedTrainer::test_generic_cross_entropy_loss_without_labels_unchanged
test_p11_cut8_regression.py::TestP11RegressionSupervisedTrainer::test_supervised_evaluator_produces_accuracy
test_p11_cut8_regression.py::TestP11RegressionSupervisedTrainer::test_supervised_trainer_has_best_epoch
test_p11_cut8_regression.py::TestP11RegressionSupervisedTrainer::test_supervised_trainer_runs_without_error
test_p11_cut8_regression.py::TestP11RegressionTorchBackend::test_torch_backend_contract_ok_for_email_agent
test_p11_cut8_regression.py::TestP11RegressionTorchBackend::test_torch_forward_runner_ok_for_email_agent
test_p11_cut8_regression.py::TestP11RegressionPlaygroundRouting::test_fall_risk_playground_training_uses_supervised_path
test_p11_cut8_regression.py::TestP11RegressionPlaygroundRouting::test_get_prediction_kind_email_agent_not_layer_call
test_p11_cut8_regression.py::TestP11RegressionPlaygroundRouting::test_get_prediction_kind_fall_risk_not_layer_call
test_p11_cut8_regression.py::TestP11RegressionP10LayerPassthrough::test_p10_layer_with_body_ops_still_generates_executor
test_p11_cut8_regression.py::TestP11RegressionP10LayerPassthrough::test_p10_layer_without_body_ops_compiles_with_passthrough
test_p12_cut7_regression.py::TestP12RegressionManifestCompat::test_load_real_manifest_preserves_all_existing_fields
test_p12_cut7_regression.py::TestP12RegressionManifestCompat::test_manifest_without_origin_round_trips_cleanly
test_p12_cut7_regression.py::TestP12RegressionManifestCompat::test_verify_real_manifest_is_not_synthetic
test_p12_cut7_regression.py::TestP12RegressionManifestCompat::test_verify_real_manifest_to_dict_no_is_synthetic_key
test_p12_cut7_regression.py::TestP12RegressionSupervisedPrompt::test_evaluation_report_has_no_synthetic_origin_with_direct_csvs
test_p12_cut7_regression.py::TestP12RegressionSupervisedPrompt::test_run_result_has_synthetic_origin_false_with_direct_csvs
test_p12_cut7_regression.py::TestP12RegressionSupervisedPrompt::test_training_trace_has_no_synthetic_origin_with_direct_csvs
test_p12_cut7_regression.py::TestP12RegressionSyntheticLabelLookup::test_args_key_works_as_real_parser_produces
test_p12_cut7_regression.py::TestP12RegressionSyntheticLabelLookup::test_labels_key_still_works
test_p12_cut7_regression.py::TestP12RegressionCLICommands::test_evaluate_help
test_p12_cut7_regression.py::TestP12RegressionCLICommands::test_generate_dataset_help
test_p12_cut7_regression.py::TestP12RegressionCLICommands::test_generate_training_help
test_p12_cut7_regression.py::TestP12RegressionCLICommands::test_train_help
test_p12_cut7_regression.py::TestP12RegressionCLICommands::test_train_supervised_help
test_p12_cut7_regression.py::TestP12RegressionCLICommands::test_validate_training_help
test_p12_synthetic_data.py::TestP12SyntheticDataGenerator::test_coherent_mode_no_warning_when_no_fallback
test_p12_synthetic_data.py::TestP12SyntheticDataGenerator::test_coherent_without_rules_is_random_no_runtime_no_warning
test_p12_synthetic_data.py::TestP12SyntheticDataGenerator::test_random_mode_generation
test_p12_synthetic_data.py::TestP12SyntheticDataGenerator::test_random_mode_has_zero_fallback_count
test_p12_synthetic_data.py::TestP12SyntheticDataGenerator::test_reproducibility
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_build_synthetic_manifest
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_generator_spec_round_trip
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_load_manifest_from_json_file
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_manifest_from_dict_round_trip
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_manifest_to_dict_includes_origin_and_generator
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_manifest_without_origin_preserves_backwards_compat
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_to_dict_includes_is_synthetic_when_true
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_verify_manifest_is_synthetic_flag
test_p12_synthetic_data.py::TestP12SyntheticManifest::test_verify_manifest_non_synthetic_is_not_flagged
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_csv_headers_and_rows
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_different_seeds_produce_different_data
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_generates_csv_and_manifest
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_human_readable_output
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_manifest_has_correct_schema
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_reproducibility_same_seed
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_rows_sin_tope_ya_no_es_un_error
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_rows_too_large_returns_error
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_rows_too_small_returns_error
test_p12_synthetic_data.py::TestP12GenerateDatasetCLI::test_verify_manifest_passes_on_generated_files
test_p12_synthetic_data.py::TestP12SyntheticOriginPropagation::test_train_supervised_with_real_manifest_has_no_synthetic_origin
test_p12_synthetic_data.py::TestP12SyntheticOriginPropagation::test_train_supervised_with_synthetic_manifest_propagates_synthetic_origin
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_coherent_mode_fallback_exposed_in_response
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_coherent_mode_returns_ok
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_columns_in_response
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_different_seeds_give_different_fingerprints
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_empty_mxai_returns_error
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_empty_training_returns_error
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_fingerprint_present_and_deterministic
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_invalid_mode_falls_back_to_random
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_ok_returns_csv_text
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_origin_is_synthetic
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_random_mode_has_no_fallback_key
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_row_clamp_min_2
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_row_clamp_respects_p9_max
test_p12_synthetic_data.py::TestP12PlaygroundGenerateSyntheticDataset::test_row_count_matches_request
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_both_audit_and_evaluation_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_empty_prompt_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_help_exits_zero
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_malformed_audit_json_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_malformed_chain_file_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_missing_audit_and_evaluation_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_missing_audit_file_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_missing_evaluation_file_returns_2
test_p13_cli_refine.py::TestP13CliRefineArgParsing::test_missing_mxai_file_returns_2
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_accept_without_outputs_emits_warning
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_accept_writes_chain_output
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_accept_writes_mxai_with_metadata
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_accept_writes_proposed_prompt
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_chain_file_propagated_to_second_iteration
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_hint_flag_appears_in_json_hints_applied
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_human_readable_output_contains_refinement_id
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_iteration_flag_stored_in_proposal
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_json_output_has_chain_and_parent_hash
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_json_output_has_refinement_id
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_json_output_mode_is_audit_driven
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_no_accept_no_output_files_written
test_p13_cli_refine.py::TestP13CliRefineAuditDriven::test_stdin_prompt_with_dash
test_p13_cli_refine.py::TestP13CliRefineIterationLimit::test_error_message_includes_counts
test_p13_cli_refine.py::TestP13CliRefineIterationLimit::test_iteration_exceeds_default_limit_returns_2
test_p13_cli_refine.py::TestP13CliRefineIterationLimit::test_max_iterations_appears_in_help
test_p13_cli_refine.py::TestP13CliRefineIterationLimit::test_max_iterations_flag_allows_at_boundary
test_p13_cli_refine.py::TestP13CliRefineIterationLimit::test_max_iterations_flag_blocks_when_exceeded
test_p13_cli_refine.py::TestP13CliRefineMetricDriven::test_metric_driven_chain_in_proposal
test_p13_cli_refine.py::TestP13CliRefineMetricDriven::test_metric_driven_json_mode
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_new_fields_default_to_empty
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_report_is_still_frozen
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_summary_method_still_returns_string
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_supervise_prompt_report_to_dict_has_no_spurious_keys
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_supervise_prompt_returns_accepted_or_rejected
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_supervise_prompt_returns_empty_chain_without_p13_context
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_supervise_semantic_new_fields_still_empty_without_p13
test_p13_cut7_regression.py::TestP13RegressionPromptSupervisionReport::test_supervise_semantic_still_works
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_all_list_unchanged_for_old_symbols
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_auditor_agent_importable
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_llm_proposal_provider_importable
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_p13_new_exports_coexist_with_old
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_prompt_supervisor_importable
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_safety_agent_importable
test_p13_cut7_regression.py::TestP13RegressionAgentsExports::test_verifier_agent_importable
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_evaluate_help_unaffected
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_generate_dataset_help_unaffected
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_generate_training_help_unaffected
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_matrixai_top_level_help_lists_refine
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_matrixai_top_level_help_still_lists_train
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_refine_help_exits_0
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_train_help_unaffected
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_train_supervised_help_unaffected
test_p13_cut7_regression.py::TestP13RegressionCLICommands::test_validate_training_help_unaffected
test_p13_cut7_regression.py::TestP13RegressionPlaygroundAnalyze::test_analyze_checks_still_present
test_p13_cut7_regression.py::TestP13RegressionPlaygroundAnalyze::test_analyze_with_input_returns_run_result
test_p13_cut7_regression.py::TestP13RegressionPlaygroundAnalyze::test_analyze_without_input_still_returns_ok_structure
test_p13_cut7_regression.py::TestP13RegressionPlaygroundAnalyze::test_analyze_workflow_steps_still_present
test_p13_cut7_regression.py::TestP13RegressionPlaygroundAnalyze::test_refine_prompt_helper_does_not_strip_audit_from_analyze_result
test_p13_cut7_regression.py::TestP13RegressionPlaygroundAnalyze::test_run_result_still_has_audit_text
test_p13_cut7_regression.py::TestP13RegressionRefinePromptIsolation::test_original_run_result_dict_not_mutated
test_p13_cut7_regression.py::TestP13RegressionRefinePromptIsolation::test_refine_prompt_ok_response_does_not_include_audit
test_p13_cut7_regression.py::TestP13RegressionAuditorAgent::test_auditor_explain_does_not_mutate_run_result
test_p13_cut7_regression.py::TestP13RegressionAuditorAgent::test_explain_returns_non_empty_string
test_p13_cut7_regression.py::TestP13RegressionAuditorAgent::test_run_result_still_has_actions_key
test_p13_cut7_regression.py::TestP13RegressionAuditorAgent::test_run_result_still_has_trace_key
test_p13_playground_refine.py::TestP13PlaygroundRefineValidation::test_missing_prompt_returns_error
test_p13_playground_refine.py::TestP13PlaygroundRefineValidation::test_empty_prompt_returns_error
test_p13_playground_refine.py::TestP13PlaygroundRefineValidation::test_missing_run_result_returns_error
test_p13_playground_refine.py::TestP13PlaygroundRefineValidation::test_empty_run_result_returns_error
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_ok_response_has_required_keys
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_mode_is_audit_driven
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_chain_starts_with_one_element
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_parent_hash_is_64_hex_chars
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_iteration_defaults_to_1
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_explicit_iteration_reflected
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_audit_field_stripped_from_run_result
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_hints_accepted
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_mxai_text_accepted
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_chain_grows_across_iterations
test_p13_playground_refine.py::TestP13PlaygroundRefineSuccess::test_parent_hash_stable_across_iterations
test_p13_playground_refine.py::TestP13PlaygroundRefineIterationLimit::test_iteration_limit_reached_returns_error
test_p13_playground_refine.py::TestP13PlaygroundRefineIterationLimit::test_iteration_limit_error_message_has_counts
test_p13_playground_refine.py::TestP13PlaygroundRefineIterationLimit::test_default_max_iterations_is_3
test_p13_playground_refine.py::TestP13PlaygroundRefineIterationLimit::test_at_max_iterations_boundary_succeeds
test_p13_playground_refine.py::TestP13PlaygroundRefineIterationLimit::test_custom_max_iterations_respected
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_activated_action_detected_in_audit
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_audit_driven_without_audit_raises
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_default_mode_is_audit_driven
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_empty_prompt_raises
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_explanation_references_audit
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_hints_applied_not_empty
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_importable_from_agents_package
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_invalid_mode_raises_value_error
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_iteration_count_adds_warning_if_high
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_metric_driven_without_evaluation_raises
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_mxai_context_is_injected
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_no_actions_audit_adds_generic_hint
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_proposal_has_refinement_id
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_proposed_prompt_differs_from_original
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_proposed_prompt_includes_action_name_from_audit
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_refine_returns_proposal
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_refinement_id_differs_for_different_prompts
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_refinement_id_is_deterministic
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_supervision_accepted_matches_report
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_supervision_report_is_dict_with_accepted_key
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_to_dict_is_serializable
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_user_hints_are_appended
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_whitespace_prompt_raises
test_p13_refinement_loop.py::TestP13RefinementAgentAuditDriven::test_xml_tags_in_prompt
test_p13_refinement_loop.py::TestP13IterationLimit::test_custom_limit_allows_below_threshold
test_p13_refinement_loop.py::TestP13IterationLimit::test_custom_limit_blocks_at_threshold
test_p13_refinement_loop.py::TestP13IterationLimit::test_default_max_iterations_is_3
test_p13_refinement_loop.py::TestP13IterationLimit::test_error_message_includes_current_and_max
test_p13_refinement_loop.py::TestP13IterationLimit::test_exception_is_runtime_error_subclass
test_p13_refinement_loop.py::TestP13IterationLimit::test_importable_from_agents_package
test_p13_refinement_loop.py::TestP13IterationLimit::test_iteration_at_boundary_does_not_raise
test_p13_refinement_loop.py::TestP13IterationLimit::test_iteration_exceeds_default_limit_raises
test_p13_refinement_loop.py::TestP13IterationLimit::test_limit_applies_to_metric_driven_too
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_all_ok_still_returns_proposal
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_explanation_references_accuracy
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_has_system_feedback_tags
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_high_iteration_adds_warning
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_high_loss_hint_in_hints
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_id_is_deterministic
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_iteration_count_stored
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_low_accuracy_hint_in_hints
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_low_f1_label_hint_in_hints
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_proposed_prompt_contains_original
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_refinement_id_format
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_returns_proposal
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_supervision_accepted_matches_report
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_supervision_report_present
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_to_dict_serializable
test_p13_refinement_loop.py::TestP13RefinementAgentMetricDriven::test_metric_driven_user_hints_appended
test_p13_refinement_loop.py::TestP13Traceability::test_chain_grows_across_iterations
test_p13_refinement_loop.py::TestP13Traceability::test_chain_survives_to_dict
test_p13_refinement_loop.py::TestP13Traceability::test_embed_refinement_metadata_empty_mxai
test_p13_refinement_loop.py::TestP13Traceability::test_embed_refinement_metadata_roundtrip
test_p13_refinement_loop.py::TestP13Traceability::test_empty_list_refinement_chain_equals_none
test_p13_refinement_loop.py::TestP13Traceability::test_empty_string_parent_hash_computes_from_prompt
test_p13_refinement_loop.py::TestP13Traceability::test_explicit_parent_hash_is_preserved
test_p13_refinement_loop.py::TestP13Traceability::test_hash_prompt_deterministic
test_p13_refinement_loop.py::TestP13Traceability::test_hash_prompt_differs_for_different_prompts
test_p13_refinement_loop.py::TestP13Traceability::test_hash_prompt_helper
test_p13_refinement_loop.py::TestP13Traceability::test_metric_driven_chain_present
test_p13_refinement_loop.py::TestP13Traceability::test_metric_driven_parent_hash_present
test_p13_refinement_loop.py::TestP13Traceability::test_mxai_has_parent_prompt_hash_comment
test_p13_refinement_loop.py::TestP13Traceability::test_mxai_has_refinement_chain_comment
test_p13_refinement_loop.py::TestP13Traceability::test_mxai_metadata_chain_grows_across_iterations
test_p13_refinement_loop.py::TestP13Traceability::test_mxai_metadata_roundtrip
test_p13_refinement_loop.py::TestP13Traceability::test_parent_hash_is_64_hex_chars
test_p13_refinement_loop.py::TestP13Traceability::test_parent_hash_stable_across_iterations
test_p13_refinement_loop.py::TestP13Traceability::test_parse_refinement_metadata_no_metadata
test_p13_refinement_loop.py::TestP13Traceability::test_single_iteration_chain_has_one_element
test_p13_refinement_loop.py::TestP13Traceability::test_single_iteration_parent_hash_is_sha256_of_prompt
test_p13_refinement_loop.py::TestP13Traceability::test_supervision_report_has_parent_prompt_hash
test_p13_refinement_loop.py::TestP13Traceability::test_supervision_report_has_refinement_chain
test_p13_refinement_loop.py::TestP13Traceability::test_three_iteration_chain_length
test_p13_refinement_loop.py::TestP13MetricHelpers::test_build_metric_explanation_accuracy
test_p13_refinement_loop.py::TestP13MetricHelpers::test_build_metric_explanation_empty_eval
test_p13_refinement_loop.py::TestP13MetricHelpers::test_build_metric_explanation_loss_only
test_p13_refinement_loop.py::TestP13RefinementHelpers::test_build_explanation_contains_audit_preview
test_p13_refinement_loop.py::TestP13RefinementHelpers::test_build_explanation_no_actions
test_p13_refinement_loop.py::TestP13RefinementHelpers::test_build_refined_prompt_no_hints
test_p13_refinement_loop.py::TestP13RefinementHelpers::test_build_refined_prompt_with_hints
test_p13_refinement_loop.py::TestP13RefinementHelpers::test_make_refinement_id_deterministic
test_p13_refinement_loop.py::TestP13RefinementHelpers::test_make_refinement_id_format
test_p14_backend_runtime.py::TestEvaluationResultBackendRuntimeField::test_field_exists_with_empty_default
test_p14_backend_runtime.py::TestEvaluationResultBackendRuntimeField::test_to_dict_includes_backend_runtime_when_set
test_p14_backend_runtime.py::TestEvaluationResultBackendRuntimeField::test_to_dict_omits_backend_runtime_when_empty
test_p14_backend_runtime.py::TestBuildBackendRuntime::test_cuda_version_absent_on_cpu_only_machine
test_p14_backend_runtime.py::TestBuildBackendRuntime::test_cuda_version_present_when_cuda_available
test_p14_backend_runtime.py::TestBuildBackendRuntime::test_device_reflects_argument
test_p14_backend_runtime.py::TestBuildBackendRuntime::test_returns_dict_with_required_keys
test_p14_backend_runtime.py::TestBuildBackendRuntime::test_seed_key_present
test_p14_backend_runtime.py::TestBuildBackendRuntime::test_target_is_torch
test_p14_backend_runtime.py::TestTrainingTraceBackendRuntime::test_backend_runtime_device_is_cpu
test_p14_backend_runtime.py::TestTrainingTraceBackendRuntime::test_backend_runtime_has_device_name_key
test_p14_backend_runtime.py::TestTrainingTraceBackendRuntime::test_backend_runtime_has_seed_key
test_p14_backend_runtime.py::TestTrainingTraceBackendRuntime::test_backend_runtime_has_torch_version
test_p14_backend_runtime.py::TestTrainingTraceBackendRuntime::test_backend_runtime_target_is_torch
test_p14_backend_runtime.py::TestTrainingTraceBackendRuntime::test_training_trace_has_backend_runtime_key
test_p14_backend_runtime.py::TestStdlibTrainingTraceNoBackendRuntime::test_stdlib_trace_has_no_backend_runtime
test_p14_backend_runtime.py::TestTorchEvaluatorBackendRuntime::test_stdlib_evaluator_no_backend_runtime
test_p14_backend_runtime.py::TestTorchEvaluatorBackendRuntime::test_torch_evaluator_backend_runtime_in_to_dict
test_p14_backend_runtime.py::TestTorchEvaluatorBackendRuntime::test_torch_evaluator_sets_backend_runtime
test_p14_backend_spec.py::TestBackendSpecContract::test_defaults_are_stdlib_cpu
test_p14_backend_spec.py::TestBackendSpecContract::test_importable_from_spec
test_p14_backend_spec.py::TestBackendSpecContract::test_importable_from_training
test_p14_backend_spec.py::TestBackendSpecContract::test_invalid_device_raises
test_p14_backend_spec.py::TestBackendSpecContract::test_invalid_target_raises
test_p14_backend_spec.py::TestBackendSpecContract::test_is_frozen
test_p14_backend_spec.py::TestBackendSpecContract::test_stdlib_non_cpu_raises
test_p14_backend_spec.py::TestBackendSpecContract::test_to_dict_has_target_and_device
test_p14_backend_spec.py::TestBackendSpecContract::test_valid_combinations
test_p14_backend_spec.py::TestTrainingSpecBackendField::test_backend_none_when_block_absent
test_p14_backend_spec.py::TestTrainingSpecBackendField::test_real_mxtrain_files_have_no_backend
test_p14_backend_spec.py::TestTrainingSpecBackendField::test_to_dict_has_no_backend_key_when_none
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_default_device_cpu_when_only_target
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_default_target_stdlib_when_only_device
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_in_to_dict
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_target_stdlib
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_target_torch_device_cpu
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_target_torch_device_cuda
test_p14_backend_spec.py::TestBackendBlockParser::test_backend_target_torch_device_mps
test_p14_backend_spec.py::TestBackendBlockParser::test_invalid_device_raises_parse_error
test_p14_backend_spec.py::TestBackendBlockParser::test_invalid_target_raises_parse_error
test_p14_backend_spec.py::TestBackendBlockParser::test_unknown_backend_line_raises_parse_error
test_p14_backend_spec.py::TestCLIDeviceValidation::test_device_cpu_with_stdlib_backend_is_default_and_valid
test_p14_backend_spec.py::TestCLIDeviceValidation::test_device_cuda_unavailable_exits_1
test_p14_backend_spec.py::TestCLIDeviceValidation::test_device_cuda_without_torch_backend_exits_1
test_p14_backend_spec.py::TestCLIDeviceValidation::test_device_mps_unavailable_exits_1
test_p14_backend_spec.py::TestCLIDeviceValidation::test_device_mps_without_torch_backend_exits_1
test_p14_backend_spec.py::TestCLIDeviceValidation::test_evaluate_help_shows_device
test_p14_backend_spec.py::TestCLIDeviceValidation::test_train_help_shows_device
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_cpu_always_in_available_devices
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_available_devices_list
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_cuda_available_bool
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_cuda_version_key
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_device_name_key
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_mps_available_bool
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_torch_available_key
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_has_torch_version_key
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_importable_from_parameters
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_importable_from_tensor_bridge
test_p14_device_detection.py::TestTorchDeviceInfoContract::test_returns_dict
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_available_devices_has_no_duplicates
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_available_devices_only_known_values
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_cpu_in_devices
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_cuda_absent_when_no_hardware
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_mps_absent_when_no_hardware
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_torch_available_is_true
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_torch_available_true_in_info
test_p14_device_detection.py::TestTorchDeviceInfoWithTorchInstalled::test_torch_version_is_string
test_p14_device_detection.py::TestTorchDeviceInfoCudaPresent::test_cuda_in_devices
test_p14_device_detection.py::TestTorchDeviceInfoCudaPresent::test_cuda_version_is_string
test_p14_device_detection.py::TestTorchDeviceInfoCudaPresent::test_device_name_is_string
test_p14_device_detection.py::TestTorchDeviceInfoMpsPresent::test_mps_in_devices
test_p14_device_detection.py::TestTorchDeviceInfoWithoutTorch::test_cpu_still_in_devices_when_torch_absent
test_p14_device_detection.py::TestTorchDeviceInfoWithoutTorch::test_cuda_available_false_when_torch_absent
test_p14_device_detection.py::TestTorchDeviceInfoWithoutTorch::test_mps_available_false_when_torch_absent
test_p14_device_detection.py::TestTorchDeviceInfoWithoutTorch::test_returns_dict_when_torch_absent
test_p14_device_detection.py::TestTorchDeviceInfoWithoutTorch::test_torch_available_false_when_absent
test_p14_device_detection.py::TestTorchDeviceInfoWithoutTorch::test_torch_version_none_when_absent
test_p14_device_propagation.py::TestTorchForwardRunnerDeviceValidation::test_cpu_device_always_valid
test_p14_device_propagation.py::TestTorchForwardRunnerDeviceValidation::test_cuda_unavailable_raises_forward_error
test_p14_device_propagation.py::TestTorchForwardRunnerDeviceValidation::test_error_message_contains_available_devices
test_p14_device_propagation.py::TestTorchForwardRunnerDeviceValidation::test_float64_dtype_raises
test_p14_device_propagation.py::TestTorchForwardRunnerDeviceValidation::test_mps_unavailable_raises_forward_error
test_p14_device_propagation.py::TestTorchForwardRunnerDeviceValidation::test_old_p5_error_message_no_longer_present
test_p14_device_propagation.py::TestTorchForwardRunnerCpuRun::test_run_cpu_produces_result
test_p14_device_propagation.py::TestBatchTensorsDeviceParameter::test_batch_tensors_binary_objective_cpu
test_p14_device_propagation.py::TestBatchTensorsDeviceParameter::test_batch_tensors_cpu_default
test_p14_device_propagation.py::TestBatchTensorsDeviceParameter::test_batch_tensors_cpu_explicit
test_p14_device_propagation.py::TestTorchSupervisedTrainerDeviceReading::test_device_defaults_to_cpu_when_no_backend
test_p14_device_propagation.py::TestTorchSupervisedTrainerDeviceReading::test_device_read_from_backend_cpu
test_p14_device_propagation.py::TestCLIDeviceInjection::test_backend_metadata_reflects_device
test_p14_device_propagation.py::TestCLIDeviceInjection::test_cmd_train_cuda_unavailable_exits_before_training
test_p14_device_propagation.py::TestCLIDeviceInjection::test_cmd_train_injects_backend_spec_into_training
test_p14_numerical_equivalence.py::TestEmailAgentEquivalence::test_action_activated_agrees
test_p14_numerical_equivalence.py::TestEmailAgentEquivalence::test_action_value_matches
test_p14_numerical_equivalence.py::TestEmailAgentEquivalence::test_all_float_state_keys_match
test_p14_numerical_equivalence.py::TestEmailAgentEquivalence::test_classifier_output_matches
test_p14_numerical_equivalence.py::TestEmailAgentEquivalence::test_multiple_inputs_agree
test_p14_numerical_equivalence.py::TestEmailAgentEquivalence::test_reply_activation_matches
test_p14_numerical_equivalence.py::TestFallRiskEquivalence::test_action_value_matches
test_p14_numerical_equivalence.py::TestFallRiskEquivalence::test_alert_activation_matches
test_p14_numerical_equivalence.py::TestFallRiskEquivalence::test_all_float_state_keys_match
test_p14_numerical_equivalence.py::TestFallRiskEquivalence::test_multiple_inputs_agree
test_p14_numerical_equivalence.py::TestFallRiskEquivalence::test_risk_model_output_matches
test_p14_numerical_equivalence.py::TestToleranceContract::test_documented_atol_value
test_p14_numerical_equivalence.py::TestToleranceContract::test_documented_rtol_value
test_p14_numerical_equivalence.py::TestToleranceContract::test_max_observed_diff_fall_risk_within_atol
test_p14_numerical_equivalence.py::TestToleranceContract::test_max_observed_diff_within_atol
test_p14_numerical_equivalence.py::TestCudaEquivalence::test_cuda_matches_cpu_within_tolerance
test_p14_numerical_equivalence.py::TestMpsEquivalence::test_mps_matches_cpu_within_tolerance
test_p14_torch_skip_activation.py::TestTorchAvailableInEnvironment::test_cpu_always_in_available_devices
test_p14_torch_skip_activation.py::TestTorchAvailableInEnvironment::test_torch_available_returns_true
test_p14_torch_skip_activation.py::TestTorchAvailableInEnvironment::test_torch_device_info_torch_available_true
test_p14_torch_skip_activation.py::TestTorchAvailableInEnvironment::test_torch_importable
test_p14_torch_skip_activation.py::TestSkipUnlessGuardedTestsAreActive::test_parameters_torch_tests_active
test_p14_torch_skip_activation.py::TestSkipUnlessGuardedTestsAreActive::test_torch_forward_tests_active
test_p14_torch_skip_activation.py::TestSkipUnlessGuardedTestsAreActive::test_torch_training_tests_active
test_p14_torch_skip_activation.py::TestAbsencePathsStillIntact::test_tensor_bridge_import_is_lazy
test_p14_torch_skip_activation.py::TestAbsencePathsStillIntact::test_torch_available_function_exists
test_p15_cut1_onnx_export.py::TestOnnxAvailable::test_returns_false_when_onnx_missing
test_p15_cut1_onnx_export.py::TestOnnxAvailable::test_returns_true_when_installed
test_p15_cut1_onnx_export.py::TestOnnxImportError::test_export_raises_when_onnx_unavailable
test_p15_cut1_onnx_export.py::TestUnsupportedKind::test_unsupported_kind_raises
test_p15_cut1_onnx_export.py::TestHashMismatchValidation::test_correct_parameter_set_succeeds
test_p15_cut1_onnx_export.py::TestHashMismatchValidation::test_parameter_schema_hash_in_onnx_metadata
test_p15_cut1_onnx_export.py::TestHashMismatchValidation::test_wrong_parameter_set_raises
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_exported_function_name
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_metadata_embedded
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_model_hash_set
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_onnx_checker_passes
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_opset_version
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_output_file_exists
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_parameter_schema_hash_set
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_parameter_set_id_set
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_result_input_name
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_result_input_shape
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_result_output_name
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_result_output_shape
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_skipped_functions
test_p15_cut1_onnx_export.py::TestSoftmaxLinearOnnxValidity::test_to_dict_keys
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_exported_function_name
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_labels_empty_for_sigmoid
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_metadata_kind
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_onnx_checker_passes
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_output_file_exists
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_result_input_name
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_result_input_shape
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_result_output_name
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_result_output_shape
test_p15_cut1_onnx_export.py::TestSigmoidLinearOnnxValidity::test_skipped_functions
test_p15_cut1_onnx_export.py::TestSoftmaxInference::test_output_shape_batch_1
test_p15_cut1_onnx_export.py::TestSoftmaxInference::test_output_shape_batch_4
test_p15_cut1_onnx_export.py::TestSoftmaxInference::test_probabilities_non_negative
test_p15_cut1_onnx_export.py::TestSoftmaxInference::test_probabilities_sum_to_one
test_p15_cut1_onnx_export.py::TestSigmoidInference::test_output_shape_batch_1
test_p15_cut1_onnx_export.py::TestSigmoidInference::test_output_shape_batch_4
test_p15_cut1_onnx_export.py::TestSigmoidInference::test_probabilities_in_range
test_p15_cut1_onnx_export.py::TestSigmoidInference::test_specific_input
test_p15_cut1_onnx_export.py::TestSoftmaxOnnxVsDiffPy::test_equivalence_typical_input
test_p15_cut1_onnx_export.py::TestSoftmaxOnnxVsDiffPy::test_equivalence_uniform_input
test_p15_cut1_onnx_export.py::TestSoftmaxOnnxVsDiffPy::test_equivalence_zero_input
test_p15_cut1_onnx_export.py::TestSigmoidOnnxVsDiffPy::test_equivalence_low_risk_input
test_p15_cut1_onnx_export.py::TestSigmoidOnnxVsDiffPy::test_equivalence_typical_input
test_p15_cut1_onnx_export.py::TestSigmoidOnnxVsDiffPy::test_equivalence_uniform_input
test_p15_cut1_onnx_export.py::TestOnnxDeterminism::test_sigmoid_deterministic
test_p15_cut1_onnx_export.py::TestOnnxDeterminism::test_softmax_deterministic
test_p15_cut1_onnx_export.py::TestCliExportOnnx::test_cli_export_json_flag
test_p15_cut1_onnx_export.py::TestCliExportOnnx::test_cli_export_produces_file
test_p15_cut1_onnx_export.py::TestCliExportOnnx::test_cli_fall_risk_export
test_p15_cut1_onnx_export.py::TestCliExportOnnx::test_cli_help_shows_export_onnx
test_p15_cut1_onnx_export.py::TestExportOnnxWrapper::test_wrapper_accepts_path_object
test_p15_cut1_onnx_export.py::TestExportOnnxWrapper::test_wrapper_creates_parent_directory
test_p15_cut1_onnx_export.py::TestExportOnnxWrapper::test_wrapper_returns_result
test_p15_cut2_equivalence.py::TestOrtAvailable::test_returns_true_when_installed
test_p15_cut2_equivalence.py::TestEquivalenceResultStructure::test_atol_default
test_p15_cut2_equivalence.py::TestEquivalenceResultStructure::test_is_dataclass
test_p15_cut2_equivalence.py::TestEquivalenceResultStructure::test_n_samples_default
test_p15_cut2_equivalence.py::TestEquivalenceResultStructure::test_rtol_default
test_p15_cut2_equivalence.py::TestEquivalenceResultStructure::test_to_dict_keys
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_custom_n_samples
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_deterministic_with_seed
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_different_seeds_may_differ
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_max_abs_diff_non_negative
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_max_abs_diff_within_atol
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_max_rel_diff_non_negative
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_n_outputs_per_sample
test_p15_cut2_equivalence.py::TestSoftmaxEquivalence::test_passes
test_p15_cut2_equivalence.py::TestSigmoidEquivalence::test_max_abs_diff_within_atol
test_p15_cut2_equivalence.py::TestSigmoidEquivalence::test_n_outputs_per_sample
test_p15_cut2_equivalence.py::TestSigmoidEquivalence::test_passes
test_p15_cut2_equivalence.py::TestExportManifest::test_equivalence_check_max_abs_diff
test_p15_cut2_equivalence.py::TestExportManifest::test_equivalence_check_n_samples
test_p15_cut2_equivalence.py::TestExportManifest::test_equivalence_check_passed
test_p15_cut2_equivalence.py::TestExportManifest::test_exported_at_is_iso_string
test_p15_cut2_equivalence.py::TestExportManifest::test_fall_risk_manifest
test_p15_cut2_equivalence.py::TestExportManifest::test_format_is_onnx
test_p15_cut2_equivalence.py::TestExportManifest::test_format_version_is_opset
test_p15_cut2_equivalence.py::TestExportManifest::test_input_shape_correct
test_p15_cut2_equivalence.py::TestExportManifest::test_manifest_creates_parent_directories
test_p15_cut2_equivalence.py::TestExportManifest::test_manifest_file_exists
test_p15_cut2_equivalence.py::TestExportManifest::test_model_hash_matches
test_p15_cut2_equivalence.py::TestExportManifest::test_output_shape_correct
test_p15_cut2_equivalence.py::TestExportManifest::test_parameter_schema_hash_matches
test_p15_cut2_equivalence.py::TestExportManifest::test_parameter_set_id_matches
test_p15_cut2_equivalence.py::TestExportManifest::test_required_keys_present
test_p15_cut2_equivalence.py::TestExportManifest::test_tolerance_keys
test_p15_cut2_equivalence.py::TestCliValidateFlag::test_manifest_without_validate_warns
test_p15_cut2_equivalence.py::TestCliValidateFlag::test_validate_exits_zero
test_p15_cut2_equivalence.py::TestCliValidateFlag::test_validate_json_flag_includes_equivalence_check
test_p15_cut2_equivalence.py::TestCliValidateFlag::test_validate_manifest_flag_writes_file
test_p15_cut2_equivalence.py::TestValidateConvenienceWrapper::test_validate_onnx_equivalence_wrapper
test_p15_cut2_equivalence.py::TestValidateConvenienceWrapper::test_validator_class_directly
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_bundle_dir_exists
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_expected_files
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_export_manifest_equivalence_passed
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_export_manifest_exported_at
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_export_manifest_format
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_export_manifest_hashes
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_export_manifest_keys
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_manifest_backend_contract_ok
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_manifest_functions
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_manifest_hashes
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_manifest_keys
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_manifest_vectors
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_mxai_content_matches
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_model_onnx_passes_checker
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_params_best_json_is_valid_json
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_readme_contains_hash
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_readme_exists_and_nonempty
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_result_equivalence_passed
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_result_model_hash
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_result_parameter_set_id
test_p15_cut3_edge_bundle.py::TestEmailAgentBundle::test_result_to_dict_keys
test_p15_cut3_edge_bundle.py::TestFallRiskBundle::test_equivalence_passed
test_p15_cut3_edge_bundle.py::TestFallRiskBundle::test_expected_files
test_p15_cut3_edge_bundle.py::TestFallRiskBundle::test_export_manifest_input_shape
test_p15_cut3_edge_bundle.py::TestFallRiskBundle::test_model_manifest_project
test_p15_cut3_edge_bundle.py::TestFallRiskBundle::test_model_manifest_vectors_size_5
test_p15_cut3_edge_bundle.py::TestFallRiskBundle::test_readme_contains_fall_risk
test_p15_cut3_edge_bundle.py::TestBundleForceFlag::test_existing_dir_raises_without_force
test_p15_cut3_edge_bundle.py::TestBundleForceFlag::test_force_true_overwrites
test_p15_cut3_edge_bundle.py::TestBundleNoValidate::test_no_validate_skips_equivalence
test_p15_cut3_edge_bundle.py::TestCliBundleCommand::test_cli_bundle_creates_files
test_p15_cut3_edge_bundle.py::TestCliBundleCommand::test_cli_bundle_json_output
test_p15_cut3_edge_bundle.py::TestCliBundleCommand::test_cli_bundle_no_validate
test_p15_cut3_edge_bundle.py::TestCliBundleCommand::test_cli_help_shows_export_bundle
test_p15_cut3_edge_bundle.py::TestCreateEdgeBundleWrapper::test_wrapper_returns_result
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_exported_functions
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_input_name_and_shape
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_model_hash_in_result
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_onnx_checker_passes
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_onnx_file_exists
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_onnx_metadata_kind
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_onnx_metadata_model_hash
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_opset_version
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_output_name_and_shape
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_parameter_schema_hash_in_result
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_skipped_functions_empty
test_p15_cut4_p10_primitives.py::TestTransformerOnnxExport::test_to_dict_keys
test_p15_cut4_p10_primitives.py::TestTransformerOnnxInference::test_batch_size_1
test_p15_cut4_p10_primitives.py::TestTransformerOnnxInference::test_batch_size_4
test_p15_cut4_p10_primitives.py::TestTransformerOnnxInference::test_deterministic_output
test_p15_cut4_p10_primitives.py::TestTransformerOnnxInference::test_output_is_float32
test_p15_cut4_p10_primitives.py::TestTransformerEquivalence::test_equivalence_validator_passes
test_p15_cut4_p10_primitives.py::TestTransformerEquivalence::test_manual_sample_equivalence
test_p15_cut4_p10_primitives.py::TestTransformerEquivalence::test_max_abs_diff_within_atol
test_p15_cut4_p10_primitives.py::TestTransformerEquivalence::test_n_outputs_per_sample
test_p15_cut4_p10_primitives.py::TestEquivalenceValidatorLayerCall::test_validate_returns_result
test_p15_cut4_p10_primitives.py::TestPrimitiveCoverage::test_add_present
test_p15_cut4_p10_primitives.py::TestPrimitiveCoverage::test_layer_norm_present
test_p15_cut4_p10_primitives.py::TestPrimitiveCoverage::test_matmul_present
test_p15_cut4_p10_primitives.py::TestPrimitiveCoverage::test_reduce_sum_present
test_p15_cut4_p10_primitives.py::TestPrimitiveCoverage::test_sigmoid_present
test_p15_cut4_p10_primitives.py::TestPrimitiveCoverage::test_tanh_present
test_p15_cut4_p10_primitives.py::TestSupportedKinds::test_layer_call_in_supported_kinds
test_p15_cut4_p10_primitives.py::TestSupportedKinds::test_sigmoid_linear_still_supported
test_p15_cut4_p10_primitives.py::TestSupportedKinds::test_softmax_linear_still_supported
test_p15_cut4_p10_primitives.py::TestUnsupportedPrimitive::test_hash_mismatch_raises
test_p15_cut4_p10_primitives.py::TestUnsupportedPrimitive::test_unsupported_op_kind_raises_with_name
test_p15_cut4_p10_primitives.py::TestTransformerEdgeBundle::test_bundle_created_with_expected_files
test_p15_cut4_p10_primitives.py::TestTransformerEdgeBundle::test_bundle_equivalence_passed
test_p15_cut4_p10_primitives.py::TestTransformerEdgeBundle::test_bundle_export_manifest_format
test_p15_cut4_p10_primitives.py::TestTransformerEdgeBundle::test_bundle_model_manifest_project
test_p15_cut4_p10_primitives.py::TestExistingModelsUnaffected::test_email_agent_still_exports
test_p15_cut4_p10_primitives.py::TestExistingModelsUnaffected::test_fall_risk_still_exports
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_exported_functions
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_input_is_int64
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_input_name_and_shape
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_model_hash_in_result
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_onnx_checker_passes
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_onnx_file_exists
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_onnx_metadata_kind
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_opset_version
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_output_name_and_shape
test_p15_cut5_transformer_p11.py::TestSequenceTransformerExport::test_skipped_functions_empty
test_p15_cut5_transformer_p11.py::TestSequencePrimitiveCoverage::test_gather_present
test_p15_cut5_transformer_p11.py::TestSequencePrimitiveCoverage::test_layer_normalization_present
test_p15_cut5_transformer_p11.py::TestSequencePrimitiveCoverage::test_matmul_present
test_p15_cut5_transformer_p11.py::TestSequencePrimitiveCoverage::test_reduce_mean_present
test_p15_cut5_transformer_p11.py::TestSequencePrimitiveCoverage::test_reduce_sum_present
test_p15_cut5_transformer_p11.py::TestSequencePrimitiveCoverage::test_softmax_present
test_p15_cut5_transformer_p11.py::TestSequenceTransformerInference::test_batch_size_1
test_p15_cut5_transformer_p11.py::TestSequenceTransformerInference::test_batch_size_3
test_p15_cut5_transformer_p11.py::TestSequenceTransformerInference::test_deterministic_output
test_p15_cut5_transformer_p11.py::TestSequenceTransformerInference::test_ids_in_range_respected
test_p15_cut5_transformer_p11.py::TestSequenceTransformerInference::test_output_is_float32
test_p15_cut5_transformer_p11.py::TestSequenceTransformerEquivalence::test_equivalence_validator_passes
test_p15_cut5_transformer_p11.py::TestSequenceTransformerEquivalence::test_manual_sample_equivalence
test_p15_cut5_transformer_p11.py::TestSequenceTransformerEquivalence::test_max_abs_diff_within_atol
test_p15_cut5_transformer_p11.py::TestSequenceTransformerEquivalence::test_n_outputs_per_sample
test_p15_cut5_transformer_p11.py::TestEquivalenceValidatorSequence::test_validate_returns_passing_result
test_p15_cut5_transformer_p11.py::TestSequenceTransformerEdgeBundle::test_bundle_created
test_p15_cut5_transformer_p11.py::TestSequenceTransformerEdgeBundle::test_bundle_input_shape_in_manifest
test_p15_cut5_transformer_p11.py::TestVectorModelsUnaffected::test_email_agent_still_works
test_p15_cut5_transformer_p11.py::TestVectorModelsUnaffected::test_transformer_vector_still_works
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_bundle_dir_created
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_equivalence_passed
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_equivalence_result_not_none
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_input_shape
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_model_hash
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_model_onnx_exists
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_opset_version
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_output_shape
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_parameter_schema_hash
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_parameter_set_id
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_predict_js_exists
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_three_files_present
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_wasm_manifest_exists
test_p15_cut6_wasm.py::TestWasmBundleSequence::test_wasm_runtime_field
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_equivalence_check_passed
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_exported_at_present
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_format_field
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_input_name
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_input_shape
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_la_version_de_ORT_web_PUEDE_con_la_IR_que_escribe_el_exportador
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_model_hash
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_onnx_opset
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_ort_web_min_version
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_output_name
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_output_shape
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_parameter_schema_hash
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_parameter_set_id
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_tolerance_present
test_p15_cut6_wasm.py::TestWasmManifestSequence::test_wasm_runtime_field
test_p15_cut6_wasm.py::TestPredictJsSequence::test_bigint64array
test_p15_cut6_wasm.py::TestPredictJsSequence::test_input_name_present
test_p15_cut6_wasm.py::TestPredictJsSequence::test_int64_dtype
test_p15_cut6_wasm.py::TestPredictJsSequence::test_model_hash_present
test_p15_cut6_wasm.py::TestPredictJsSequence::test_model_onnx_reference
test_p15_cut6_wasm.py::TestPredictJsSequence::test_no_float32array
test_p15_cut6_wasm.py::TestPredictJsSequence::test_ort_cdn_reference
test_p15_cut6_wasm.py::TestPredictJsSequence::test_output_name_present
test_p15_cut6_wasm.py::TestPredictJsSequence::test_predict_function_present
test_p15_cut6_wasm.py::TestPredictJsVector::test_float32_dtype
test_p15_cut6_wasm.py::TestPredictJsVector::test_float32array
test_p15_cut6_wasm.py::TestPredictJsVector::test_no_bigint64array
test_p15_cut6_wasm.py::TestWasmModelOnnxValid::test_onnx_checker_passes_sequence
test_p15_cut6_wasm.py::TestWasmModelOnnxValid::test_onnx_checker_passes_vector
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_bundle_dir_key
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_equivalence_check_key
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_equivalence_passed_key
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_files_key
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_input_output_shapes
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_model_hash_key
test_p15_cut6_wasm.py::TestWasmExportResultToDict::test_wasm_runtime_key
test_p15_cut6_wasm.py::TestWasmNoValidate::test_export_without_validate
test_p15_cut6_wasm.py::TestWasmNoValidate::test_manifest_no_tolerance_when_no_validate
test_p15_cut6_wasm.py::TestWasmForceFlag::test_force_false_raises_on_existing_dir
test_p15_cut6_wasm.py::TestWasmForceFlag::test_force_true_overwrites
test_p15_cut6_wasm.py::TestExportWasmFunction::test_export_wasm_returns_result
test_p15_cut6_wasm.py::TestExportWasmFunction::test_export_wasm_vector_model
test_p15_cut6_wasm.py::TestCliExportWasm::test_cli_export_wasm_exits_zero
test_p15_cut6_wasm.py::TestCliExportWasm::test_cli_export_wasm_json_flag
test_p15_cut6_wasm.py::TestCliExportWasm::test_cli_force_flag
test_p15_cut6_wasm.py::TestCliExportWasm::test_cli_no_force_existing_dir_fails
test_p15_cut6_wasm.py::TestWasmHashMismatch::test_hash_mismatch_raises
test_p15_cut6_wasm.py::TestWasmNodeJsValidation::test_node_output_shape_matches_manifest
test_p15_cut6_wasm.py::TestWasmNodeJsValidation::test_node_validates_sequence_model
test_p15_cut6_wasm.py::TestWasmNodeJsValidation::test_node_validates_vector_model
test_p15_cut6_wasm.py::TestWasmOrtWebValidation::test_ortWeb_wasm_backend_sequence_model
test_p15_cut6_wasm.py::TestWasmOrtWebValidation::test_ortWeb_wasm_backend_vector_model
test_p15_cut6_wasm.py::TestWasmOrtWebValidation::test_ortWeb_wasm_deterministic
test_p15_cut6_wasm.py::TestWasmOrtWebValidation::test_ortWeb_wasm_matches_python_ort
test_p15_cut6_wasm.py::TestWasmOrtWebValidation::test_ortWeb_wasm_output_shape_correct
test_p15_cut7_regression.py::TestCoreParseValidate::test_backend_contract_email_agent
test_p15_cut7_regression.py::TestCoreParseValidate::test_compile_dp_email_agent
test_p15_cut7_regression.py::TestCoreParseValidate::test_compile_dp_transformer_vector
test_p15_cut7_regression.py::TestCoreParseValidate::test_parse_email_agent
test_p15_cut7_regression.py::TestCoreParseValidate::test_parse_fall_risk
test_p15_cut7_regression.py::TestCoreParseValidate::test_parse_transformer_sequence
test_p15_cut7_regression.py::TestCoreParseValidate::test_parse_transformer_vector
test_p15_cut7_regression.py::TestCoreParseValidate::test_validate_email_agent
test_p15_cut7_regression.py::TestCoreParseValidate::test_validate_fall_risk
test_p15_cut7_regression.py::TestCoreParseValidate::test_validate_transformer_vector
test_p15_cut7_regression.py::TestParameterSetCoreFlows::test_build_parameter_set_email_agent
test_p15_cut7_regression.py::TestParameterSetCoreFlows::test_parameter_set_has_hashes
test_p15_cut7_regression.py::TestParameterSetCoreFlows::test_parameter_set_hash_stable
test_p15_cut7_regression.py::TestParameterSetCoreFlows::test_write_and_load_parameter_set
test_p15_cut7_regression.py::TestRuntimeInferenceUnaffected::test_dp_email_agent_produces_output
test_p15_cut7_regression.py::TestRuntimeInferenceUnaffected::test_dp_fall_risk_produces_output
test_p15_cut7_regression.py::TestRuntimeInferenceUnaffected::test_dp_output_deterministic_email_agent
test_p15_cut7_regression.py::TestRuntimeInferenceUnaffected::test_dp_transformer_sequence_produces_output
test_p15_cut7_regression.py::TestRuntimeInferenceUnaffected::test_dp_transformer_vector_produces_output
test_p15_cut7_regression.py::TestExportNoMutation::test_export_does_not_mutate_parameter_set_email_agent
test_p15_cut7_regression.py::TestExportNoMutation::test_export_does_not_mutate_program_email_agent
test_p15_cut7_regression.py::TestExportNoMutation::test_export_transformer_vec_no_mutation
test_p15_cut7_regression.py::TestExportNoMutation::test_runtime_output_unchanged_after_export
test_p15_cut7_regression.py::TestAllArchetypesOnnxExport::test_hash_embedded_email_agent
test_p15_cut7_regression.py::TestAllArchetypesOnnxExport::test_layer_call_sequence
test_p15_cut7_regression.py::TestAllArchetypesOnnxExport::test_layer_call_vector
test_p15_cut7_regression.py::TestAllArchetypesOnnxExport::test_sigmoid_linear_fall_risk
test_p15_cut7_regression.py::TestAllArchetypesOnnxExport::test_softmax_linear_email_agent
test_p15_cut7_regression.py::TestAllArchetypesEquivalence::test_layer_call_sequence
test_p15_cut7_regression.py::TestAllArchetypesEquivalence::test_layer_call_vector
test_p15_cut7_regression.py::TestAllArchetypesEquivalence::test_sigmoid_linear_fall_risk
test_p15_cut7_regression.py::TestAllArchetypesEquivalence::test_softmax_linear_email_agent
test_p15_cut7_regression.py::TestAllArchetypesEdgeBundle::test_all_bundles_equivalence_passed
test_p15_cut7_regression.py::TestAllArchetypesEdgeBundle::test_email_agent_bundle_files
test_p15_cut7_regression.py::TestAllArchetypesEdgeBundle::test_fall_risk_bundle_files
test_p15_cut7_regression.py::TestAllArchetypesEdgeBundle::test_transformer_sequence_bundle_files
test_p15_cut7_regression.py::TestAllArchetypesEdgeBundle::test_transformer_vector_bundle_files
test_p15_cut7_regression.py::TestAllArchetypesWasmBundle::test_email_agent_wasm_files
test_p15_cut7_regression.py::TestAllArchetypesWasmBundle::test_fall_risk_wasm_files
test_p15_cut7_regression.py::TestAllArchetypesWasmBundle::test_transformer_sequence_wasm_files
test_p15_cut7_regression.py::TestAllArchetypesWasmBundle::test_transformer_vector_wasm_files
test_p15_cut7_regression.py::TestHashStability::test_model_hash_differs_between_models
test_p15_cut7_regression.py::TestHashStability::test_model_hash_stable_email_agent
test_p15_cut7_regression.py::TestHashStability::test_model_hash_stable_transformer_vec
test_p15_cut7_regression.py::TestImportIsolation::test_export_module_symbols_accessible
test_p15_cut7_regression.py::TestImportIsolation::test_matrixai_compiler_importable
test_p15_cut7_regression.py::TestImportIsolation::test_matrixai_core_importable
test_p15_cut7_regression.py::TestImportIsolation::test_matrixai_runtime_importable
test_p15_cut7_regression.py::TestImportIsolation::test_ort_available_returns_bool
test_p15_cut7_regression.py::TestImportIsolation::test_ort_available_true_when_installed
test_p15_cut7_regression.py::TestUnsupportedModelExplicitError::test_hash_mismatch_raises_onnx_export_error
test_p17_cut1_ir.py::TestParserLinearRegression::test_parse_linear_inputs_correct
test_p17_cut1_ir.py::TestParserLinearRegression::test_parse_linear_multi_feature
test_p17_cut1_ir.py::TestParserLinearRegression::test_parse_linear_output_name
test_p17_cut1_ir.py::TestParserLinearRegression::test_parse_linear_parameters_correct
test_p17_cut1_ir.py::TestParserLinearRegression::test_parse_linear_produces_linear_regression_kind
test_p17_cut1_ir.py::TestSemanticKindOutputType::test_linear_regression_returns_scalar
test_p17_cut1_ir.py::TestSemanticKindOutputType::test_sigmoid_linear_still_probability
test_p17_cut1_ir.py::TestSemanticKindOutputType::test_softmax_linear_still_probability_map
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_backend_contract_ok
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_bias_role
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_bias_shape_is_scalar
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_function_node_differentiable
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_function_output_shape_scalar
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_multi_feature_weights_shape
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_torch_backend_gates_regression_for_p17_1
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_trainable_parameters_found
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_weights_role
test_p17_cut1_ir.py::TestBackendContractLinearRegression::test_weights_shape_matches_input_dim
test_p17_cut1_ir.py::TestDifferentiablePythonCompiler::test_compile_succeeds
test_p17_cut1_ir.py::TestDifferentiablePythonCompiler::test_run_100_celsius
test_p17_cut1_ir.py::TestDifferentiablePythonCompiler::test_run_negative_celsius
test_p17_cut1_ir.py::TestDifferentiablePythonCompiler::test_run_with_known_weights_computes_kelvin
test_p17_cut2_verifier.py::TestVerifierMSEAccepts::test_kelvin_differentiability_ok
test_p17_cut2_verifier.py::TestVerifierMSEAccepts::test_kelvin_mxtrain_verifies_ok
test_p17_cut2_verifier.py::TestVerifierMSEAccepts::test_kelvin_trainable_parameters_found
test_p17_cut2_verifier.py::TestVerifierMSEAccepts::test_mae_metric_accepted_for_mse
test_p17_cut2_verifier.py::TestVerifierMSEAccepts::test_no_errors_in_dataset_validation
test_p17_cut2_verifier.py::TestVerifierMSERejects::test_mse_with_accuracy_metric_rejected
test_p17_cut2_verifier.py::TestVerifierMSERejects::test_mse_with_label_target_rejected
test_p17_cut2_verifier.py::TestVerifierMSERejects::test_mse_with_r2_metric_accepted
test_p17_cut2_verifier.py::TestVerifierMSERejects::test_mse_with_rmse_metric_accepted
test_p17_cut2_verifier.py::TestVerifierClassificationRejectsScalarTarget::test_binary_cross_entropy_with_scalar_target_rejected
test_p17_cut2_verifier.py::TestVerifierClassificationRejectsScalarTarget::test_classification_with_regression_metric_rejected
test_p17_cut2_verifier.py::TestVerifierClassificationRejectsScalarTarget::test_cross_entropy_with_scalar_target_rejected
test_p17_cut2_verifier.py::TestVerifierDatasetContinuousTarget::test_dataset_non_numeric_target_rejected
test_p17_cut2_verifier.py::TestVerifierDatasetContinuousTarget::test_dataset_numeric_target_accepted
test_p17_cut2_verifier.py::TestVerifierDatasetContinuousTarget::test_dataset_out_of_range_target_rejected
test_p17_cut2_verifier.py::TestEvaluationResultRegression::test_is_not_regression_when_labels
test_p17_cut2_verifier.py::TestEvaluationResultRegression::test_is_regression_when_no_labels
test_p17_cut3_trainer.py::TestExpectedSemanticKind::test_binary_cross_entropy_still_sigmoid
test_p17_cut3_trainer.py::TestExpectedSemanticKind::test_cross_entropy_still_softmax
test_p17_cut3_trainer.py::TestExpectedSemanticKind::test_mse_returns_linear_regression
test_p17_cut3_trainer.py::TestLabelsForMSE::test_labels_empty_for_mse
test_p17_cut3_trainer.py::TestLabelsForMSE::test_labels_non_empty_for_classification
test_p17_cut3_trainer.py::TestMSERegressionGradients::test_gradient_batch_averaged
test_p17_cut3_trainer.py::TestMSERegressionGradients::test_gradient_direction_bias
test_p17_cut3_trainer.py::TestMSERegressionGradients::test_gradient_direction_weight
test_p17_cut3_trainer.py::TestMSERegressionGradients::test_gradient_values_exact
test_p17_cut3_trainer.py::TestMSERegressionGradients::test_gradient_zero_error
test_p17_cut3_trainer.py::TestMSERegressionMetrics::test_accuracy_zero
test_p17_cut3_trainer.py::TestMSERegressionMetrics::test_mae_is_mean_abs_error
test_p17_cut3_trainer.py::TestMSERegressionMetrics::test_mse_known_error
test_p17_cut3_trainer.py::TestMSERegressionMetrics::test_mse_perfect_prediction
test_p17_cut3_trainer.py::TestMSERegressionMetrics::test_no_confusion_matrix
test_p17_cut3_trainer.py::TestMSERegressionMetrics::test_r2_below_one_for_imperfect
test_p17_cut3_trainer.py::TestSupervisedTrainerRegressionIntegration::test_canonical_celsius_example_converges
test_p17_cut3_trainer.py::TestSupervisedTrainerRegressionIntegration::test_loss_decreases_with_training
test_p17_cut3_trainer.py::TestSupervisedTrainerRegressionIntegration::test_mae_in_metrics_json
test_p17_cut3_trainer.py::TestSupervisedTrainerRegressionIntegration::test_task_kind_regression_in_trace
test_p17_cut3_trainer.py::TestSupervisedTrainerRegressionIntegration::test_torch_regression_is_explicitly_gated
test_p17_cut3_trainer.py::TestSupervisedTrainerRegressionIntegration::test_train_runs_without_error
test_p17_cut3_trainer.py::TestSupervisedEvaluatorRegression::test_evaluator_perfect_weights_gives_low_mae
test_p17_cut3_trainer.py::TestSupervisedEvaluatorRegression::test_evaluator_returns_mae_rmse_r2
test_p17_cut3_trainer.py::TestSupervisedExampleTargetValue::test_csv_adapter_no_target_value_for_classification
test_p17_cut3_trainer.py::TestSupervisedExampleTargetValue::test_csv_adapter_sets_target_value_for_regression
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_assumptions_mention_linear_regression
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_classification_still_works
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_dataset_template_numeric_target
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_dataset_template_uses_scalar_range
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_epochs_default_fifty
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_generated_mxtrain_is_parseable_and_verifiable
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_generates_mae_metric_not_accuracy
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_generates_mse_loss
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_generates_scalar_target_no_range
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_generates_scalar_target_with_range
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_labels_empty_for_regression
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_learning_rate_default
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_no_label_bracket_in_target
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_prediction_matches_function_output
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_target_defaults_to_function_output
test_p17_cut4_generator.py::TestGeneratorRegressionBasic::test_target_name_override
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_correct_row_count
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_different_with_different_seed
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_input_vector_present
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_labels_empty
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_reproducible_with_same_seed
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_returns_adapter
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_target_is_numeric
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_target_value_field_set
test_p17_cut5_synthetic.py::TestSyntheticRegressionRandom::test_random_target_within_scalar_range
test_p17_cut5_synthetic.py::TestSyntheticRegressionCoherent::test_coherent_labels_empty
test_p17_cut5_synthetic.py::TestSyntheticRegressionCoherent::test_coherent_returns_adapter
test_p17_cut5_synthetic.py::TestSyntheticRegressionCoherent::test_coherent_target_is_numeric
test_p17_cut5_synthetic.py::TestSyntheticRegressionCoherent::test_coherent_target_value_is_float
test_p17_cut5_synthetic.py::TestSyntheticRegressionRangeHelper::test_classification_spec_still_raises_without_labels
test_p17_cut5_synthetic.py::TestSyntheticRegressionRangeHelper::test_regression_range_defaults_when_no_range
test_p17_cut5_synthetic.py::TestSyntheticRegressionRangeHelper::test_regression_range_uses_scalar_bounds
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_celsius_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_classify_still_selects_classification
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_email_not_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_estim_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_fall_risk_still_selects_fall_risk
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_kelvin_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_precio_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_predecir_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_price_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionTemplateSelection::test_regres_selects_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_assumptions_mention_mse
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_assumptions_mention_trainable_package
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_extracted_rules_empty_for_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_mode_is_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_semantic_text_has_mae_metric
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_semantic_text_has_mode_regression
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_semantic_text_has_mse_loss
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_semantic_text_has_output_scalar
test_p17_cut6_prompt_agent.py::TestPromptAgentRegressionOutput::test_semantic_text_no_action_simulate_only
test_p17_cut6_prompt_agent.py::TestPromptAgentExactFormulaDistinction::test_celsius_kelvin_notes_deterministic_formula
test_p17_cut6_prompt_agent.py::TestPromptAgentExactFormulaDistinction::test_centigrados_kelvin_uses_auditable_domain_names
test_p17_cut6_prompt_agent.py::TestPromptAgentExactFormulaDistinction::test_convertir_notes_formula
test_p17_cut6_prompt_agent.py::TestPromptAgentExactFormulaDistinction::test_price_prediction_no_formula_note
test_p17_cut6_prompt_agent.py::TestPromptRegressionEndToEnd::test_prompt_regression_generates_linear_mxai
test_p17_cut6_prompt_agent.py::TestPromptRegressionEndToEnd::test_prompt_regression_mxai_is_trainable_shape
test_p17_cut6_prompt_agent.py::TestPromptRegressionEndToEnd::test_prompt_supervisor_accepts_deterministic_regression_semantic
test_p17_cut6_prompt_agent.py::TestPromptRegressionEndToEnd::test_supervise_prompt_falls_back_when_llm_classifies_continuous_prompt
test_p18_audit_fixes.py::TestInitializerOverride::test_weight_initializer_is_he_normal_for_relu
test_p18_audit_fixes.py::TestInitializerOverride::test_bias_initializer_is_zeros
test_p18_audit_fixes.py::TestInitializerOverride::test_linear_layer_uses_xavier_normal
test_p18_audit_fixes.py::TestInitializerOverride::test_initializer_override_field_accessible
test_p18_audit_fixes.py::TestInitializerOverride::test_default_weight_without_override_is_deterministic_uniform
test_p18_audit_fixes.py::TestValidateParameterSetCompatibility::test_validate_parameter_set_compatible_with_dense_network
test_p18_audit_fixes.py::TestValidateParameterSetCompatibility::test_validate_parameter_set_schema_hashes_match
test_p18_audit_fixes.py::TestRuntimeNetworkExecution::test_runtime_executes_network_node
test_p18_audit_fixes.py::TestRuntimeNetworkExecution::test_runtime_network_output_is_list
test_p18_audit_fixes.py::TestRuntimeNetworkExecution::test_runtime_network_trace_has_dense_network_step
test_p18_audit_fixes.py::TestRuntimeNetworkExecution::test_runtime_network_output_bound_to_output_field
test_p18_audit_fixes.py::TestRuntimeNetworkExecution::test_runtime_skips_network_gracefully_without_params
test_p18_audit_fixes.py::TestClassificationMetrics::test_binary_evaluation_has_precision
test_p18_audit_fixes.py::TestClassificationMetrics::test_binary_evaluation_has_recall
test_p18_audit_fixes.py::TestClassificationMetrics::test_binary_evaluation_has_f1
test_p18_audit_fixes.py::TestClassificationMetrics::test_binary_evaluation_has_macro_f1
test_p18_audit_fixes.py::TestClassificationMetrics::test_multiclass_evaluation_has_per_class_metrics
test_p18_audit_fixes.py::TestClassificationMetrics::test_to_dict_includes_precision_recall_f1
test_p18_audit_fixes.py::TestClassificationMetrics::test_regression_does_not_include_classification_metrics
test_p18_audit_fixes.py::TestIRParameterRefs::test_network_to_dict_has_parameters_per_layer
test_p18_audit_fixes.py::TestIRParameterRefs::test_parameter_refs_use_correct_keys
test_p18_audit_fixes.py::TestDenseSupervisedTrainer::test_dense_supervised_trainer_importable
test_p18_audit_fixes.py::TestDenseSupervisedTrainer::test_dense_supervised_evaluator_importable
test_p18_audit_fixes.py::TestDenseSupervisedTrainer::test_dense_trainer_exported_from_training
test_p18_audit_fixes.py::TestDenseSupervisedTrainer::test_dense_trainer_train_method_exists
test_p18_audit_fixes.py::TestDenseSupervisedTrainer::test_dense_evaluator_evaluate_method_exists
test_p18_audit_fixes.py::TestInitialValueRespectOverride::test_initial_value_uses_he_normal_when_override_set
test_p18_audit_fixes.py::TestInitialValueRespectOverride::test_initial_value_uses_xavier_normal_when_override_set
test_p18_audit_fixes.py::TestInitialValueRespectOverride::test_initial_value_deterministic_without_override
test_p18_audit_fixes.py::TestInitialValueRespectOverride::test_he_vs_xavier_initial_values_differ
test_p18_audit_fixes.py::TestSchemaHashOutputName::test_schema_hash_without_output_name_stable
test_p18_audit_fixes.py::TestSchemaHashOutputName::test_schema_hash_changes_with_output_name
test_p18_audit_fixes.py::TestSchemaHashOutputName::test_schema_hash_same_output_name_stable
test_p18_audit_fixes.py::TestSchemaHashOutputName::test_schema_hash_starts_with_params
test_p18_audit_fixes.py::TestDenseSupervisedTrainerIntegration::test_dense_trainer_runs_and_returns_result
test_p18_audit_fixes.py::TestDenseSupervisedTrainerIntegration::test_dense_trainer_parameter_set_has_correct_model_hash
test_p18_audit_fixes.py::TestDenseSupervisedTrainerIntegration::test_dense_trainer_parameter_set_passes_validate
test_p18_audit_fixes.py::TestCLIImports::test_cli_imports_dense_trainer
test_p18_audit_fixes.py::TestCLIImports::test_cli_imports_dense_evaluator
test_p18_audit_fixes.py::TestVerifierNetworkDeclaration::test_verifier_ok_for_network_model
test_p18_audit_fixes.py::TestVerifierNetworkDeclaration::test_verifier_no_undeclared_node_error_for_network
test_p18_audit_fixes.py::TestVerifierNetworkDeclaration::test_verifier_declared_nodes_includes_network_names
test_p18_audit_fixes.py::TestBCENumericProbabilityTarget::test_bce_numeric_target_0_9_maps_to_0_9
test_p18_audit_fixes.py::TestBCENumericProbabilityTarget::test_bce_numeric_target_0_0_maps_to_0_0
test_p18_audit_fixes.py::TestBCENumericProbabilityTarget::test_bce_label_fallback_when_no_target_value
test_p18_audit_fixes.py::TestOutputNameWiredInBuildPS::test_different_output_name_gives_different_schema_hash
test_p18_audit_fixes.py::TestOutputNameWiredInBuildPS::test_same_output_name_gives_same_schema_hash
test_p18_audit_fixes.py::TestOutputNameWiredInBuildPS::test_validate_network_parameter_set_consistent_with_output_name
test_p18_cut10_dense_generator.py::test_regression_intent_loss
test_p18_cut10_dense_generator.py::test_regression_intent_activation
test_p18_cut10_dense_generator.py::test_binary_intent_loss
test_p18_cut10_dense_generator.py::test_binary_intent_activation
test_p18_cut10_dense_generator.py::test_multiclass_intent_loss
test_p18_cut10_dense_generator.py::test_multiclass_intent_activation
test_p18_cut10_dense_generator.py::test_output_type_regression
test_p18_cut10_dense_generator.py::test_output_type_binary
test_p18_cut10_dense_generator.py::test_output_type_multiclass
test_p18_cut10_dense_generator.py::test_output_units_regression
test_p18_cut10_dense_generator.py::test_output_units_binary
test_p18_cut10_dense_generator.py::test_output_units_multiclass
test_p18_cut10_dense_generator.py::test_mxai_text_contains_network_block
test_p18_cut10_dense_generator.py::test_mxai_text_contains_audit_explain
test_p18_cut10_dense_generator.py::test_mxai_text_contains_layer_dense
test_p18_cut10_dense_generator.py::test_mxai_text_is_parseable
test_p18_cut10_dense_generator.py::test_mxai_text_network_has_correct_activation
test_p18_cut10_dense_generator.py::test_mxai_multiclass_parseable
test_p18_cut10_dense_generator.py::test_training_text_contains_loss_function
test_p18_cut10_dense_generator.py::test_training_text_contains_update_wildcard
test_p18_cut10_dense_generator.py::test_training_text_binary_contains_labels
test_p18_cut10_dense_generator.py::test_binary_dummy_target_is_numeric
test_p18_cut10_dense_generator.py::test_multiclass_dummy_target_is_label
test_p18_cut10_dense_generator.py::test_labels_extracted_from_prompt
test_p18_cut10_dense_generator.py::test_input_dim_from_explicit_fields
test_p18_cut10_dense_generator.py::test_hidden_layers_scale_with_input_dim
test_p18_cut10_dense_generator.py::test_network_spec_returns_networkspec
test_p18_cut10_dense_generator.py::test_network_spec_layer_count
test_p18_cut10_dense_generator.py::test_to_dict_contains_keys
test_p18_cut10_dense_generator.py::test_assumptions_not_empty
test_p18_cut10_dense_generator.py::test_empty_prompt_raises
test_p18_cut10_dense_generator.py::test_whitespace_only_prompt_raises
test_p18_cut10_dense_generator.py::test_default_hidden_layers_small_input_min_units
test_p18_cut10_dense_generator.py::test_default_hidden_layers_medium_input_min_depth
test_p18_cut10_dense_generator.py::test_default_hidden_layers_large_input_min_units
test_p18_cut10_dense_generator.py::test_depth_from_prompt_capas_ocultas
test_p18_cut10_dense_generator.py::test_depth_from_prompt_hidden_layers
test_p18_cut10_dense_generator.py::test_depth_from_prompt_capped_at_max
test_p18_cut10_dense_generator.py::test_depth_not_extracted_from_irrelevant_numbers
test_p18_cut10_dense_generator.py::test_labels_not_swallowed_by_trailing_prose
test_p18_cut10_dense_generator.py::test_space_separated_labels
test_p18_cut10_dense_generator.py::test_comma_separated_multiword_labels_preserved
test_p18_cut10_dense_generator.py::test_label_extraction_truncates_at_feature_description
test_p18_cut10_dense_generator.py::test_generated_mxai_has_clean_labels
test_p18_cut1_network_parser.py::test_network_parser_accepts_dense_regression_network
test_p18_cut1_network_parser.py::test_network_parser_accepts_dense_classification_network
test_p18_cut1_network_parser.py::test_network_parser_accepts_dense_binary_network
test_p18_cut1_network_parser.py::test_network_parser_rejects_unknown_layer_type
test_p18_cut1_network_parser.py::test_network_parser_rejects_unknown_activation
test_p18_cut1_network_parser.py::test_network_parser_rejects_missing_input
test_p18_cut1_network_parser.py::test_network_parser_rejects_missing_output
test_p18_cut1_network_parser.py::test_network_parser_rejects_missing_layers
test_p18_cut1_network_parser.py::test_network_parser_rejects_zero_units
test_p18_cut1_network_parser.py::test_network_parser_rejects_multiple_inputs
test_p18_cut1_network_parser.py::test_network_ir_has_correct_layer_count
test_p18_cut1_network_parser.py::test_network_ir_layer_indices_are_sequential
test_p18_cut1_network_parser.py::test_network_ir_layer_units_and_activations
test_p18_cut1_network_parser.py::test_network_ir_output_name_and_type
test_p18_cut1_network_parser.py::test_network_program_contains_networks_list
test_p18_cut1_network_parser.py::test_network_graph_node_type_is_dense_network
test_p18_cut1_network_parser.py::test_network_to_dict_serializes_layers
test_p18_cut1_network_parser.py::test_network_parser_accepts_tanh_activation
test_p18_cut1_network_parser.py::test_network_dense_layer_spec_type
test_p18_cut2_network_types.py::test_dense_network_shape_inference_regression
test_p18_cut2_network_types.py::test_dense_network_shape_inference_multiclass
test_p18_cut2_network_types.py::test_dense_network_shape_inference_single_hidden_layer
test_p18_cut2_network_types.py::test_dense_network_output_type_scalar_from_linear
test_p18_cut2_network_types.py::test_dense_network_output_type_probability_from_sigmoid
test_p18_cut2_network_types.py::test_dense_network_output_type_probability_map_from_softmax
test_p18_cut2_network_types.py::test_dense_network_softmax_requires_probability_map
test_p18_cut2_network_types.py::test_dense_network_sigmoid_requires_probability_output
test_p18_cut2_network_types.py::test_dense_network_linear_scalar_output_requires_one_unit
test_p18_cut2_network_types.py::test_dense_network_softmax_requires_min_2_units
test_p18_cut2_network_types.py::test_dense_network_relu_final_rejected_for_probability
test_p18_cut2_network_types.py::test_dense_network_relu_final_rejected_for_probability_map
test_p18_cut2_network_types.py::test_dense_network_rejects_non_numeric_vector_fields
test_p18_cut2_network_types.py::test_dense_network_rejects_unknown_input_vector
test_p18_cut2_network_types.py::test_dense_network_relu_hidden_layer_accepted
test_p18_cut2_network_types.py::test_dense_network_valid_regression_produces_interpretability_warning
test_p18_cut2_network_types.py::test_dense_network_check_integrated_in_program_typecheck
test_p18_cut2_network_types.py::test_dense_network_valid_regression_has_no_errors
test_p18_cut2_network_types.py::test_dense_network_valid_multiclass_has_no_errors
test_p18_cut2_network_types.py::test_dense_network_valid_binary_has_no_errors
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_has_correct_entry_count
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_contains_all_layers
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_weights_shape
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_bias_shape
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_qualified_names
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_relu_uses_he_initializer
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_sigmoid_uses_xavier_initializer
test_p18_cut3_parameter_manifest.py::test_network_parameter_manifest_bias_always_zeros
test_p18_cut3_parameter_manifest.py::test_network_parameter_schema_hash_changes_when_units_change
test_p18_cut3_parameter_manifest.py::test_network_parameter_schema_hash_changes_when_activation_changes
test_p18_cut3_parameter_manifest.py::test_network_parameter_schema_hash_is_stable
test_p18_cut3_parameter_manifest.py::test_build_network_parameter_set_structure
test_p18_cut3_parameter_manifest.py::test_build_network_parameter_set_weights_not_zero_for_he
test_p18_cut3_parameter_manifest.py::test_build_network_parameter_set_bias_is_zeros
test_p18_cut3_parameter_manifest.py::test_build_network_parameter_set_weight_shape_correct
test_p18_cut3_parameter_manifest.py::test_build_network_parameter_set_is_deterministic
test_p18_cut3_parameter_manifest.py::test_build_network_parameter_set_roundtrip
test_p18_cut3_parameter_manifest.py::test_validate_network_parameter_set_accepts_valid
test_p18_cut3_parameter_manifest.py::test_validate_network_parameter_set_rejects_missing_layer_weight
test_p18_cut3_parameter_manifest.py::test_validate_network_parameter_set_rejects_wrong_shape
test_p18_cut3_parameter_manifest.py::test_validate_network_parameter_set_rejects_wrong_model_hash
test_p18_cut4_backend_contract.py::test_dense_network_node_is_supported
test_p18_cut4_backend_contract.py::test_dense_network_node_is_differentiable
test_p18_cut4_backend_contract.py::test_dense_network_node_type
test_p18_cut4_backend_contract.py::test_dense_network_kind
test_p18_cut4_backend_contract.py::test_dense_network_output_shape_scalar
test_p18_cut4_backend_contract.py::test_dense_network_output_shape_multiclass
test_p18_cut4_backend_contract.py::test_dense_network_appears_in_differentiable_nodes
test_p18_cut4_backend_contract.py::test_dense_network_generates_w_and_b_per_layer
test_p18_cut4_backend_contract.py::test_dense_network_param_count
test_p18_cut4_backend_contract.py::test_dense_network_weight_roles
test_p18_cut4_backend_contract.py::test_dense_network_weight_shapes
test_p18_cut4_backend_contract.py::test_dense_network_bias_shapes
test_p18_cut4_backend_contract.py::test_dense_network_param_paths
test_p18_cut4_backend_contract.py::test_dense_network_param_function_field
test_p18_cut4_backend_contract.py::test_dense_network_emits_interpretability_warning
test_p18_cut4_backend_contract.py::test_dense_network_interpretability_warning_mentions_network
test_p18_cut4_backend_contract.py::test_dense_network_in_layer_manifest
test_p18_cut4_backend_contract.py::test_dense_network_layer_manifest_entry_count
test_p18_cut4_backend_contract.py::test_dense_network_layer_manifest_param_shapes
test_p18_cut4_backend_contract.py::test_dense_network_layer_manifest_relu_initializer
test_p18_cut4_backend_contract.py::test_dense_network_layer_manifest_bias_zeros
test_p18_cut4_backend_contract.py::test_report_ok_with_dense_network_only
test_p18_cut4_backend_contract.py::test_two_dense_networks_both_supported
test_p18_cut4_backend_contract.py::test_two_dense_networks_param_count
test_p18_cut4_backend_contract.py::test_dense_network_to_dict_structure
test_p18_cut5_dense_forward.py::test_dense_forward_output_is_list
test_p18_cut5_dense_forward.py::test_dense_forward_output_shape_matches_last_layer
test_p18_cut5_dense_forward.py::test_dense_forward_scalar_output_length_one
test_p18_cut5_dense_forward.py::test_dense_forward_relu_non_negative
test_p18_cut5_dense_forward.py::test_dense_forward_sigmoid_in_range
test_p18_cut5_dense_forward.py::test_dense_forward_softmax_sums_to_one
test_p18_cut5_dense_forward.py::test_dense_forward_softmax_all_positive
test_p18_cut5_dense_forward.py::test_dense_forward_tanh_in_range
test_p18_cut5_dense_forward.py::test_dense_forward_linear_is_identity_for_zero_weights
test_p18_cut5_dense_forward.py::test_dense_forward_known_values_single_layer
test_p18_cut5_dense_forward.py::test_dense_forward_relu_clips_negative
test_p18_cut5_dense_forward.py::test_dense_forward_trace_returns_trace_object
test_p18_cut5_dense_forward.py::test_dense_forward_trace_activations_length
test_p18_cut5_dense_forward.py::test_dense_forward_trace_pre_activations_length
test_p18_cut5_dense_forward.py::test_dense_forward_trace_input_preserved
test_p18_cut5_dense_forward.py::test_dense_forward_trace_output_matches_dense_forward
test_p18_cut5_dense_forward.py::test_dense_forward_is_deterministic
test_p18_cut5_dense_forward.py::test_dense_forward_wrong_input_dim_raises
test_p18_cut5_dense_forward.py::test_dense_forward_missing_param_raises
test_p18_cut5_dense_forward.py::test_dense_forward_sigmoid_large_positive
test_p18_cut5_dense_forward.py::test_dense_forward_sigmoid_large_negative
test_p18_cut5_dense_forward.py::test_dense_forward_softmax_uniform_for_equal_inputs
test_p18_cut6_backprop.py::test_mse_loss_zero_for_perfect_prediction
test_p18_cut6_backprop.py::test_mse_loss_correct_value
test_p18_cut6_backprop.py::test_binary_cross_entropy_loss_perfect_prediction
test_p18_cut6_backprop.py::test_binary_cross_entropy_loss_bad_prediction
test_p18_cut6_backprop.py::test_cross_entropy_loss_perfect_onehot
test_p18_cut6_backprop.py::test_compute_loss_dispatches_mse
test_p18_cut6_backprop.py::test_compute_loss_unknown_raises
test_p18_cut6_backprop.py::test_gradients_have_all_param_keys
test_p18_cut6_backprop.py::test_gradient_dW1_shape
test_p18_cut6_backprop.py::test_gradient_db1_shape
test_p18_cut6_backprop.py::test_train_step_returns_tuple
test_p18_cut6_backprop.py::test_train_step_loss_is_float
test_p18_cut6_backprop.py::test_train_step_returns_parameter_set
test_p18_cut6_backprop.py::test_train_step_preserves_schema_hash
test_p18_cut6_backprop.py::test_train_step_parameters_change
test_p18_cut6_backprop.py::test_train_step_source_is_trained
test_p18_cut6_backprop.py::test_loss_decreases_after_one_mse_step
test_p18_cut6_backprop.py::test_loss_decreases_after_one_cross_entropy_step
test_p18_cut6_backprop.py::test_loss_decreases_after_one_bce_step
test_p18_cut6_backprop.py::test_mse_gradient_known_values_linear
test_p18_cut6_backprop.py::test_sgd_moves_weight_toward_target
test_p18_cut6_backprop.py::test_softmax_cross_entropy_fused_gradient
test_p18_cut6_backprop.py::test_sigmoid_bce_fused_gradient
test_p18_cut6_backprop.py::test_training_converges_mse_regression
test_p18_cut6_backprop.py::test_training_converges_binary_classification
test_p18_cut6_backprop.py::test_training_converges_multiclass
test_p18_cut7_training_verifier.py::test_symbol_type_finds_scalar_for_network_output
test_p18_cut7_training_verifier.py::test_symbol_type_finds_probabilitymap_for_softmax_network
test_p18_cut7_training_verifier.py::test_symbol_type_finds_probability_for_sigmoid_network
test_p18_cut7_training_verifier.py::test_symbol_type_returns_none_for_unknown
test_p18_cut7_training_verifier.py::test_symbol_type_also_matches_by_network_name
test_p18_cut7_training_verifier.py::test_prediction_node_finds_regression_network
test_p18_cut7_training_verifier.py::test_prediction_node_finds_multiclass_network
test_p18_cut7_training_verifier.py::test_prediction_node_also_matches_network_name
test_p18_cut7_training_verifier.py::test_prediction_node_returns_empty_for_unknown
test_p18_cut7_training_verifier.py::test_differentiability_verifier_no_errors_for_regression_network
test_p18_cut7_training_verifier.py::test_differentiability_verifier_prediction_node_is_network
test_p18_cut7_training_verifier.py::test_differentiability_verifier_parameter_paths_populated
test_p18_cut7_training_verifier.py::test_verifier_accepts_mse_dense_network
test_p18_cut7_training_verifier.py::test_verifier_accepts_cross_entropy_dense_network
test_p18_cut7_training_verifier.py::test_verifier_accepts_binary_cross_entropy_dense_network
test_p18_cut7_training_verifier.py::test_verifier_reports_trainable_params_for_network
test_p18_cut7_training_verifier.py::test_verifier_rejects_wrong_loss_for_scalar_network
test_p18_cut7_training_verifier.py::test_verifier_accepts_update_wildcard_for_network
test_p18_cut7_training_verifier.py::test_verifier_rejects_invalid_update_pattern
test_p18_cut8_evaluation.py::test_mae_perfect_prediction
test_p18_cut8_evaluation.py::test_mae_correct_value
test_p18_cut8_evaluation.py::test_rmse_perfect_prediction
test_p18_cut8_evaluation.py::test_rmse_correct_value
test_p18_cut8_evaluation.py::test_r2_perfect_prediction
test_p18_cut8_evaluation.py::test_r2_constant_baseline
test_p18_cut8_evaluation.py::test_r2_worse_than_baseline_is_negative
test_p18_cut8_evaluation.py::test_accuracy_binary_all_correct
test_p18_cut8_evaluation.py::test_accuracy_multiclass_all_correct
test_p18_cut8_evaluation.py::test_accuracy_all_wrong
test_p18_cut8_evaluation.py::test_evaluate_regression_returns_result
test_p18_cut8_evaluation.py::test_evaluate_regression_row_count
test_p18_cut8_evaluation.py::test_evaluate_regression_loss_nonneg
test_p18_cut8_evaluation.py::test_evaluate_regression_mae_nonneg
test_p18_cut8_evaluation.py::test_evaluate_regression_is_regression_flag
test_p18_cut8_evaluation.py::test_evaluate_regression_to_dict_has_mae
test_p18_cut8_evaluation.py::test_evaluate_crossentropy_returns_accuracy
test_p18_cut8_evaluation.py::test_evaluate_crossentropy_not_regression
test_p18_cut8_evaluation.py::test_evaluate_bce_returns_accuracy
test_p18_cut8_evaluation.py::test_evaluate_crossentropy_perfect_accuracy_after_training
test_p18_cut8_evaluation.py::test_evaluate_regression_mae_zero_after_convergence
test_p18_cut8_evaluation.py::test_evaluate_empty_examples_raises
test_p18_cut9_torch.py::test_module_created_without_error
test_p18_cut9_torch.py::test_module_has_correct_linear_layer_count
test_p18_cut9_torch.py::test_module_linear_shapes
test_p18_cut9_torch.py::test_module_weights_match_parameter_set
test_p18_cut9_torch.py::test_module_bias_match_parameter_set
test_p18_cut9_torch.py::test_module_missing_param_raises
test_p18_cut9_torch.py::test_torch_forward_output_is_list
test_p18_cut9_torch.py::test_torch_forward_output_length
test_p18_cut9_torch.py::test_torch_forward_matches_stdlib_forward
test_p18_cut9_torch.py::test_torch_forward_softmax_sums_to_one
test_p18_cut9_torch.py::test_torch_forward_relu_nonneg
test_p18_cut9_torch.py::test_torch_forward_sigmoid_in_range
test_p18_cut9_torch.py::test_torch_forward_tanh_in_range
test_p18_cut9_torch.py::test_torch_forward_deterministic
test_p18_cut9_torch.py::test_torch_module_to_parameter_set_roundtrip
test_p18_cut9_torch.py::test_torch_module_to_parameter_set_source_is_torch
test_p18_cut9_torch.py::test_torch_module_to_parameter_set_preserves_schema_hash
test_p18_cut9_torch.py::test_torch_module_parameters_have_grad
test_p18_cut9_torch.py::test_torch_backward_runs
test_p19_cut10_composite_generator.py::TestCategoricalDetection::test_generator_creates_embedding_for_categorical_field
test_p19_cut10_composite_generator.py::TestCategoricalDetection::test_generator_embedding_vocab_and_dim
test_p19_cut10_composite_generator.py::TestCategoricalDetection::test_generator_multiple_embeddings
test_p19_cut10_composite_generator.py::TestCategoricalDetection::test_generator_small_vocab_no_embedding
test_p19_cut10_composite_generator.py::TestCategoricalDetection::test_generator_categorical_keyword_in_field_name_auto_detected
test_p19_cut10_composite_generator.py::TestResidualDetection::test_generator_creates_residual_block_for_complex_prompt
test_p19_cut10_composite_generator.py::TestResidualDetection::test_generator_block_has_layernorm
test_p19_cut10_composite_generator.py::TestResidualDetection::test_generator_block_has_dropout
test_p19_cut10_composite_generator.py::TestResidualDetection::test_generator_no_residual_without_complexity_keyword
test_p19_cut10_composite_generator.py::TestResidualDetection::test_generator_no_residual_with_few_features
test_p19_cut10_composite_generator.py::TestSequenceInput::test_generator_creates_pool_mean_for_sequence_input
test_p19_cut10_composite_generator.py::TestSequenceInput::test_generator_no_pool_for_non_sequence
test_p19_cut10_composite_generator.py::TestSequenceInput::test_composite_honors_epochs_and_early_stop_from_prompt
test_p19_cut10_composite_generator.py::TestSequenceInput::test_composite_default_epochs_when_unspecified
test_p19_cut10_composite_generator.py::TestSequenceInput::test_bare_series_word_is_not_a_sequence
test_p19_cut10_composite_generator.py::TestFallback::test_generator_falls_back_to_p18_dense_for_simple_prompt
test_p19_cut10_composite_generator.py::TestFallback::test_generator_fallback_result_structure
test_p19_cut10_composite_generator.py::TestFallback::test_generator_fallback_emits_dense_network
test_p19_cut10_composite_generator.py::TestMxaiText::test_generator_emits_valid_mxai_text
test_p19_cut10_composite_generator.py::TestMxaiText::test_generator_mxai_contains_embedding
test_p19_cut10_composite_generator.py::TestMxaiText::test_generator_mxai_contains_block
test_p19_cut10_composite_generator.py::TestMxaiText::test_generator_emits_valid_mxtrain_text
test_p19_cut10_composite_generator.py::TestMxaiText::test_generator_mxai_pool_in_text
test_p19_cut10_composite_generator.py::TestMxaiText::test_generator_dense_fallback_text_parseable
test_p19_cut10_composite_generator.py::TestExplicitHints::test_generator_explicit_vocab_respected
test_p19_cut10_composite_generator.py::TestExplicitHints::test_generator_explicit_force_residual
test_p19_cut10_composite_generator.py::TestExplicitHints::test_generator_respects_explicit_architecture_hint
test_p19_cut10_composite_generator.py::TestResultStructure::test_result_to_dict_contains_keys
test_p19_cut10_composite_generator.py::TestResultStructure::test_result_assumptions_not_empty
test_p19_cut10_composite_generator.py::TestResultStructure::test_error_on_empty_prompt
test_p19_cut10_composite_generator.py::TestResultStructure::test_error_on_whitespace_prompt
test_p19_cut10_composite_generator.py::TestM17PromptWidthDepth::test_width_from_prompt_honored
test_p19_cut10_composite_generator.py::TestM17PromptWidthDepth::test_depth_from_prompt_honored_counts_emitted_layers
test_p19_cut10_composite_generator.py::TestM17PromptWidthDepth::test_depth_honored_dense_path
test_p19_cut10_composite_generator.py::TestM17PromptWidthDepth::test_no_explicit_width_uses_default
test_p19_cut1_network_parser.py::TestNetworkP19Basics::test_parser_accepts_embedding_declaration
test_p19_cut1_network_parser.py::TestNetworkP19Basics::test_parser_accepts_concat_with_multiple_sources
test_p19_cut1_network_parser.py::TestNetworkP19Basics::test_parser_accepts_block_with_residual_from_previous
test_p19_cut1_network_parser.py::TestNetworkP19Basics::test_parser_accepts_block_with_residual_from_named
test_p19_cut1_network_parser.py::TestNetworkP19Basics::test_parser_accepts_pool_mean_at_top_level
test_p19_cut1_network_parser.py::TestNetworkP19Layers::test_parser_accepts_dropout_with_valid_rate
test_p19_cut1_network_parser.py::TestNetworkP19Layers::test_parser_accepts_layernorm
test_p19_cut1_network_parser.py::TestNetworkP19Layers::test_parser_accepts_standalone_activation_relu
test_p19_cut1_network_parser.py::TestNetworkP19Layers::test_parser_accepts_activation_gelu
test_p19_cut1_network_parser.py::TestNetworkP19Layers::test_parser_accepts_reshape_with_valid_target
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_p18_dense_only_is_kind_dense_network
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_p18_layers_populated_in_dense_network
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_embedding_promotes_to_composite_network
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_block_promotes_to_composite_network
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_pool_promotes_to_composite_network
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_composite_network_layers_field_is_empty
test_p19_cut1_network_parser.py::TestNetworkP19KindDetection::test_graph_node_type_is_composite_network
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_embedding_with_zero_vocab
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_embedding_with_zero_dim
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_dropout_rate_ge_1
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_dropout_rate_le_0
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_empty_block
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_nested_blocks
test_p19_cut1_network_parser.py::TestNetworkP19Errors::test_rejects_unknown_activation_for_standalone_activation_layer
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_embedding_spec_has_correct_fields
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_block_spec_has_layers_and_residual_from
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_composite_network_to_dict_includes_embeddings
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_composite_network_to_dict_includes_blocks
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_composite_layer_to_dict_dense_has_hierarchical_param_paths
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_block_dense_layer_has_hierarchical_param_path
test_p19_cut1_network_parser.py::TestNetworkP19IR::test_p18_dense_network_to_dict_unchanged
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeEmbeddingConcat::test_composite_network_check_ok_for_valid_model
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeEmbeddingConcat::test_embedding_named_shape_is_dim
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeEmbeddingConcat::test_scalar_field_named_shape_is_one
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeEmbeddingConcat::test_concat_output_shape_is_sum_of_source_dims
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeEmbeddingConcat::test_first_top_layer_input_shape_equals_concat_output
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_layernorm_preserves_input_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_dropout_preserves_input_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_activation_preserves_input_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_reshape_output_equals_target_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_dense_after_reshape_uses_reshaped_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_reshape_rejects_wrong_product_of_dims
test_p19_cut2_shape_inference.py::TestCompositeNetworkLayerShapes::test_all_layers_check_returns_ok
test_p19_cut2_shape_inference.py::TestCompositeNetworkBlockShapes::test_block_layers_have_correct_shapes
test_p19_cut2_shape_inference.py::TestCompositeNetworkBlockShapes::test_block_output_shape_equals_last_block_layer_output
test_p19_cut2_shape_inference.py::TestCompositeNetworkBlockShapes::test_residual_from_previous_ok_when_shapes_match
test_p19_cut2_shape_inference.py::TestCompositeNetworkBlockShapes::test_residual_from_named_ok_when_shapes_match
test_p19_cut2_shape_inference.py::TestCompositeNetworkBlockShapes::test_top_layer_after_block_uses_block_output_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeErrors::test_residual_from_previous_errors_when_block_changes_shape
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeErrors::test_residual_from_named_errors_when_shape_mismatches
test_p19_cut2_shape_inference.py::TestCompositeNetworkShapeErrors::test_concat_errors_when_undeclared_source
test_p19_cut2_shape_inference.py::TestCompositeNetworkDispatch::test_check_network_types_dispatches_to_composite_for_composite_kind
test_p19_cut2_shape_inference.py::TestCompositeNetworkDispatch::test_check_network_types_dispatches_to_dense_for_dense_kind
test_p19_cut2_shape_inference.py::TestCompositeNetworkDispatch::test_interpretability_warning_present_in_composite_result
test_p19_cut2_shape_inference.py::TestCompositeNetworkDispatch::test_composite_network_output_type_inferred_correctly
test_p19_cut3_parameter_manifest.py::TestCompositeManifestEmbedding::test_manifest_includes_embedding_table
test_p19_cut3_parameter_manifest.py::TestCompositeManifestEmbedding::test_manifest_embedding_table_shape_is_vocab_by_dim
test_p19_cut3_parameter_manifest.py::TestCompositeManifestEmbedding::test_manifest_embedding_table_initializer_is_xavier_normal
test_p19_cut3_parameter_manifest.py::TestCompositeManifestEmbedding::test_manifest_no_entries_for_concat_dropout_pool
test_p19_cut3_parameter_manifest.py::TestCompositeManifestLayerNorm::test_manifest_includes_layernorm_gamma_and_beta
test_p19_cut3_parameter_manifest.py::TestCompositeManifestLayerNorm::test_manifest_layernorm_gamma_initializer_is_ones
test_p19_cut3_parameter_manifest.py::TestCompositeManifestLayerNorm::test_manifest_layernorm_beta_initializer_is_zeros
test_p19_cut3_parameter_manifest.py::TestCompositeManifestLayerNorm::test_manifest_layernorm_gamma_shape_equals_features
test_p19_cut3_parameter_manifest.py::TestCompositeManifestLayerNorm::test_manifest_top_level_layernorm_has_correct_path
test_p19_cut3_parameter_manifest.py::TestCompositeManifestHierarchicalPaths::test_block_dense_path_includes_block_name
test_p19_cut3_parameter_manifest.py::TestCompositeManifestHierarchicalPaths::test_block_layernorm_path_includes_block_name
test_p19_cut3_parameter_manifest.py::TestCompositeManifestHierarchicalPaths::test_top_level_dense_path_does_not_include_block_name
test_p19_cut3_parameter_manifest.py::TestCompositeManifestHierarchicalPaths::test_full_path_structure_for_block_layers
test_p19_cut3_parameter_manifest.py::TestCompositeSchemaHash::test_schema_hash_stable_for_same_architecture
test_p19_cut3_parameter_manifest.py::TestCompositeSchemaHash::test_schema_hash_changes_when_embedding_dim_changes
test_p19_cut3_parameter_manifest.py::TestCompositeSchemaHash::test_schema_hash_changes_when_dense_units_change
test_p19_cut3_parameter_manifest.py::TestCompositeSchemaHash::test_schema_hash_changes_when_residual_source_changes
test_p19_cut3_parameter_manifest.py::TestCompositeParameterSet::test_build_composite_parameter_set_contains_all_params
test_p19_cut3_parameter_manifest.py::TestCompositeParameterSet::test_build_composite_parameter_set_embedding_table_shape
test_p19_cut3_parameter_manifest.py::TestCompositeParameterSet::test_build_composite_parameter_set_gamma_values_are_ones
test_p19_cut3_parameter_manifest.py::TestCompositeParameterSet::test_build_composite_parameter_set_beta_values_are_zeros
test_p19_cut3_parameter_manifest.py::TestCompositeParameterSet::test_validate_composite_parameter_set_ok_for_matching_ps
test_p19_cut3_parameter_manifest.py::TestCompositeParameterSet::test_validate_detects_missing_parameter
test_p19_cut4_backend_contract.py::TestCompositeNetworkNodeReport::test_node_type_is_composite_network
test_p19_cut4_backend_contract.py::TestCompositeNetworkNodeReport::test_composite_network_is_supported
test_p19_cut4_backend_contract.py::TestCompositeNetworkNodeReport::test_composite_network_is_differentiable
test_p19_cut4_backend_contract.py::TestCompositeNetworkNodeReport::test_composite_network_kind_is_composite_network
test_p19_cut4_backend_contract.py::TestCompositeNetworkNodeReport::test_composite_network_output_shape_from_final_dense
test_p19_cut4_backend_contract.py::TestCompositeNetworkNodeReport::test_report_ok_for_valid_composite_model
test_p19_cut4_backend_contract.py::TestCompositeTrainableParameters::test_trainable_params_include_embedding_table
test_p19_cut4_backend_contract.py::TestCompositeTrainableParameters::test_trainable_params_include_dense_weights
test_p19_cut4_backend_contract.py::TestCompositeTrainableParameters::test_trainable_params_include_layernorm_gamma_beta
test_p19_cut4_backend_contract.py::TestCompositeTrainableParameters::test_trainable_params_have_hierarchical_block_paths
test_p19_cut4_backend_contract.py::TestCompositeTrainableParameters::test_embedding_table_shape_in_parameter_manifest
test_p19_cut4_backend_contract.py::TestCompositeTrainableParameters::test_embedding_table_initializer_in_parameter_manifest
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_layer_manifest_includes_embedding_entry
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_layer_manifest_includes_block_entry
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_block_entry_has_sub_layers
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_block_entry_reports_residual_from
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_dropout_layer_has_dropout_active_flag
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_dense_entry_has_correct_layer_type
test_p19_cut4_backend_contract.py::TestCompositeLayerManifest::test_to_dict_includes_layer_manifest
test_p19_cut4_backend_contract.py::TestCompositeInterpretabilityWarnings::test_warns_interpretability_reduced_for_composite
test_p19_cut4_backend_contract.py::TestCompositeInterpretabilityWarnings::test_warns_very_reduced_for_two_residual_blocks
test_p19_cut4_backend_contract.py::TestCompositeInterpretabilityWarnings::test_warns_very_reduced_for_large_embedding_dim
test_p19_cut4_backend_contract.py::TestCompositeInterpretabilityWarnings::test_not_very_reduced_for_single_small_residual_block
test_p19_cut4_backend_contract.py::TestDenseNetworkUnchangedByC4::test_dense_network_still_reports_dense_network_kind
test_p19_cut4_backend_contract.py::TestDenseNetworkUnchangedByC4::test_dense_network_p18_warning_unchanged
test_p19_cut5_forward_stdlib.py::TestEmbeddingForward::test_embedding_lookup_produces_correct_dim
test_p19_cut5_forward_stdlib.py::TestEmbeddingForward::test_embedding_lookup_picks_correct_row
test_p19_cut5_forward_stdlib.py::TestEmbeddingForward::test_different_indices_produce_different_embeddings
test_p19_cut5_forward_stdlib.py::TestEmbeddingForward::test_embedding_concat_shape_in_named_tensors
test_p19_cut5_forward_stdlib.py::TestLayerNormForward::test_layernorm_output_has_correct_length
test_p19_cut5_forward_stdlib.py::TestLayerNormForward::test_layernorm_with_identity_gamma_beta_is_normalized
test_p19_cut5_forward_stdlib.py::TestLayerNormForward::test_layernorm_specific_values
test_p19_cut5_forward_stdlib.py::TestLayerNormForward::test_layernorm_scaled_gamma
test_p19_cut5_forward_stdlib.py::TestLayerNormForward::test_layernorm_applied_in_block
test_p19_cut5_forward_stdlib.py::TestDropoutForward::test_dropout_in_eval_mode_is_identity
test_p19_cut5_forward_stdlib.py::TestDropoutForward::test_dropout_output_has_correct_shape
test_p19_cut5_forward_stdlib.py::TestDropoutForward::test_dropout_seeded_is_deterministic
test_p19_cut5_forward_stdlib.py::TestDropoutForward::test_dropout_trace_stores_mask
test_p19_cut5_forward_stdlib.py::TestResidualForward::test_residual_from_previous_adds_block_input
test_p19_cut5_forward_stdlib.py::TestResidualForward::test_residual_from_named_adds_named_tensor
test_p19_cut5_forward_stdlib.py::TestResidualForward::test_residual_output_shape_matches_residual_input
test_p19_cut5_forward_stdlib.py::TestResidualForward::test_residual_result_equals_block_input_plus_block_output
test_p19_cut5_forward_stdlib.py::TestFullCompositeForward::test_embedding_concat_dense_output_shape
test_p19_cut5_forward_stdlib.py::TestFullCompositeForward::test_softmax_output_sums_to_one
test_p19_cut5_forward_stdlib.py::TestFullCompositeForward::test_softmax_all_outputs_positive
test_p19_cut5_forward_stdlib.py::TestFullCompositeForward::test_residual_network_output_shape
test_p19_cut5_forward_stdlib.py::TestFullCompositeForward::test_all_layers_model_output_shape_and_sum
test_p19_cut5_forward_stdlib.py::TestActivationPoolReshapeForward::test_standalone_activation_preserves_shape
test_p19_cut5_forward_stdlib.py::TestActivationPoolReshapeForward::test_pool_pass_through_for_flat_input
test_p19_cut5_forward_stdlib.py::TestActivationPoolReshapeForward::test_composite_forward_trace_returns_named_tensors
test_p19_cut6_backprop.py::TestGradientShapes::test_gradients_include_all_dense_keys
test_p19_cut6_backprop.py::TestGradientShapes::test_gradients_include_embedding_table
test_p19_cut6_backprop.py::TestGradientShapes::test_embedding_table_gradient_shape
test_p19_cut6_backprop.py::TestGradientShapes::test_embedding_table_gradient_nonzero_at_used_index
test_p19_cut6_backprop.py::TestGradientShapes::test_gradients_include_block_layernorm_params
test_p19_cut6_backprop.py::TestGradientShapes::test_layernorm_gamma_gradient_shape
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_dense_weight
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_dense_bias
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_layernorm_gamma
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_layernorm_beta
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_embedding_table_used_row
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_embedding_table_second_dim
test_p19_cut6_backprop.py::TestGradientCheck::test_gradient_check_block_dense_weight
test_p19_cut6_backprop.py::TestTrainingStep::test_train_step_returns_tuple
test_p19_cut6_backprop.py::TestTrainingStep::test_train_step_returns_float_loss
test_p19_cut6_backprop.py::TestTrainingStep::test_train_step_updates_parameters
test_p19_cut6_backprop.py::TestLossReduction::test_multiple_steps_reduce_mse_loss
test_p19_cut6_backprop.py::TestLossReduction::test_multiple_steps_reduce_cross_entropy
test_p19_cut6_backprop.py::TestLossReduction::test_embedding_table_updates_on_train
test_p19_cut6_backprop.py::TestLossReduction::test_layernorm_gamma_updates_on_train
test_p19_cut6_backprop.py::TestResidualGradient::test_residual_block_gradient_flows_to_both_paths
test_p19_cut6_backprop.py::TestResidualGradient::test_gradient_check_passes_for_residual_network
test_p19_cut7_training_verifier.py::TestSymbolType::test_probabilitymap_for_softmax_composite_network
test_p19_cut7_training_verifier.py::TestSymbolType::test_scalar_for_regression_composite_network
test_p19_cut7_training_verifier.py::TestSymbolType::test_symbol_type_also_matches_composite_network_name
test_p19_cut7_training_verifier.py::TestSymbolType::test_prediction_function_is_none_for_composite_network
test_p19_cut7_training_verifier.py::TestPredictionNode::test_finds_composite_network_by_output_variable
test_p19_cut7_training_verifier.py::TestPredictionNode::test_finds_residual_composite_network_by_output
test_p19_cut7_training_verifier.py::TestPredictionNode::test_finds_composite_network_by_network_name
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_no_errors_for_cross_entropy_embedding_network
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_prediction_node_is_composite_network
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_parameter_paths_include_embedding_table
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_parameter_paths_include_dense_weights
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_no_errors_for_mse_residual_network
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_parameter_paths_include_layernorm_params
test_p19_cut7_training_verifier.py::TestDifferentiabilityVerifier::test_dropout_does_not_block_differentiability
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_accepts_cross_entropy_composite_with_embedding
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_accepts_mse_composite_with_residual
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_accepts_dropout_composite_network
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_trainable_params_include_embedding_table
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_trainable_params_include_layernorm_gamma_beta
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_update_wildcard_covers_embedding_table
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_update_wildcard_covers_block_layernorm
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_rejects_cross_entropy_for_scalar_output_composite
test_p19_cut7_training_verifier.py::TestTrainingVerifierFull::test_block_params_use_hierarchical_names
test_p19_cut8_evaluation.py::TestCompositeExamplesFromCsv::test_produces_list_of_tuples
test_p19_cut8_evaluation.py::TestCompositeExamplesFromCsv::test_input_is_dict_with_column_keys
test_p19_cut8_evaluation.py::TestCompositeExamplesFromCsv::test_categorical_column_is_numeric
test_p19_cut8_evaluation.py::TestCompositeExamplesFromCsv::test_classification_target_is_onehot
test_p19_cut8_evaluation.py::TestCompositeExamplesFromCsv::test_regression_target_is_scalar_list
test_p19_cut8_evaluation.py::TestCompositeExamplesFromCsv::test_loads_all_rows
test_p19_cut8_evaluation.py::TestDropoutDisabledOnEval::test_eval_is_deterministic_with_dropout_network
test_p19_cut8_evaluation.py::TestDropoutDisabledOnEval::test_eval_output_differs_from_training_with_dropout
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_returns_dense_evaluation_result
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_rows_count_matches_input
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_cross_entropy_loss_is_positive
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_accuracy_is_between_zero_and_one
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_confusion_matrix_present
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_labels_stored_in_result
test_p19_cut8_evaluation.py::TestEvaluateCrossEntropy::test_macro_f1_between_zero_and_one
test_p19_cut8_evaluation.py::TestEvaluateMse::test_returns_mae_rmse_r2
test_p19_cut8_evaluation.py::TestEvaluateMse::test_mse_loss_is_nonnegative
test_p19_cut8_evaluation.py::TestEvaluateMse::test_mse_rows_count
test_p19_cut8_evaluation.py::TestEvaluateMse::test_training_reduces_eval_loss
test_p19_cut8_evaluation.py::TestCategoricalColumnHandling::test_embedding_lookup_uses_csv_integer
test_p19_cut8_evaluation.py::TestCategoricalColumnHandling::test_different_category_ids_give_different_predictions
test_p19_cut8_evaluation.py::TestCategoricalColumnHandling::test_empty_examples_raises
test_p19_cut9_torch.py::TestModuleCreation::test_module_created_for_embedding_network
test_p19_cut9_torch.py::TestModuleCreation::test_module_created_for_residual_network
test_p19_cut9_torch.py::TestModuleCreation::test_module_has_embedding_layer
test_p19_cut9_torch.py::TestModuleCreation::test_embedding_layer_correct_shape
test_p19_cut9_torch.py::TestModuleCreation::test_embedding_weights_match_parameter_set
test_p19_cut9_torch.py::TestModuleCreation::test_module_has_trainable_parameters
test_p19_cut9_torch.py::TestModuleCreation::test_module_parameter_count_matches_manifest
test_p19_cut9_torch.py::TestForwardMatchesStdlib::test_embedding_forward_matches_stdlib
test_p19_cut9_torch.py::TestForwardMatchesStdlib::test_residual_forward_matches_stdlib
test_p19_cut9_torch.py::TestForwardMatchesStdlib::test_forward_output_is_list
test_p19_cut9_torch.py::TestForwardMatchesStdlib::test_embedding_forward_different_ids_give_different_outputs
test_p19_cut9_torch.py::TestForwardMatchesStdlib::test_softmax_output_sums_to_one
test_p19_cut9_torch.py::TestDropoutEvalMode::test_eval_mode_is_deterministic
test_p19_cut9_torch.py::TestDropoutEvalMode::test_eval_mode_matches_stdlib_eval
test_p19_cut9_torch.py::TestBackwardMatchesStdlib::test_one_step_loss_matches_stdlib
test_p19_cut9_torch.py::TestBackwardMatchesStdlib::test_one_step_weights_match_stdlib
test_p19_cut9_torch.py::TestParameterRoundtrip::test_roundtrip_preserves_parameter_set_structure
test_p19_cut9_torch.py::TestParameterRoundtrip::test_roundtrip_preserves_initial_weights
test_p19_cut9_torch.py::TestParameterRoundtrip::test_roundtrip_source_is_torch
test_p19_cut9_torch.py::TestParameterRoundtrip::test_roundtrip_preserves_embedding_weights
test_p19_cut9_torch.py::TestErrorHandling::test_composite_torch_error_is_value_error
test_p19_cut9_torch.py::TestErrorHandling::test_missing_parameter_raises_composite_torch_error
test_p20_audit_fixes.py::test_canonical_message_includes_report_id
test_p20_audit_fixes.py::test_canonical_message_includes_executor_kind
test_p20_audit_fixes.py::test_canonical_message_includes_ok
test_p20_audit_fixes.py::test_canonical_message_includes_response_summary
test_p20_audit_fixes.py::test_canonical_message_includes_error
test_p20_audit_fixes.py::test_canonical_message_includes_latency_ms
test_p20_audit_fixes.py::test_tamper_ok_invalidates_signature
test_p20_audit_fixes.py::test_tamper_response_summary_invalidates_signature
test_p20_audit_fixes.py::test_tamper_error_invalidates_signature
test_p20_audit_fixes.py::test_tamper_latency_ms_invalidates_signature
test_p20_audit_fixes.py::test_executor_preflight_accepts_signing_key_from_context
test_p20_audit_fixes.py::test_executor_preflight_raises_when_signature_required_and_no_key
test_p20_audit_fixes.py::test_executor_preflight_blocks_human_approval_without_store
test_p20_audit_fixes.py::test_executor_preflight_blocks_human_approval_without_approval
test_p20_audit_fixes.py::test_executor_preflight_passes_human_approval_when_approved
test_p20_audit_fixes.py::test_executor_preflight_skips_approval_gate_when_not_required
test_p20_audit_fixes.py::test_validate_action_contract_fails_on_missing_scope_field
test_p20_audit_fixes.py::test_validate_action_contract_passes_valid_scope
test_p20_audit_fixes.py::test_rate_tracker_blocks_when_limit_exceeded
test_p20_audit_fixes.py::test_find_approved_rejects_different_model_hash
test_p20_audit_fixes.py::test_find_approved_rejects_different_parameter_set_id
test_p20_audit_fixes.py::test_find_approved_accepts_exact_match
test_p20_audit_fixes.py::test_dry_run_action_rejects_contract_with_wrong_target
test_p20_audit_fixes.py::test_find_approved_binds_all_four_fields
test_p20_audit_fixes.py::test_executor_uses_context_model_hash_in_trace
test_p20_audit_fixes.py::test_execute_action_param_set_file_without_model_hash_uses_artifact_identity
test_p20_cut10_cli.py::test_validate_actions_ok
test_p20_cut10_cli.py::test_validate_actions_json_output
test_p20_cut10_cli.py::test_validate_actions_fail_on_wrong_target
test_p20_cut10_cli.py::test_validate_actions_fail_on_bad_contract_file
test_p20_cut10_cli.py::test_dry_run_action_ok
test_p20_cut10_cli.py::test_dry_run_action_json_output
test_p20_cut10_cli.py::test_dry_run_action_missing_contract_name
test_p20_cut10_cli.py::test_dry_run_action_scope_violation
test_p20_cut10_cli.py::test_execute_action_requires_allow_flag
test_p20_cut10_cli.py::test_execute_action_json_output_with_flag
test_p20_cut10_cli.py::test_execute_action_missing_contract
test_p20_cut10_cli.py::test_audit_action_no_key_reports_not_verified
test_p20_cut10_cli.py::test_audit_action_valid_signature
test_p20_cut10_cli.py::test_audit_action_invalid_signature
test_p20_cut10_cli.py::test_audit_action_json_output
test_p20_cut1_mxact_parser.py::TestMxactParserEmailSend::test_mxact_parser_accepts_email_send_contract
test_p20_cut1_mxact_parser.py::TestMxactParserEmailSend::test_email_contract_scope_parsed
test_p20_cut1_mxact_parser.py::TestMxactParserEmailSend::test_email_contract_rollback_resolved
test_p20_cut1_mxact_parser.py::TestMxactParserEmailSend::test_email_contract_rate_limit
test_p20_cut1_mxact_parser.py::TestMxactParserEmailSend::test_email_contract_flags
test_p20_cut1_mxact_parser.py::TestMxactParserHttpPost::test_mxact_parser_accepts_http_post_with_rollback
test_p20_cut1_mxact_parser.py::TestMxactParserHttpPost::test_http_post_scope_url_list
test_p20_cut1_mxact_parser.py::TestMxactParserFilesystemWrite::test_mxact_parser_accepts_filesystem_write_with_sandbox
test_p20_cut1_mxact_parser.py::TestMxactParserFilesystemWrite::test_filesystem_sandbox_limits_parsed
test_p20_cut1_mxact_parser.py::TestMxactParserFilesystemWrite::test_filesystem_rollback_scope
test_p20_cut1_mxact_parser.py::TestMxactParserRejections::test_mxact_parser_rejects_unknown_capability
test_p20_cut1_mxact_parser.py::TestMxactParserRejections::test_mxact_parser_rejects_high_risk_without_sandbox
test_p20_cut1_mxact_parser.py::TestMxactParserRejections::test_mxact_parser_rejects_human_approval_without_channel
test_p20_cut1_mxact_parser.py::TestMxactParserRejections::test_mxact_parser_rejects_wildcard_only_scope
test_p20_cut1_mxact_parser.py::TestMxactParserRejections::test_mxact_parser_rejects_wildcard_path_scope
test_p20_cut1_mxact_parser.py::TestMxactParserRejections::test_mxact_parser_rejects_missing_rollback_for_mutating_action
test_p20_cut1_mxact_parser.py::TestMxaiParserP20Extensions::test_mxai_parser_accepts_policy_real_with_audit
test_p20_cut1_mxact_parser.py::TestMxaiParserP20Extensions::test_mxai_parser_action_has_target
test_p20_cut1_mxact_parser.py::TestMxaiParserP20Extensions::test_mxai_parser_action_condition_from_condition_keyword
test_p20_cut1_mxact_parser.py::TestMxaiParserP20Extensions::test_mxai_parser_input_params_parsed
test_p20_cut1_mxact_parser.py::TestMxaiParserP20Extensions::test_mxai_parser_keeps_simulate_only_as_default
test_p20_cut1_mxact_parser.py::TestMxaiParserP20Extensions::test_mxai_parser_simulate_only_call_preserved
test_p20_cut1_mxact_parser.py::TestCapabilityRegistry::test_all_nine_capabilities_present
test_p20_cut1_mxact_parser.py::TestCapabilityRegistry::test_high_risk_capabilities_classified
test_p20_cut1_mxact_parser.py::TestCapabilityRegistry::test_mutating_capabilities_require_rollback
test_p20_cut2_action_contract.py::TestActionContractHash::test_action_contract_hash_is_deterministic
test_p20_cut2_action_contract.py::TestActionContractHash::test_action_contract_hash_has_sha256_prefix
test_p20_cut2_action_contract.py::TestActionContractHash::test_action_contract_hash_is_hex_string
test_p20_cut2_action_contract.py::TestActionContractHash::test_action_contract_hash_changes_when_scope_changes
test_p20_cut2_action_contract.py::TestActionContractHash::test_action_contract_hash_changes_when_rollback_changes
test_p20_cut2_action_contract.py::TestActionContractHash::test_action_contract_hash_changes_when_capability_changes
test_p20_cut2_action_contract.py::TestCanonicalDict::test_canonical_dict_includes_risk_level
test_p20_cut2_action_contract.py::TestCanonicalDict::test_canonical_dict_scope_keys_sorted
test_p20_cut2_action_contract.py::TestCanonicalDict::test_canonical_dict_includes_rollback
test_p20_cut2_action_contract.py::TestCanonicalDict::test_canonical_dict_rollback_scope_sorted
test_p20_cut2_action_contract.py::TestValidateActionContract::test_action_contract_compatibility_with_mxai_action
test_p20_cut2_action_contract.py::TestValidateActionContract::test_action_contract_validate_result_ok_when_compatible
test_p20_cut2_action_contract.py::TestValidateActionContract::test_action_contract_rejects_action_not_found_in_program
test_p20_cut2_action_contract.py::TestValidateActionContract::test_action_contract_rejects_capability_mismatch
test_p20_cut2_action_contract.py::TestValidateActionContract::test_action_contract_rejects_simulate_only_policy
test_p20_cut2_action_contract.py::TestSigningKey::test_check_signing_key_available_returns_true_when_set
test_p20_cut2_action_contract.py::TestSigningKey::test_check_signing_key_available_returns_false_when_missing
test_p20_cut2_action_contract.py::TestSigningKey::test_action_contract_rejects_signature_without_key
test_p20_cut2_action_contract.py::TestSigningKey::test_action_contract_accepts_signature_with_key
test_p20_cut2_action_contract.py::TestSigningKey::test_action_contract_validate_accepts_no_signing_key_when_not_required
test_p20_cut3_capability_registry.py::TestCapabilityRegistryListing::test_capability_registry_lists_all_supported_capabilities
test_p20_cut3_capability_registry.py::TestCapabilityRegistryListing::test_capability_registry_returns_sorted_list
test_p20_cut3_capability_registry.py::TestCapabilityRegistryListing::test_capability_registry_rejects_unknown_capability
test_p20_cut3_capability_registry.py::TestCapabilityRegistryListing::test_registry_rejects_unknown_in_required_scope_fields
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_capability_registry_classifies_risk_levels
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_low_for_http_get
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_low_for_notification
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_medium_for_email_send
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_medium_for_http_post
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_high_for_database_write
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_high_for_filesystem_write
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_registry_risk_level_high_for_subprocess_spawn
test_p20_cut3_capability_registry.py::TestCapabilityRegistryRiskLevels::test_capability_high_risk_forces_sandbox_required
test_p20_cut3_capability_registry.py::TestRequiredScopeFields::test_capability_registry_validates_required_scope_fields
test_p20_cut3_capability_registry.py::TestRequiredScopeFields::test_registry_required_scope_email_send_includes_recipients_and_domains
test_p20_cut3_capability_registry.py::TestRequiredScopeFields::test_registry_required_scope_http_get_includes_allowed_urls
test_p20_cut3_capability_registry.py::TestRequiredScopeFields::test_registry_required_scope_filesystem_write_includes_allowed_paths
test_p20_cut3_capability_registry.py::TestRequiredScopeFields::test_registry_required_scope_database_write_includes_tables_and_operations
test_p20_cut3_capability_registry.py::TestScopeValidation::test_registry_validate_scope_accepts_complete_scope
test_p20_cut3_capability_registry.py::TestScopeValidation::test_registry_validate_scope_rejects_missing_required_field
test_p20_cut3_capability_registry.py::TestScopeValidation::test_registry_validate_scope_rejects_unknown_capability
test_p20_cut3_capability_registry.py::TestScopeValidation::test_registry_validate_scope_effective_scope_populated_on_success
test_p20_cut3_capability_registry.py::TestScopeValidation::test_registry_resolve_scope_returns_effective_scope
test_p20_cut3_capability_registry.py::TestScopeValidation::test_registry_resolve_scope_raises_on_invalid_scope
test_p20_cut3_capability_registry.py::TestRollbackRequirement::test_registry_requires_rollback_for_email_send
test_p20_cut3_capability_registry.py::TestRollbackRequirement::test_registry_requires_rollback_for_http_post
test_p20_cut3_capability_registry.py::TestRollbackRequirement::test_registry_requires_rollback_for_database_write
test_p20_cut3_capability_registry.py::TestRollbackRequirement::test_registry_does_not_require_rollback_for_http_get
test_p20_cut3_capability_registry.py::TestRollbackRequirement::test_registry_does_not_require_rollback_for_database_read
test_p20_cut4_dryrun.py::TestDryRunReportStructure::test_dry_run_report_has_report_id
test_p20_cut4_dryrun.py::TestDryRunReportStructure::test_dry_run_report_has_valid_until_field
test_p20_cut4_dryrun.py::TestDryRunReportStructure::test_dry_run_report_has_input_hash
test_p20_cut4_dryrun.py::TestDryRunReportStructure::test_dry_run_report_has_action_contract_hash
test_p20_cut4_dryrun.py::TestDryRunReportStructure::test_dry_run_report_ok_when_all_valid
test_p20_cut4_dryrun.py::TestDryRunExpiry::test_dry_run_report_expires_after_five_minutes
test_p20_cut4_dryrun.py::TestDryRunExpiry::test_dry_run_valid_until_is_five_minutes_after_executed_at
test_p20_cut4_dryrun.py::TestDryRunExpiry::test_dry_run_validity_minutes_configurable
test_p20_cut4_dryrun.py::TestDryRunExpiry::test_dry_run_validity_capped_at_one_hour
test_p20_cut4_dryrun.py::TestDryRunExpiry::test_dry_run_report_is_not_expired_before_valid_until
test_p20_cut4_dryrun.py::TestDryRunScopeValidation::test_dry_run_validates_scope_against_model_output
test_p20_cut4_dryrun.py::TestDryRunScopeValidation::test_dry_run_blocks_execution_with_out_of_scope_recipient
test_p20_cut4_dryrun.py::TestDryRunScopeValidation::test_dry_run_report_not_ok_when_scope_violated
test_p20_cut4_dryrun.py::TestDryRunInputTypes::test_dry_run_validates_input_types
test_p20_cut4_dryrun.py::TestDryRunInputTypes::test_dry_run_blocks_missing_required_input_field
test_p20_cut4_dryrun.py::TestDryRunInputTypes::test_dry_run_blocks_wrong_input_type
test_p20_cut4_dryrun.py::TestDryRunRateLimit::test_dry_run_validates_rate_limit
test_p20_cut4_dryrun.py::TestDryRunRateLimit::test_dry_run_blocks_execution_when_rate_limit_exceeded
test_p20_cut4_dryrun.py::TestDryRunRateLimit::test_dry_run_rate_tracker_records_call
test_p20_cut4_dryrun.py::TestDryRunRollback::test_dry_run_validates_rollback_invocability
test_p20_cut5_executor.py::TestExecutorPreFlight::test_executor_blocks_without_allow_real_actions_flag
test_p20_cut5_executor.py::TestExecutorPreFlight::test_executor_blocks_without_signing_key
test_p20_cut5_executor.py::TestExecutorPreFlight::test_executor_blocks_without_valid_dry_run
test_p20_cut5_executor.py::TestExecutorPreFlight::test_executor_blocks_expired_dry_run
test_p20_cut5_executor.py::TestExecutorPreFlight::test_executor_blocks_dry_run_contract_hash_mismatch
test_p20_cut5_executor.py::TestExecutorPreFlight::test_executor_blocks_dry_run_input_hash_mismatch
test_p20_cut5_executor.py::TestHttpGetExecutor::test_http_get_executor_respects_scope_urls
test_p20_cut5_executor.py::TestHttpGetExecutor::test_http_get_executor_rejects_url_not_in_scope
test_p20_cut5_executor.py::TestHttpGetExecutor::test_http_get_executor_respects_timeout
test_p20_cut5_executor.py::TestHttpGetExecutor::test_action_result_ok_on_successful_http_get
test_p20_cut5_executor.py::TestHttpGetExecutor::test_action_result_has_latency_ms
test_p20_cut5_executor.py::TestHttpGetExecutor::test_action_result_has_executor_kind_in_process
test_p20_cut5_executor.py::TestHttpPostExecutor::test_http_post_executor_rejects_url_not_in_scope
test_p20_cut5_executor.py::TestHttpPostExecutor::test_http_post_executor_validates_required_headers
test_p20_cut5_executor.py::TestHttpPostExecutor::test_http_post_executor_rejects_missing_required_header
test_p20_cut5_executor.py::TestEmailExecutor::test_email_executor_respects_allowed_recipients
test_p20_cut5_executor.py::TestEmailExecutor::test_email_executor_rejects_recipient_not_in_list
test_p20_cut5_executor.py::TestEmailExecutor::test_email_executor_rejects_domain_not_in_allowed_list
test_p20_cut5_executor.py::TestEmailExecutor::test_executor_returns_action_result
test_p20_cut5_executor.py::TestEmailExecutor::test_action_result_has_error_field_on_failure
test_p20_cut5_executor.py::TestNotificationExecutor::test_notification_executor_sends_to_webhook
test_p20_cut5_executor.py::TestNotificationExecutor::test_notification_executor_rejects_recipient_not_in_scope
test_p20_cut5_executor.py::TestExecutorBlocksHighRisk::test_executor_blocks_high_risk_capability
test_p20_cut6_sandbox.py::test_sandboxed_executor_importable
test_p20_cut6_sandbox.py::test_sandbox_params_dataclass
test_p20_cut6_sandbox.py::test_sandbox_result_dataclass
test_p20_cut6_sandbox.py::test_sandboxed_executor_accepts_injectable_runner
test_p20_cut6_sandbox.py::test_sandbox_params_built_from_contract
test_p20_cut6_sandbox.py::test_sandbox_params_include_scope_and_input
test_p20_cut6_sandbox.py::test_scope_check_filesystem_blocks_disallowed_path
test_p20_cut6_sandbox.py::test_scope_check_filesystem_allows_valid_path
test_p20_cut6_sandbox.py::test_scope_check_database_blocks_disallowed_table
test_p20_cut6_sandbox.py::test_scope_check_database_allows_valid_table
test_p20_cut6_sandbox.py::test_scope_check_unknown_capability_returns_none
test_p20_cut6_sandbox.py::test_executor_returns_error_on_scope_violation
test_p20_cut6_sandbox.py::test_preflight_rejects_disabled_real_actions
test_p20_cut6_sandbox.py::test_preflight_rejects_expired_dry_run
test_p20_cut6_sandbox.py::test_preflight_rejects_contract_hash_mismatch
test_p20_cut6_sandbox.py::test_preflight_rejects_input_hash_mismatch
test_p20_cut6_sandbox.py::test_preflight_rejects_non_high_risk_capability
test_p20_cut6_sandbox.py::test_result_ok_on_exit_code_zero
test_p20_cut6_sandbox.py::test_result_error_on_nonzero_exit
test_p20_cut6_sandbox.py::test_result_error_on_timeout
test_p20_cut6_sandbox.py::test_result_has_positive_latency_ms
test_p20_cut6_sandbox.py::test_default_runner_executes_simple_script
test_p20_cut6_sandbox.py::test_default_runner_sets_network_env_when_no_network
test_p20_cut7_trace.py::test_action_trace_importable
test_p20_cut7_trace.py::test_action_trace_dataclass_fields
test_p20_cut7_trace.py::test_action_trace_executed_at_is_iso8601
test_p20_cut7_trace.py::test_action_trace_without_signing_key_has_none_signature
test_p20_cut7_trace.py::test_sign_action_trace_returns_hmac_prefix
test_p20_cut7_trace.py::test_sign_action_trace_hex_is_64_chars
test_p20_cut7_trace.py::test_sign_action_trace_is_deterministic
test_p20_cut7_trace.py::test_build_action_trace_with_signing_key_sets_signature
test_p20_cut7_trace.py::test_canonical_message_contains_all_fields
test_p20_cut7_trace.py::test_canonical_message_ok_field_is_tamper_detectable
test_p20_cut7_trace.py::test_canonical_message_response_summary_is_tamper_detectable
test_p20_cut7_trace.py::test_canonical_message_error_field_is_tamper_detectable
test_p20_cut7_trace.py::test_canonical_message_latency_ms_is_tamper_detectable
test_p20_cut7_trace.py::test_verify_action_trace_returns_true_for_valid_signature
test_p20_cut7_trace.py::test_verify_action_trace_returns_false_for_wrong_key
test_p20_cut7_trace.py::test_verify_action_trace_returns_false_when_signature_none
test_p20_cut7_trace.py::test_verify_action_trace_returns_false_for_tampered_model_hash
test_p20_cut7_trace.py::test_verify_action_trace_returns_false_for_tampered_executed_at
test_p20_cut7_trace.py::test_build_action_trace_from_sandbox_result
test_p20_cut7_trace.py::test_build_action_trace_from_failed_result
test_p20_cut7_trace.py::test_sign_matches_manual_hmac
test_p20_cut8_rollback.py::test_rollback_manager_importable
test_p20_cut8_rollback.py::test_rollback_result_importable
test_p20_cut8_rollback.py::test_rollback_error_is_action_executor_error
test_p20_cut8_rollback.py::test_rollback_not_attempted_when_no_rollback_declared
test_p20_cut8_rollback.py::test_rollback_executed_with_injected_handler
test_p20_cut8_rollback.py::test_rollback_result_names_rollback_contract
test_p20_cut8_rollback.py::test_rollback_result_not_ok_when_handler_fails
test_p20_cut8_rollback.py::test_rollback_spec_to_contract_inherits_capability
test_p20_cut8_rollback.py::test_rollback_spec_to_contract_dry_run_not_required
test_p20_cut8_rollback.py::test_rollback_spec_to_contract_no_nested_rollback
test_p20_cut8_rollback.py::test_rollback_spec_to_contract_no_sandbox_required
test_p20_cut8_rollback.py::test_rollback_spec_to_contract_not_signature_required
test_p20_cut8_rollback.py::test_rollback_spec_to_contract_inherits_scope
test_p20_cut8_rollback.py::test_rollback_works_for_http_post_capability
test_p20_cut8_rollback.py::test_rollback_dry_run_does_not_expire_immediately_with_default_now
test_p20_cut8_rollback.py::test_rollback_dry_run_has_validity_window
test_p20_cut9_approval.py::test_pending_execution_importable
test_p20_cut9_approval.py::test_approval_store_importable
test_p20_cut9_approval.py::test_human_approval_gate_importable
test_p20_cut9_approval.py::test_submit_creates_pending_execution
test_p20_cut9_approval.py::test_submit_sets_expiry_from_ttl
test_p20_cut9_approval.py::test_submit_sets_channel
test_p20_cut9_approval.py::test_submit_stores_action_contract_hash
test_p20_cut9_approval.py::test_get_returns_submitted_pending
test_p20_cut9_approval.py::test_get_returns_none_for_unknown_id
test_p20_cut9_approval.py::test_approve_changes_status_to_approved
test_p20_cut9_approval.py::test_reject_changes_status_to_rejected
test_p20_cut9_approval.py::test_approve_raises_on_already_decided
test_p20_cut9_approval.py::test_reject_raises_on_already_decided
test_p20_cut9_approval.py::test_approve_raises_on_expired
test_p20_cut9_approval.py::test_approve_raises_on_unknown_id
test_p20_cut9_approval.py::test_pending_not_expired_before_ttl
test_p20_cut9_approval.py::test_pending_expired_after_ttl
test_p20_cut9_approval.py::test_is_approved_false_when_expired
test_p20_cut9_approval.py::test_list_pending_returns_only_pending
test_p20_cut9_approval.py::test_list_pending_excludes_expired
test_p20_cut9_approval.py::test_gate_requires_approval_when_human_approval_true
test_p20_cut9_approval.py::test_gate_does_not_require_approval_when_false
test_p20_cut9_approval.py::test_gate_check_true_when_no_approval_required
test_p20_cut9_approval.py::test_gate_check_false_when_approval_required_but_none_submitted
test_p20_cut9_approval.py::test_gate_check_true_after_approval
test_p20_cut9_approval.py::test_gate_check_false_after_rejection
test_p20_cut9_approval.py::test_gate_check_false_when_approval_expired
test_p21_cut10_p20_integration.py::test_action_contract_attaches_to_composite_terminal
test_p21_cut10_p20_integration.py::test_intermediate_component_cannot_have_real_action
test_p21_cut10_p20_integration.py::test_terminal_with_real_action_is_allowed
test_p21_cut10_p20_integration.py::test_validate_composite_returns_composite_hash
test_p21_cut10_p20_integration.py::test_action_trace_firms_composite_model_hash
test_p21_cut10_p20_integration.py::test_audit_action_shows_full_component_chain
test_p21_cut10_p20_integration.py::test_component_chain_includes_mode_info
test_p21_cut10_p20_integration.py::test_composite_dry_run_resolves_all_imports
test_p21_cut10_p20_integration.py::test_composite_dry_run_fails_for_missing_import
test_p21_cut10_p20_integration.py::test_composite_dry_run_includes_composite_hash
test_p21_cut12_regression.py::test_existing_models_without_imports_unchanged
test_p21_cut12_regression.py::test_program_without_imports_has_empty_imports_list
test_p21_cut12_regression.py::test_to_dict_excludes_imports_when_empty
test_p21_cut12_regression.py::test_p18_dense_networks_can_be_registered
test_p21_cut12_regression.py::test_p18_registry_entry_survives_round_trip
test_p21_cut12_regression.py::test_p17_regression_models_can_be_registered
test_p21_cut12_regression.py::test_p17_multiple_versions_coexist
test_p21_cut12_regression.py::test_suite_passes_without_signing_key
test_p21_cut12_regression.py::test_verify_without_signing_key_passes
test_p21_cut12_regression.py::test_torch_remains_optional
test_p21_cut12_regression.py::test_ir_schema_does_not_require_torch
test_p21_cut12_regression.py::test_p20_action_traces_remain_valid_for_non_composite_models
test_p21_cut12_regression.py::test_p20_trace_model_hash_field_unchanged
test_p21_cut12_regression.py::test_canonical_example_file_exists
test_p21_cut12_regression.py::test_canonical_example_parses_successfully
test_p21_cut12_regression.py::test_canonical_example_has_two_imports
test_p21_cut12_regression.py::test_canonical_example_import_modes
test_p21_cut12_regression.py::test_canonical_example_import_aliases
test_p21_cut12_regression.py::test_canonical_example_has_router_network
test_p21_cut12_regression.py::test_canonical_example_graph_has_edges
test_p21_cut12_regression.py::test_canonical_example_composite_hash
test_p21_cut1_registry_entry.py::test_entry_hash_is_deterministic
test_p21_cut1_registry_entry.py::test_entry_hash_is_sha256_prefixed
test_p21_cut1_registry_entry.py::test_entry_hash_changes_when_model_hash_changes
test_p21_cut1_registry_entry.py::test_entry_hash_changes_when_evaluation_report_changes
test_p21_cut1_registry_entry.py::test_entry_hash_changes_when_training_trace_changes
test_p21_cut1_registry_entry.py::test_entry_hash_changes_when_version_changes
test_p21_cut1_registry_entry.py::test_entry_hash_changes_when_name_changes
test_p21_cut1_registry_entry.py::test_entry_hash_stable_regardless_of_kwargs_order
test_p21_cut1_registry_entry.py::test_sha256_str_and_sha256_bytes_agree
test_p21_cut1_registry_entry.py::test_registry_entry_is_frozen
test_p21_cut1_registry_entry.py::test_registry_entry_error_is_exception
test_p21_cut1_registry_entry.py::test_registry_entry_to_manifest_roundtrip
test_p21_cut1_registry_entry.py::test_registry_entry_manifest_contains_required_keys
test_p21_cut1_registry_entry.py::test_registry_entry_from_manifest_defaults_optional_fields
test_p21_cut1_registry_entry.py::test_sign_returns_hmac_sha256_prefix
test_p21_cut1_registry_entry.py::test_verify_passes_for_valid_signature
test_p21_cut1_registry_entry.py::test_verify_fails_for_wrong_key
test_p21_cut1_registry_entry.py::test_verify_rejects_tampered_entry_hash
test_p21_cut1_registry_entry.py::test_verify_rejects_empty_signature
test_p21_cut1_registry_entry.py::test_build_signature_record_shape
test_p21_cut1_registry_entry.py::test_sign_verify_roundtrip_is_consistent
test_p21_cut1_registry_entry.py::test_env_key_takes_precedence_over_local
test_p21_cut1_registry_entry.py::test_local_key_file_creates_with_restricted_permissions
test_p21_cut1_registry_entry.py::test_local_key_file_reuses_existing
test_p21_cut1_registry_entry.py::test_get_signing_key_returns_empty_when_no_path_and_no_env
test_p21_cut1_registry_entry.py::test_registry_layout_index_path
test_p21_cut1_registry_entry.py::test_registry_layout_entries_dir
test_p21_cut1_registry_entry.py::test_registry_layout_tags_dir
test_p21_cut1_registry_entry.py::test_registry_layout_entry_dir
test_p21_cut1_registry_entry.py::test_registry_layout_entry_file_manifest
test_p21_cut1_registry_entry.py::test_registry_layout_entry_file_model
test_p21_cut1_registry_entry.py::test_registry_layout_entry_file_unknown_raises
test_p21_cut1_registry_entry.py::test_registry_layout_tag_path
test_p21_cut2_import_parser.py::test_import_spec_is_frozen
test_p21_cut2_import_parser.py::test_import_spec_resolved_fields_default_empty
test_p21_cut2_import_parser.py::test_import_spec_accepts_explicit_resolved_fields
test_p21_cut2_import_parser.py::test_program_imports_field_empty_by_default
test_p21_cut2_import_parser.py::test_parser_accepts_import_frozen
test_p21_cut2_import_parser.py::test_parser_accepts_import_trainable
test_p21_cut2_import_parser.py::test_parser_accepts_multiple_imports
test_p21_cut2_import_parser.py::test_parser_accepts_tag_version
test_p21_cut2_import_parser.py::test_parser_accepts_dotted_version
test_p21_cut2_import_parser.py::test_parser_accepts_prod_tag
test_p21_cut2_import_parser.py::test_parsed_import_resolved_fields_are_empty
test_p21_cut2_import_parser.py::test_parser_rejects_import_without_version
test_p21_cut2_import_parser.py::test_parser_rejects_import_invalid_mode
test_p21_cut2_import_parser.py::test_parser_rejects_import_missing_from
test_p21_cut2_import_parser.py::test_parser_rejects_import_missing_registry_keyword
test_p21_cut2_import_parser.py::test_parser_rejects_import_uppercase_registry_name
test_p21_cut2_import_parser.py::test_parser_rejects_duplicate_alias
test_p21_cut2_import_parser.py::test_parser_rejects_alias_colliding_with_vector
test_p21_cut2_import_parser.py::test_parser_rejects_alias_colliding_with_network
test_p21_cut2_import_parser.py::test_program_to_dict_includes_imports
test_p21_cut2_import_parser.py::test_program_to_dict_omits_imports_when_empty
test_p21_cut2_import_parser.py::test_existing_program_without_imports_unchanged
test_p21_cut3_model_registry.py::test_registry_initializes_directory_structure
test_p21_cut3_model_registry.py::test_registry_index_file_has_correct_format
test_p21_cut3_model_registry.py::test_registry_push_writes_manifest
test_p21_cut3_model_registry.py::test_registry_push_requires_evaluation_report
test_p21_cut3_model_registry.py::test_registry_push_fails_on_duplicate_version
test_p21_cut3_model_registry.py::test_registry_is_append_only
test_p21_cut3_model_registry.py::test_registry_push_updates_index
test_p21_cut3_model_registry.py::test_registry_push_signs_with_env_key
test_p21_cut3_model_registry.py::test_registry_get_returns_full_entry
test_p21_cut3_model_registry.py::test_registry_get_raises_for_missing_entry
test_p21_cut3_model_registry.py::test_registry_list_empty_when_no_entries
test_p21_cut3_model_registry.py::test_registry_list_returns_all_entries
test_p21_cut3_model_registry.py::test_registry_list_filters_by_name
test_p21_cut3_model_registry.py::test_registry_tag_creates_alias
test_p21_cut3_model_registry.py::test_registry_tag_moves_existing_alias
test_p21_cut3_model_registry.py::test_registry_get_resolves_tag_to_version
test_p21_cut3_model_registry.py::test_registry_tag_points_to_correct_version
test_p21_cut3_model_registry.py::test_registry_verify_passes_for_valid_entry
test_p21_cut3_model_registry.py::test_registry_verify_rejects_tampered_manifest
test_p21_cut3_model_registry.py::test_registry_verify_rejects_wrong_signature
test_p21_cut3_model_registry.py::test_registry_pull_copies_entry_between_registries
test_p21_cut3_model_registry.py::test_registry_pull_copies_signature_when_present
test_p21_cut3_model_registry.py::test_verify_detects_tampered_params_file
test_p21_cut3_model_registry.py::test_verify_detects_tampered_model_file
test_p21_cut3_model_registry.py::test_verify_detects_tampered_evaluation_report
test_p21_cut3_model_registry.py::test_verify_detects_tampered_training_trace
test_p21_cut3_model_registry.py::test_verify_passes_for_untampered_push_run_dir_entry
test_p21_cut3_model_registry.py::test_push_run_dir_records_product_matrixai_version
test_p21_cut4_resolver.py::test_resolver_resolves_existing_import
test_p21_cut4_resolver.py::test_resolver_records_resolved_entry_hash
test_p21_cut4_resolver.py::test_resolver_sets_resolved_at_timestamp
test_p21_cut4_resolver.py::test_resolver_preserves_mode
test_p21_cut4_resolver.py::test_resolver_resolves_multiple_imports
test_p21_cut4_resolver.py::test_resolver_fails_on_missing_entry
test_p21_cut4_resolver.py::test_resolver_fails_on_missing_version
test_p21_cut4_resolver.py::test_resolver_warns_on_mutable_tag_without_flag
test_p21_cut4_resolver.py::test_resolver_resolves_tag_alias
test_p21_cut4_resolver.py::test_resolver_allows_mutable_tag_with_flag
test_p21_cut4_resolver.py::test_resolver_caches_resolved_components
test_p21_cut4_resolver.py::test_resolver_empty_program_returns_empty
test_p21_cut5_type_system.py::test_type_check_accepts_compatible_components
test_p21_cut5_type_system.py::test_type_check_empty_imports_ok
test_p21_cut5_type_system.py::test_type_check_no_edges_between_imports_ok
test_p21_cut5_type_system.py::test_type_check_rejects_shape_mismatch
test_p21_cut5_type_system.py::test_type_check_handles_tensor_dim_mismatch
test_p21_cut5_type_system.py::test_type_check_rejects_kind_mismatch
test_p21_cut5_type_system.py::test_type_check_propagates_through_chain_of_components
test_p21_cut5_type_system.py::test_type_check_detects_error_in_chain
test_p21_cut5_type_system.py::test_type_check_rejects_unknown_output_type
test_p21_cut5_type_system.py::test_type_check_skips_edge_when_dst_has_no_input_type
test_p21_cut6_backend_analyzer.py::test_analyzer_detects_composite_model_nodes
test_p21_cut6_backend_analyzer.py::test_analyzer_composite_node_is_supported
test_p21_cut6_backend_analyzer.py::test_analyzer_composite_node_kind_reflects_mode
test_p21_cut6_backend_analyzer.py::test_analyzer_builds_component_manifest
test_p21_cut6_backend_analyzer.py::test_analyzer_component_manifest_includes_entry_hash
test_p21_cut6_backend_analyzer.py::test_analyzer_component_manifest_empty_without_registry
test_p21_cut6_backend_analyzer.py::test_analyzer_warns_about_interpretability_reduced
test_p21_cut6_backend_analyzer.py::test_analyzer_no_interp_warning_for_full
test_p21_cut6_backend_analyzer.py::test_analyzer_propagates_blockers_from_imported_component
test_p21_cut6_backend_analyzer.py::test_analyzer_rejects_action_in_intermediate_component
test_p21_cut6_backend_analyzer.py::test_analyzer_reports_matrixai_version_mismatch
test_p21_cut6_backend_analyzer.py::test_analyzer_no_version_warning_for_current_version
test_p21_cut7_parameter_set.py::test_parameter_set_supports_namespaced_paths
test_p21_cut7_parameter_set.py::test_parameter_set_deep_namespaced_paths
test_p21_cut7_parameter_set.py::test_parameter_set_mixed_namespaced_and_flat
test_p21_cut7_parameter_set.py::test_parameter_schema_hash_excludes_frozen_components
test_p21_cut7_parameter_set.py::test_composite_schema_hash_with_no_frozen_equals_full
test_p21_cut7_parameter_set.py::test_composite_schema_hash_same_for_same_trainable_params
test_p21_cut7_parameter_set.py::test_parameter_set_loads_frozen_from_registry
test_p21_cut7_parameter_set.py::test_load_frozen_skips_trainable_imports
test_p21_cut7_parameter_set.py::test_load_frozen_returns_empty_for_no_imports
test_p21_cut7_parameter_set.py::test_load_frozen_handles_multiple_frozen
test_p21_cut7_parameter_set.py::test_parameter_set_separates_trainable_and_frozen
test_p21_cut7_parameter_set.py::test_separate_parameters_all_trainable
test_p21_cut7_parameter_set.py::test_separate_parameters_no_imports
test_p21_cut8_composite_forward.py::test_composite_forward_loads_frozen_params_from_registry
test_p21_cut8_composite_forward.py::test_composite_forward_combines_frozen_and_trainable
test_p21_cut8_composite_forward.py::test_composite_forward_returns_result_type
test_p21_cut8_composite_forward.py::test_composite_forward_includes_composite_model_hash
test_p21_cut8_composite_forward.py::test_training_updates_only_trainable_components
test_p21_cut8_composite_forward.py::test_training_does_not_modify_registry_entries
test_p21_cut8_composite_forward.py::test_training_gradient_flows_only_through_trainable
test_p21_cut8_composite_forward.py::test_training_with_all_frozen_components_fails_validation
test_p21_cut8_composite_forward.py::test_composite_evaluation_uses_composite_model_hash
test_p21_cut8_composite_forward.py::test_validate_composite_trainability_true_when_trainable_params
test_p21_cut8_composite_forward.py::test_validate_composite_trainability_false_when_all_frozen
test_p21_cut8_composite_forward.py::test_frozen_execute_produces_non_identity_output
test_p21_cut8_composite_forward.py::test_frozen_execute_output_varies_with_weight
test_p21_cut8_composite_forward.py::test_frozen_execute_falls_back_to_identity_when_no_artifacts
test_p21_cut8_composite_forward.py::test_frozen_execute_scalar_input_mapped_correctly
test_p21_cut8_composite_forward.py::test_frozen_execute_dict_input_passed_directly
test_p21_cut9_hash_chain.py::test_composite_model_hash_includes_import_entry_hashes
test_p21_cut9_hash_chain.py::test_composite_model_hash_stable_with_same_imports
test_p21_cut9_hash_chain.py::test_composite_model_hash_changes_when_import_version_changes
test_p21_cut9_hash_chain.py::test_composite_model_hash_stable_regardless_of_import_declaration_order
test_p21_cut9_hash_chain.py::test_composite_model_hash_changes_when_new_import_added
test_p21_cut9_hash_chain.py::test_composite_model_hash_empty_imports_is_deterministic
test_p21_cut9_hash_chain.py::test_composite_model_hash_raises_for_missing_import
test_p21_cut9_hash_chain.py::test_composite_model_hash_changes_when_local_graph_changes
test_p21_cut9_hash_chain.py::test_composite_model_hash_changes_when_import_mode_changes
test_p21_cut9_hash_chain.py::test_composite_model_hash_changes_when_local_network_changes
test_p21_cut9_hash_chain.py::test_composite_model_hash_same_imports_different_modes_both_stable
test_p21_cut9_hash_chain.py::test_verify_composite_model_passes_for_valid_entries
test_p21_cut9_hash_chain.py::test_action_trace_verification_detects_imported_component_change
test_p21_cut9_hash_chain.py::test_verify_composite_model_fails_for_missing_entry
test_p21_cut9_hash_chain.py::test_action_trace_signature_includes_composite_chain
test_p21_cut9_hash_chain.py::test_action_trace_signature_bound_to_composite_hash
test_p21_post_audit.py::test_composite_forward_hash_matches_canonical
test_p21_post_audit.py::test_composite_forward_hash_changes_with_local_graph
test_p21_post_audit.py::test_parser_marks_import_alias_as_composite_model
test_p21_post_audit.py::test_parser_marks_multiple_import_aliases
test_p21_post_audit.py::test_parser_non_import_nodes_unaffected
test_p21_post_audit.py::test_push_run_dir_succeeds_with_all_artifacts
test_p21_post_audit.py::test_push_run_dir_copies_artifacts_to_registry
test_p21_post_audit.py::test_push_run_dir_fails_without_evaluation_report
test_p21_post_audit.py::test_push_run_dir_reads_parameter_set_id_from_params
test_p21_post_audit.py::test_push_run_dir_entry_is_retrievable
test_p21_post_audit.py::test_push_run_dir_works_without_optional_artifacts
test_p21_post_audit.py::test_push_run_dir_is_append_only
test_p21_post_audit.py::test_push_run_dir_prefers_params_best_json
test_p21_post_audit.py::test_cli_registry_push_registers_entry
test_p21_post_audit.py::test_cli_registry_push_fails_without_evaluation_report
test_p21_post_audit.py::test_cli_typecheck_accepts_registry_path_flag
test_p21_post_audit.py::test_composite_typecheck_rejects_mutable_tag_by_default
test_p21_post_audit.py::test_composite_typecheck_accepts_mutable_tag_with_flag
test_p21_post_audit.py::test_composite_typecheck_pinned_version_not_affected
test_p21_post_audit.py::test_cli_typecheck_mutable_import_rejected_without_flag
test_p21_post_audit.py::test_cli_typecheck_mutable_import_accepted_with_flag
test_p21_post_audit.py::test_pull_copies_all_artifacts
test_p21_post_audit.py::test_pull_preserves_artifact_content
test_p21_post_audit.py::test_pull_entry_is_verifiable_in_target
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_drift_driven_mode_accepted
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_drift_driven_mode_field_set
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_drift_driven_requires_drift_report
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_unknown_mode_rejected
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_hints_applied_contains_drift_hints
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_hints_applied_references_feature_name
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_hints_applied_references_method
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_multiple_drifted_features_generate_multiple_hints
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_skipped_features_do_not_generate_hints
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_extra_hints_appended_after_derived
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_proposed_prompt_contains_feedback_section
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_explanation_mentions_drift
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_refinement_id_contains_drift_driven
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_refinement_chain_populated
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_iteration_count_stored
test_p22_cut10_refinement_bridge.py::TestRefinementAgentDriftDriven::test_original_prompt_preserved
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_returns_proposal_when_emit_on_and_drift_detected
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_returns_none_when_emit_off
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_returns_none_when_no_drift_detected
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_returns_none_when_emit_off_even_with_drift
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_proposal_mode_is_drift_driven
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_proposal_original_prompt_matches
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_extra_hints_forwarded_to_agent
test_p22_cut10_refinement_bridge.py::TestDriftRefinementBridge::test_multi_feature_drift_report_handled
test_p22_cut10_refinement_bridge.py::TestDriftPersistence::test_persistence_check_blocks_when_too_few_days
test_p22_cut10_refinement_bridge.py::TestDriftPersistence::test_persistence_check_allows_when_enough_days
test_p22_cut10_refinement_bridge.py::TestDriftPersistence::test_persistence_check_allows_when_more_than_required
test_p22_cut10_refinement_bridge.py::TestDriftPersistence::test_persistence_omitted_treated_as_zero
test_p22_cut10_refinement_bridge.py::TestDriftPersistence::test_persistence_blocks_when_one_day_short
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_full_policy_parses_name
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_full_policy_target_model
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_full_policy_base_parameter_set
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_full_policy_registry_and_version
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_ground_truth_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_drift_detection_features
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_drift_detection_methods
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_drift_detection_min_samples
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_concept_drift_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_update_trigger_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_training_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_dataset_mix_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_approval_gate_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_regression_guard_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_rollback_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_rollback_notify_scope
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_audit_parsed
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_minimal_policy_no_concept_drift
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_minimal_policy_no_registry
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_linear_recency_decay
test_p22_cut1_continual_parser.py::TestContinualParserAccepts::test_comments_ignored
test_p22_cut1_continual_parser.py::TestPolicyHash::test_hash_is_deterministic
test_p22_cut1_continual_parser.py::TestPolicyHash::test_hash_has_sha256_prefix
test_p22_cut1_continual_parser.py::TestPolicyHash::test_hash_changes_when_threshold_changes
test_p22_cut1_continual_parser.py::TestPolicyHash::test_hash_changes_when_lr_factor_changes
test_p22_cut1_continual_parser.py::TestPolicyHash::test_canonical_dict_has_required_keys
test_p22_cut1_continual_parser.py::TestPolicyHash::test_compute_policy_hash_matches_spec
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_missing_target_model
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_missing_base_parameter_set
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_registry_without_version
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_invalid_drift_method
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_mix_weights_not_summing_to_one
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_invalid_learning_rate_factor_too_low
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_invalid_learning_rate_factor_too_high
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_holdout_fraction_out_of_range_low
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_holdout_fraction_out_of_range_high
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_degradation_threshold_out_of_range
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_method_for_undeclared_feature
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_missing_ground_truth_block
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_invalid_training_method
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_empty_source
test_p22_cut1_continual_parser.py::TestContinualParserRejects::test_rejects_missing_continual_policy_header
test_p22_cut2_collector.py::TestParseValidLabels::test_parses_label_type
test_p22_cut2_collector.py::TestParseValidLabels::test_returns_none_for_no_label_type
test_p22_cut2_collector.py::TestParseValidLabels::test_returns_none_for_unrecognized_format
test_p22_cut2_collector.py::TestCollectorIngest::test_accepts_valid_trace_with_ground_truth
test_p22_cut2_collector.py::TestCollectorIngest::test_stores_sample_with_timestamp
test_p22_cut2_collector.py::TestCollectorIngest::test_sample_has_unique_id
test_p22_cut2_collector.py::TestCollectorIngest::test_ingest_records_source
test_p22_cut2_collector.py::TestCollectorIngest::test_all_samples_returns_accumulated
test_p22_cut2_collector.py::TestCollectorIngest::test_ingest_from_dict_reconstructs_trace
test_p22_cut2_collector.py::TestIngestById::test_ingests_registered_trace
test_p22_cut2_collector.py::TestIngestById::test_rejects_unknown_trace_id
test_p22_cut2_collector.py::TestGroundTruthWindow::test_accepts_trace_within_window
test_p22_cut2_collector.py::TestGroundTruthWindow::test_rejects_trace_outside_window
test_p22_cut2_collector.py::TestGroundTruthWindow::test_get_samples_in_window_filters_by_executed_at
test_p22_cut2_collector.py::TestGroundTruthWindow::test_respects_ground_truth_window_boundary
test_p22_cut2_collector.py::TestGroundTruthType::test_accepts_valid_label
test_p22_cut2_collector.py::TestGroundTruthType::test_rejects_invalid_label
test_p22_cut2_collector.py::TestGroundTruthType::test_accepts_any_label_when_type_not_declared
test_p22_cut2_collector.py::TestSignatureValidation::test_accepts_unsigned_trace_when_not_required
test_p22_cut2_collector.py::TestSignatureValidation::test_rejects_unsigned_when_signature_required
test_p22_cut2_collector.py::TestSignatureValidation::test_accepts_correctly_signed_trace
test_p22_cut2_collector.py::TestSignatureValidation::test_rejects_tampered_signature
test_p22_cut2_collector.py::TestSignatureValidation::test_rejects_unsigned_when_signing_key_provided
test_p22_cut2_collector.py::TestSignatureValidation::test_rejects_signed_trace_when_required_but_no_key_to_verify
test_p22_cut2_collector.py::TestContinualIngestCLI::test_cli_ingest_accepts_signed_trace_file
test_p22_cut2_collector.py::TestContinualIngestCLI::test_cli_ingest_rejects_required_signature_without_key
test_p22_cut2_collector.py::TestFileWatch::test_picks_up_new_json_files
test_p22_cut2_collector.py::TestFileWatch::test_ignores_non_json_files
test_p22_cut2_collector.py::TestFileWatch::test_skips_files_with_unknown_trace_id
test_p22_cut2_collector.py::TestFileWatch::test_handles_missing_directory_gracefully
test_p22_cut3_drift_detector.py::TestComputePSI::test_no_drift_when_distributions_match
test_p22_cut3_drift_detector.py::TestComputePSI::test_detects_drift_when_distribution_shifts
test_p22_cut3_drift_detector.py::TestComputePSI::test_symmetric_is_not_guaranteed
test_p22_cut3_drift_detector.py::TestComputePSI::test_identical_small_sample
test_p22_cut3_drift_detector.py::TestComputePSI::test_empty_observed_returns_zero
test_p22_cut3_drift_detector.py::TestComputePSI::test_constant_reference_returns_zero
test_p22_cut3_drift_detector.py::TestComputeKS::test_identical_distributions_zero
test_p22_cut3_drift_detector.py::TestComputeKS::test_detects_continuous_distribution_change
test_p22_cut3_drift_detector.py::TestComputeKS::test_bounded_zero_to_one
test_p22_cut3_drift_detector.py::TestComputeKS::test_empty_returns_zero
test_p22_cut3_drift_detector.py::TestComputeKS::test_small_sample_handled
test_p22_cut3_drift_detector.py::TestComputeChiSquare::test_identical_counts_zero
test_p22_cut3_drift_detector.py::TestComputeChiSquare::test_detects_categorical_distribution_change
test_p22_cut3_drift_detector.py::TestComputeChiSquare::test_empty_returns_zero
test_p22_cut3_drift_detector.py::TestComputeChiSquare::test_new_category_in_observed
test_p22_cut3_drift_detector.py::TestComputeJS::test_identical_distributions_near_zero
test_p22_cut3_drift_detector.py::TestComputeJS::test_js_divergence_bounded_zero_to_one
test_p22_cut3_drift_detector.py::TestComputeJS::test_detects_distribution_shift
test_p22_cut3_drift_detector.py::TestComputeJS::test_empty_returns_zero
test_p22_cut3_drift_detector.py::TestComputeWasserstein::test_identical_distributions_zero
test_p22_cut3_drift_detector.py::TestComputeWasserstein::test_detects_shift
test_p22_cut3_drift_detector.py::TestComputeWasserstein::test_handles_small_samples
test_p22_cut3_drift_detector.py::TestComputeWasserstein::test_empty_returns_zero
test_p22_cut3_drift_detector.py::TestDriftDetector::test_produces_drift_report
test_p22_cut3_drift_detector.py::TestDriftDetector::test_no_drift_when_distributions_match
test_p22_cut3_drift_detector.py::TestDriftDetector::test_drift_detected_when_distribution_shifts
test_p22_cut3_drift_detector.py::TestDriftDetector::test_drift_threshold_exceeded_sets_feature_flag
test_p22_cut3_drift_detector.py::TestDriftDetector::test_report_contains_all_features
test_p22_cut3_drift_detector.py::TestDriftDetector::test_respects_min_samples
test_p22_cut3_drift_detector.py::TestDriftDetector::test_enough_samples_flag_set
test_p22_cut3_drift_detector.py::TestDriftDetector::test_handles_unknown_feature_gracefully
test_p22_cut3_drift_detector.py::TestDriftDetector::test_feature_result_has_observed_value
test_p22_cut3_drift_detector.py::TestDriftDetector::test_feature_without_declared_method_is_skipped
test_p22_cut3_drift_detector.py::TestDriftDetector::test_ks_feature_drift_detected_above_threshold
test_p22_cut3_drift_detector.py::TestDriftDetector::test_per_feature_min_samples_not_global_max
test_p22_cut3_drift_detector.py::TestDriftDetector::test_psi_handles_observed_values_below_reference_range
test_p22_cut3_drift_detector.py::TestDriftDetector::test_psi_handles_observed_values_above_reference_range
test_p22_cut3_drift_detector.py::TestChiSquareCardinality::test_low_cardinality_reference_succeeds
test_p22_cut3_drift_detector.py::TestChiSquareCardinality::test_high_cardinality_raises_value_error
test_p22_cut3_drift_detector.py::TestChiSquareCardinality::test_error_message_suggests_alternative
test_p22_cut3_drift_detector.py::TestChiSquareCardinality::test_exactly_at_limit_succeeds
test_p22_cut3_drift_detector.py::TestChiSquareCardinality::test_one_over_limit_raises
test_p22_cut3_drift_detector.py::TestChiSquareCardinality::test_drift_detector_raises_on_continuous_chi_square
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_no_drift_above_alert_threshold
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_drift_detected_below_alert_threshold
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_insufficient_labeled_samples_suppresses_detection
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_report_fields_populated_correctly
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_exact_boundary_not_flagged
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_policy_without_concept_drift_raises
test_p22_cut3_drift_detector.py::TestConceptDriftDetector::test_checked_at_is_iso8601
test_p22_cut3_drift_detector.py::TestConceptDriftParserValidation::test_threshold_equal_to_reference_raises
test_p22_cut3_drift_detector.py::TestConceptDriftParserValidation::test_threshold_greater_than_reference_raises
test_p22_cut3_drift_detector.py::TestConceptDriftParserValidation::test_threshold_zero_raises
test_p22_cut3_drift_detector.py::TestConceptDriftParserValidation::test_threshold_negative_raises
test_p22_cut3_drift_detector.py::TestConceptDriftParserValidation::test_valid_config_parses_ok
test_p22_cut4_continual_dataset.py::TestContinualDatasetConstruction::test_constructs_with_valid_inputs
test_p22_cut4_continual_dataset.py::TestContinualDatasetConstruction::test_raises_on_timestamp_count_mismatch
test_p22_cut4_continual_dataset.py::TestContinualDatasetConstruction::test_base_count_and_production_count
test_p22_cut4_continual_dataset.py::TestExamples::test_base_examples_always_included
test_p22_cut4_continual_dataset.py::TestExamples::test_all_examples_are_supervised_examples
test_p22_cut4_continual_dataset.py::TestExamples::test_production_examples_with_nonzero_weight_included
test_p22_cut4_continual_dataset.py::TestExamples::test_linear_decay_excludes_examples_beyond_window
test_p22_cut4_continual_dataset.py::TestExamples::test_production_weight_zero_excludes_production
test_p22_cut4_continual_dataset.py::TestExamples::test_empty_production_returns_base_only
test_p22_cut4_continual_dataset.py::TestExamples::test_total_count_with_recent_production
test_p22_cut4_continual_dataset.py::TestRecencyDecay::test_exponential_decay_formula
test_p22_cut4_continual_dataset.py::TestRecencyDecay::test_exponential_zero_age_weight_is_one
test_p22_cut4_continual_dataset.py::TestRecencyDecay::test_exponential_weight_decreases_with_age
test_p22_cut4_continual_dataset.py::TestRecencyDecay::test_linear_decay_formula
test_p22_cut4_continual_dataset.py::TestRecencyDecay::test_linear_decay_zero_at_boundary
test_p22_cut4_continual_dataset.py::TestRecencyDecay::test_linear_decay_beyond_window_clamped_to_zero
test_p22_cut4_continual_dataset.py::TestWeights::test_weights_parallel_to_examples
test_p22_cut4_continual_dataset.py::TestWeights::test_all_weights_positive
test_p22_cut4_continual_dataset.py::TestWeights::test_recent_production_has_higher_weight_than_old
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_starts_with_continual
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_is_deterministic
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_changes_with_different_base
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_changes_when_production_added
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_changes_with_different_window_days
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_changes_with_different_reference_date
test_p22_cut4_continual_dataset.py::TestFingerprint::test_fingerprint_changes_with_different_production_timestamps
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_returns_incremental_training_result
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_result_has_candidate_parameter_set
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_result_has_parent_parameter_set_id
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_candidate_metrics_contain_parent_id
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_epoch_trace_not_empty
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_epoch_trace_contains_expected_keys
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_epochs_run_matches_trace_length
test_p22_cut5_incremental_trainer.py::TestIncrementalTrainingResultShape::test_best_epoch_within_range
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_parameters_change_after_training
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_candidate_has_same_parameter_schema
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_candidate_preserves_model_hash
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_candidate_source_is_incremental_finetune
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_candidate_id_derived_from_parent
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_candidate_metrics_contain_validation_loss
test_p22_cut5_incremental_trainer.py::TestParameterUpdates::test_candidate_metrics_contain_dataset_fingerprint
test_p22_cut5_incremental_trainer.py::TestEpochsAndLearningRate::test_respects_max_epochs
test_p22_cut5_incremental_trainer.py::TestEpochsAndLearningRate::test_learning_rate_factor_applied
test_p22_cut5_incremental_trainer.py::TestEpochsAndLearningRate::test_epoch_callback_is_called
test_p22_cut5_incremental_trainer.py::TestEarlyStopping::test_early_stop_limits_epochs_below_max
test_p22_cut5_incremental_trainer.py::TestEarlyStopping::test_stopped_early_flag_set_when_triggered
test_p22_cut5_incremental_trainer.py::TestEarlyStopping::test_no_early_stop_without_spec
test_p22_cut5_incremental_trainer.py::TestTrainingReducesLoss::test_loss_decreases_after_training
test_p22_cut5_incremental_trainer.py::TestTrainingReducesLoss::test_accuracy_is_non_negative
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_raises_on_empty_dataset
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_raises_without_program_and_non_p4_params
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_p4_mode_detected_when_w1_b1_present
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_candidate_metrics_epochs_run_matches_result
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_candidate_stopped_early_flag_matches_result
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_deterministic_with_same_seed
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_different_seeds_may_produce_different_results
test_p22_cut5_incremental_trainer.py::TestMiscellaneous::test_raises_on_unsupported_training_method
test_p22_cut5_incremental_trainer.py::TestReplayBufferAlias::test_replay_buffer_accepted_as_method
test_p22_cut5_incremental_trainer.py::TestReplayBufferAlias::test_replay_buffer_produces_incremental_finetune_source
test_p22_cut5_incremental_trainer.py::test_no_recibe_un_split_declarado
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_returns_approval_gate_report
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_report_has_correct_candidate_id
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_report_has_correct_baseline_id
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_report_has_holdout_samples_count
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_report_has_evaluated_at
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_baseline_and_candidate_metrics_are_holdout_metrics
test_p22_cut6_approval_gate.py::TestApprovalGateReportShape::test_regression_guard_result_in_report
test_p22_cut6_approval_gate.py::TestAutomaticPass::test_automatic_pass_when_candidate_better_and_no_human_required
test_p22_cut6_approval_gate.py::TestAutomaticPass::test_passed_property_true_for_automatic_pass
test_p22_cut6_approval_gate.py::TestAutomaticPass::test_no_pending_approval_for_automatic_pass
test_p22_cut6_approval_gate.py::TestAutomaticPass::test_candidate_accuracy_exceeds_baseline
test_p22_cut6_approval_gate.py::TestRejection::test_rejects_when_candidate_worse_and_strict_guard
test_p22_cut6_approval_gate.py::TestRejection::test_passed_false_when_rejected
test_p22_cut6_approval_gate.py::TestRejection::test_rejection_reasons_not_empty
test_p22_cut6_approval_gate.py::TestRejection::test_regression_guard_passed_false_when_rejected
test_p22_cut6_approval_gate.py::TestRejection::test_no_pending_approval_when_rejected
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_human_when_guard_passes_and_human_required
test_p22_cut6_approval_gate.py::TestHumanApproval::test_passed_true_for_pending_human
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_approval_not_none_when_human_required
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_approval_has_candidate_id
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_approval_has_approval_token
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_approval_hmac_token_when_signing_key_provided
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_approval_status_is_pending_by_default
test_p22_cut6_approval_gate.py::TestHumanApproval::test_approve_pending_approval_sets_decision_fields
test_p22_cut6_approval_gate.py::TestHumanApproval::test_pending_approval_expires_at_set_when_timeout_declared
test_p22_cut6_approval_gate.py::TestHumanApproval::test_rejected_even_with_human_approval_when_guard_fails
test_p22_cut6_approval_gate.py::TestHoldoutMetrics::test_perfect_ps_achieves_high_accuracy
test_p22_cut6_approval_gate.py::TestHoldoutMetrics::test_metrics_loss_is_non_negative
test_p22_cut6_approval_gate.py::TestHoldoutMetrics::test_per_label_metrics_present_for_classification
test_p22_cut6_approval_gate.py::TestHoldoutMetrics::test_holdout_metrics_samples_count_correct
test_p22_cut6_approval_gate.py::TestHoldoutMetrics::test_loss_metric_guard
test_p22_cut6_approval_gate.py::TestHoldoutMetrics::test_empty_holdout_does_not_raise
test_p22_cut6_approval_gate.py::TestNonP4Rejection::test_raises_for_non_p4_candidate
test_p22_cut6_approval_gate.py::TestNonP4Rejection::test_raises_for_non_p4_baseline
test_p22_cut7_versioning.py::TestPromoteBasics::test_returns_versioning_result
test_p22_cut7_versioning.py::TestPromoteBasics::test_new_version_is_v1_1
test_p22_cut7_versioning.py::TestPromoteBasics::test_previous_version_is_base_version
test_p22_cut7_versioning.py::TestPromoteBasics::test_registry_name_in_result
test_p22_cut7_versioning.py::TestPromoteBasics::test_entry_hash_is_non_empty
test_p22_cut7_versioning.py::TestPromoteBasics::test_pushed_at_matches_now
test_p22_cut7_versioning.py::TestPromoteBasics::test_parent_parameter_set_id_in_result
test_p22_cut7_versioning.py::TestPromoteBasics::test_candidate_parameter_set_id_in_result
test_p22_cut7_versioning.py::TestRegistryState::test_new_version_retrievable_from_registry
test_p22_cut7_versioning.py::TestRegistryState::test_current_tag_updated_to_new_version
test_p22_cut7_versioning.py::TestRegistryState::test_model_hash_preserved_in_entry
test_p22_cut7_versioning.py::TestRegistryState::test_parameter_schema_hash_preserved
test_p22_cut7_versioning.py::TestRegistryState::test_entry_records_product_matrixai_version
test_p22_cut7_versioning.py::TestRegistryState::test_entry_metrics_include_parent_ps_id
test_p22_cut7_versioning.py::TestRegistryState::test_entry_metrics_include_continual_update_id
test_p22_cut7_versioning.py::TestRegistryState::test_params_json_stored_in_entry_dir
test_p22_cut7_versioning.py::TestRegistryState::test_approval_gate_report_stored_in_entry_dir
test_p22_cut7_versioning.py::TestSequentialPromotions::test_second_promotion_gives_v1_2
test_p22_cut7_versioning.py::TestSequentialPromotions::test_current_tag_follows_latest_promotion
test_p22_cut7_versioning.py::TestSequentialPromotions::test_base_version_untouched_after_promotion
test_p22_cut7_versioning.py::TestErrors::test_raises_on_failed_approval_report
test_p22_cut7_versioning.py::TestErrors::test_raises_when_no_registry_name_in_policy
test_p22_cut7_versioning.py::TestErrors::test_continual_update_id_auto_generated
test_p22_cut7_versioning.py::TestErrors::test_custom_update_id_preserved
test_p22_cut7_versioning.py::TestSecurityBinding::test_raises_when_report_candidate_mismatch
test_p22_cut7_versioning.py::TestSecurityBinding::test_raises_when_report_policy_hash_mismatch
test_p22_cut7_versioning.py::TestSecurityBinding::test_raises_on_pending_human_without_explicit_acknowledgement
test_p22_cut7_versioning.py::TestSecurityBinding::test_raises_when_acknowledged_but_pending_not_approved
test_p22_cut7_versioning.py::TestSecurityBinding::test_promotes_with_pending_human_when_acknowledged
test_p22_cut7_versioning.py::TestPendingApprovalExpiry::test_raises_when_token_expired
test_p22_cut7_versioning.py::TestPendingApprovalExpiry::test_allows_when_token_not_yet_expired
test_p22_cut7_versioning.py::TestPendingApprovalExpiry::test_allows_when_expires_at_is_none
test_p22_cut7_versioning.py::TestPendingApprovalTokenIntegrity::test_malformed_expires_at_fails_closed
test_p22_cut7_versioning.py::TestPendingApprovalTokenIntegrity::test_tampered_expires_at_invalidates_token
test_p22_cut7_versioning.py::TestSignatureRequired::test_raises_on_unsigned_token_when_signature_required
test_p22_cut7_versioning.py::TestSignatureRequired::test_allows_hmac_signed_token_when_signature_required
test_p22_cut7_versioning.py::TestSignatureRequired::test_unsigned_token_still_works_without_signature_required
test_p22_cut8_monitor.py::TestOnlineObservation::test_record_returns_observation
test_p22_cut8_monitor.py::TestOnlineObservation::test_correct_flag_true_when_prediction_matches
test_p22_cut8_monitor.py::TestOnlineObservation::test_correct_flag_false_when_prediction_wrong
test_p22_cut8_monitor.py::TestOnlineObservation::test_observation_stores_trace_id
test_p22_cut8_monitor.py::TestOnlineObservation::test_observation_stores_parameter_set_id
test_p22_cut8_monitor.py::TestOnlineObservation::test_all_observations_accumulates
test_p22_cut8_monitor.py::TestWindowMetricsShape::test_window_metrics_returns_window_metrics
test_p22_cut8_monitor.py::TestWindowMetricsShape::test_window_hours_matches_policy
test_p22_cut8_monitor.py::TestWindowMetricsShape::test_window_end_matches_now
test_p22_cut8_monitor.py::TestWindowMetricsShape::test_window_start_is_window_hours_before_now
test_p22_cut8_monitor.py::TestWindowMetricsShape::test_empty_window_gives_zero_accuracy
test_p22_cut8_monitor.py::TestWindowMetricsShape::test_samples_counts_in_window_only
test_p22_cut8_monitor.py::TestWindowFiltering::test_excludes_observations_outside_window
test_p22_cut8_monitor.py::TestWindowFiltering::test_includes_observations_inside_window
test_p22_cut8_monitor.py::TestWindowFiltering::test_boundary_observation_included
test_p22_cut8_monitor.py::TestWindowFiltering::test_mixed_in_and_out_of_window
test_p22_cut8_monitor.py::TestWindowFiltering::test_observations_in_window_helper_matches
test_p22_cut8_monitor.py::TestAccuracyComputation::test_perfect_accuracy
test_p22_cut8_monitor.py::TestAccuracyComputation::test_zero_accuracy_all_wrong
test_p22_cut8_monitor.py::TestAccuracyComputation::test_partial_accuracy
test_p22_cut8_monitor.py::TestDegradationDetection::test_degradation_detected_when_accuracy_drops
test_p22_cut8_monitor.py::TestDegradationDetection::test_no_degradation_when_accuracy_above_threshold
test_p22_cut8_monitor.py::TestDegradationDetection::test_no_degradation_without_enough_samples
test_p22_cut8_monitor.py::TestDegradationDetection::test_enough_samples_true_at_min_threshold
test_p22_cut8_monitor.py::TestDegradationDetection::test_no_degradation_when_reference_not_set
test_p22_cut8_monitor.py::TestDegradationDetection::test_actual_degradation_computed_correctly
test_p22_cut8_monitor.py::TestPerLabelMetrics::test_per_label_metrics_present_for_known_labels
test_p22_cut8_monitor.py::TestPerLabelMetrics::test_per_label_precision_recall_f1
test_p22_cut8_monitor.py::TestPerLabelMetrics::test_per_label_empty_without_labels
test_p22_cut8_monitor.py::TestParameterSetTracking::test_parameter_set_ids_collected
test_p22_cut8_monitor.py::TestParameterSetTracking::test_parameter_set_ids_deduplicated
test_p22_cut8_monitor.py::TestParameterSetTracking::test_empty_parameter_set_id_excluded
test_p22_cut8_monitor.py::TestUtility::test_clear_removes_all_observations
test_p22_cut8_monitor.py::TestUtility::test_set_reference_accuracy_updates_detection
test_p22_cut9_rollback.py::TestRollbackCheckResultShape::test_check_returns_result_instance
test_p22_cut9_rollback.py::TestRollbackCheckResultShape::test_check_fields_populated_when_triggered
test_p22_cut9_rollback.py::TestRollbackCheckResultShape::test_check_reason_is_online_degradation
test_p22_cut9_rollback.py::TestRollbackCheckResultShape::test_check_window_accuracy_is_present
test_p22_cut9_rollback.py::TestCheckNoRollback::test_no_rollback_when_auto_trigger_false
test_p22_cut9_rollback.py::TestCheckNoRollback::test_no_rollback_when_not_enough_samples
test_p22_cut9_rollback.py::TestCheckNoRollback::test_no_rollback_when_no_degradation
test_p22_cut9_rollback.py::TestCheckNoRollback::test_no_rollback_when_registry_get_fails
test_p22_cut9_rollback.py::TestCheckNoRollback::test_no_rollback_when_no_parent_ps_id
test_p22_cut9_rollback.py::TestCheckNoRollback::test_no_rollback_when_parent_version_not_found
test_p22_cut9_rollback.py::TestExecute::test_execute_returns_rollback_event
test_p22_cut9_rollback.py::TestExecute::test_execute_updates_current_tag
test_p22_cut9_rollback.py::TestExecute::test_execute_event_has_correct_versions
test_p22_cut9_rollback.py::TestExecute::test_execute_event_has_correct_trigger_reason
test_p22_cut9_rollback.py::TestExecute::test_execute_event_notification_sent_false
test_p22_cut9_rollback.py::TestExecute::test_execute_event_rollback_id_format
test_p22_cut9_rollback.py::TestSignature::test_signature_is_sha256_without_key
test_p22_cut9_rollback.py::TestSignature::test_signature_is_hmac_sha256_with_key
test_p22_cut9_rollback.py::TestSignature::test_signature_is_deterministic_for_same_inputs
test_p22_cut9_rollback.py::TestRun::test_run_returns_event_when_degraded
test_p22_cut9_rollback.py::TestRun::test_run_returns_none_when_no_degradation
test_p22_cut9_rollback.py::TestRun::test_run_tags_current_when_rollback_executed
test_p22_cut9_rollback.py::TestRun::test_run_does_not_tag_when_no_rollback
test_p22_cut9_rollback.py::TestRun::test_run_event_window_accuracy_matches_monitor
test_p22_cut9_rollback.py::TestRun::test_run_samples_in_window_in_event
test_p22_cut9_rollback.py::TestRun::test_run_uses_default_now_when_not_passed
test_p22_cut9_rollback.py::TestRollbackNotification::test_notification_fn_called_when_capability_declared
test_p22_cut9_rollback.py::TestRollbackNotification::test_notification_sent_true_when_fn_succeeds
test_p22_cut9_rollback.py::TestRollbackNotification::test_notification_sent_false_when_no_capability
test_p22_cut9_rollback.py::TestRollbackNotification::test_notification_sent_false_when_fn_raises
test_p22_cut9_rollback.py::TestRollbackNotification::test_notification_fn_not_called_when_no_rollback
test_p22_cut9_rollback.py::TestSignatureCoverage::test_notification_sent_covered_by_signature
test_p7_llm_bridge.py::TestP7LLMBridge::test_deterministic_branch_when_no_api_key
test_p7_llm_bridge.py::TestP7LLMBridge::test_fake_transport_llm_branch_accepted
test_p7_llm_bridge.py::TestP7LLMBridge::test_playground_exposes_llm_mode_field
test_p7_llm_bridge.py::TestP7LLMBridge::test_playground_supervision_source_field
test_p7_llm_bridge.py::TestP7LLMBridge::test_safety_agent_blocks_unsafe_llm_proposal
test_pack.py::TestPack::test_pack_model_rejects_invalid_params
test_pack.py::TestPack::test_pack_model_with_docker_and_params
test_pack.py::TestPack::test_pack_model_without_docker
test_parameters.py::MatrixAIParameterStoreTest::test_build_initial_parameter_set_from_backend_manifest
test_parameters.py::MatrixAIParameterStoreTest::test_cli_backend_parameters_torch_outputs_parameter_set_without_torch_dependency
test_parameters.py::MatrixAIParameterStoreTest::test_cli_backend_parameters_torch_validates_parameter_set_without_torch_dependency
test_parameters.py::MatrixAIParameterStoreTest::test_cli_init_parameters_writes_versioned_parameter_set
test_parameters.py::MatrixAIParameterStoreTest::test_cli_validate_parameters_accepts_parameter_set
test_parameters.py::MatrixAIParameterStoreTest::test_parameter_store_roundtrip
test_parameters.py::MatrixAIParameterStoreTest::test_tensor_bridge_materializes_torch_tensors
test_parameters.py::MatrixAIParameterStoreTest::test_tensor_bridge_rejects_torch_tensor_shape_mismatch
test_parameters.py::MatrixAIParameterStoreTest::test_tensor_bridge_requires_optional_torch_dependency_when_absent
test_parameters.py::MatrixAIParameterStoreTest::test_tensor_bridge_roundtrip_preserves_hashes
test_parameters.py::MatrixAIParameterStoreTest::test_tensor_bridge_validates_parameter_set_before_torch_import
test_parameters.py::MatrixAIParameterStoreTest::test_wrong_parameter_schema_fails
test_parameters.py::MatrixAIParameterStoreTest::test_wrong_parameter_value_shape_fails
test_pesos_grandes_c1_estimator.py::ParamCountExactTest::test_giant_prompt_param_count_matches_colab_observation
test_pesos_grandes_c1_estimator.py::ParamCountExactTest::test_small_network_param_count_matches_hand_formula
test_pesos_grandes_c1_estimator.py::MonotonicityTest::test_estimate_never_raises_and_is_orientative
test_pesos_grandes_c1_estimator.py::MonotonicityTest::test_json_costs_exceed_binary_costs
test_pesos_grandes_c1_estimator.py::MonotonicityTest::test_named_constants_drive_the_formula
test_pesos_grandes_c1_estimator.py::MonotonicityTest::test_vram_grows_with_batch
test_pesos_grandes_c1_estimator.py::GiantPromptColabCoherenceTest::test_estimate_matches_colab_order_of_magnitude
test_pesos_grandes_c1_estimator.py::ScalarParameterAuditTest::test_scalar_bias_counts_as_one_parameter
test_pesos_grandes_c1_estimator.py::RealBatchFromTrainingTextTest::test_batch_declared_in_training_text_is_honored
test_pesos_grandes_c1_estimator.py::RealBatchFromTrainingTextTest::test_explicit_batch_wins_over_training_text
test_pesos_grandes_c1_estimator.py::RealBatchFromTrainingTextTest::test_known_limitation_cuda_without_rows_does_not_upsize_small_batch
test_pesos_grandes_c2_trainer_state.py::ThresholdBothWaysTest::test_above_threshold_returns_state_dict_not_params
test_pesos_grandes_c2_trainer_state.py::ThresholdBothWaysTest::test_below_threshold_materializes_like_always
test_pesos_grandes_c2_trainer_state.py::ThresholdBothWaysTest::test_explicit_materialize_overrides_the_threshold
test_pesos_grandes_c2_trainer_state.py::ThresholdBothWaysTest::test_invalid_env_threshold_falls_back_to_default
test_pesos_grandes_c2_trainer_state.py::ProbeAndEvalFromStateDictTest::test_eval_from_state_dict_matches_eval_from_parameter_set
test_pesos_grandes_c2_trainer_state.py::ProbeAndEvalFromStateDictTest::test_missing_both_parameter_set_and_state_dict_raises_clean_error
test_pesos_grandes_c2_trainer_state.py::ProbeAndEvalFromStateDictTest::test_probe_from_state_dict_matches_probe_from_parameter_set
test_pesos_grandes_c2_trainer_state.py::ProbeAndEvalFromStateDictTest::test_probe_missing_both_returns_none_not_crash
test_pesos_grandes_c2_trainer_state.py::ProbeAndEvalFromStateDictTest::test_probe_torch_matches_probe_stdlib_on_small_model
test_pesos_grandes_c2_trainer_state.py::CancelStillFreesResourcesTest::test_epoch_callback_can_cancel_above_threshold
test_pesos_grandes_c2_trainer_state.py::DenseModuleStateDictHelpersTest::test_torch_module_to_parameter_set_unchanged_after_refactor
test_pesos_grandes_c3_job_tensors.py::MarkerAndFromDictTest::test_from_dict_on_marker_raises_actionable_error
test_pesos_grandes_c3_job_tensors.py::MarkerAndFromDictTest::test_from_dict_on_real_params_still_works
test_pesos_grandes_c3_job_tensors.py::MarkerAndFromDictTest::test_marker_roundtrips_and_is_detected
test_pesos_grandes_c3_job_tensors.py::JobCarriesTensorsTest::test_collapse_probed_by_torch_for_large_model
test_pesos_grandes_c3_job_tensors.py::JobCarriesTensorsTest::test_large_model_carries_marker_and_tensors_not_lists
test_pesos_grandes_c3_job_tensors.py::JobCarriesTensorsTest::test_large_model_result_without_tensors_is_json_serializable
test_pesos_grandes_c3_job_tensors.py::JobCarriesTensorsTest::test_large_model_trains_by_torch_not_stdlib_fallback
test_pesos_grandes_c3_job_tensors.py::JobCarriesTensorsTest::test_small_model_keeps_values_dict_retrocompat
test_pesos_grandes_c3_job_tensors.py::JobStatusStripsTensorsTest::test_async_job_status_has_marker_and_no_tensors
test_pesos_grandes_c3_job_tensors.py::SyncTrainEndpointResultTest::test_public_result_is_json_safe_for_large_model
test_pesos_grandes_c3_job_tensors.py::SyncTrainEndpointResultTest::test_public_result_noop_when_no_internal_keys
test_pesos_grandes_c3_job_tensors.py::SyncTrainEndpointResultTest::test_public_result_strips_the_none_state_key_for_small_model
test_pesos_grandes_c3_job_tensors.py::LargeStateRetentionEnvTest::test_invalid_retention_env_does_not_break_import
test_pesos_grandes_c3_job_tensors.py::LargeStateRetentionEnvTest::test_retention_env_parser_falls_back_for_invalid_values
test_pesos_grandes_c3_job_tensors.py::LargeStateEvictionTest::test_only_recent_large_states_are_retained
test_pesos_grandes_c4_binary_store.py::RoundTripTest::test_header_only_read_does_not_need_the_body
test_pesos_grandes_c4_binary_store.py::RoundTripTest::test_mmap_reader_matches_without_full_body_copy
test_pesos_grandes_c4_binary_store.py::RoundTripTest::test_non_float32_input_is_coerced
test_pesos_grandes_c4_binary_store.py::RoundTripTest::test_write_read_gives_identical_tensors
test_pesos_grandes_c4_binary_store.py::RoundTripTest::test_writer_requires_model_and_schema_bindings
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_flipped_byte_in_body_is_detected
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_inconsistent_shape_vs_nbytes_raises_mxw_error
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_missing_file_raises_clean_error
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_nbytes_not_multiple_of_four_raises_mxw_error
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_offset_out_of_body_raises_mxw_error
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_truncated_file_raises_clean_error
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_verify_false_skips_hash_check
test_pesos_grandes_c4_binary_store.py::TamperDetectionTest::test_wrong_magic_raises_clean_error
test_pesos_grandes_c4_binary_store.py::AtomicWriteTest::test_no_tmp_files_left_after_success
test_pesos_grandes_c4_binary_store.py::AtomicWriteTest::test_rewrite_replaces_atomically
test_pesos_grandes_c4_binary_store.py::TemplateHelperParityTest::test_binary_roundtrip_materializes_identically_to_direct_json
test_pesos_grandes_c5_resume_training.py::test_initial_state_dict_is_the_starting_point_not_reinit
test_pesos_grandes_c5_resume_training.py::test_resuming_from_a_trained_state_beats_fresh_init_after_one_epoch
test_pesos_grandes_c5_resume_training.py::test_resume_that_never_improves_returns_the_starting_weights
test_pesos_grandes_c5_resume_training.py::test_destructive_resume_does_not_return_worse_weights_than_start
test_pesos_grandes_c5_resume_training.py::test_fresh_training_keeps_epoch_ge_1_semantics
test_pesos_grandes_c5_resume_training.py::test_initial_state_dict_shapes_come_from_the_tensors_not_the_template
test_pesos_grandes_c6_onnx_size_limit.py::TestOnnxSizeLimit::test_bundle_no_longer_blocked_uses_external_data
test_pesos_grandes_c6_onnx_size_limit.py::TestOnnxSizeLimit::test_estimator_failure_fails_open_no_external_data
test_pesos_grandes_c6_onnx_size_limit.py::TestOnnxSizeLimit::test_export_proceeds_when_estimate_is_under_limit
test_pesos_grandes_c6_onnx_size_limit.py::TestOnnxSizeLimit::test_oversized_export_uses_external_data_instead_of_blocking
test_pesos_grandes_c6_onnx_size_limit.py::TestOnnxSizeLimit::test_wasm_still_blocks_oversized_models_with_clear_error
test_pesos_grandes_c7_audit_streaming.py::TestStreamingExternalExport::test_graph_only_never_reads_body
test_pesos_grandes_c7_audit_streaming.py::TestStreamingExternalExport::test_streamed_offsets_match_and_ort_equals_torch
test_pesos_grandes_c7_audit_streaming.py::TestStreamingExternalExport::test_wrong_model_hash_rejected
test_pesos_grandes_c7_audit_streaming.py::TestStreamMxwTensor::test_stream_matches_raw_bytes
test_pesos_grandes_c7b_external_data.py::TestStateDictExport::test_composite_program_rejects_state_dict
test_pesos_grandes_c7b_external_data.py::TestStateDictExport::test_forced_external_data_still_correct_with_ort
test_pesos_grandes_c7b_external_data.py::TestStateDictExport::test_missing_hashes_rejected
test_pesos_grandes_c7b_external_data.py::TestStateDictExport::test_state_dict_export_matches_classic_parameter_set_path
test_pesos_grandes_c7b_external_data.py::TestStateDictExport::test_state_dict_export_never_calls_tolist
test_pesos_grandes_c7b_external_data.py::TestStateDictExport::test_wrong_model_hash_rejected
test_playground.py::MatrixAIPlaygroundTest::test_diag_stdout_requires_debug_one_but_always_logs_to_file
test_playground.py::MatrixAIPlaygroundTest::test_invalid_manifest_blocks_analysis_result
test_playground.py::MatrixAIPlaygroundTest::test_invalid_mode_is_reported_without_exception
test_playground.py::MatrixAIPlaygroundTest::test_missing_training_csv_blocks_analysis_result
test_playground.py::MatrixAIPlaygroundTest::test_mxai_analysis_connects_real_training_artifacts
test_playground.py::MatrixAIPlaygroundTest::test_mxai_analysis_exposes_backend_contract
test_playground.py::MatrixAIPlaygroundTest::test_mxai_analysis_summarizes_evaluation_report
test_playground.py::MatrixAIPlaygroundTest::test_mxai_analysis_supports_typed_domain_example
test_playground.py::MatrixAIPlaygroundTest::test_playground_html_contains_guided_demo_controls
test_playground.py::MatrixAIPlaygroundTest::test_prompt_analysis_returns_full_pipeline_artifacts
test_playground.py::P8PlaygroundPipelineTest::test_html_contains_pipeline_view_elements
test_playground.py::P8PlaygroundPipelineTest::test_mxai_mode_has_pipeline_stages_and_artifacts
test_playground.py::P8PlaygroundPipelineTest::test_pipeline_fail_stage_marked_correctly
test_playground.py::P8PlaygroundPipelineTest::test_prompt_pipeline_stages_all_ok
test_playground.py::P8PlaygroundPipelineTest::test_prompt_result_has_artifacts_with_source
test_playground.py::P8PlaygroundPipelineTest::test_prompt_result_has_pipeline_stages
test_playground.py::P9TrainingLoopTest::test_cancel_job_sets_cancelled_status
test_playground.py::P9TrainingLoopTest::test_generate_training_empty_mxai_returns_error
test_playground.py::P9TrainingLoopTest::test_generate_training_returns_mxtrain_and_template
test_playground.py::P9TrainingLoopTest::test_get_job_status_returns_status_and_epochs
test_playground.py::P9TrainingLoopTest::test_get_job_status_unknown_job
test_playground.py::P9TrainingLoopTest::test_html_contains_p9_train_elements
test_playground.py::P9TrainingLoopTest::test_playground_run_with_params_uses_trained_weights
test_playground.py::P9TrainingLoopTest::test_run_playground_training_caps_epochs
test_playground.py::P9TrainingLoopTest::test_run_playground_training_returns_backend_field
test_playground.py::P9TrainingLoopTest::test_run_playground_training_returns_epoch_trace
test_playground.py::P9TrainingLoopTest::test_run_playground_training_returns_evaluation_report
test_playground.py::P9TrainingLoopTest::test_run_playground_training_returns_params_best
test_playground.py::P9TrainingLoopTest::test_run_playground_training_seed_controla_los_pesos_iniciales
test_playground.py::P9TrainingLoopTest::test_run_playground_training_sin_seed_explicita_sigue_dando_lo_de_siempre
test_playground.py::P9TrainingLoopTest::test_submit_blocks_when_job_already_running
test_playground.py::P9TrainingLoopTest::test_submit_training_job_returns_job_id
test_playground.py::P9TrainingLoopTest::test_validate_csv_ok_with_real_data
test_playground.py::P9TrainingLoopTest::test_validate_csv_rejects_invalid_training_text
test_playground.py::P9TrainingLoopTest::test_validate_csv_rejects_oversized
test_playground.py::C9DenseBinaryE2ETest::test_generate_synthetic_dataset_probability_target
test_playground.py::C9DenseBinaryE2ETest::test_get_prediction_kind_returns_network_call
test_playground.py::C9DenseBinaryE2ETest::test_run_playground_training_dense_binary_best_epoch_in_range
test_playground.py::C9DenseBinaryE2ETest::test_run_playground_training_dense_binary_produces_epochs
test_playground.py::C9DenseBinaryE2ETest::test_submit_training_job_dense_binary_completes
test_playground.py::C9DenseBinaryE2ETest::test_validate_csv_with_synthetic_probability_data
test_playground_api.py::TestPlaygroundPublicAPI::test_aliases_are_the_same_object_as_core
test_playground_api.py::TestPlaygroundPublicAPI::test_all_lists_every_alias
test_playground_api.py::TestPlaygroundPublicAPI::test_every_symbol_present_and_callable
test_playground_api.py::TestPlaygroundPublicAPI::test_safe_float_behaviour_through_public_api
test_pr4_c1_deployment.py::TestPackBasic::test_copies_model_file
test_pr4_c1_deployment.py::TestPackBasic::test_copies_framework_directory
test_pr4_c1_deployment.py::TestPackBasic::test_no_docker_files_when_flag_absent
test_pr4_c1_deployment.py::TestPackBasic::test_returns_1_for_missing_model
test_pr4_c1_deployment.py::TestDockerArtifacts::test_generates_dockerfile
test_pr4_c1_deployment.py::TestDockerArtifacts::test_generates_compose
test_pr4_c1_deployment.py::TestDockerArtifacts::test_generates_env_example
test_pr4_c1_deployment.py::TestDockerArtifacts::test_returns_0_on_success
test_pr4_c1_deployment.py::TestDockerfileContent::test_uses_python311_slim
test_pr4_c1_deployment.py::TestDockerfileContent::test_has_healthcheck
test_pr4_c1_deployment.py::TestDockerfileContent::test_exposes_port_8000
test_pr4_c1_deployment.py::TestDockerfileContent::test_cmd_includes_model_filename
test_pr4_c1_deployment.py::TestDockerfileContent::test_cmd_includes_host_0000
test_pr4_c1_deployment.py::TestDockerfileContent::test_no_hardcoded_api_key
test_pr4_c1_deployment.py::TestDockerfileContent::test_copies_matrixai_framework
test_pr4_c1_deployment.py::TestDockerfileContent::test_copies_model_file
test_pr4_c1_deployment.py::TestDockerfileContent::test_params_not_copied_when_absent
test_pr4_c1_deployment.py::TestDockerfileWithParams::test_copies_params_file
test_pr4_c1_deployment.py::TestDockerfileWithParams::test_cmd_includes_params_flag
test_pr4_c1_deployment.py::TestComposeContent::test_has_service_definition
test_pr4_c1_deployment.py::TestComposeContent::test_uses_env_file
test_pr4_c1_deployment.py::TestComposeContent::test_exposes_port_8000
test_pr4_c1_deployment.py::TestComposeContent::test_has_healthcheck
test_pr4_c1_deployment.py::TestComposeContent::test_has_restart_policy
test_pr4_c1_deployment.py::TestComposeContent::test_has_registry_volume
test_pr4_c1_deployment.py::TestComposeContent::test_has_build_directive
test_pr4_c1_deployment.py::TestEnvExample::test_documents_api_key
test_pr4_c1_deployment.py::TestEnvExample::test_documents_signing_key
test_pr4_c1_deployment.py::TestEnvExample::test_documents_allow_real_actions
test_pr4_c1_deployment.py::TestEnvExample::test_documents_registry_signing_key
test_pr4_c1_deployment.py::TestEnvExample::test_allow_real_actions_defaults_false
test_pr4_c1_deployment.py::TestEnvExample::test_no_real_secret_values
test_pr4_c1_deployment.py::TestAllowRealActionsEnvVar::test_env_var_true_enables_real_actions
test_pr4_c1_deployment.py::TestAllowRealActionsEnvVar::test_env_var_false_leaves_flag_false
test_pr4_c1_deployment.py::TestAllowRealActionsEnvVar::test_env_var_accepts_1_as_true
test_pr4_c1_deployment.py::TestAllowRealActionsEnvVar::test_explicit_flag_true_overrides_env_false
test_pr4_c2_observability.py::TestMetricsEndpoint::test_returns_200
test_pr4_c2_observability.py::TestMetricsEndpoint::test_content_type_prometheus
test_pr4_c2_observability.py::TestMetricsEndpoint::test_no_auth_required
test_pr4_c2_observability.py::TestMetricsEndpoint::test_contains_help_lines
test_pr4_c2_observability.py::TestMetricsEndpoint::test_contains_type_lines
test_pr4_c2_observability.py::TestMetricNames::test_requests_total_present
test_pr4_c2_observability.py::TestMetricNames::test_requests_successful_present
test_pr4_c2_observability.py::TestMetricNames::test_requests_failed_present
test_pr4_c2_observability.py::TestMetricNames::test_requests_rate_limited_present
test_pr4_c2_observability.py::TestMetricNames::test_items_processed_present
test_pr4_c2_observability.py::TestMetricNames::test_last_request_duration_present
test_pr4_c2_observability.py::TestMetricNames::test_uptime_seconds_present
test_pr4_c2_observability.py::TestMetricNames::test_project_label_present
test_pr4_c2_observability.py::TestMetricValues::test_uptime_positive
test_pr4_c2_observability.py::TestMetricValues::test_requests_total_increments
test_pr4_c2_observability.py::TestMetricValues::test_failed_increments_on_wrong_auth
test_pr4_c2_observability.py::TestDriftMetrics::test_drift_metrics_absent_without_monitor
test_pr4_c2_observability.py::TestDriftMetrics::test_drift_metrics_present_with_monitor
test_pr4_c2_observability.py::TestDriftMetrics::test_drift_accuracy_value
test_pr4_c2_observability.py::TestDriftMetrics::test_no_degradation_when_accuracy_perfect
test_pr4_c2_observability.py::TestOpenAPIMetrics::test_metrics_in_openapi
test_pr4_c2_observability.py::TestOpenAPIMetrics::test_metrics_path_has_get
test_pr4_c3_fixes.py::TestF1ReferenceAccuracy::test_reference_accuracy_read_from_params
test_pr4_c3_fixes.py::TestF1ReferenceAccuracy::test_reference_accuracy_none_when_no_params
test_pr4_c3_fixes.py::TestF1ReferenceAccuracy::test_degradation_detected_with_reference
test_pr4_c3_fixes.py::TestF1ReferenceAccuracy::test_explicit_reference_accuracy_overrides_params
test_pr4_c3_fixes.py::TestF2RollbackPersist::test_rollback_event_persisted
test_pr4_c3_fixes.py::TestF2RollbackPersist::test_status_reads_rolled_back_at_not_executed_at
test_pr4_c3_fixes.py::TestF2RollbackPersist::test_no_auto_rollback_in_runbook_en
test_pr4_c3_fixes.py::TestF3ModelInfoGauge::test_model_info_present_with_params
test_pr4_c3_fixes.py::TestF3ModelInfoGauge::test_model_info_line_value_is_1
test_pr4_c3_fixes.py::TestF3ModelInfoGauge::test_model_info_emitted_without_params
test_pr4_c3_fixes.py::TestF4DryRunCounter::test_dry_run_counter_starts_at_zero
test_pr4_c3_fixes.py::TestF4DryRunCounter::test_dry_run_counter_no_double_count
test_pr4_c4_key_rotation.py::TestKeyFingerprint::test_returns_sha256_prefix
test_pr4_c4_key_rotation.py::TestKeyFingerprint::test_length_is_7_plus_16
test_pr4_c4_key_rotation.py::TestKeyFingerprint::test_different_keys_different_fingerprints
test_pr4_c4_key_rotation.py::TestKeyFingerprint::test_same_key_same_fingerprint
test_pr4_c4_key_rotation.py::TestKeyStoreRecord::test_record_adds_entry
test_pr4_c4_key_rotation.py::TestKeyStoreRecord::test_record_returns_fingerprint
test_pr4_c4_key_rotation.py::TestKeyStoreRecord::test_record_is_idempotent
test_pr4_c4_key_rotation.py::TestKeyStoreRecord::test_record_entry_is_active
test_pr4_c4_key_rotation.py::TestKeyStoreRecord::test_record_sets_purpose
test_pr4_c4_key_rotation.py::TestKeyStoreRetire::test_retire_records_key
test_pr4_c4_key_rotation.py::TestKeyStoreRetire::test_retire_sets_rotated_at
test_pr4_c4_key_rotation.py::TestKeyStoreRetire::test_retire_already_recorded_key
test_pr4_c4_key_rotation.py::TestKeyStoreRetire::test_retire_returns_fingerprint
test_pr4_c4_key_rotation.py::TestKeyStoreLookup::test_find_by_fingerprint
test_pr4_c4_key_rotation.py::TestKeyStoreLookup::test_find_by_fingerprint_missing
test_pr4_c4_key_rotation.py::TestKeyStoreLookup::test_keys_for_purpose_action
test_pr4_c4_key_rotation.py::TestKeyStoreLookup::test_keys_for_purpose_registry
test_pr4_c4_key_rotation.py::TestKeyStorePersistence::test_save_and_reload
test_pr4_c4_key_rotation.py::TestKeyStorePersistence::test_history_file_permissions
test_pr4_c4_key_rotation.py::TestKeyStorePersistence::test_load_nonexistent_returns_empty
test_pr4_c4_key_rotation.py::TestKeyStorePersistence::test_json_is_valid
test_pr4_c4_key_rotation.py::TestVerifyActionTraceWithKeystore::test_verifies_with_current_key
test_pr4_c4_key_rotation.py::TestVerifyActionTraceWithKeystore::test_fails_with_wrong_key
test_pr4_c4_key_rotation.py::TestVerifyActionTraceWithKeystore::test_verifies_with_historical_key_after_rotation
test_pr4_c4_key_rotation.py::TestVerifyActionTraceWithKeystore::test_fails_when_key_not_in_history
test_pr4_c4_key_rotation.py::TestVerifyActionTraceWithKeystore::test_verify_action_trace_with_keystore_helper
test_pr4_c4_key_rotation.py::TestVerifyActionTraceWithKeystore::test_unsigned_trace_returns_false
test_pr4_c4_key_rotation.py::TestVerifyRegistryEntryWithKeystore::test_verifies_with_current_key
test_pr4_c4_key_rotation.py::TestVerifyRegistryEntryWithKeystore::test_verifies_via_fingerprint_lookup
test_pr4_c4_key_rotation.py::TestVerifyRegistryEntryWithKeystore::test_fails_with_wrong_key_and_empty_store
test_pr4_c4_key_rotation.py::TestVerifyRegistryEntryWithKeystore::test_verify_entry_signature_with_keystore_helper
test_pr4_c4_key_rotation.py::TestCLIKeysRotate::test_rotate_records_key_in_history
test_pr4_c4_key_rotation.py::TestCLIKeysRotate::test_rotate_marks_key_as_retired
test_pr4_c4_key_rotation.py::TestCLIKeysRotate::test_rotate_prints_next_steps
test_pr4_c4_key_rotation.py::TestCLIKeysRotate::test_rotate_without_key_fails
test_pr4_c4_key_rotation.py::TestCLIKeysRotate::test_rotate_explicit_key_flag
test_pr4_c4_key_rotation.py::TestCLIKeysList::test_list_shows_fingerprints
test_pr4_c4_key_rotation.py::TestCLIKeysList::test_list_shows_retired_status
test_pr4_c4_key_rotation.py::TestCLIKeysList::test_list_json_output
test_pr4_c4_key_rotation.py::TestCLIKeysList::test_list_empty_store
test_pr4_c4_key_rotation.py::TestKeyStoreDefaultPath::test_uses_env_var_when_set
test_pr4_c4_key_rotation.py::TestKeyStoreDefaultPath::test_uses_registry_path_when_given
test_pr4_c5_server_hardening.py::TestRateLimiter::test_allows_up_to_limit
test_pr4_c5_server_hardening.py::TestRateLimiter::test_blocks_at_limit
test_pr4_c5_server_hardening.py::TestRateLimiter::test_different_ips_independent
test_pr4_c5_server_hardening.py::TestRateLimiter::test_disabled_at_zero
test_pr4_c5_server_hardening.py::TestRateLimiter::test_negative_also_disabled
test_pr4_c5_server_hardening.py::TestRateLimiter::test_thread_safe
test_pr4_c5_server_hardening.py::TestRateLimiter::test_window_allows_after_expiry
test_pr4_c5_server_hardening.py::TestAuth::test_bearer_token_accepted
test_pr4_c5_server_hardening.py::TestAuth::test_x_api_key_accepted
test_pr4_c5_server_hardening.py::TestAuth::test_no_auth_returns_401
test_pr4_c5_server_hardening.py::TestAuth::test_wrong_bearer_returns_401
test_pr4_c5_server_hardening.py::TestAuth::test_wrong_x_api_key_returns_401
test_pr4_c5_server_hardening.py::TestAuth::test_health_no_auth_returns_200
test_pr4_c5_server_hardening.py::TestRateLimitingIntegration::test_first_two_requests_allowed
test_pr4_c5_server_hardening.py::TestRateLimitingIntegration::test_third_request_returns_429
test_pr4_c5_server_hardening.py::TestRateLimitingIntegration::test_disabled_rate_limit_never_blocks
test_pr4_c5_server_hardening.py::TestRateLimitingIntegration::test_health_not_rate_limited
test_pr4_c5_server_hardening.py::TestCORSWildcard::test_cors_wildcard_on_health
test_pr4_c5_server_hardening.py::TestCORSWildcard::test_cors_wildcard_on_predict
test_pr4_c5_server_hardening.py::TestCORSSpecificOrigin::test_matching_origin_echoed
test_pr4_c5_server_hardening.py::TestCORSSpecificOrigin::test_vary_header_present
test_pr4_c5_server_hardening.py::TestCORSSpecificOrigin::test_non_matching_origin_omits_acao_header
test_pr4_c5_server_hardening.py::TestCORSPreflight::test_options_returns_204
test_pr4_c5_server_hardening.py::TestCORSPreflight::test_options_allows_methods
test_pr4_c5_server_hardening.py::TestCORSPreflight::test_options_allows_auth_headers
test_pr4_c5_server_hardening.py::TestCORSPreflight::test_options_max_age_set
test_pr4_c5_server_hardening.py::TestServeModelSignature::test_accepts_rate_limit_param
test_pr4_c5_server_hardening.py::TestServeModelSignature::test_accepts_cors_origins_param
test_pr4_c5_server_hardening.py::TestServeModelSignature::test_rate_limit_default_is_none
test_pr4_c5_server_hardening.py::TestServeModelSignature::test_cors_origins_default_is_none
test_pr4_c5_server_hardening.py::TestCLIHardeningArgs::test_rate_limit_in_help
test_pr4_c5_server_hardening.py::TestCLIHardeningArgs::test_cors_origin_in_help
test_pr4_c5_server_hardening.py::TestCLIHardeningArgs::test_matrixai_rate_limit_env_mentioned
test_pr4_c5_server_hardening.py::TestCLIHardeningArgs::test_matrixai_cors_origins_env_mentioned
test_pr4_c5_server_hardening.py::TestEnvVarConfig::test_rate_limit_env_var
test_pr4_c5_server_hardening.py::TestEnvVarConfig::test_cors_origins_env_var
test_pr4_c5_server_hardening.py::TestEnvVarConfig::test_metrics_tracks_rate_limited
test_pr5_c3_distribution.py::TestPR5C3DistributionScaffolding::test_scaffold_accepts_absolute_project_path
test_pr5_c3_distribution.py::TestPR5C3DistributionScaffolding::test_scaffold_accepts_nested_relative_project_path
test_pr5_c6_api.py::TestVersionedAliases::test_health_v1_returns_ok_true
test_pr5_c6_api.py::TestVersionedAliases::test_health_v1_schema_has_ok_field
test_pr5_c6_api.py::TestVersionedAliases::test_unknown_v1_route_returns_404_with_schema
test_pr5_c6_api.py::TestAuthScopes::test_write_key_accepted_on_read_endpoint
test_pr5_c6_api.py::TestAuthScopes::test_read_key_accepted_on_read_endpoint
test_pr5_c6_api.py::TestAuthScopes::test_read_key_rejected_on_write_endpoint
test_pr5_c6_api.py::TestAuthScopes::test_no_key_rejected
test_pr5_c6_api.py::TestAuthScopes::test_wrong_key_rejected_on_predict_alias
test_pr5_c6_api.py::TestAuthScopes::test_v1_execute_action_no_contract_has_code
test_pr5_c6_api.py::TestAuthScopes::test_v1_feedback_no_monitor_has_code
test_pr5_c6_api.py::TestAuthScopes::test_v1_feedback_read_key_rejected
test_pr5_c6_api.py::TestErrorSchema::test_not_found_has_full_schema
test_pr5_c6_api.py::TestErrorSchema::test_registry_not_loaded_has_full_schema
test_pr5_c6_api.py::TestErrorSchema::test_push_no_registry_has_full_schema
test_pr5_c6_api.py::TestErrorSchema::test_unauthorized_has_full_schema
test_pr5_c6_api.py::TestRegistryHTTP::test_list_returns_ok_true
test_pr5_c6_api.py::TestRegistryHTTP::test_list_contains_registered_model
test_pr5_c6_api.py::TestRegistryHTTP::test_list_pagination_fields_present
test_pr5_c6_api.py::TestRegistryHTTP::test_show_returns_model_data
test_pr5_c6_api.py::TestRegistryHTTP::test_show_not_found_returns_404
test_pr5_c6_api.py::TestRegistryHTTP::test_tag_write_scope_succeeds
test_pr5_c6_api.py::TestRegistryHTTP::test_verify_success
test_pr5_c6_api.py::TestRegistryHTTP::test_tags_list
test_pr5_c6_api.py::TestRegistryHTTP::test_tags_list_unknown_model_returns_empty
test_pr5_c6_api.py::TestRegistryHTTP::test_push_missing_run_dir_returns_400
test_pr5_c6_api.py::TestLegacyRoutes::test_legacy_health_still_works
test_pr5_c6_api.py::TestLegacyRoutes::test_legacy_predict_still_works
test_pr5_c6_api.py::TestLegacyRoutes::test_v1_predict_has_ok_envelope
test_pr5_c6_api.py::TestLegacyRoutes::test_v1_predict_error_has_code
test_pr5_c6_api.py::TestLegacyRoutes::test_v1_openapi_has_v1_routes
test_pr5_c6_api.py::TestRegistryPredictPull::test_registry_predict_returns_ok
test_pr5_c6_api.py::TestRegistryPredictPull::test_registry_pull_returns_model_text
test_pr5_c6_api.py::TestRegistryPredictPull::test_registry_pull_not_found
test_provider_sintetico_columna_derivada.py::ColumnaDerivada::test_el_ruido_separa_la_derivada_de_su_recta_pero_no_la_desliga
test_provider_sintetico_columna_derivada.py::ColumnaDerivada::test_la_relacion_se_cumple_en_TODAS_las_filas
test_provider_sintetico_columna_derivada.py::ColumnaDerivada::test_sigue_siendo_determinista_por_seed
test_provider_sintetico_columna_derivada.py::ColumnaDerivada::test_sin_ruido_no_se_toca_el_valor
test_provider_sintetico_columna_derivada.py::ColumnaDerivada::test_y_las_dos_columnas_VARIAN
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_apuntarse_a_si_misma_no_vale
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_faltan_escala_o_desplazamiento
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_lo_de_siempre_sigue_funcionando
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_un_origen_declarado_DESPUES_no_vale
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_un_origen_que_no_existe_no_vale
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_un_ruido_negativo_no_vale
test_provider_sintetico_columna_derivada.py::ConfiguracionesQueSeRECHAZAN::test_una_config_invalida_NO_genera_csv
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_el_reparto_no_deja_ninguna_clase_VACIA
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_etiquetas_repetidas_se_rechazan
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_las_etiquetas_tienen_que_ser_UNA_MAS_que_los_cortes
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_los_cortes_desordenados_se_RECHAZAN
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_salen_las_TRES_clases
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_un_origen_posterior_se_rechaza
test_provider_sintetico_columna_derivada.py::EtiquetaDerivada::test_y_la_clase_DEPENDE_de_la_entrada
test_provider_sintetico_columna_derivada.py::UnaSerieConMEMORIA::test_recorre_TODO_su_rango
test_provider_sintetico_columna_derivada.py::UnaSerieConMEMORIA::test_sigue_siendo_determinista
test_provider_sintetico_columna_derivada.py::UnaSerieConMEMORIA::test_un_periodo_no_positivo_se_rechaza
test_provider_sintetico_columna_derivada.py::UnaSerieConMEMORIA::test_un_valor_se_parece_al_SIGUIENTE
test_provider_sintetico_columna_derivada.py::UnaSerieConMEMORIA::test_una_amplitud_de_CERO_se_rechaza
test_rangos_de_train_nucleo.py::test_T1_extremos_solo_en_la_validacion_no_cambian_nada_REGRESION
test_rangos_de_train_nucleo.py::test_T1_extremos_del_objetivo_solo_en_validacion_misma_traza_de_train_loss
test_rangos_de_train_nucleo.py::test_T1_paridad_si_la_validacion_no_se_sale_los_rangos_son_los_del_csv_entero
test_rangos_de_train_nucleo.py::test_T1b_objetivos_nulos_intercalados_la_particion_es_la_de_las_filas_CON_objetivo
test_rangos_de_train_nucleo.py::test_T1b_el_tamano_que_ve_el_generador_es_el_de_las_filas_CON_objetivo
test_rangos_de_train_nucleo.py::test_T2_con_tramo_de_prueba_los_extremos_de_la_prueba_no_cuentan
test_rangos_de_train_nucleo.py::test_T2_un_split_invalido_se_rechaza_con_el_parser_del_mxtrain
test_rangos_de_train_nucleo.py::test_parse_split_line_es_el_parser_del_mxtrain_y_la_constante_es_la_que_se_escribe
test_rangos_de_train_nucleo.py::test_T3_sin_extremos_fuera_de_train_todo_es_como_con_el_csv_entero[regresion]
test_rangos_de_train_nucleo.py::test_T3_sin_extremos_fuera_de_train_todo_es_como_con_el_csv_entero[clasificacion]
test_rangos_de_train_nucleo.py::test_T3_sin_extremos_fuera_de_train_todo_es_como_con_el_csv_entero[compuesta]
test_rangos_de_train_nucleo.py::test_T3_sin_extremos_fuera_de_train_todo_es_como_con_el_csv_entero[nulos]
test_rangos_de_train_nucleo.py::test_T3_sin_extremos_fuera_de_train_todo_es_como_con_el_csv_entero[objetivo_entero]
test_rangos_de_train_nucleo.py::test_T3_temporal_sin_extremos_fuera_de_train_los_rangos_son_los_del_csv_entero
test_rangos_de_train_nucleo.py::test_T5_las_propuestas_reenviadas_sin_tocar_son_aceptacion_y_salen_los_de_train
test_rangos_de_train_nucleo.py::test_T5_sin_el_flag_el_override_gana_siempre_invariante_8
test_rangos_de_train_nucleo.py::test_T5_una_correccion_se_conserva_y_una_edicion_a_medias_conserva_lo_editado
test_rangos_de_train_nucleo.py::test_T5_un_extremo_que_degeneraria_el_par_se_usa_tal_como_llego
test_rangos_de_train_nucleo.py::test_T5_temporal_overrides_crudos_y_retardos_con_la_propuesta_de_su_origen
test_rangos_de_train_nucleo.py::test_T5_temporal_el_objetivo_desplazado_se_compara_con_la_propuesta_de_su_columna_cruda
test_rangos_de_train_nucleo.py::test_T6_el_objetivo_no_se_recorta_y_las_entradas_si
test_rangos_de_train_nucleo.py::test_T6_entrenar_sin_recortar_el_objetivo_cambia_la_perdida_de_validacion_y_se_declara
test_rangos_de_train_nucleo.py::test_T6_el_caso_ordenado_sin_dominio_declarado_da_la_cifra_honrada
test_rangos_de_train_nucleo.py::test_I1_torch_kelvin_ordenado_elige_la_epoca_de_siempre_y_publica_la_cifra_honrada[42]
test_rangos_de_train_nucleo.py::test_I1_torch_kelvin_ordenado_elige_la_epoca_de_siempre_y_publica_la_cifra_honrada[1]
test_rangos_de_train_nucleo.py::test_I1_stdlib_kelvin_ordenado_elige_con_las_filas_alcanzables[0]
test_rangos_de_train_nucleo.py::test_I1_stdlib_kelvin_ordenado_elige_con_las_filas_alcanzables[9]
test_rangos_de_train_nucleo.py::test_I1_datos_barajados_la_eleccion_no_cambia_nada[stdlib]
test_rangos_de_train_nucleo.py::test_I1_datos_barajados_la_eleccion_no_cambia_nada[torch]
test_rangos_de_train_nucleo.py::test_I1_si_ninguna_fila_de_validacion_es_alcanzable_se_elige_recortando
test_rangos_de_train_nucleo.py::test_I1_la_red_compuesta_elige_igual[stdlib]
test_rangos_de_train_nucleo.py::test_I1_la_red_compuesta_elige_igual[torch]
test_rangos_de_train_nucleo.py::test_I1_el_transformer_elige_igual
test_rangos_de_train_nucleo.py::test_T7_columna_sin_ningun_valor_en_train_usa_el_csv_entero_y_lo_declara
test_rangos_de_train_nucleo.py::test_T7_columna_constante_en_train_pero_no_en_el_csv_se_declara_y_avisa
test_rangos_de_train_nucleo.py::test_T7_rango_que_degenera_al_redondear_usa_el_csv_entero_y_lo_declara
test_rangos_de_train_nucleo.py::test_T7_identificador_reconsiderado_toma_el_rango_de_train
test_rangos_de_train_nucleo.py::test_T7_tipo_corregido_a_numero_toma_el_rango_de_train_con_ese_tipo
test_rangos_de_train_nucleo.py::test_T8_la_particion_temporal_y_la_legada_coinciden_en_su_train
test_rangos_de_train_nucleo.py::test_T8_generacion_temporal_con_extremos_en_el_ultimo_20_por_ciento
test_rangos_de_train_nucleo.py::test_T9_si_el_generador_escribe_otro_SPLIT_que_el_de_los_rangos_no_se_genera
test_rangos_de_train_nucleo.py::test_T9_temporal_si_el_SPLIT_por_omision_cambia_la_reescritura_temporal_no_genera
test_rangos_de_train_nucleo.py::test_por_omision_el_objetivo_SE_SIGUE_recortando_la_densa_de_los_motores_lo_hereda
test_rangos_de_train_nucleo.py::test_I1_ejemplos_para_elegir_devuelve_lo_que_dice_en_los_tres_casos
test_rangos_de_train_nucleo.py::test_I1_camino_sincrono_red_densa_elige_con_las_alcanzables_y_publica_con_todas
test_rangos_de_train_nucleo.py::test_I1_camino_sincrono_red_compuesta_elige_con_las_alcanzables_y_publica_con_todas
test_rangos_de_train_nucleo.py::test_I1_camino_asincrono_del_transformer_elige_con_las_alcanzables_y_publica_con_todas
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_LO_DICHO_EN_EL_PROMPT_MANDA
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_SIN_LLM_no_se_inventa_nada
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_el_PROMPT_viaja_como_contexto
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_las_CATEGORICAS_y_los_BOOLEANOS_quedan_fuera
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_lo_que_el_LLM_devuelva_de_MAS_se_ignora
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_se_declara_DE_DONDE_sale_cada_uno
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_se_piden_para_los_campos_SIN_rango
test_rangos_del_prompt_en_la_ruta_de_intencion.py::RangosQueElPromptNoDeclaro::test_un_nombre_GENERICO_no_tiene_dominio_que_deducir
test_rangos_del_prompt_en_la_ruta_de_intencion.py::YLaRutaEnteraLoUsa::test_un_modelo_pedido_por_prompt_SALE_con_sus_rangos
test_rangos_del_prompt_en_la_ruta_de_intencion.py::YLaRutaEnteraLoUsa::test_y_SIN_LLM_el_modelo_sale_igual_que_antes
test_receta_muerta_en_el_espacio_del_generador.py::TestUnRangoDeclaradoEnElModelo::test_la_receta_del_caso_clinico_NO_saca_el_aviso
test_receta_muerta_en_el_espacio_del_generador.py::TestUnRangoDeclaradoEnElModelo::test_un_umbral_fuera_del_rango_declarado_SIGUE_avisando
test_receta_muerta_en_el_espacio_del_generador.py::TestUnRangoDeclaradoEnElModelo::test_y_la_condicion_de_la_edad_DECIDE_de_verdad
test_receta_muerta_en_el_espacio_del_generador.py::TestUnCampoSinRangoNinguno::test_un_umbral_en_unidades_reales_esta_muerto_y_se_dice
test_receta_muerta_en_el_espacio_del_generador.py::TestUnCampoSinRangoNinguno::test_y_uno_dentro_de_0_1_esta_vivo
test_receta_muerta_en_el_espacio_del_generador.py::TestUnRangoPasadoPorLaPersona::test_un_umbral_dentro_del_rango_pasado_NO_avisa
test_receta_muerta_en_el_espacio_del_generador.py::TestUnRangoPasadoPorLaPersona::test_uno_fuera_del_rango_pasado_avisa_con_LO_QUE_ESCRIBIO_la_persona
test_receta_muerta_en_el_espacio_del_generador.py::TestLaCliLoDiceConducida::test_con_el_rango_declarado_la_edad_no_se_acusa
test_receta_muerta_en_el_espacio_del_generador.py::TestLaCliLoDiceConducida::test_y_fuera_de_el_si_en_anos
test_receta_muerta_en_el_espacio_del_generador.py::TestLosDosCaminosUsanElMismoMapa::test_la_cli_no_tiene_su_propia_copia
test_receta_muerta_en_el_espacio_del_generador.py::TestLosDosCaminosUsanElMismoMapa::test_sin_rangos_pasados_el_mapa_son_los_declarados
test_receta_muerta_en_el_espacio_del_generador.py::TestLosDosCaminosUsanElMismoMapa::test_un_rango_pasado_pisa_al_declarado
test_regresion_c59_c1_target_normalization.py::TestKelvinRegressionLearns::test_composite_route_avoids_catastrophic_collapse_with_normalized_target
test_regresion_c59_c1_target_normalization.py::TestKelvinRegressionLearns::test_el_objetivo_recortado_de_validacion_si_cuesta_la_cifra
test_regresion_c59_c1_target_normalization.py::TestKelvinRegressionLearns::test_kelvin_csv_reaches_r2_at_least_0_99
test_regresion_c59_c1_target_normalization.py::TestKelvinRegressionLearns::test_mae_rmse_are_in_domain_scale_not_normalized_space
test_regresion_c59_c1_target_normalization.py::TestKelvinRegressionLearns::test_target_range_echoed_in_job_result
test_regresion_c59_c1_target_normalization.py::TestRetrocompatWithoutTargetRange::test_classification_never_receives_a_target_range
test_regresion_c59_c1_target_normalization.py::TestRetrocompatWithoutTargetRange::test_submitting_without_target_range_does_not_error
test_regresion_c59_c2_identifier_features.py::TestKelvinCsvWorksWithoutAnyOverrides::test_generates_without_overrides
test_regresion_c59_c2_identifier_features.py::TestKelvinCsvWorksWithoutAnyOverrides::test_reconsideration_leaves_a_trace_in_provenance
test_regresion_c59_c2_identifier_features.py::TestKelvinCsvWorksWithoutAnyOverrides::test_reconsidered_feature_learns_end_to_end
test_regresion_c59_c2_identifier_features.py::TestIdentifierStillExcludedWhenRealFeaturesExist::test_id_column_excluded_when_other_features_available
test_regresion_c59_c2_identifier_features.py::TestIdentifierStillExcludedWhenRealFeaturesExist::test_no_reconsideration_trace_when_it_never_fires
test_regresion_c59_c2_identifier_features.py::TestNonNumericIdentifierStillFailsWithActionableError::test_uuid_like_identifier_alone_still_raises
test_regresion_c59_c2_identifier_features.py::TestTypeOverrideNoLongerNeedsARangeOverrideToo::test_explicit_range_override_still_wins_over_the_recomputed_one
test_regresion_c59_c2_identifier_features.py::TestTypeOverrideNoLongerNeedsARangeOverrideToo::test_type_override_alone_is_enough_for_an_identifier_column
test_regresion_c59_c3_defaults_ya_bastan.py::TestCurrentDefaultsAlreadyLearnTheCanonicalCase::test_ascending_order_multiple_seeds
test_regresion_c59_c3_defaults_ya_bastan.py::TestCurrentDefaultsAlreadyLearnTheCanonicalCase::test_fully_shuffled_file_order
test_regresion_c59_c5_export_denormalization.py::TestExportDenormalizesRegressionOutput::test_inference_spec_carries_the_target_range
test_regresion_c59_c5_export_denormalization.py::TestExportDenormalizesRegressionOutput::test_predict_denormalizes_when_range_is_present
test_regresion_c59_c5_export_denormalization.py::TestExportDenormalizesRegressionOutput::test_predict_stays_raw_without_a_target_range
test_repreparacion_c62_c3.py::TestLaRecetaSeCongela::test_el_vocabulario_efectivo_queda_congelado
test_repreparacion_c62_c3.py::TestLaRecetaSeCongela::test_la_procedencia_trae_receta_versionada
test_repreparacion_c62_c3.py::TestReproduccionExacta::test_categoricas_one_hot_se_reproducen_byte_a_byte
test_repreparacion_c62_c3.py::TestReproduccionExacta::test_no_regenera_arquitectura_ni_entrenamiento
test_repreparacion_c62_c3.py::TestReproduccionExacta::test_serie_temporal_se_reproduce_byte_a_byte
test_repreparacion_c62_c3.py::TestPoliticaDeCompatibilidad::test_categoria_nueva_es_error_nunca_amplia_el_vector
test_repreparacion_c62_c3.py::TestPoliticaDeCompatibilidad::test_columna_adicional_se_ignora_con_aviso
test_repreparacion_c62_c3.py::TestPoliticaDeCompatibilidad::test_columna_requerida_ausente_es_error
test_repreparacion_c62_c3.py::TestPoliticaDeCompatibilidad::test_el_orden_de_las_columnas_no_importa
test_repreparacion_c62_c3.py::TestPoliticaDeCompatibilidad::test_expected_columns_ata_el_resultado_al_modelo_cargado
test_repreparacion_c62_c3.py::TestVerificacionYDegradacion::test_crudo_distinto_genera_procedencia_nueva_con_referencia
test_repreparacion_c62_c3.py::TestVerificacionYDegradacion::test_el_hash_crudo_es_de_los_bytes_TAL_CUAL_llegan
test_repreparacion_c62_c3.py::TestVerificacionYDegradacion::test_legacy_sin_datos_minimos_pide_regenerar_sin_romper_el_modelo
test_repreparacion_c62_c3.py::TestVerificacionYDegradacion::test_mismo_crudo_misma_receta_y_resultado_distinto_aborta
test_repreparacion_c62_c3.py::TestVerificacionYDegradacion::test_procedencia_legacy_se_deduce_y_se_demuestra_con_el_hash
test_repreparacion_c62_c3.py::TestVerificacionYDegradacion::test_version_desconocida_aborta_por_defecto_pero_ofrece_salida
test_repreparacion_c62_c3.py::TestRecetaCorruptaOIncompatible::test_hay_preparador_registrado_para_la_version_actual
test_repreparacion_c62_c3.py::TestRecetaCorruptaOIncompatible::test_receta_con_feature_sin_nombre_interno
test_repreparacion_c62_c3.py::TestRecetaCorruptaOIncompatible::test_receta_incompleta_da_error_funcional_no_KeyError
test_repreparacion_c62_c3.py::TestRecetaCorruptaOIncompatible::test_receta_no_dict_se_rechaza
test_repreparacion_c62_c3.py::TestRecetaCorruptaOIncompatible::test_version_sin_preparador_NO_se_ejecuta_con_el_actual
test_repreparacion_c62_c3.py::TestProcedenciaDelCSVNuevo::test_el_esquema_contractual_NO_cambia
test_repreparacion_c62_c3.py::TestProcedenciaDelCSVNuevo::test_marca_de_tiempo_de_la_repreparacion
test_repreparacion_c62_c3.py::TestProcedenciaDelCSVNuevo::test_pero_SE_REGISTRA_lo_observado_ahora
test_repreparacion_c62_c3.py::TestBordesDeCSVReal::test_comas_y_saltos_entre_comillas
test_repreparacion_c62_c3.py::TestBordesDeCSVReal::test_csv_vacio_de_filas
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[Predice qu\xe9 clientes van a impagar el cr\xe9dito a partir del hist\xf3rico de 2026, priorizando no dejar escapar impagos.]
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[Predict which customers will default on their credit from the 2026 history, prioritising not letting defaults slip through.]
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[Detect hospital readmissions within 30 days based on patient history]
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[Classify loan default risk from applicant financial data]
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[Predict equipment failure from sensor readings]
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[clasifica rese\xf1as por sentimiento]
test_router_del_prompt_en_espanol.py::test_los_ejemplos_que_ofrece_el_producto_construyen_una_red[Predice si va a llover ma\xf1ana, priorizando no dejar escapar los d\xedas de lluvia.]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[predice si un cliente impaga a partir de su edad, sus ingresos y su deuda]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[clasifica los tickets de soporte por urgencia]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[estima el consumo el\xe9ctrico de una vivienda]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[detecta transacciones fraudulentas]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[identifica qu\xe9 pacientes van a reingresar]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[predicci\xf3n de impago a partir de la deuda y los ingresos]
test_router_del_prompt_en_espanol.py::test_el_imperativo_y_las_tildes_tambien_construyen_una_red[pronostica la demanda de la semana que viene]
test_router_del_prompt_en_espanol.py::test_lo_que_no_es_una_red_sigue_sin_serlo[automatiza el flujo de aprobaci\xf3n con reglas de negocio]
test_router_del_prompt_en_espanol.py::test_lo_que_no_es_una_red_sigue_sin_serlo[orquesta un pipeline de decisiones cuando ocurra un evento]
test_router_del_prompt_en_espanol.py::test_lo_que_no_es_una_red_sigue_sin_serlo[Estimado cliente, redacta una respuesta al correo de reclamaci\xf3n]
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_parses_input_fields
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_parses_labels
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_parses_network_name
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_parses_entity_as_input_name
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_parses_layers_as_relu_tuples
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_empty_text_returns_empty_dict
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_missing_labels_line_omits_key
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_invalid_layers_skipped_gracefully
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_extra_whitespace_trimmed
test_s1_c14_dense_llm_schema.py::TestParseDenseSchema::test_single_layer_works
test_s1_c14_dense_llm_schema.py::TestDenseLlmSchema::test_returns_parsed_kwargs_on_success
test_s1_c14_dense_llm_schema.py::TestDenseLlmSchema::test_uses_dense_schema_system_prompt
test_s1_c14_dense_llm_schema.py::TestDenseLlmSchema::test_returns_warning_on_llm_error
test_s1_c14_dense_llm_schema.py::TestAnalyzePlaygroundRequestWithLLM::test_neural_prompt_with_llm_uses_domain_fields
test_s1_c14_dense_llm_schema.py::TestAnalyzePlaygroundRequestWithLLM::test_neural_prompt_without_llm_uses_generic_fields
test_s1_c14_dense_llm_schema.py::TestAnalyzePlaygroundRequestWithLLM::test_llm_failure_falls_back_to_heuristic
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_parses_integer_range
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_parses_float_range
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_multiple_fields
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_ignores_inverted_range
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_ignores_non_matching_lines
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_empty_text_returns_empty_dict
test_s1_c15_llm_dataset.py::TestParseFieldRanges::test_negative_range
test_s1_c15_llm_dataset.py::TestLlmFieldRanges::test_returns_parsed_ranges_on_success
test_s1_c15_llm_dataset.py::TestLlmFieldRanges::test_uses_dataset_ranges_system_prompt
test_s1_c15_llm_dataset.py::TestLlmFieldRanges::test_returns_empty_dict_on_llm_error
test_s1_c15_llm_dataset.py::TestLlmFieldRanges::test_context_included_in_user_prompt
test_s1_c15_llm_dataset.py::TestSyntheticGeneratorFieldRanges::test_without_field_ranges_uses_default
test_s1_c15_llm_dataset.py::TestSyntheticGeneratorFieldRanges::test_field_ranges_normalized_to_slider_range
test_s1_c15_llm_dataset.py::TestSyntheticGeneratorFieldRanges::test_field_ranges_only_affect_named_fields
test_s1_c15_llm_dataset.py::TestGenerateSyntheticDatasetWithLlm::test_use_llm_false_skips_llm
test_s1_c15_llm_dataset.py::TestGenerateSyntheticDatasetWithLlm::test_use_llm_true_calls_llm_when_active
test_s1_c15_llm_dataset.py::TestGenerateSyntheticDatasetWithLlm::test_use_llm_true_but_llm_inactive_skips
test_s1_seg_security.py::TestDockerComposePortBinding::test_compose_file_exists
test_s1_seg_security.py::TestDockerComposePortBinding::test_port_bound_to_loopback
test_s1_seg_security.py::TestDockerComposePortBinding::test_no_all_interfaces_binding
test_s1_seg_security.py::TestOriginIsLocal::test_no_origin_allowed
test_s1_seg_security.py::TestOriginIsLocal::test_localhost_no_port_allowed
test_s1_seg_security.py::TestOriginIsLocal::test_localhost_with_port_allowed
test_s1_seg_security.py::TestOriginIsLocal::test_127_no_port_allowed
test_s1_seg_security.py::TestOriginIsLocal::test_127_with_port_allowed
test_s1_seg_security.py::TestOriginIsLocal::test_remote_origin_rejected
test_s1_seg_security.py::TestOriginIsLocal::test_remote_origin_with_localhost_in_path_rejected
test_s1_seg_security.py::TestOriginIsLocal::test_null_origin_rejected
test_s1_seg_security.py::TestOriginIsLocal::test_empty_string_allowed
test_s1_seg_security.py::TestTrainingTimeout::test_default_is_300
test_s1_seg_security.py::TestTrainingTimeout::test_env_var_overrides_default
test_s1_seg_security.py::TestTrainingTimeout::test_timeout_zero_disables_wall_clock_limit
test_s1_seg_security.py::TestTrainingTimeout::test_compose_passes_timeout_to_container
test_s1_seg_security.py::TestTrainingTimeout::test_env_template_documents_timeout
test_s2_identifier.py::TestExclude::test_removes_field_and_fixes_arity
test_s2_identifier.py::TestExclude::test_parses_after_exclusion
test_s2_identifier.py::TestExclude::test_noop_without_identifiers
test_s2_identifier.py::TestExclude::test_unknown_column_ignored
test_s2_identifier.py::TestExclude::test_never_removes_last_feature
test_s2_identifier.py::TestCoerce::test_coerce_dedupes_and_filters
test_s2_identifier.py::TestDatasetEndpoint::test_excludes_identifier_from_csv_and_returns_reduced_model
test_s2_identifier.py::TestDatasetEndpoint::test_no_identifiers_no_model_change
test_s2_identifier.py::TestDatasetEndpoint::test_identifier_and_category_together
test_s2_identifier.py::TestDatasetEndpoint::test_train_on_reduced_model
test_sandbox.py::MatrixAISandboxTest::test_capabilities_for_simulated_domain_calls
test_sandbox.py::MatrixAISandboxTest::test_cli_permissions_json_reports_capabilities
test_sandbox.py::MatrixAISandboxTest::test_sandbox_allows_mvp_simulated_action
test_sandbox.py::MatrixAISandboxTest::test_sandbox_blocks_external_action
test_secuencias_aviso_sin_torch.py::test_los_dos_mxai_de_prueba_son_lo_que_dicen_ser
test_secuencias_aviso_sin_torch.py::test_sin_torch_avisa_y_manda_al_paquete_de_gpu
test_secuencias_aviso_sin_torch.py::test_el_aviso_de_sin_torch_tambien_en_ingles
test_secuencias_aviso_sin_torch.py::test_backend_forzado_a_stdlib_dice_ESO_y_no_que_falte_torch
test_secuencias_aviso_sin_torch.py::test_con_torch_no_avisa_de_nada
test_secuencias_aviso_sin_torch.py::test_un_modelo_QUE_NO_ES_DE_TEXTO_nunca_avisa
test_secuencias_aviso_sin_torch.py::test_un_mxai_ilegible_no_revienta_ni_bloquea
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_ascii_roundtrip
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_accented_multibyte_roundtrip
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_emoji_roundtrip
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_empty_string
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_padding_fills_with_pad_token
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_truncation_exact_length
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_truncation_longer_text
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_truncation_mid_multibyte_char_decodes_without_crashing
test_secuencias_c1_tokenizer.py::TestEncodeBasics::test_determinism
test_secuencias_c1_tokenizer.py::TestClsToken::test_add_cls_prepends_token
test_secuencias_c1_tokenizer.py::TestClsToken::test_add_cls_reserves_one_slot_for_truncation
test_secuencias_c1_tokenizer.py::TestClsToken::test_default_no_cls
test_secuencias_c1_tokenizer.py::TestClsToken::test_decode_strips_cls_and_pad
test_secuencias_c1_tokenizer.py::TestConfig::test_config_shape_is_stable
test_secuencias_c1_tokenizer.py::TestConfig::test_vocab_size_is_256_plus_specials
test_secuencias_c1_tokenizer.py::TestConfig::test_unk_never_emitted_by_encode
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_roundtrip
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_unknown_kind
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_missing_keys
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_dict
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_contradictory_values
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_wrong_pad
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_wrong_cls
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_float_equivalent_constants[vocab_size-259.0]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_float_equivalent_constants[pad-256.0]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_float_equivalent_constants[cls-258.0]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_int_length_without_coercion[3.9]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_int_length_without_coercion[4]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_int_length_without_coercion[None]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_int_length_without_coercion[bad_length3]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_int_length_without_coercion[4.0]
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_bool_length
test_secuencias_c1_tokenizer.py::TestConfig::test_from_config_rejects_non_positive_length
test_secuencias_c1_tokenizer.py::TestValidation::test_rejects_non_positive_length[0]
test_secuencias_c1_tokenizer.py::TestValidation::test_rejects_non_positive_length[-1]
test_secuencias_c1_tokenizer.py::TestValidation::test_rejects_non_positive_length[-100]
test_secuencias_c1_tokenizer.py::TestValidation::test_rejects_non_integer_length
test_secuencias_c1_tokenizer.py::TestValidation::test_decode_ignores_out_of_range_ids
test_secuencias_c1_tokenizer.py::TestValidation::test_rejects_bool_length
test_secuencias_c1_tokenizer.py::TestValidation::test_encode_rejects_non_str_input
test_secuencias_c1_tokenizer.py::TestValidation::test_encode_rejects_non_bool_add_cls
test_secuencias_c1_tokenizer.py::TestValidation::test_encode_does_not_materialize_full_input_before_truncating
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_bare_text_defaults_length_none
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_text_with_bracket_length
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_texto_spanish_alias
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_case_insensitive
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_invalid_length_falls_back_to_none_with_warning
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_non_positive_length_falls_back_with_warning
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_text_alongside_other_field_declarations_both_parsed
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_duplicate_text_lengths_are_a_structured_conflict
test_secuencias_c2_transformer_generator.py::TestFieldSpecsText::test_identical_duplicate_text_declaration_is_harmless
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_spanish_minimal_prompt
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_english_minimal_prompt
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_length_from_prompt_respected
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_defaults_match_decision_6
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_vocab_size_is_byte_tokenizer_vocab
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_pool_mean_and_single_output_layer
test_secuencias_c2_transformer_generator.py::TestGeneratorMinimalPrompt::test_regression_task
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_mixing_text_and_tabular_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_multiple_text_fields_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_no_text_field_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_empty_prompt_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_mixing_with_bare_untyped_tabular_field_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_mixing_with_one_bare_untyped_tabular_field_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_duplicate_conflicting_declaration_text_first_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_duplicate_conflicting_declaration_scalar_first_raises_informatively
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_duplicate_text_with_different_lengths_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_length_exceeding_limit_raises
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_length_within_default_profile_limit_ok
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_length_limit_configurable_via_profile
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_length_limit_hard_in_hosted
test_secuencias_c2_transformer_generator.py::TestGeneratorErrors::test_self_referencing_variables_list_does_not_false_positive
test_secuencias_c2_transformer_generator.py::TestGeneratorM12M17::test_depth_from_prompt_sets_layers
test_secuencias_c2_transformer_generator.py::TestGeneratorM12M17::test_width_from_prompt_sets_dim
test_secuencias_c2_transformer_generator.py::TestGeneratorM12M17::test_heads_stays_a_divisor_of_dim_when_width_not_divisible
test_secuencias_c2_transformer_generator.py::TestGeneratorFieldMetadata::test_field_types_marks_text
test_secuencias_c2_transformer_generator.py::TestGeneratorFieldMetadata::test_field_seq_matches_contract_shape
test_secuencias_c2_transformer_generator.py::TestGeneratorFieldMetadata::test_is_transformer_flag
test_secuencias_c2_transformer_generator.py::TestGeneratorInvariantOne::test_input_fields_conflicting_is_ignored_with_warning
test_secuencias_c2_transformer_generator.py::TestGeneratorInvariantOne::test_input_fields_matching_the_text_field_is_silent
test_secuencias_c2_transformer_generator.py::TestGeneratorTrainingArtifacts::test_training_text_parses_and_verifies_with_matching_csv
test_secuencias_c2_transformer_generator.py::TestGeneratorTrainingArtifacts::test_training_text_uses_adam
test_secuencias_c2_transformer_generator.py::TestGeneratorTrainingArtifacts::test_dataset_template_has_one_raw_text_column
test_secuencias_c2_transformer_generator.py::TestGeneratorTrainingArtifacts::test_training_text_has_one_raw_text_column
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_text_prompt_routes_to_transformer_generator
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_exact_contract_minimal_prompt_routes_to_transformer
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_ok_true_for_a_valid_transformer_prompt
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_scalar_first_text_conflict_never_degrades_to_other_router[]
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_scalar_first_text_conflict_never_degrades_to_other_router[Clasificar rese\xf1as\n]
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_backend_parameter_errors_remain_blocking_in_mxai_mode
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_text_prompt_parses_and_typechecks
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_mixing_error_surfaces_accountable_message_not_fallback
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_transformer_warning_suppressed_when_text_used
test_secuencias_c2_transformer_generator.py::TestPlaygroundDispatch::test_transformer_generator_stage_labeled_correctly
test_secuencias_c2_transformer_generator.py::TestRegressionTabularAndSequence::test_plain_tabular_prompt_unaffected
test_secuencias_c2_transformer_generator.py::TestRegressionTabularAndSequence::test_composite_categorical_prompt_unaffected
test_secuencias_c2_transformer_generator.py::TestRegressionTabularAndSequence::test_time_series_warning_unaffected
test_secuencias_c2_transformer_generator.py::TestRegressionTabularAndSequence::test_sequence_wording_with_text_field_does_not_warn
test_secuencias_c3_text_dataset.py::TestGenerateRandomExamples::test_produces_n_examples
test_secuencias_c3_text_dataset.py::TestGenerateRandomExamples::test_deterministic_for_same_seed
test_secuencias_c3_text_dataset.py::TestGenerateRandomExamples::test_different_seed_differs
test_secuencias_c3_text_dataset.py::TestSignalToken::test_stable_per_class
test_secuencias_c3_text_dataset.py::TestSignalToken::test_distinct_between_classes
test_secuencias_c3_text_dataset.py::TestSignalToken::test_index_based_not_textual_hash
test_secuencias_c3_text_dataset.py::TestSignalToken::test_auditoria_c3_media_labels_colapsando_al_mismo_identifier_no_colisionan
test_secuencias_c3_text_dataset.py::TestGenerateTemplateExamples::test_round_robin_class_coverage
test_secuencias_c3_text_dataset.py::TestGenerateTemplateExamples::test_each_row_contains_its_class_signal_token
test_secuencias_c3_text_dataset.py::TestGenerateTemplateExamples::test_signal_token_is_always_the_first_token
test_secuencias_c3_text_dataset.py::TestGenerateTemplateExamples::test_deterministic_for_same_seed
test_secuencias_c3_text_dataset.py::TestGenerateTemplateExamples::test_no_tokenized_collisions_across_wide_range_of_small_lengths
test_secuencias_c3_text_dataset.py::TestGenerateTemplateExamples::test_impossible_disambiguation_raises_actionable_error
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_parses_matching_lines
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_case_and_whitespace_insensitive_label_match
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_lines_with_unknown_label_are_dropped
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_non_matching_lines_ignored
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_duplicate_text_not_repeated
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_auditoria_c3_media_same_text_across_classes_only_first_kept
test_secuencias_c3_text_dataset.py::TestParseLlmTextExamples::test_auditoria_c3_media_length_cap_enforced
test_secuencias_c3_text_dataset.py::TestValidateLlmTextExamples::test_sufficient_examples_pass
test_secuencias_c3_text_dataset.py::TestValidateLlmTextExamples::test_insufficient_examples_reported
test_secuencias_c3_text_dataset.py::TestValidateLlmTextExamples::test_missing_class_entirely_reported
test_secuencias_c3_text_dataset.py::TestValidateLlmTextExamples::test_auditoria_c3_media_post_tokenize_collision_reported
test_secuencias_c3_text_dataset.py::TestLlmTextExamples::test_provider_success_parses
test_secuencias_c3_text_dataset.py::TestLlmTextExamples::test_provider_error_returns_none
test_secuencias_c3_text_dataset.py::TestLlmTextExamples::test_garbage_response_parses_to_empty_pools
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_random_mode_returns_synthetic_random
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_coherent_without_llm_returns_synthetic_template
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_coherent_with_llm_success_returns_synthetic_llm_examples
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_coherent_with_llm_provider_error_falls_back_to_template_never_random
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_coherent_with_llm_insufficient_examples_falls_back_to_template
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_coherent_with_llm_tokenize_collision_falls_back_to_template
test_secuencias_c3_text_dataset.py::TestGenerateTextExamplesDispatch::test_empty_labels_raises
test_secuencias_c3_text_dataset.py::TestCSVTextDataAdapter::test_encodes_text_column_to_token_ids
test_secuencias_c3_text_dataset.py::TestCSVTextDataAdapter::test_schema_reflects_single_text_column
test_secuencias_c3_text_dataset.py::TestCSVTextDataAdapter::test_csv_data_adapter_still_encodes_floats_unaffected
test_secuencias_c3_text_dataset.py::TestVerifierAcceptsRawTextSequence::test_one_raw_text_column_ok
test_secuencias_c3_text_dataset.py::TestVerifierAcceptsRawTextSequence::test_legacy_pre_tokenized_columns_still_ok
test_secuencias_c3_text_dataset.py::TestVerifierAcceptsRawTextSequence::test_wrong_column_count_rejected
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_empty_target_rejected
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_target_outside_declared_labels_rejected
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_valid_targets_still_pass
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_same_validation_applies_via_playground_upload
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_empty_text_row_rejected_by_cli_verifier_directly
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_whitespace_only_text_row_rejected
test_secuencias_c3_text_dataset.py::TestVerifierValidatesSequenceDatasetTarget::test_legacy_pretokenized_columns_unaffected_by_text_check
test_secuencias_c3_text_dataset.py::TestResolveTransformerDatasetBoundary::test_raw_text_column_tokenized_at_load
test_secuencias_c3_text_dataset.py::TestResolveTransformerDatasetBoundary::test_legacy_pretokenized_columns_still_load
test_secuencias_c3_text_dataset.py::TestResolveTransformerDatasetBoundary::test_wrong_column_count_raises
test_secuencias_c3_text_dataset.py::TestResolveTransformerDatasetBoundary::test_raw_text_path_returns_pad_id
test_secuencias_c3_text_dataset.py::TestResolveTransformerDatasetBoundary::test_legacy_path_returns_pad_id_none
test_secuencias_c3_text_dataset.py::TestPadIdThreadedToTorchBackend::test_train_passes_pad_id_to_torch_trainer
test_secuencias_c3_text_dataset.py::TestPadIdThreadedToTorchBackend::test_evaluate_passes_pad_id_to_torch_evaluator
test_secuencias_c3_text_dataset.py::TestTextLengthOneDisambiguation::test_raw_text_at_length_one_does_not_crash
test_secuencias_c3_text_dataset.py::TestTextLengthOneDisambiguation::test_field_literally_named_t0_is_still_raw_text
test_secuencias_c3_text_dataset.py::TestTextLengthOneDisambiguation::test_legacy_pretokenized_only_reachable_above_length_one
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_random_mode_csv_has_one_text_column_and_signal_warning
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_coherent_mode_no_llm_uses_template_origin
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_coherent_mode_llm_success_uses_llm_origin
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_coherent_mode_llm_failure_falls_back_to_template_not_random
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_field_types_and_field_seq_echoed
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_binary_text_prompt_without_explicit_bracket_generates_dataset
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_rows_capped_by_profile_produces_warning
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_rows_within_profile_no_warning
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_multi_column_input_rejected
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_sequence_not_found_rejected
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_regression_target_rejected_no_labels
test_secuencias_c3_text_dataset.py::TestPlaygroundSyntheticTextDataset::test_tabular_prompt_regression_unaffected
test_secuencias_c3_text_dataset.py::TestCsvTemplateText::test_text_model_template_uses_realistic_placeholder_not_numbers
test_secuencias_c3_text_dataset.py::TestCsvTemplateText::test_dense_model_with_unrelated_sequence_gets_numeric_placeholder
test_secuencias_c3_text_dataset.py::TestValidateTextColumn::test_valid_rows_no_errors_no_warnings
test_secuencias_c3_text_dataset.py::TestValidateTextColumn::test_empty_row_is_error
test_secuencias_c3_text_dataset.py::TestValidateTextColumn::test_replacement_char_is_warning
test_secuencias_c3_text_dataset.py::TestValidateTextColumn::test_row_exceeding_length_is_warning_not_error
test_secuencias_c3_text_dataset.py::TestValidateTrainingCsvTextIntegration::test_valid_csv_ok_and_echoes_field_seq
test_secuencias_c3_text_dataset.py::TestValidateTrainingCsvTextIntegration::test_missing_text_column_rejected
test_secuencias_c3_text_dataset.py::TestValidateTrainingCsvTextIntegration::test_empty_text_row_rejected
test_secuencias_c3_text_dataset.py::TestValidateTrainingCsvTextIntegration::test_row_exceeding_length_warns_but_passes
test_secuencias_c3_text_dataset.py::TestValidateTrainingCsvTextIntegration::test_row_count_exceeding_profile_rejected
test_secuencias_c3_text_dataset.py::TestValidateTrainingCsvTextIntegration::test_field_ranges_argument_is_noop_for_text_model
test_secuencias_c3_text_dataset.py::TestSequenceRoutingPrecision::test_dense_model_with_unrelated_sequence_not_routed_to_text
test_secuencias_c3_text_dataset.py::TestSequenceRoutingPrecision::test_real_text_model_still_routed
test_secuencias_c3_text_dataset.py::TestSequenceRoutingPrecision::test_no_sequences_at_all_not_routed
test_secuencias_c3_text_dataset.py::TestSequenceRoutingPrecision::test_generate_synthetic_dataset_regression_for_plain_tabular_unaffected
test_secuencias_c4_transformer_training.py::TestDetection::test_network_is_transformer_true_for_text_model
test_secuencias_c4_transformer_training.py::TestDetection::test_network_is_transformer_false_for_dense
test_secuencias_c4_transformer_training.py::TestDetection::test_network_is_transformer_false_for_plain_composite
test_secuencias_c4_transformer_training.py::TestDetection::test_network_is_composite_also_true_for_transformer
test_secuencias_c4_transformer_training.py::TestSyncTraining::test_transformer_trains_and_learns
test_secuencias_c4_transformer_training.py::TestSyncTraining::test_transformer_exposes_classification_metrics
test_secuencias_c4_transformer_training.py::TestSyncTraining::test_transformer_regression
test_secuencias_c4_transformer_training.py::TestSyncTraining::test_transformer_backend_stdlib_override_refuses_with_actionable_error
test_secuencias_c4_transformer_training.py::TestSyncTraining::test_transformer_auto_mode_uses_torch_even_without_cuda
test_secuencias_c4_transformer_training.py::TestAsyncJob::test_async_transformer_job_done_with_metrics
test_secuencias_c4_transformer_training.py::TestAsyncJob::test_async_job_payload_never_serializes_state_dict_marker_shape
test_secuencias_c4_transformer_training.py::TestRegressionOtherArchitecturesUnaffected::test_dense_still_routes_to_dense_trainer
test_secuencias_c4_transformer_training.py::TestRegressionOtherArchitecturesUnaffected::test_plain_composite_still_routes_to_composite_trainer
test_secuencias_c5_collapse_detection.py::TestProbeCollapseTransformerTorch::test_all_zero_weights_detected_as_collapsed
test_secuencias_c5_collapse_detection.py::TestProbeCollapseTransformerTorch::test_freshly_initialized_weights_not_flagged
test_secuencias_c5_collapse_detection.py::TestProbeCollapseTransformerTorch::test_missing_both_weights_returns_none
test_secuencias_c5_collapse_detection.py::TestProbeCollapseTransformerTorch::test_state_dict_path_matches_parameter_set_path
test_secuencias_c5_collapse_detection.py::TestProbeCollapseTransformerTorch::test_zero_seq_length_returns_none
test_secuencias_c5_collapse_detection.py::TestTransformerTrainingSurfacesCollapse::test_healthy_training_reports_not_collapsed
test_secuencias_c5_collapse_detection.py::TestJobStatusExposesModelCollapsedForText::test_job_status_exposes_model_collapsed_for_text_model
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_text_encoding_with_field_seq
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_add_cls_always_false_even_for_pool_cls
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_add_cls_false_when_pool_mean
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_without_field_seq_stays_token_ids_retrocompat
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_length_mismatch_raises
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_example_input_text_validated
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_build_example_input_text_placeholder
test_secuencias_c5_export_text.py::TestInferenceSpecText::test_build_example_input_legacy_ids_unchanged
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_valid_field_seq_loads
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_field_seq_not_object_raises
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_field_seq_entry_not_object_raises
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_field_seq_missing_keys_raises
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_field_seq_length_zero_raises
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_field_seq_length_bool_raises
test_secuencias_c5_export_text.py::TestCliFieldSeqMetadata::test_field_seq_unknown_tokenizer_raises
test_secuencias_c5_export_text.py::TestCliExportBundleWithFieldSeq::test_cli_bundle_text_encoding_end_to_end
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[False-1]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[False-6]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[False-16]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[False-64]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[True-1]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[True-6]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[True-16]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_matches_core_tokenizer_across_texts[True-64]
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_rejects_unknown_kind
test_secuencias_c5_export_text.py::TestEmbeddedByteTokenizerMatchesCore::test_rejects_non_string_input
test_secuencias_c5_export_text.py::TestBundleEndToEndText::test_bundle_produces_text_inference_spec
test_secuencias_c5_export_text.py::TestBundleEndToEndText::test_predict_accepts_bare_string_and_dict_forms
test_secuencias_c5_export_text.py::TestBundleEndToEndText::test_predict_batch_texts
test_secuencias_c5_export_text.py::TestBundleEndToEndText::test_predict_py_reproduces_expected_output
test_secuencias_c5_export_text.py::TestBundleEndToEndText::test_predict_py_tokenizes_identically_to_core_tokenizer
test_secuencias_c5_export_text.py::TestBundleEndToEndText::test_predict_rejects_non_text_record
test_secuencias_c5_export_text.py::CierreDuroTextRoundTripTest::test_user_roundtrip_prompt_to_prediction_with_raw_text
test_server.py::TestServerHandler::test_docs
test_server.py::TestServerHandler::test_health_check
test_server.py::TestServerHandler::test_openapi
test_server.py::TestServerHandler::test_predict_batch
test_server.py::TestServerHandler::test_predict_empty_payload_counts_failed_request
test_server.py::TestServerHandler::test_predict_invalid_auth
test_server.py::TestServerHandler::test_predict_invalid_json_counts_failed_request
test_server.py::TestServerHandler::test_predict_missing_auth
test_server.py::TestServerHandler::test_predict_success
test_sin_features_en_los_dos_idiomas.py::LosRechazosSinFeaturesHablanElIdiomaPedido::test_en_ingles_no_se_cuela_una_palabra_espanola
test_sin_features_en_los_dos_idiomas.py::LosRechazosSinFeaturesHablanElIdiomaPedido::test_en_ingles_sigue_diciendo_LO_MISMO
test_sin_features_en_los_dos_idiomas.py::LosRechazosSinFeaturesHablanElIdiomaPedido::test_los_dos_csv_de_prueba_provocan_de_verdad_su_rechazo
test_sin_features_en_los_dos_idiomas.py::LosRechazosSinFeaturesHablanElIdiomaPedido::test_sin_pedir_idioma_sigue_saliendo_EXACTAMENTE_lo_de_antes
test_sin_features_en_los_dos_idiomas.py::LosRechazosSinFeaturesHablanElIdiomaPedido::test_un_idioma_que_no_existe_cae_al_espanol_y_no_revienta
test_sino_b_pasada.py::test_el_protocolo_escrito_es_el_que_compone_su_generador
test_sino_b_pasada.py::test_un_protocolo_tocado_a_mano_PARA_la_pasada
test_sino_b_pasada.py::test_el_protocolo_bueno_se_lee
test_sino_b_pasada.py::test_inferioridad_cuando_B_pierde_en_todos_los_pliegues
test_sino_b_pasada.py::test_mejora_cuando_B_gana_en_todos_los_pliegues
test_sino_b_pasada.py::test_ruido_un_intervalo_que_cruza_el_cero_no_es_ni_mejora_ni_inferioridad
test_sino_b_pasada.py::test_B_que_deja_de_completar_se_cuenta_aunque_su_media_sea_mejor
test_sino_b_pasada.py::test_la_regla_de_la_pasada[limpio-True]
test_sino_b_pasada.py::test_la_regla_de_la_pasada[inferioridad-False]
test_sino_b_pasada.py::test_la_regla_de_la_pasada[deja_de_completar-False]
test_sino_b_pasada.py::test_la_regla_de_la_pasada[falta-None]
test_sino_b_pasada.py::test_la_pasada_se_niega_a_medir_con_la_densa_1_2_0_que_ya_es_la_b
test_snapshots.py::MatrixAISnapshotTest::test_compiled_python_output_snapshot
test_snapshots.py::MatrixAISnapshotTest::test_mxai_ir_json_snapshot
test_snapshots.py::MatrixAISnapshotTest::test_p1_mx_trace_json_snapshot
test_supervision_snapshots.py::MatrixAISupervisionSnapshotTest::test_prompt_claim_risk_accepted_snapshot
test_supervision_snapshots.py::MatrixAISupervisionSnapshotTest::test_proposal_email_accepted_snapshot
test_supervision_snapshots.py::MatrixAISupervisionSnapshotTest::test_proposal_email_rejected_snapshot
test_texto_prosa_a_transformer.py::TestCasillaTexto::test_el_esquema_pide_los_campos_de_texto
test_texto_prosa_a_transformer.py::TestCasillaTexto::test_el_esquema_prohibe_adivinar_por_el_nombre
test_texto_prosa_a_transformer.py::TestCasillaTexto::test_parsea_la_linea_text
test_texto_prosa_a_transformer.py::TestCasillaTexto::test_sin_linea_text_no_hay_campos_de_texto
test_texto_prosa_a_transformer.py::TestCasillaTexto::test_none_no_es_un_campo
test_texto_prosa_a_transformer.py::TestEnrutado::test_el_texto_de_la_prosa_genera_un_transformer
test_texto_prosa_a_transformer.py::TestEnrutado::test_quien_decidio_se_declara_llm_no_prompt
test_texto_prosa_a_transformer.py::TestEnrutado::test_lo_que_paso_se_cuenta
test_texto_prosa_a_transformer.py::TestEnrutado::test_lo_que_paso_se_cuenta_en_ingles
test_texto_prosa_a_transformer.py::TestEnrutado::test_la_declaracion_del_prompt_gana_al_llm
test_texto_prosa_a_transformer.py::TestEnrutado::test_la_longitud_adivinada_no_se_honra
test_texto_prosa_a_transformer.py::TestAviso::test_texto_mezclado_con_tabulares_avisa_y_no_calla
test_texto_prosa_a_transformer.py::TestAviso::test_dos_campos_de_texto_avisan_con_su_motivo
test_texto_prosa_a_transformer.py::TestAviso::test_sin_llm_la_prosa_sigue_avisando[Clasificar si una resena es positiva o negativa a partir del texto de la resena]
test_texto_prosa_a_transformer.py::TestAviso::test_sin_llm_la_prosa_sigue_avisando[Classify whether a customer review is positive or negative from the review text]
test_texto_prosa_a_transformer.py::TestAviso::test_el_aviso_tambien_sale_por_la_rama_del_supervisor
test_texto_prosa_a_transformer.py::TestAviso::test_el_aviso_se_traduce_en_el_core
test_texto_prosa_a_transformer.py::TestAviso::test_un_modelo_de_texto_de_verdad_no_lleva_aviso
test_texto_prosa_a_transformer.py::TestAviso::test_el_aviso_no_inventa_ningun_tipo
test_texto_prosa_a_transformer.py::TestTabularIntacto::test_prompt_tabular_sin_llm_no_gana_avisos
test_texto_prosa_a_transformer.py::TestTabularIntacto::test_prompt_tabular_con_llm_sin_casilla_text_no_cambia
test_texto_prosa_a_transformer.py::TestTabularIntacto::test_una_palabra_que_solo_PARECE_texto_no_dispara_nada
test_texto_prosa_a_transformer.py::TestGeneradorCampoPropuesto::test_genera_con_el_campo_propuesto_y_declara_su_origen
test_texto_prosa_a_transformer.py::TestGeneradorCampoPropuesto::test_un_campo_declarado_gana_al_propuesto
test_texto_prosa_a_transformer.py::TestGeneradorCampoPropuesto::test_propuesto_mas_tabulares_es_un_error_accionable
test_texto_prosa_a_transformer.py::TestGeneradorCampoPropuesto::test_un_nombre_inservible_no_crea_ninguna_columna
test_texto_prosa_a_transformer.py::TestFuncionDelAviso::test_calla_cuando_nada_habla_de_texto
test_texto_prosa_a_transformer.py::TestFuncionDelAviso::test_calla_cuando_la_generacion_fallo
test_texto_prosa_a_transformer.py::TestFuncionDelAviso::test_calla_cuando_el_modelo_es_de_texto
test_texto_prosa_a_transformer.py::TestFuncionDelAviso::test_habla_cuando_la_prosa_lo_dice
test_texto_prosa_a_transformer.py::TestFuncionDelAviso::test_nombra_los_campos_y_el_motivo_cuando_se_saben
test_texto_prosa_a_transformer.py::TestFuncionDelAviso::test_un_idioma_desconocido_cae_al_castellano
test_tooling.py::MatrixAILanguageToolingTest::test_cli_diagnose_json_reports_match
test_tooling.py::MatrixAILanguageToolingTest::test_cli_format_check_detects_unformatted_file
test_tooling.py::MatrixAILanguageToolingTest::test_cli_lint_json_reports_ok_for_example
test_tooling.py::MatrixAILanguageToolingTest::test_format_mxai_preserves_explicit_params
test_tooling.py::MatrixAILanguageToolingTest::test_format_mxai_preserves_p2_type_annotations
test_tooling.py::MatrixAILanguageToolingTest::test_format_semantic_canonicalizes_blocks
test_tooling.py::MatrixAILanguageToolingTest::test_graph_json_supports_semantic_source
test_tooling.py::MatrixAILanguageToolingTest::test_graph_mermaid_renders_nodes_and_edges
test_tooling.py::MatrixAILanguageToolingTest::test_lint_mxai_reports_verifier_errors
test_tooling.py::MatrixAILanguageToolingTest::test_lint_semantic_reports_planner_errors
test_tooling.py::MatrixAILanguageToolingTest::test_runtime_compiler_diagnostic_matches_example
test_torch_forward.py::MatrixAITorchForwardTest::test_cli_backend_run_torch_outputs_forward_report
test_torch_forward.py::MatrixAITorchForwardTest::test_cli_backend_run_torch_requires_optional_dependency_when_absent
test_torch_forward.py::MatrixAITorchForwardTest::test_torch_forward_blocks_deferred_continuous_program_before_torch_import
test_torch_forward.py::MatrixAITorchForwardTest::test_torch_forward_email_matches_differentiable_python_initial_parameters
test_torch_forward.py::MatrixAITorchForwardTest::test_torch_forward_fall_risk_matches_differentiable_python_initial_parameters
test_torch_training.py::MatrixAITorchTrainingTest::test_cli_evaluate_torch_requires_optional_dependency_when_absent
test_torch_training.py::MatrixAITorchTrainingTest::test_cli_train_torch_requires_optional_dependency_when_absent
test_torch_training.py::MatrixAITorchTrainingTest::test_evaluate_torch_backend_matches_stdlib
test_torch_training.py::MatrixAITorchTrainingTest::test_torch_train_sigmoid_linear_binary_cross_entropy_writes_valid_params
test_torch_training.py::MatrixAITorchTrainingTest::test_torch_train_sigmoid_linear_probability_target_writes_valid_params
test_torch_training.py::MatrixAITorchTrainingTest::test_torch_train_softmax_linear_writes_p4_artifacts
test_training_contract.py::MatrixAITrainingContractTest::test_binary_cross_entropy_rejects_probability_target_out_of_range
test_training_contract.py::MatrixAITrainingContractTest::test_binary_cross_entropy_requires_two_label_values
test_training_contract.py::MatrixAITrainingContractTest::test_cli_validate_training_json
test_training_contract.py::MatrixAITrainingContractTest::test_differentiability_verifier_reports_parameter_paths
test_training_contract.py::MatrixAITrainingContractTest::test_label_domain_validation
test_training_contract.py::MatrixAITrainingContractTest::test_loss_target_missing_fails
test_training_contract.py::MatrixAITrainingContractTest::test_mxtrain_parser_accepts_email_training_spec
test_training_contract.py::MatrixAITrainingContractTest::test_mxtrain_parser_accepts_fall_risk_binary_training_spec
test_training_contract.py::MatrixAITrainingContractTest::test_mxtrain_parser_accepts_fall_risk_probability_target_spec
test_training_contract.py::MatrixAITrainingContractTest::test_non_differentiable_training_path_fails
test_training_contract.py::MatrixAITrainingContractTest::test_probability_range_validation
test_training_contract.py::MatrixAITrainingContractTest::test_update_unknown_parameter_fails
test_training_contract.py::MatrixAITrainingContractTest::test_validate_training_accepts_email_training_spec
test_training_contract.py::MatrixAITrainingContractTest::test_validate_training_accepts_fall_risk_binary_training_spec
test_training_contract.py::MatrixAITrainingContractTest::test_validate_training_accepts_fall_risk_probability_target_spec
test_training_generation.py::MatrixAITrainingGenerationTest::test_cli_generate_supervised_writes_valid_classification_package
test_training_generation.py::MatrixAITrainingGenerationTest::test_cli_generate_training_writes_mxtrain_and_dataset_template
test_training_generation.py::MatrixAITrainingGenerationTest::test_cli_train_supervised_accepts_dataset_manifest
test_training_generation.py::MatrixAITrainingGenerationTest::test_cli_train_supervised_generates_trains_and_evaluates_email_package
test_training_generation.py::MatrixAITrainingGenerationTest::test_dataset_manifest_rejects_hash_mismatch
test_training_generation.py::MatrixAITrainingGenerationTest::test_dataset_manifest_rejects_split_fingerprint_mismatch
test_training_generation.py::MatrixAITrainingGenerationTest::test_dataset_manifest_verifies_versioned_split
test_training_generation.py::MatrixAITrainingGenerationTest::test_generate_email_softmax_training_contract_from_prompt
test_training_generation.py::MatrixAITrainingGenerationTest::test_generate_fall_risk_binary_training_contract_from_prompt
test_training_generation.py::MatrixAITrainingGenerationTest::test_generate_supervised_prompt_package_writes_valid_relative_artifacts
test_training_generation.py::MatrixAITrainingGenerationTest::test_generate_training_rejects_wrong_softmax_label_count
test_training_generation.py::MatrixAITrainingGenerationTest::test_run_supervised_prompt_accepts_dataset_manifest
test_training_generation.py::MatrixAITrainingGenerationTest::test_run_supervised_prompt_accepts_dataset_manifest_split
test_training_generation.py::MatrixAITrainingGenerationTest::test_run_supervised_prompt_with_real_fall_risk_datasets_trains_and_evaluates
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_cli_backend_run_accepts_trained_parameter_set
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_cli_evaluate_uses_parameter_set_and_training_spec
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_cli_train_rejects_mismatched_model_argument
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_cli_train_writes_parameter_artifacts
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_csv_data_adapter_emits_matrixai_batches_with_metadata
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_evaluate_can_use_separate_test_dataset
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_evaluate_fall_risk_binary_classifier_reports_metrics
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_evaluate_trained_params_reports_metrics
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_fall_risk_trained_params_runtime_matches_compiled
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_in_memory_data_adapter_emits_reproducible_batches
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_train_sigmoid_linear_binary_cross_entropy_probability_target
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_train_sigmoid_linear_binary_cross_entropy_reduces_loss
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_train_softmax_linear_reduces_loss_and_writes_artifacts
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_trained_parameter_set_matches_differentiable_compiler_runtime
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_trained_params_validate_and_run_with_runtime
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_training_trace_includes_split_fingerprint
test_training_pipeline.py::MatrixAITrainingPipelineTest::test_training_trace_snapshot
test_transformer_c1_audit_findings.py::TestAltaUnoReshapeAntesDelBloque::test_reshape_before_block_rejected
test_transformer_c1_audit_findings.py::TestAltaUnoReshapeAntesDelBloque::test_layernorm_before_block_still_allowed
test_transformer_c1_audit_findings.py::TestAltaDosPoolObligatorioNoEludible::test_reshape_after_block_cannot_skip_pool
test_transformer_c1_audit_findings.py::TestAltaDosPoolObligatorioNoEludible::test_dense_after_block_without_pool_still_rejected
test_transformer_c1_audit_findings.py::TestAltaTresBackendFallaCerrado::test_backend_capabilities_after_c4_audit
test_transformer_c1_audit_findings.py::TestAltaTresBackendFallaCerrado::test_trainable_parameters_now_exposed_by_c2
test_transformer_c1_audit_findings.py::TestAltaTresBackendFallaCerrado::test_layer_manifest_does_not_leak_vocab_zero
test_transformer_c1_audit_findings.py::TestAltaTresBackendFallaCerrado::test_layer_manifest_reports_real_transformer_block
test_transformer_c1_audit_findings.py::TestAltaTresBackendFallaCerrado::test_second_typecheck_call_site_receives_sequence_map
test_transformer_c1_audit_findings.py::TestAltaCuatroColisionHash::test_moving_block_relative_to_layer_changes_hash
test_transformer_c1_audit_findings.py::TestAltaCuatroColisionHash::test_both_orderings_typecheck_ok
test_transformer_c1_audit_findings.py::TestAltaCuatroColisionHash::test_transformer_block_position_is_serialized
test_transformer_c1_audit_findings.py::TestMediaEmbeddingDebePrecederAlBloque::test_embedding_after_block_rejected
test_transformer_c1_audit_findings.py::TestMediaEmbeddingDebePrecederAlBloque::test_embedding_before_block_still_ok
test_transformer_c1_audit_findings.py::TestRonda2ReshapeFingiendoStreamEmbebido::test_reshape_on_raw_ids_rejected
test_transformer_c1_audit_findings.py::TestRonda2ReshapeFingiendoStreamEmbebido::test_any_layer_on_raw_ids_rejected
test_transformer_c1_audit_findings.py::TestRonda2BloqueTrasPool::test_pool_then_reshape_then_block_rejected
test_transformer_c1_audit_findings.py::TestRonda2BloqueTrasPool::test_block_expects_exact_embedded_shape
test_transformer_c1_audit_findings.py::TestRonda2SequenceInputFallaCerradoEnBackend::test_backend_fails_closed_without_transformer
test_transformer_c1_audit_findings.py::TestRonda2SequenceInputFallaCerradoEnBackend::test_layer_manifest_reports_pending_sequence_input
test_transformer_c1_audit_findings.py::TestRonda2SequenceInputFallaCerradoEnBackend::test_parameter_manifest_raises_for_sequence_input
test_transformer_c1_audit_findings.py::TestRonda2SequenceInputFallaCerradoEnBackend::test_tabular_composite_backend_still_supported
test_transformer_c1_audit_findings.py::TestRonda2FaseNoInferidaDelRank::test_final_pool_check_uses_phase_not_rank
test_transformer_c1_audit_findings.py::TestRonda2FaseNoInferidaDelRank::test_happy_path_still_ok
test_transformer_c1_grammar.py::TestParseValid::test_minimal_block_defaults
test_transformer_c1_grammar.py::TestParseValid::test_extended_block_all_keys
test_transformer_c1_grammar.py::TestParseValid::test_embedding_from_sequence_without_vocab
test_transformer_c1_grammar.py::TestParseValid::test_block_position_records_textual_order
test_transformer_c1_grammar.py::TestParseValid::test_program_to_dict_serializes_transformer_block
test_transformer_c1_grammar.py::TestParseErrors::test_layers_missing
test_transformer_c1_grammar.py::TestParseErrors::test_layers_below_one
test_transformer_c1_grammar.py::TestParseErrors::test_layers_not_integer
test_transformer_c1_grammar.py::TestParseErrors::test_unknown_key_lists_valid_keys
test_transformer_c1_grammar.py::TestParseErrors::test_duplicate_key
test_transformer_c1_grammar.py::TestParseErrors::test_key_without_value
test_transformer_c1_grammar.py::TestParseErrors::test_dropout_out_of_range
test_transformer_c1_grammar.py::TestParseErrors::test_dropout_negative
test_transformer_c1_grammar.py::TestParseErrors::test_activation_invalid
test_transformer_c1_grammar.py::TestParseErrors::test_pos_invalid
test_transformer_c1_grammar.py::TestParseErrors::test_missing_end
test_transformer_c1_grammar.py::TestTypecheckErrors::test_heads_not_divisor_lists_valid_divisors
test_transformer_c1_grammar.py::TestTypecheckErrors::test_pool_missing
test_transformer_c1_grammar.py::TestTypecheckErrors::test_pool_missing_without_dense
test_transformer_c1_grammar.py::TestTypecheckErrors::test_pool_max_over_sequence_rejected
test_transformer_c1_grammar.py::TestTypecheckErrors::test_two_transformer_blocks
test_transformer_c1_grammar.py::TestTypecheckErrors::test_transformer_mixed_with_classic_block
test_transformer_c1_grammar.py::TestTypecheckErrors::test_embedding_vocab_contradicts_sequence
test_transformer_c1_grammar.py::TestTypecheckErrors::test_embedding_vocab_matching_sequence_ok
test_transformer_c1_grammar.py::TestTypecheckErrors::test_embedding_without_vocab_from_tabular_field_rejected
test_transformer_c1_grammar.py::TestTypecheckErrors::test_transformer_with_vector_input_rejected
test_transformer_c1_grammar.py::TestTypecheckErrors::test_transformer_without_embedding_before_block
test_transformer_c1_grammar.py::TestTypecheckErrors::test_unknown_input_mentions_sequence_when_sequences_exist
test_transformer_c1_grammar.py::TestTypecheckErrors::test_unknown_input_keeps_vector_message_without_sequences
test_transformer_c1_grammar.py::TestShapes::test_stage_shapes_L_Ld_Ld_pool_d
test_transformer_c1_grammar.py::TestShapes::test_ff_default_is_4_dim
test_transformer_c1_grammar.py::TestShapes::test_named_shapes_sequence_and_embedding
test_transformer_c1_grammar.py::TestShapes::test_pool_cls_also_valid
test_transformer_c1_grammar.py::TestShapes::test_heads_one_valid
test_transformer_c1_grammar.py::TestShapes::test_program_level_typecheck_registers_output_type
test_transformer_c1_grammar.py::TestRetroCompat::test_tabular_composite_still_ok
test_transformer_c1_grammar.py::TestRetroCompat::test_tabular_composite_ok_without_sequences_arg
test_transformer_c2_reference_forward.py::TestShapes::test_intermediate_shapes
test_transformer_c2_reference_forward.py::TestShapes::test_attention_weights_shape_and_rows_sum_1
test_transformer_c2_reference_forward.py::TestShapes::test_softmax_head_output_sums_to_one
test_transformer_c2_reference_forward.py::TestShapes::test_wrong_length_rejected
test_transformer_c2_reference_forward.py::TestShapes::test_token_out_of_vocab_rejected
test_transformer_c2_reference_forward.py::TestPermutacion::test_swapping_positions_changes_prepool_and_pooled
test_transformer_c2_reference_forward.py::TestPermutacion::test_same_input_same_output
test_transformer_c2_reference_forward.py::TestMascara::test_padding_content_does_not_change_output
test_transformer_c2_reference_forward.py::TestMascara::test_padding_content_does_not_change_cls_output
test_transformer_c2_reference_forward.py::TestMascara::test_mask_derived_from_pad_id
test_transformer_c2_reference_forward.py::TestMascara::test_masked_mean_excludes_padding_positions
test_transformer_c2_reference_forward.py::TestMascara::test_masking_real_tokens_changes_output
test_transformer_c2_reference_forward.py::TestMascara::test_all_masked_rejected
test_transformer_c2_reference_forward.py::TestMultiHead::test_heads_change_output_with_same_weights
test_transformer_c2_reference_forward.py::TestMultiHead::test_heads_change_schema_hash
test_transformer_c2_reference_forward.py::TestManifest::test_exact_paths_sinusoidal
test_transformer_c2_reference_forward.py::TestManifest::test_learned_pos_adds_table
test_transformer_c2_reference_forward.py::TestManifest::test_shapes_in_manifest
test_transformer_c2_reference_forward.py::TestManifest::test_liveness_forward_touches_exactly_manifest
test_transformer_c2_reference_forward.py::TestParamCount::test_formula_matches_manifest[2-8-16-sinusoidal-6]
test_transformer_c2_reference_forward.py::TestParamCount::test_formula_matches_manifest[1-12-48-learned-6]
test_transformer_c2_reference_forward.py::TestParamCount::test_formula_matches_manifest[3-4-8-sinusoidal-6]
test_transformer_c2_reference_forward.py::TestParamCount::test_ff_default_uses_4dim
test_transformer_c2_reference_forward.py::TestDeterminismo::test_pad_deterministic_across_runs_and_fresh_params
test_transformer_c2_reference_forward.py::TestDeterminismo::test_sinusoidal_table_is_deterministic
test_transformer_c2_reference_forward.py::TestDeterminismo::test_dropout_identity_in_eval
test_transformer_c2_reference_forward.py::TestDeterminismo::test_dropout_active_in_training
test_transformer_c2_reference_forward.py::TestDeterminismo::test_relu_activation_variant
test_transformer_c2_reference_forward.py::TestBackendTrasC2::test_differentiability_verifier_is_green
test_transformer_c2_reference_forward.py::TestBackendTrasC2::test_node_capabilities_after_c4_audit
test_transformer_c2_reference_forward.py::TestBackendTrasC2::test_parameter_set_builds_and_validates
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_cls_with_masked_position_0_rejected
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_cls_with_pad_id_at_position_0_rejected
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_cls_with_real_position_0_still_ok
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_manifest_rejects_dirty_typecheck
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_parameter_set_build_rejects_dirty_typecheck
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_backend_reports_real_typecheck_error_not_differentiable
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_trainable_param_count_is_tensor_count
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_malformed_weight_matrix_rejected
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_weight_matrix_with_extra_row_rejected
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_bias_with_extra_value_rejected
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_pool_kind_changes_schema_hash
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_reference_forward_size_cap
test_transformer_c2_reference_forward.py::TestReAuditoriaC2::test_parameter_builder_caps_before_materializing_values
test_transformer_c2_reference_forward.py::TestGuardsDelForward::test_dirty_type_result_rejected
test_transformer_c2_reference_forward.py::TestGuardsDelForward::test_unresolved_type_result_rejected
test_transformer_c2_reference_forward.py::TestConsumidoresFallanCerrado::test_composite_forward_stdlib_rejects_transformer
test_transformer_c2_reference_forward.py::TestConsumidoresFallanCerrado::test_torch_module_builder_rejects_transformer
test_transformer_c2_reference_forward.py::TestConsumidoresFallanCerrado::test_onnx_export_now_supported_by_c5
test_transformer_c2_reference_forward.py::TestConsumidoresFallanCerrado::test_export_validator_sees_sequence_map
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_base_mean_sinusoidal_gelu
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_with_padding_mask
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_cls_pooling
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_learned_pos
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_relu_activation
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_head_counts[1]
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_head_counts[4]
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_pre_block_layernorm
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_dropout_identity_in_eval_parity
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_float32_product_dtype_parity
test_transformer_c3_torch_parity.py::TestParidadStdlibTorch::test_intermediate_block_output_parity
test_transformer_c3_torch_parity.py::TestParidadExterna::test_layer_vs_multihead_attention
test_transformer_c3_torch_parity.py::TestParidadExterna::test_layer_vs_multihead_attention_with_mask
test_transformer_c3_torch_parity.py::TestParidadExterna::test_multiple_head_counts_vs_external[1]
test_transformer_c3_torch_parity.py::TestParidadExterna::test_multiple_head_counts_vs_external[2]
test_transformer_c3_torch_parity.py::TestParidadExterna::test_multiple_head_counts_vs_external[4]
test_transformer_c3_torch_parity.py::TestParidadExterna::test_stdlib_vs_external_stack
test_transformer_c3_torch_parity.py::TestBatch::test_batch_equals_stacked_singles
test_transformer_c3_torch_parity.py::TestBatch::test_batch_rows_match_stdlib_per_sample
test_transformer_c3_torch_parity.py::TestBatch::test_pad_id_derivation_matches_explicit_mask
test_transformer_c3_torch_parity.py::TestDropoutYModo::test_dropout_zero_in_eval
test_transformer_c3_torch_parity.py::TestDropoutYModo::test_dropout_active_in_train_mode
test_transformer_c3_torch_parity.py::TestCUDA::test_cpu_cuda_parity_float32
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_dirty_type_result_rejected
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_wrong_length_rejected
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_vocab_out_of_range_rejected
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_all_masked_row_rejected
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_cls_masked_position_0_rejected_per_batch_row
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_composite_builder_redirects_to_transformer_module
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_with_values_false_native_init_runs
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_permutation_changes_output_torch
test_transformer_c3_torch_parity.py::TestGuardsTorch::test_padding_content_irrelevant_torch
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_schema_hash_mismatch_rejected
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_malformed_values_rejected_at_build
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_unexpected_parameter_rejected
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_metadata_shape_mismatch_rejected
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_mode_restored_after_exception
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_composite_builder_delegates_with_type_result
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_composite_builder_without_type_result_asks_for_it
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_template_without_values_still_builds
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_partially_missing_values_rejected
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_common_builder_propagates_output_name
test_transformer_c3_torch_parity.py::TestAuditoriaC3::test_expected_model_hash_strict_mode
test_transformer_c4_training.py::TestToyPosicional::test_transformer_beats_dense_bow_same_budget
test_transformer_c4_training.py::TestToyPosicional::test_convergence_loss_decreases
test_transformer_c4_training.py::TestAdam::test_adam_parses_and_verifier_accepts
test_transformer_c4_training.py::TestAdam::test_verifier_rejects_unknown_optimizer
test_transformer_c4_training.py::TestAdam::test_transformer_defaults_to_adam
test_transformer_c4_training.py::TestAdam::test_explicit_sgd_honored_for_transformer
test_transformer_c4_training.py::TestAdam::test_tabular_composite_keeps_sgd_default
test_transformer_c4_training.py::TestAdam::test_unknown_optimizer_rejected
test_transformer_c4_training.py::TestExtraccionPesos::test_best_params_validate_and_reload
test_transformer_c4_training.py::TestExtraccionPesos::test_pesos_grandes_gate_state_dict
test_transformer_c4_training.py::TestExtraccionPesos::test_state_dict_paths_match_manifest
test_transformer_c4_training.py::TestCallbacksYCancel::test_epoch_callback_and_trace
test_transformer_c4_training.py::TestCallbacksYCancel::test_early_stop_patience
test_transformer_c4_training.py::TestCallbacksYCancel::test_cancel_check_aborts
test_transformer_c4_training.py::TestCallbacksYCancel::test_cancel_releases_vram
test_transformer_c4_training.py::TestGuardsEntrenamiento::test_train_without_type_result_rejected
test_transformer_c4_training.py::TestGuardsEntrenamiento::test_evaluate_without_type_result_rejected
test_transformer_c4_training.py::TestGuardsEntrenamiento::test_padding_content_irrelevant_after_training
test_transformer_c4_training.py::TestOutputNamePropagado::test_trainer_and_evaluate_propagate_output_name
test_transformer_c4_training.py::TestOutputNamePropagado::test_trainer_without_output_name_rejects_mismatched_set
test_transformer_c4_training.py::TestAltaUnoOptimizadorReal::test_cli_route_declares_and_executes_adam
test_transformer_c4_training.py::TestAltaUnoOptimizadorReal::test_stdlib_dense_trainer_rejects_adam
test_transformer_c4_training.py::TestAltaUnoOptimizadorReal::test_dense_torch_trainer_honors_adam
test_transformer_c4_training.py::TestAltaDosRutaCLI::test_cli_trainer_end_to_end
test_transformer_c4_training.py::TestAltaDosRutaCLI::test_verifier_accepts_sequence_dataset_input
test_transformer_c4_training.py::TestAltaDosRutaCLI::test_verifier_rejects_wrong_column_count
test_transformer_c4_training.py::TestAltaDosRutaCLI::test_cli_dispatch_selects_transformer_trainer
test_transformer_c4_training.py::TestAltaTresCapacidades::test_torch_forward_runner_rejects_transformer_program
test_transformer_c4_training.py::TestAltaTresCapacidades::test_training_verifier_passes_with_training_capability
test_transformer_c4_training.py::TestMediaUnoStateDict::test_state_dict_reload_and_evaluate
test_transformer_c4_training.py::TestMediaUnoStateDict::test_resume_from_state_dict
test_transformer_c4_training.py::TestMediaUnoStateDict::test_state_dict_path_mismatch_rejected
test_transformer_c4_training.py::TestMediaUnoStateDict::test_evaluate_without_params_or_state_rejected
test_transformer_c4_training.py::TestRonda2RutaCLI::test_device_propagated_to_inner_trainer
test_transformer_c4_training.py::TestRonda2RutaCLI::test_cli_rejects_explicit_stdlib_backend
test_transformer_c4_training.py::TestRonda2RutaCLI::test_large_training_persists_mxw
test_transformer_c4_training.py::TestRonda2RutaCLI::test_resume_baseline_protects_better_state
test_transformer_c4_training.py::TestRonda2RutaCLI::test_split_spec_honored
test_transformer_c4_training.py::TestRonda2RutaCLI::test_split_seed_changes_partition
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_stdlib[variant0]
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_stdlib[variant1]
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_stdlib[variant2]
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_stdlib[variant3]
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_stdlib[variant4]
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_stdlib[variant5]
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_onnx_equals_torch
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_official_validator_transformer_branch
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_padding_content_irrelevant_in_onnx
test_transformer_c5_onnx_export.py::TestEquivalenciaTresVias::test_batch_export_matches_single_rows
test_transformer_c5_onnx_export.py::TestInferenceSpec::test_token_ids_encoding
test_transformer_c5_onnx_export.py::TestInferenceSpec::test_cls_note_present
test_transformer_c5_onnx_export.py::TestInferenceSpec::test_example_input_validated
test_transformer_c5_onnx_export.py::TestEstimador::test_param_count_includes_block_formula
test_transformer_c5_onnx_export.py::TestEstimador::test_large_transformer_crosses_threshold
test_transformer_c5_onnx_export.py::TestCapacidadExport::test_backend_export_supported_after_c5
test_transformer_c5_onnx_export.py::TestCapacidadExport::test_export_requires_materialized_params
test_transformer_c5_onnx_export.py::TestCapacidadExport::test_export_rejects_dirty_typecheck
test_transformer_c5_onnx_export.py::TestCapacidadExport::test_exported_metadata_hashes
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_interleaved_activation_onnx_parity[pre-softmax]
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_interleaved_activation_onnx_parity[post-gelu]
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_edge_bundle_predict_py_is_sequence_usable
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_predict_rejects_invalid_masks
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_state_dict_transformer_export_parity
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_state_dict_transformer_export_validates_schema_and_shapes
test_transformer_c5_onnx_export.py::TestC5AuditFixes::test_mxw_transformer_external_graph_roundtrip
test_transformer_c6_audit_hard_close.py::TestBlockMetadata::test_export_metadata_matches_architecture
test_transformer_c6_audit_hard_close.py::TestBlockMetadata::test_inference_spec_carries_transformer_block
test_transformer_c6_audit_hard_close.py::TestBlockMetadata::test_model_manifest_carries_transformer_block
test_transformer_c6_audit_hard_close.py::TestBlockMetadata::test_dense_only_manifest_has_no_transformer_block
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_push_run_dir_reads_parameter_set_json
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_push_run_dir_modern_entry_without_mxai_rejected
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_params_best_json_still_wins_over_parameter_set_json
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_push_run_dir_reads_weights_mxw_header
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_verify_detects_weights_mxw_body_tamper
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_verify_detects_weights_mxw_header_tamper
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_verify_detects_missing_artifacts
test_transformer_c6_audit_hard_close.py::TestRegistryCoversBlockWeights::test_pull_copies_weights_mxw_across_registries
test_transformer_c6_audit_hard_close.py::TestCierreDuro::test_cli_train_export_import_infer_same_results
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_evaluator_produces_real_metrics
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_cli_evaluate_rejects_stdlib_and_defaults_to_transformer
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_wasm_predict_js_feeds_the_mask
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_wasm_dense_manifest_mask_is_none
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_cli_validate_parameters_accepts_transformer
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_push_run_dir_rejects_foreign_mxai
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_push_run_dir_matching_mxai_passes
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_push_run_dir_mxw_foreign_model_hash_rejected
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_onnx_embeds_transformer_block_metadata
test_transformer_c6_audit_hard_close.py::TestC6AuditFixes::test_metadata_helper_returns_none_for_dense
test_transformer_c6_audit_hard_close.py::TestC6AuditRound2::test_mxw_cli_cycle_evaluate_export_registry
test_transformer_c6_audit_hard_close.py::TestC6AuditRound2::test_mxw_evaluate_matches_json_evaluate
test_transformer_c6_audit_hard_close.py::TestC6AuditRound2::test_mxw_evaluate_foreign_model_rejected
test_transformer_c6_audit_hard_close.py::TestC6AuditRound2::test_mxw_export_wasm_rejected_actionably
test_transformer_c6_audit_hard_close.py::TestC6AuditRound2::test_onnx_embeds_matrixai_version
test_transformer_c6_audit_hard_close.py::TestC6AuditRound2::test_wasm_predict_js_validations_run_for_real
test_transformer_c6_audit_hard_close.py::TestC6AuditRound3::test_cli_weight_loader_is_header_only_or_mmap
test_transformer_c6_audit_hard_close.py::TestC6AuditRound3::test_registry_rejects_missing_model_binding_json_and_mxw
test_transformer_c6_audit_hard_close.py::TestC6AuditRound3::test_registry_rejects_mxw_corrupt_before_push
test_types.py::MatrixAITypeSystemTest::test_compiled_python_rejects_typed_vector_field_out_of_range
test_types.py::MatrixAITypeSystemTest::test_mx_parser_accepts_typed_params_and_return
test_types.py::MatrixAITypeSystemTest::test_mx_typecheck_accepts_score_pipeline
test_types.py::MatrixAITypeSystemTest::test_mx_typecheck_rejects_incompatible_return
test_types.py::MatrixAITypeSystemTest::test_mxai_parser_accepts_typed_fields_and_outputs
test_types.py::MatrixAITypeSystemTest::test_parse_base_ai_and_structured_types
test_types.py::MatrixAITypeSystemTest::test_program_typecheck_rejects_function_output_mismatch
test_types.py::MatrixAITypeSystemTest::test_runtime_rejects_typed_vector_field_out_of_range
test_types.py::MatrixAITypeSystemTest::test_typed_domain_example_rejects_out_of_range_field
test_types.py::MatrixAITypeSystemTest::test_typed_domain_examples_runtime_matches_compiled
test_types.py::MatrixAITypeSystemTest::test_typed_domain_examples_typecheck
```

## Product backend (`studio-backend`)

```
test_107_c31b_texto_en_el_estudio.py::TestElCandidatoDeTextoCompiteYGana::test_de_punta_a_punta
test_107_c31b_texto_en_el_estudio.py::TestSinDeclararElCandidatoNoAparece::test_de_punta_a_punta
test_107_c31b_texto_en_el_estudio.py::TestLaDemoRechazaElTexto::test_columnas_de_texto_se_rechaza_con_su_clave
test_107_c31b_texto_en_el_estudio.py::TestLaDemoRechazaElTexto::test_se_rechaza_ANTES_de_mirar_la_huella_del_csv
test_107_c31b_texto_en_el_estudio.py::TestLaDemoRechazaElTexto::test_sin_columnas_de_texto_la_demo_sigue_igual
test_107_c31b_texto_en_el_estudio.py::TestElCableadoHTTP::test_columnas_de_texto_llega_del_payload_a_confirmar_desde_csv
test_107_c31b_texto_en_el_estudio.py::TestElCableadoHTTP::test_en_perfil_demo_columnas_de_texto_llega_a_la_puerta_de_la_demo
test_107_c31b_texto_en_el_estudio.py::test_capacidades_del_repositorio_no_estan_saboteadas
test_107_c31c_exportacion_de_texto.py::test_predict_py_fuera_coincide_con_usar_dentro_y_el_paquete_nombra_la_columna
test_117_c3_ejemplos_medidos.py::test_catalogo_es_BYTE_A_BYTE_lo_que_sale_de_los_arff_y_el_protocolo
test_117_c3_ejemplos_medidos.py::test_solo_entran_los_4_pequenos_y_seguros_de_C0
test_117_c3_ejemplos_medidos.py::test_ninguno_esta_sellado_ni_es_multiclase
test_117_c3_ejemplos_medidos.py::test_la_clase_positiva_solo_viaja_en_binaria
test_117_c3_ejemplos_medidos.py::test_cada_conjunto_lleva_licencia_CC_BY_4_y_atribucion_bilingue
test_117_c3_ejemplos_medidos.py::test_el_sha256_del_catalogo_es_el_del_CSV_QUE_HAY_EN_DISCO
test_117_c3_ejemplos_medidos.py::test_el_enlace_de_openml_usa_el_data_id_del_protocolo
test_117_c3_ejemplos_medidos.py::test_fase0_publico_copia_BYTE_A_BYTE_con_el_origen
test_117_c3_ejemplos_medidos.py::test_el_listado_de_la_demo_es_EXACTAMENTE_lo_decidido
test_117_c3_ejemplos_medidos.py::test_una_fila_de_MAS_en_el_protocolo_para_el_ARTEFACTO
test_117_c3_ejemplos_medidos.py::test_una_tarea_MULTICLASE_no_puede_entrar
test_117_c3_ejemplos_medidos.py::test_un_conjunto_SELLADO_no_puede_entrar
test_117_c3_ejemplos_medidos.py::test_un_CSV_retocado_en_disco_lo_caza_el_regenerador
test_117_c3_ejemplos_medidos.py::test_una_cifra_retocada_en_catalogo_json_lo_caza_el_byte_a_byte
test_117_c3_ejemplos_medidos.py::test_la_ficha_dice_si_el_mejor_motor_compite_en_este_studio
test_117_c3_ejemplos_medidos.py::test_la_densa_sin_torch_no_compite_aqui_y_con_torch_si
test_117_c3_ejemplos_medidos.py::test_lista_trae_el_campo_en_cada_ficha
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_117_c5_las_fichas_dicen_DE_QUE_BLOQUE_salen_sus_cifras
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_cada_conjunto_lleva_su_ficha_de_fase0
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_el_csv_de_un_nombre_del_catalogo_llega_entero
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_lista_los_4_conjuntos
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_pc1_lleva_atribucion_bilingue_y_licencia_CC_BY
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_un_intento_de_salir_del_directorio_no_encuentra_nada
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnPerfilCompleto::test_un_nombre_fuera_del_catalogo_da_None
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnLaDemo::test_el_csv_se_sirve_para_los_admitidos
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnLaDemo::test_la_lista_ofrece_los_cuatro_admitidos
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnLaDemo::test_sin_ninguno_admitido_la_lista_sale_apagada_con_su_motivo
test_117_c3_endpoints_ejemplos_medidos.py::ElCatalogoEnLaDemo::test_uno_que_NO_esta_en_la_lista_ni_se_ofrece_ni_se_sirve
test_117_c4_intentos_perezosos.py::test_len_no_construye_ningun_intento
test_117_c4_intentos_perezosos.py::test_un_intento_ya_entregado_no_queda_retenido
test_117_c4_intentos_perezosos.py::test_se_recorren_en_el_orden_de_antes
test_117_c4_medir_la_demo.py::test_el_payload_es_el_que_carga_la_pantalla_con_cada_ejemplo
test_117_c4_medir_la_demo.py::test_crecimiento_ve_una_fuga_y_no_la_inventa
test_117_c4_medir_la_demo.py::test_main_recorre_los_cuatro_y_los_seguidos_rotando
test_117_c4_medir_la_demo.py::test_un_estudio_sin_ganador_no_da_el_visto_bueno
test_117_c4_medir_la_demo.py::test_solo_repite_unicamente_los_ejemplos_pedidos
test_117_c4_medir_la_demo.py::test_la_memoria_trae_el_pico_de_los_hijos_porque_el_reajuste_ya_corre_en_uno
test_117_c4_sonda_por_fases.py::test_la_envoltura_anota_antes_y_despues_y_no_cambia_lo_que_devuelve
test_117_c4_sonda_por_fases.py::test_si_la_fase_lanza_se_anota_igual_y_la_excepcion_sigue_su_camino
test_117_c4_sonda_por_fases.py::test_una_fase_que_no_existe_se_declara_ausente
test_117_c4_sonda_por_fases.py::test_el_resumen_suma_por_fase_y_ordena_por_lo_que_anade
test_117_c4_sonda_por_fases.py::test_las_fases_que_envuelve_existen_hoy_en_estudio_job
test_117_c4_sonda_por_fases.py::test_las_fases_de_la_busqueda_existen_hoy_en_competicion
test_117_c4_sonda_por_fases.py::test_max_jobs_fija_el_tope_y_al_final_se_mide_con_jobs_VACIO
test_117_c4_sonda_por_fases.py::test_con_trim_cada_estudio_mide_antes_y_despues_de_devolver_a_glibc
test_117_c4_sonda_por_fases.py::test_sin_trim_no_devuelve_nada
test_117_c4_sonda_por_fases.py::test_lee_arenas_y_bloques_vivos_de_las_estadisticas_de_pymalloc
test_117_c4_sonda_por_fases.py::test_cada_estudio_anota_sus_bloques_vivos
test_120_c2_la_politica_de_arboles.py::test_sin_la_variable_los_motores_son_los_de_hoy[None]
test_120_c2_la_politica_de_arboles.py::test_sin_la_variable_los_motores_son_los_de_hoy[]
test_120_c2_la_politica_de_arboles.py::test_sin_la_variable_los_motores_son_los_de_hoy[   ]
test_120_c2_la_politica_de_arboles.py::test_sin_la_variable_con_texto_declarado_los_arboles_tampoco_llevan_politica
test_120_c2_la_politica_de_arboles.py::test_con_la_variable_los_dos_arboles_llevan_la_politica_con_su_l2[l2_0-0.0]
test_120_c2_la_politica_de_arboles.py::test_con_la_variable_los_dos_arboles_llevan_la_politica_con_su_l2[l2_1-1.0]
test_120_c2_la_politica_de_arboles.py::test_con_la_variable_y_texto_declarado_se_conserva_el_motor_de_texto
test_120_c2_la_politica_de_arboles.py::test_un_valor_desconocido_se_rechaza_no_se_ignora[l2_2]
test_120_c2_la_politica_de_arboles.py::test_un_valor_desconocido_se_rechaza_no_se_ignora[L2_0]
test_120_c2_la_politica_de_arboles.py::test_un_valor_desconocido_se_rechaza_no_se_ignora[si]
test_120_c2_la_politica_de_arboles.py::test_un_valor_desconocido_se_rechaza_no_se_ignora[1]
test_120_c2_la_politica_de_arboles.py::test_un_valor_desconocido_es_un_estudio_failed_con_su_motivo_no_un_500
test_120_c2_la_politica_de_arboles.py::test_la_politica_pickleada_viaja_al_hijo_del_reajuste
test_120_c2_la_politica_de_arboles.py::test_el_sobre_dice_la_politica_de_lo_entrenado
test_120_c2_la_politica_de_arboles.py::test_motores_con_politica_pero_lo_entrenado_sin_ella_el_sobre_no_la_afirma
test_120_c2_la_politica_de_arboles.py::test_un_campeon_sin_politica_entre_entradas_con_ella_se_dice
test_120_c2_la_politica_de_arboles.py::test_lo_que_entreno_SIN_la_politica_se_dice_no_desaparece
test_120_c2_la_politica_de_arboles.py::test_el_sobre_lleva_la_clave_a_none_sin_la_variable
test_120_c2_la_politica_de_arboles.py::test_el_sobre_declara_lo_que_paso_no_lo_que_pide_la_variable
test_120_c2_la_politica_de_arboles.py::test_el_reajuste_entrena_la_mediana_de_los_arboles_de_la_busqueda
test_120_c2_la_politica_de_arboles.py::test_el_reajuste_solo_cuenta_los_intentos_de_su_mismo_perfil
test_120_c2_la_politica_de_arboles.py::test_sin_intentos_de_su_perfil_usa_los_de_otro_lo_dice_y_lo_acota_al_maximo[MotorArbolLightGBM-lightgbm]
test_120_c2_la_politica_de_arboles.py::test_sin_intentos_de_su_perfil_usa_los_de_otro_lo_dice_y_lo_acota_al_maximo[MotorArbolHGB-sklearn.hgb]
test_120_c2_la_politica_de_arboles.py::test_sin_politica_el_reajuste_es_el_motor_de_siempre
test_120_c2_la_politica_de_arboles.py::test_dos_reajustes_con_la_misma_semilla_mismo_digest_aunque_el_reloj_cambie[MotorArbolLightGBM-lightgbm]
test_120_c2_la_politica_de_arboles.py::test_dos_reajustes_con_la_misma_semilla_mismo_digest_aunque_el_reloj_cambie[MotorArbolHGB-sklearn.hgb]
test_120_c2_la_politica_de_arboles.py::test_un_estudio_con_la_variable_hace_competir_a_los_arboles_con_politica
test_120_c2_la_politica_de_arboles.py::test_un_estudio_con_un_arbol_SIN_la_politica_lo_dice_en_el_sobre
test_120_c2_la_politica_de_arboles.py::test_c2b_construye_los_dos_arboles_con_la_politica_en_mediano_y_grande[c2b_l2_0-0.0]
test_120_c2_la_politica_de_arboles.py::test_c2b_construye_los_dos_arboles_con_la_politica_en_mediano_y_grande[c2b_l2_1-1.0]
test_120_c2_la_politica_de_arboles.py::test_l2_0_y_l2_1_siguen_siendo_la_c2_con_los_tres_tamanos[l2_0]
test_120_c2_la_politica_de_arboles.py::test_l2_0_y_l2_1_siguen_siendo_la_c2_con_los_tres_tamanos[l2_1]
test_120_c2_la_politica_de_arboles.py::test_el_mensaje_del_valor_desconocido_lista_los_admitidos
test_120_c2_la_politica_de_arboles.py::test_c2b_el_reajuste_con_perfil_pequeno_es_el_motor_tal_cual
test_120_c2_la_politica_de_arboles.py::test_c2b_la_mediana_solo_cuenta_intentos_con_la_politica_aplicada
test_120_c2_la_politica_de_arboles.py::test_c2b_el_sobre_dice_valor_tamanos_y_los_intentos_fuera_sin_llamarlos_sin_politica
test_120_c2_la_politica_de_arboles.py::test_c2b_un_estudio_pequeno_da_exactamente_lo_mismo_que_sin_la_variable
test_120_c2_la_politica_de_arboles.py::test_densa_fuera_dice_lo_que_paso_con_la_densa_en_las_dos_caras[True-False]
test_120_c2_la_politica_de_arboles.py::test_densa_fuera_dice_lo_que_paso_con_la_densa_en_las_dos_caras[False-True]
test_120_c3p_lo_aprendido_no_viaja.py::test_lo_grande_sale_con_su_huella_y_lo_pequeno_tal_cual
test_120_c3p_lo_aprendido_no_viaja.py::test_no_crece_con_lo_que_pesa_lo_aprendido_ni_con_las_columnas
test_120_c3p_lo_aprendido_no_viaja.py::test_no_toca_la_config_que_recibe_y_aplicarlo_dos_veces_da_lo_mismo
test_120_c3p_lo_aprendido_no_viaja.py::test_los_hiperparametros_viajan_siempre_aunque_pesen_porque_de_ahi_lee_el_reajuste
test_120_c3p_lo_aprendido_no_viaja.py::test_el_leaderboard_que_viaja_es_el_mismo_salvo_lo_aprendido
test_120_c3p_lo_aprendido_no_viaja.py::test_el_cuerpo_del_recibo_no_toca_ni_el_modelo_vivo_ni_los_digests_del_sujeto
test_120_c3p_lo_aprendido_no_viaja.py::test_hay_algo_que_quitar_tabm_completo_y_gano_con_megas_de_pesos
test_120_c3p_lo_aprendido_no_viaja.py::test_el_estado_servido_el_sobre_y_el_recibo_miden_KB_no_MB
test_120_c3p_lo_aprendido_no_viaja.py::test_el_recibo_firmado_verifica_y_lo_firmado_es_lo_que_se_sirve
test_120_c3p_lo_aprendido_no_viaja.py::test_la_huella_que_se_sirve_es_la_del_checkpoint_de_la_competicion_y_este_ya_no_guarda_pesos
test_120_c3p_lo_aprendido_no_viaja.py::test_el_recibo_lleva_la_huella_del_campeon_y_su_sujeto_es_el_modelo_entero
test_120_c3p_lo_aprendido_no_viaja.py::test_al_reajuste_no_se_le_pasan_los_pesos_de_la_busqueda
test_120_c3p_lo_aprendido_no_viaja.py::test_un_sondeo_no_relee_el_checkpoint_si_no_ha_cambiado
test_120_c3p_lo_aprendido_no_viaja.py::test_el_ganador_tabm_se_dibuja_como_red_porque_su_checkpoint_conserva_los_pesos
test_120_c3p_lo_aprendido_no_viaja.py::test_el_ganador_tabm_guardado_y_reabierto_predice_igual
test_120_c3p_lo_aprendido_no_viaja.py::test_un_estudio_guardado_ANTES_con_los_pesos_en_el_recibo_se_sigue_reabriendo
test_120_c3p_lo_aprendido_no_viaja.py::test_la_regla_es_la_de_motores_no_una_copia
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_tabm_quien_compite_es_el_de_92532b8[interseccion]
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_tabm_quien_compite_es_el_de_92532b8[ninguno]
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_tabm_quien_compite_es_el_de_92532b8[ninguno_nadie_midio]
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_tabm_quien_compite_es_el_de_92532b8[todos]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_0_1_3_4-interseccion]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_0_1_3_4-todos]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_0_1_3_4-ninguno]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_0_y_1-interseccion]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_0_y_1-todos]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_0_y_1-ninguno]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_ninguna-interseccion]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_ninguna-todos]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[en_ninguna-ninguno]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[solo_en_la_3-interseccion]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[solo_en_la_3-todos]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_incompleto_no_cambia_ni_el_modo_ni_las_partes_ni_quien_gana_entre_los_demas[solo_en_la_3-ninguno]
test_120_c3p_tabm_no_decide_las_partes.py::test_el_motivo_de_tabm_dice_por_que_no_compite_segun_el_modo_en_los_dos_idiomas
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_completo_compite_en_las_partes_de_los_demas_y_puede_ganar[0.99-interseccion-partes0]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_completo_compite_en_las_partes_de_los_demas_y_puede_ganar[0.99-todos-partes1]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_completo_compite_en_las_partes_de_los_demas_y_puede_ganar[0.55-interseccion-partes0]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_completo_compite_en_las_partes_de_los_demas_y_puede_ganar[0.55-todos-partes1]
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_partes_en_comun_entre_los_demas_un_tabm_completo_compite_con_la_referencia_en_todas
test_120_c3p_tabm_no_decide_las_partes.py::test_si_solo_tabm_se_midio_en_alguna_parte_la_razon_no_dice_que_nadie_se_midio
test_120_c3p_tabm_no_decide_las_partes.py::test_lo_que_le_falta_a_tabm_no_cambia_la_causa_que_declara_la_razon_de_los_demas
test_120_c3p_tabm_no_decide_las_partes.py::test_en_un_estudio_un_tabm_a_medias_no_cambia_el_campeon_ni_se_reajusta[partes_de_tabm0]
test_120_c3p_tabm_no_decide_las_partes.py::test_en_un_estudio_un_tabm_a_medias_no_cambia_el_campeon_ni_se_reajusta[partes_de_tabm1]
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_parte_en_comun_un_tabm_completo_gana_si_supera_a_la_referencia_y_si_no_no_gana_nadie[0.95-True]
test_120_c3p_tabm_no_decide_las_partes.py::test_sin_parte_en_comun_un_tabm_completo_gana_si_supera_a_la_referencia_y_si_no_no_gana_nadie[0.3-False]
test_120_c3p_tabm_no_decide_las_partes.py::test_si_el_unico_completo_de_los_demas_falla_al_reajustarse_se_decide_otra_vez_como_sin_tabm
test_120_c3p_tabm_no_decide_las_partes.py::test_un_motor_agotado_en_todas_no_se_reajusta_se_declara_sin_presupuesto_y_no_mueve_nada[matrixai.dense.tabm_cpu]
test_120_c3p_tabm_no_decide_las_partes.py::test_un_motor_agotado_en_todas_no_se_reajusta_se_declara_sin_presupuesto_y_no_mueve_nada[matrixai.dense.torch_cpu]
test_120_c3p_tabm_no_decide_las_partes.py::test_el_plazo_declarado_por_el_motor_cuenta_como_tiempo_agotado_y_un_fallo_no
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_que_declara_su_plazo_agotado_en_todas_sale_sin_presupuesto_no_como_fallo
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_con_partes_sin_plazo_sale_por_presupuesto_y_dice_en_cuantas
test_120_c3p_tabm_no_decide_las_partes.py::test_un_tabm_que_se_queda_sin_plazo_al_REAJUSTARSE_sale_sin_presupuesto_con_su_techo_del_reajuste
test_120_c3p_tabm_un_motor_mas.py::test_sin_torch_tabm_ni_aparece_candidatos_segundos_reserva_y_total_son_los_de_92532b8
test_120_c3p_tabm_un_motor_mas.py::test_sin_torch_con_texto_tampoco_aparece_y_los_segundos_son_los_de_92532b8
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_tabm_es_un_candidato_con_60_s_por_intento_en_la_busqueda_y_en_el_reajuste
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_los_segundos_de_cada_otro_motor_son_los_de_92532b8_exactos
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_y_texto_los_demas_siguen_exactos_y_tabm_no_les_quita_nada
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_el_presupuesto_total_crece_justo_lo_de_tabm
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_lo_que_no_cabe_se_rechaza_igual_que_sin_tabm
test_120_c3p_tabm_un_motor_mas.py::test_sin_torch_el_motivo_de_lo_que_no_cabe_es_el_de_92532b8
test_120_c3p_tabm_un_motor_mas.py::test_un_estudio_real_declara_intentos_de_tabm_con_60_s_y_el_total_de_la_reserva
test_120_c3p_tabm_un_motor_mas.py::test_un_estudio_real_con_tabm_se_nombra_en_el_estado_por_su_motor
test_120_c3p_tabm_un_motor_mas.py::test_un_ganador_tabm_guardado_sacado_de_memoria_y_reabierto_predice_fila_y_lote_igual
test_120_c3p_tabm_un_motor_mas.py::test_un_ganador_tabm_se_exporta_y_el_paquete_ejecutado_fuera_da_lo_mismo_que_dentro
test_120_c3p_tabm_un_motor_mas.py::test_sin_torch_un_estudio_real_no_menciona_a_tabm_y_su_presupuesto_es_el_de_siempre
test_120_c3p_tabm_un_motor_mas.py::test_el_interruptor_admite_1_0_vacio_y_sin_definir[1-True]
test_120_c3p_tabm_un_motor_mas.py::test_el_interruptor_admite_1_0_vacio_y_sin_definir[ 1 -True]
test_120_c3p_tabm_un_motor_mas.py::test_el_interruptor_admite_1_0_vacio_y_sin_definir[0-False]
test_120_c3p_tabm_un_motor_mas.py::test_el_interruptor_admite_1_0_vacio_y_sin_definir[-False]
test_120_c3p_tabm_un_motor_mas.py::test_el_interruptor_admite_1_0_vacio_y_sin_definir[   -False]
test_120_c3p_tabm_un_motor_mas.py::test_el_interruptor_admite_1_0_vacio_y_sin_definir[None-False]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_otro_valor_del_interruptor_se_rechaza_en_voz_alta[si]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_otro_valor_del_interruptor_se_rechaza_en_voz_alta[true]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_otro_valor_del_interruptor_se_rechaza_en_voz_alta[2]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_otro_valor_del_interruptor_se_rechaza_en_voz_alta[01]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_otro_valor_del_interruptor_se_rechaza_en_voz_alta[SIN_TABM]
test_120_c3p_tabm_un_motor_mas.py::test_con_un_interruptor_desconocido_los_ejemplos_medidos_salen_apagados_con_su_motivo[si]
test_120_c3p_tabm_un_motor_mas.py::test_con_un_interruptor_desconocido_los_ejemplos_medidos_salen_apagados_con_su_motivo[2]
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_y_el_interruptor_candidatos_segundos_reserva_y_total_son_los_de_92532b8
test_120_c3p_tabm_un_motor_mas.py::test_con_torch_y_el_interruptor_un_estudio_real_no_menciona_a_tabm
test_120_c3p_tabm_un_motor_mas.py::test_la_ficha_dice_que_tabm_compite_justo_cuando_el_estudio_lo_pone_a_competir
test_120_c3p_tabm_un_motor_mas.py::test_un_estudio_real_con_todos_los_motores_y_tabm_da_a_cada_otro_sus_segundos_de_92532b8
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_interruptor_desconocido_deja_la_ficha_de_los_ejemplos_apagada_con_su_motivo[si-MATRIXAI_ESTUDIO_SIN_TABM-InterruptorDeTabmDesconocido]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_interruptor_desconocido_deja_la_ficha_de_los_ejemplos_apagada_con_su_motivo[si-MATRIXAI_ESTUDIO_SIN_DENSA-InterruptorDeLaDensaDesconocido]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_interruptor_desconocido_deja_la_ficha_de_los_ejemplos_apagada_con_su_motivo[2-MATRIXAI_ESTUDIO_SIN_TABM-InterruptorDeTabmDesconocido]
test_120_c3p_tabm_un_motor_mas.py::test_cualquier_interruptor_desconocido_deja_la_ficha_de_los_ejemplos_apagada_con_su_motivo[2-MATRIXAI_ESTUDIO_SIN_DENSA-InterruptorDeLaDensaDesconocido]
test_120_c3s_guarda_de_memoria_de_tabm.py::test_la_formula_es_la_del_readme_con_su_margen
test_120_c3s_guarda_de_memoria_de_tabm.py::test_kdd_con_6_gb_se_queda_fuera_con_su_motivo_y_las_dos_cifras
test_120_c3s_guarda_de_memoria_de_tabm.py::test_internet_advertisements_con_6_gb_sigue_dentro
test_120_c3s_guarda_de_memoria_de_tabm.py::test_kdd_con_9_gb_vuelve_a_entrar
test_120_c3s_guarda_de_memoria_de_tabm.py::test_si_no_se_puede_medir_la_memoria_la_guarda_calla
test_120_c3s_guarda_de_memoria_de_tabm.py::test_el_limite_del_cgroup_v2_manda
test_120_c3s_guarda_de_memoria_de_tabm.py::test_el_limite_del_cgroup_v1_manda_si_no_hay_v2
test_120_c3s_guarda_de_memoria_de_tabm.py::test_sin_limite_en_el_cgroup_v2_es_memtotal
test_120_c3s_guarda_de_memoria_de_tabm.py::test_sin_limite_en_el_cgroup_v1_un_valor_enorme_es_memtotal
test_120_c3s_guarda_de_memoria_de_tabm.py::test_sin_ficheros_de_cgroup_es_memtotal_y_sin_nada_no_se_sabe
test_120_c3s_guarda_de_memoria_de_tabm.py::test_un_limite_mayor_que_la_maquina_manda_memtotal
test_120_c3s_guarda_de_memoria_de_tabm.py::test_la_funcion_del_estudio_lee_la_de_memoria_del_estudio
test_120_c3s_guarda_de_memoria_de_tabm.py::test_un_estudio_que_no_cabe_es_exactamente_el_de_sin_tabm_salvo_el_motivo
test_120_c3s_guarda_de_memoria_de_tabm.py::test_un_estudio_que_cabe_deja_a_tabm_competir_y_sin_motivo
test_120_c3s_guarda_de_memoria_de_tabm.py::test_el_motivo_llega_al_estado_del_estudio
test_120_c3s_guarda_de_memoria_de_tabm.py::test_con_el_interruptor_la_guarda_no_hace_nada_ni_pregunta_la_memoria
test_120_c3s_guarda_de_memoria_de_tabm.py::test_sin_torch_la_guarda_no_hace_nada_ni_pregunta_la_memoria
test_120_c3s_guarda_de_memoria_de_tabm.py::test_un_estudio_real_pequeno_con_tabm_sigue_compitiendo
test_120_c3s_guarda_de_memoria_de_tabm.py::test_el_motivo_viaja_en_el_sobre_y_sobrevive_a_reabrir
test_120_c3s_tabm_en_el_paquete_cpu.py::test_la_referencia_r_cpu_con_torch_es_el_estudio_sin_torch_de_hoy_salvo_que_la_densa_no_figura
test_120_c3s_tabm_en_el_paquete_cpu.py::test_c3_segunda_tabm_compite_con_60_s_la_densa_no_y_los_arboles_con_la_politica
test_120_c3s_tabm_en_el_paquete_cpu.py::test_sin_el_interruptor_con_torch_la_densa_compite_y_los_arboles_son_los_de_hoy
test_120_c3s_tabm_en_el_paquete_cpu.py::test_sin_el_interruptor_0_vacio_o_ausente_es_como_hoy_con_torch_y_sin_torch[0]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_sin_el_interruptor_0_vacio_o_ausente_es_como_hoy_con_torch_y_sin_torch[]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_sin_el_interruptor_0_vacio_o_ausente_es_como_hoy_con_torch_y_sin_torch[None]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_un_valor_raro_del_interruptor_de_la_densa_se_rechaza_en_los_dos_idiomas[2]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_un_valor_raro_del_interruptor_de_la_densa_se_rechaza_en_los_dos_idiomas[si]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_un_valor_raro_del_interruptor_de_la_densa_se_rechaza_en_los_dos_idiomas[true]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_un_valor_raro_del_interruptor_de_la_densa_se_rechaza_en_los_dos_idiomas[01]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_un_valor_raro_del_interruptor_de_la_densa_se_rechaza_en_los_dos_idiomas[SIN_DENSA]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_interruptor_de_la_densa_admite_1_0_vacio_y_ausente[1-True]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_interruptor_de_la_densa_admite_1_0_vacio_y_ausente[ 1 -True]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_interruptor_de_la_densa_admite_1_0_vacio_y_ausente[0-False]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_interruptor_de_la_densa_admite_1_0_vacio_y_ausente[-False]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_interruptor_de_la_densa_admite_1_0_vacio_y_ausente[  -False]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_interruptor_de_la_densa_admite_1_0_vacio_y_ausente[None-False]
test_120_c3s_tabm_en_el_paquete_cpu.py::test_la_variable_de_la_densa_se_lee_en_un_solo_sitio
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_sobre_no_relee_la_variable_de_la_densa_al_reajustar
test_120_c3s_tabm_en_el_paquete_cpu.py::test_la_politica_de_produccion_rige_con_torch_si_la_densa_esta_apagada_y_no_si_compite
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_sobre_dice_produccion_densa_fuera_solo_si_la_densa_la_apago_el_interruptor
test_120_c3s_tabm_en_el_paquete_cpu.py::test_el_tipo_del_cliente_conoce_el_activada_por_del_backend
test_120_c3s_tabm_en_el_paquete_cpu.py::test_un_estudio_real_con_torch_y_sin_densa_termina_con_tabm_y_sin_la_densa
test_120_c6_la_politica_en_produccion.py::test_la_politica_de_produccion_es_la_medida_una_sola_vez
test_120_c6_la_politica_en_produccion.py::test_sin_la_variable_y_sin_torch_los_dos_arboles_llevan_la_de_produccion
test_120_c6_la_politica_en_produccion.py::test_sin_la_variable_y_con_texto_declarado_tambien_la_de_produccion
test_120_c6_la_politica_en_produccion.py::test_con_torch_la_densa_compite_y_los_arboles_son_los_de_hoy
test_120_c6_la_politica_en_produccion.py::test_con_la_variable_manda_la_variable_con_o_sin_torch[l2_0-0.0-tamanos0-True]
test_120_c6_la_politica_en_produccion.py::test_con_la_variable_manda_la_variable_con_o_sin_torch[l2_0-0.0-tamanos0-False]
test_120_c6_la_politica_en_produccion.py::test_con_la_variable_manda_la_variable_con_o_sin_torch[c2b_l2_1-1.0-tamanos1-True]
test_120_c6_la_politica_en_produccion.py::test_con_la_variable_manda_la_variable_con_o_sin_torch[c2b_l2_1-1.0-tamanos1-False]
test_120_c6_la_politica_en_produccion.py::test_el_sobre_de_produccion_dice_de_donde_salio
test_120_c6_la_politica_en_produccion.py::test_el_sobre_de_la_variable_dice_variable_de_medida[tamanos0-0.0-l2_0]
test_120_c6_la_politica_en_produccion.py::test_el_sobre_de_la_variable_dice_variable_de_medida[tamanos1-1.0-l2_1]
test_120_c6_la_politica_en_produccion.py::test_el_sobre_de_la_variable_dice_variable_de_medida[tamanos2-0.0-c2b_l2_0]
test_120_c6_la_politica_en_produccion.py::test_el_sobre_de_la_variable_dice_variable_de_medida[tamanos3-1.0-c2b_l2_1]
test_120_c6_la_politica_en_produccion.py::test_un_estudio_pequeno_sin_la_variable_y_sin_torch_da_lo_mismo_que_antes_de_c6
test_120_c6_la_politica_en_produccion.py::test_un_estudio_mediano_sin_la_variable_y_sin_torch_aplica_la_politica_de_produccion
test_120_c6_la_politica_en_produccion.py::test_un_estudio_con_torch_no_lleva_politica
test_120_c6_la_politica_en_produccion.py::test_un_estudio_con_la_variable_manda_la_variable_aunque_no_haya_torch
test_120_c6_la_politica_en_produccion.py::test_con_3500_filas_la_politica_no_aplica_en_ningun_sitio_y_se_declara
test_120_c6_la_politica_en_produccion.py::test_si_lo_entrenado_mezcla_tamanos_no_se_dice_de_donde_salio
test_120_c6_la_politica_en_produccion.py::test_ninguna_da_el_mismo_diccionario_de_hoy_con_o_sin_torch[ninguna-True]
test_120_c6_la_politica_en_produccion.py::test_ninguna_da_el_mismo_diccionario_de_hoy_con_o_sin_torch[ninguna-False]
test_120_c6_la_politica_en_produccion.py::test_ninguna_da_el_mismo_diccionario_de_hoy_con_o_sin_torch[  ninguna -True]
test_120_c6_la_politica_en_produccion.py::test_ninguna_da_el_mismo_diccionario_de_hoy_con_o_sin_torch[  ninguna -False]
test_120_c6_la_politica_en_produccion.py::test_vacio_o_espacios_siguen_siendo_sin_definir_y_rige_la_produccion
test_120_c6_la_politica_en_produccion.py::test_un_valor_desconocido_sigue_rechazandose_y_dice_que_ninguna_se_admite
test_120_c6_la_politica_en_produccion.py::test_ninguna_con_otra_grafia_se_rechaza_y_no_cae_en_la_de_produccion[Ninguna]
test_120_c6_la_politica_en_produccion.py::test_ninguna_con_otra_grafia_se_rechaza_y_no_cae_en_la_de_produccion[NINGUNA]
test_120_c6_la_politica_en_produccion.py::test_ninguna_con_otra_grafia_se_rechaza_y_no_cae_en_la_de_produccion[none]
test_120_c6_la_politica_en_produccion.py::test_un_estudio_con_ninguna_es_el_de_antes_de_c6_con_o_sin_torch[True]
test_120_c6_la_politica_en_produccion.py::test_un_estudio_con_ninguna_es_el_de_antes_de_c6_con_o_sin_torch[False]
test_120_d9_el_reparto_entre_los_que_pueden.py::test_sin_torch_la_busqueda_reparte_entre_los_arboles
test_120_d9_el_reparto_entre_los_que_pueden.py::test_sin_torch_el_ajuste_final_reparte_entre_los_arboles
test_120_d9_el_reparto_entre_los_que_pueden.py::test_con_torch_es_exactamente_lo_de_hoy
test_120_d9_el_reparto_entre_los_que_pueden.py::test_con_texto_declarado_y_sin_torch_reparte_entre_cuatro
test_120_d9_el_reparto_entre_los_que_pueden.py::test_si_ninguno_puede_entrenar_se_reparte_como_antes
test_120_d9_el_reparto_entre_los_que_pueden.py::test_el_motivo_dice_que_su_tiempo_se_repartio
test_120_d9_el_reparto_entre_los_que_pueden.py::test_un_estudio_sin_torch_da_a_los_arboles_el_techo_nuevo_y_termina_con_ganador
test_120_la_demo_sin_tabm.py::test_la_orden_que_lanza_la_demo_apaga_a_tabm
test_120_la_demo_sin_tabm.py::test_ese_valor_el_backend_lo_lee_como_apagado
test_122_c1_red_de_matrixai.py::test_sin_el_campo_motores_reparto_y_reserva_son_los_capturados
test_122_c1_red_de_matrixai.py::test_sin_el_campo_la_busqueda_recibe_los_intentos_capturados
test_122_c1_red_de_matrixai.py::test_sin_el_campo_el_reajuste_recibe_los_argumentos_y_los_presupuestos_capturados
test_122_c1_red_de_matrixai.py::test_con_el_campo_en_false_es_el_estudio_de_siempre
test_122_c1_red_de_matrixai.py::test_un_valor_que_no_es_booleano_no_se_lee_a_medias[true]
test_122_c1_red_de_matrixai.py::test_un_valor_que_no_es_booleano_no_se_lee_a_medias[1]
test_122_c1_red_de_matrixai.py::test_un_valor_que_no_es_booleano_no_se_lee_a_medias[si]
test_122_c1_red_de_matrixai.py::test_un_valor_que_no_es_booleano_no_se_lee_a_medias[valor3]
test_122_c1_red_de_matrixai.py::test_con_el_campo_los_motores_son_la_referencia_y_tabm_y_nada_mas
test_122_c1_red_de_matrixai.py::test_con_el_campo_el_techo_los_hilos_y_las_partes_del_modo_llegan_a_la_busqueda
test_122_c1_red_de_matrixai.py::test_con_el_campo_el_reajuste_recibe_el_techo_y_los_hilos_del_modo
test_122_c1_red_de_matrixai.py::test_un_estudio_real_con_el_campo_entrena_con_los_hilos_del_modo_en_la_busqueda_y_en_el_reajuste
test_122_c1_red_de_matrixai.py::test_el_estado_declara_que_red_se_entreno
test_122_c1_red_de_matrixai.py::test_el_sobre_dice_como_termino_el_entrenamiento_de_la_red_entregada
test_122_c1_red_de_matrixai.py::test_la_lista_de_estudios_guardados_dice_el_modo_y_un_guardado_anterior_da_none
test_122_c1_red_de_matrixai.py::test_guardar_reabrir_y_probar_una_fila_con_el_modo_declarado_y_un_sobre_anterior_da_none
test_122_c1_red_de_matrixai.py::test_rechazo_por_el_interruptor
test_122_c1_red_de_matrixai.py::test_rechazo_por_un_interruptor_desconocido
test_122_c1_red_de_matrixai.py::test_rechazo_sin_torch_con_un_texto_propio_que_no_dice_que_el_paquete_no_trae_torch
test_122_c1_red_de_matrixai.py::test_rechazo_por_memoria_dice_las_dos_cifras_y_no_hay_estudio
test_122_c1_red_de_matrixai.py::test_con_memoria_de_sobra_no_se_rechaza
test_122_c1_red_de_matrixai.py::test_rechazo_por_columnas_de_texto
test_122_c1_red_de_matrixai.py::test_rechazo_en_la_demo_antes_de_la_huella_de_los_ejemplos
test_122_c1_red_de_matrixai.py::test_tabm_no_supera_a_la_referencia_no_hay_modelo_y_la_razon_lleva_las_dos_cifras
test_122_c1_red_de_matrixai.py::test_tabm_sin_ninguna_medida_no_hay_modelo_y_no_se_corona_a_la_referencia
test_122_c1_red_de_matrixai.py::test_tabm_medido_en_algunas_partes_no_compite_y_su_motivo_no_habla_de_otros_motores
test_122_c1_red_de_matrixai.py::test_la_disponibilidad_dice_los_parametros_del_modo_y_el_presupuesto_planificado
test_122_c1_red_de_matrixai.py::test_la_disponibilidad_y_el_rechazo_dan_el_mismo_motivo
test_122_c1_red_de_matrixai.py::test_el_endpoint_get_sirve_la_disponibilidad
test_122_c1_red_de_matrixai.py::test_el_endpoint_en_la_demo_dice_que_no
test_122_c1_red_de_matrixai.py::test_tabm_fuera_por_una_restriccion_que_la_referencia_cumple_lo_dice_con_el_motivo_del_nucleo_y_conserva_rejected
test_122_c1_red_de_matrixai.py::test_un_empate_con_la_referencia_no_entrega_modelo_y_lo_dice_con_las_dos_cifras[binaria]
test_122_c1_red_de_matrixai.py::test_un_empate_con_la_referencia_no_entrega_modelo_y_lo_dice_con_las_dos_cifras[regresion]
test_122_c1_red_de_matrixai.py::test_un_empate_real_que_la_coma_flotante_separa_un_ulp_sigue_siendo_un_empate[tabm_un_ulp_arriba_o_abajo]
test_122_c1_red_de_matrixai.py::test_un_empate_real_que_la_coma_flotante_separa_un_ulp_sigue_siendo_un_empate[el_reves]
test_122_c1_red_de_matrixai.py::test_sin_la_media_de_la_referencia_no_se_puede_comprobar_que_la_supera_y_no_hay_modelo
test_122_c1_red_de_matrixai.py::test_si_la_referencia_falla_al_reajustarse_la_red_se_compara_con_su_media_de_la_busqueda
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[multiclase_no_supera]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[regresion_no_supera]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[multiclase_sin_ninguna_fila]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[multiclase_reloj_con_techo_decimal]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[regresion_reloj_en_una]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[regresion_medida_en_una_y_el_reloj_en_la_otra]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[regresion_medida_en_una_y_la_otra_sin_fila]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[regresion_no_supera_por_una_diezmilesima]
test_122_c1_red_de_matrixai.py::test_las_razones_del_modo_en_multiclase_y_en_regresion[regresion_falla_el_modelo_final]
test_122_c1_red_de_matrixai.py::test_la_disponibilidad_cuenta_las_filas_con_objetivo_y_las_columnas_de_entrada_del_estudio
test_122_c1_red_de_matrixai.py::test_el_orden_de_los_rechazos_va_de_lo_que_menos_se_puede_cambiar_a_lo_que_mas
test_122_c1_red_de_matrixai.py::test_el_rechazo_por_memoria_redondea_una_sola_vez
test_122_c1_red_de_matrixai.py::test_si_la_referencia_queda_fuera_por_una_restriccion_que_tabm_cumple_se_entrega_tabm_aunque_su_media_no_sea_mayor[menor]
test_122_c1_red_de_matrixai.py::test_si_la_referencia_queda_fuera_por_una_restriccion_que_tabm_cumple_se_entrega_tabm_aunque_su_media_no_sea_mayor[empate]
test_122_c1_red_de_matrixai.py::test_si_la_referencia_queda_fuera_por_una_restriccion_y_tabm_la_supera_la_razon_es_la_del_nucleo
test_122_c1_red_de_matrixai.py::test_si_la_referencia_cumple_las_restricciones_tabm_tiene_que_superarla_y_si_no_no_hay_modelo[menor]
test_122_c1_red_de_matrixai.py::test_si_la_referencia_cumple_las_restricciones_tabm_tiene_que_superarla_y_si_no_no_hay_modelo[empate]
test_122_c1_red_de_matrixai.py::test_si_tabm_queda_fuera_por_una_restriccion_que_la_referencia_cumple_no_hay_modelo
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[rmse_diezmilesimas]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[auroc_cienmilesimas]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[rmse_grande]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[exactitud]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[mismos_decimales]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[enteros]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[empate]
test_122_c1_red_de_matrixai.py::test_las_dos_cifras_de_la_comparacion_se_escriben_con_las_cifras_que_las_distinguen[negativo]
test_122_c1_red_de_matrixai.py::test_la_razon_de_tabm_entregada_con_la_referencia_fuera_no_inventa_cifras_que_no_hay
test_122_c1_red_de_matrixai.py::test_estudio_sin_tabm_nadie_gana_tabm_fuera_por_una_restriccion_lo_dice_y_conserva_rejected
test_122_c1_red_de_matrixai.py::test_estudio_sin_tabm_nadie_gana_un_empate_no_entrega_modelo[empate]
test_122_c1_red_de_matrixai.py::test_estudio_sin_tabm_nadie_gana_un_empate_no_entrega_modelo[ulp-a]
test_122_c1_red_de_matrixai.py::test_estudio_sin_tabm_nadie_gana_un_empate_no_entrega_modelo[ulp-b]
test_122_c1_red_de_matrixai.py::test_estudio_sin_tabm_nadie_gana_estrictamente_mejor_se_entrega_y_peor_no_fue_elegido
test_122_c1_red_de_matrixai.py::test_los_parametros_del_modo_son_los_que_midio_c0
test_122_c1_red_de_matrixai.py::test_el_estudio_del_modo_toma_el_techo_del_cubo_de_sus_filas[45-pequeno-11.0]
test_122_c1_red_de_matrixai.py::test_el_estudio_del_modo_toma_el_techo_del_cubo_de_sus_filas[80-mediano-22.0]
test_122_c1_red_de_matrixai.py::test_el_estudio_del_modo_toma_el_techo_del_cubo_de_sus_filas[120-grande-33.0]
test_122_c1_red_de_matrixai.py::test_lo_que_tardo_tabm_es_lo_que_midio_c0
test_122_c1_red_de_matrixai.py::test_mas_filas_y_columnas_mas_tiempo_en_c0
test_122_c1_red_de_matrixai.py::test_la_disponibilidad_dice_el_rango_de_c0_y_la_madurez_de_la_cartera
test_122_c1_red_de_matrixai.py::test_datos_mas_grandes_que_lo_medido_se_aceptan_y_por_eso_se_marcan
test_122_c1_red_de_matrixai.py::test_el_espejo_de_client_ts_tiene_las_claves_de_la_disponibilidad
test_122_c1_red_de_matrixai.py::test_el_modo_sin_techo_falla_cerrado_y_no_cae_en_los_60_s_de_siempre
test_122_c2_usar_y_exportar.py::test_probar_desde_disco_da_exactamente_lo_que_predice_el_pipeline_entrenado_en_memoria
test_122_c2_usar_y_exportar.py::test_ida_y_vuelta_el_resultado_entero_de_probar_y_el_lote_son_identicos_y_el_modo_se_conserva
test_122_c2_usar_y_exportar.py::test_el_paquete_es_ejecutable_y_declara_lo_que_hace_falta_para_tabm
test_122_c2_usar_y_exportar.py::test_predict_py_en_un_subproceso_da_lo_mismo_que_el_studio_con_las_mismas_probabilidades
test_122_reauditoria_procedencias_de_la_red.py::test_plantilla_con_pasos_lo_conservado_es_lo_previo_con_la_latente_y_su_huella_es_la_raw
test_122_reauditoria_procedencias_de_la_red.py::test_plantilla_sin_pasos_las_dos_huellas_son_la_misma_y_es_lo_conservado
test_122_reauditoria_procedencias_de_la_red.py::test_subida_temporal_ventanas_y_lo_conservado_es_el_fichero_sin_el_objetivo_del_modelo
test_122_reauditoria_procedencias_de_la_red.py::test_subida_normal_sin_huella_post_ni_bloque_temporal
test_122_reauditoria_procedencias_de_la_red.py::test_reprepare_acepta_lo_previo_a_los_pasos_y_devuelve_la_procedencia_con_sus_pasos
test_122_reauditoria_procedencias_de_la_red.py::test_la_procedencia_no_admite_un_origen_de_datos_generados
test_122_reparacion_csv_para_el_estudio.py::TestConPasos::test_es_el_csv_de_despues_de_los_pasos_con_el_objetivo_y_sin_la_preparacion_del_nucleo
test_122_reparacion_csv_para_el_estudio.py::TestConPasos::test_su_huella_es_la_que_la_procedencia_ya_declaraba
test_122_reparacion_csv_para_el_estudio.py::TestConPasos::test_el_previo_a_los_pasos_no_trae_el_objetivo_por_eso_no_vale
test_122_reparacion_csv_para_el_estudio.py::TestSinPasos::test_no_se_repite_y_se_dice_que_es_el_previo
test_122_reparacion_csv_para_el_estudio.py::TestTopes::test_por_encima_del_tope_individual_se_omite_y_el_proyecto_sigue
test_122_reparacion_csv_para_el_estudio.py::TestTopes::test_justo_en_el_tope_individual_viaja
test_122_reparacion_csv_para_el_estudio.py::TestTopes::test_el_tope_conjunto_cuenta_los_tres
test_122_reparacion_csv_para_el_estudio.py::TestEndpoint::test_con_pasos_viaja_en_la_respuesta
test_122_reparacion_csv_para_el_estudio.py::TestEndpoint::test_sin_pasos_se_dice_que_es_el_previo
test_122_reparacion_guion_fuera_del_arbol.py::test_por_omision_usa_el_head_de_motores_no_un_commit_fijo
test_122_reparacion_guion_fuera_del_arbol.py::test_con_el_paquete_de_motores_sucio_avisa_y_dice_que_fichero
test_122_reparacion_guion_fuera_del_arbol.py::test_un_fichero_nuevo_sin_seguir_dentro_del_paquete_tambien_avisa
test_122_reparacion_guion_fuera_del_arbol.py::test_con_un_commit_explicito_lo_usa_tal_cual_y_no_mira_el_arbol
test_124_c1_propuesta_de_planteamiento.py::test_el_texto_exacto_que_se_envia_para_un_csv_pequeno
test_124_c1_propuesta_de_planteamiento.py::test_con_objetivo_se_dice_cual_es_y_el_idioma_es_el_pedido
test_124_c1_propuesta_de_planteamiento.py::test_el_prompt_pide_las_seis_claves_y_las_listas_son_las_del_nucleo
test_124_c1_propuesta_de_planteamiento.py::test_ninguna_fila_de_mas_ni_celda_de_mas_ni_valor_de_mas
test_124_c1_propuesta_de_planteamiento.py::test_un_csv_ancho_y_largo_no_pasa_del_tope_y_se_quitan_antes_filas_que_valores
test_124_c1_propuesta_de_planteamiento.py::test_los_valores_se_recortan_solo_cuando_ya_no_quedan_filas
test_124_c1_propuesta_de_planteamiento.py::test_mas_de_200_columnas_son_las_primeras_200_y_cuantas_faltan
test_124_c1_propuesta_de_planteamiento.py::test_con_el_tope_de_caracteres_puesto_entran_los_candidatos_y_despues_las_primeras
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_que_ya_se_sabe_entra_aunque_caiga_mas_alla_del_corte
test_124_c1_propuesta_de_planteamiento.py::test_un_csv_con_nombres_larguisimos_tambien_cabe
test_124_c1_propuesta_de_planteamiento.py::test_el_csv_con_punto_y_coma_y_bom_se_lee_como_en_el_resto_del_studio
test_124_c1_propuesta_de_planteamiento.py::test_todo_valido_se_acepta_y_no_hay_descartes
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_el_llm_no_propone_no_es_un_descarte
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_tiene_que_ser_el_nombre_exacto_de_una_columna[Reingreso]
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_tiene_que_ser_el_nombre_exacto_de_una_columna[reingreso ]
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_tiene_que_ser_el_nombre_exacto_de_una_columna[nope]
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_tiene_que_ser_el_nombre_exacto_de_una_columna[3]
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_tiene_que_ser_el_nombre_exacto_de_una_columna[o4]
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_tiene_que_ser_el_nombre_exacto_de_una_columna[]
test_124_c1_propuesta_de_planteamiento.py::test_el_objetivo_de_la_peticion_manda_y_el_del_llm_se_ignora_sin_descarte
test_124_c1_propuesta_de_planteamiento.py::test_las_tres_tareas_valen[binary_classification]
test_124_c1_propuesta_de_planteamiento.py::test_las_tres_tareas_valen[multiclass_classification]
test_124_c1_propuesta_de_planteamiento.py::test_las_tres_tareas_valen[regression]
test_124_c1_propuesta_de_planteamiento.py::test_una_tarea_fuera_de_las_tres_se_descarta[classification]
test_124_c1_propuesta_de_planteamiento.py::test_una_tarea_fuera_de_las_tres_se_descarta[BINARY_CLASSIFICATION]
test_124_c1_propuesta_de_planteamiento.py::test_una_tarea_fuera_de_las_tres_se_descarta[clustering]
test_124_c1_propuesta_de_planteamiento.py::test_una_tarea_fuera_de_las_tres_se_descarta[1]
test_124_c1_propuesta_de_planteamiento.py::test_una_tarea_fuera_de_las_tres_se_descarta[t4]
test_124_c1_propuesta_de_planteamiento.py::test_la_clase_positiva_es_un_valor_visto_del_objetivo_con_tarea_binaria
test_124_c1_propuesta_de_planteamiento.py::test_la_clase_positiva_con_otra_tarea_o_sin_ella_se_descarta[multiclass_classification]
test_124_c1_propuesta_de_planteamiento.py::test_la_clase_positiva_con_otra_tarea_o_sin_ella_se_descarta[regression]
test_124_c1_propuesta_de_planteamiento.py::test_la_clase_positiva_con_otra_tarea_o_sin_ella_se_descarta[None]
test_124_c1_propuesta_de_planteamiento.py::test_la_clase_positiva_no_puede_ser_un_ausente_NA
test_124_c1_propuesta_de_planteamiento.py::test_clase_positiva_con_un_objetivo_que_no_es_columna_se_descarta_tambien
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[days]
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[hours]
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[minutes]
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[months]
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[seconds]
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[weeks]
test_124_c1_propuesta_de_planteamiento.py::test_las_unidades_del_nucleo_valen[years]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h0]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h1]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h2]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h3]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h4]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h5]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h6]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h7]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h8]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h9]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h10]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h11]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[30 days]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h13]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h14]
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_que_no_cuadra_se_descarta_entero[h15]
test_124_c1_propuesta_de_planteamiento.py::test_el_horizonte_necesita_momento_de_prediccion
test_124_c1_propuesta_de_planteamiento.py::test_la_magnitud_decimal_se_conserva_y_la_entera_sale_como_entero
test_124_c1_propuesta_de_planteamiento.py::test_los_textos_de_una_linea_de_1_a_200[unidad_de_observacion]
test_124_c1_propuesta_de_planteamiento.py::test_los_textos_de_una_linea_de_1_a_200[momento_de_prediccion]
test_124_c1_propuesta_de_planteamiento.py::test_el_motivo_nombra_el_valor_rechazado_cortado_y_en_una_linea
test_124_c1_propuesta_de_planteamiento.py::test_una_celda_que_da_ordenes_se_envia_como_dato_y_aunque_el_llm_la_obedezca_no_sale_nada_abierto
test_124_c1_propuesta_de_planteamiento.py::test_si_la_orden_manda_un_objetivo_valido_lo_unico_que_sale_es_una_columna_del_csv
test_124_c1_propuesta_de_planteamiento.py::test_la_forma_exacta_de_la_respuesta
test_124_c1_propuesta_de_planteamiento.py::test_con_descartes_la_forma_lleva_el_campo_y_el_motivo_es_en
test_124_c1_propuesta_de_planteamiento.py::test_un_objetivo_pedido_que_no_es_columna_no_se_sustituye_ni_se_proponen_sus_dependientes
test_124_c1_propuesta_de_planteamiento.py::test_el_json_se_extrae_de_una_valla_o_de_prosa[{"objetivo": "reingreso"}]
test_124_c1_propuesta_de_planteamiento.py::test_el_json_se_extrae_de_una_valla_o_de_prosa[  {"objetivo": "reingreso"}  ]
test_124_c1_propuesta_de_planteamiento.py::test_el_json_se_extrae_de_una_valla_o_de_prosa[```\n{"objetivo": "reingreso"}\n```]
test_124_c1_propuesta_de_planteamiento.py::test_el_json_se_extrae_de_una_valla_o_de_prosa[Claro: {"objetivo": "reingreso"} Espero que sirva.]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[no hay json]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[[1, 2]]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[{roto]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[```\n```]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[None]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae[7]
test_124_c1_propuesta_de_planteamiento.py::test_lo_que_no_es_un_objeto_json_no_se_extrae["solo"]
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_demo_sin_llamar_al_proveedor
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_sin_proveedor
test_124_c1_propuesta_de_planteamiento.py::test_sin_proveedor_de_verdad_con_el_entorno_vacio
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_csv_ilegible_sin_llamar_al_proveedor[a,b\n]
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_csv_ilegible_sin_llamar_al_proveedor[a,a\n1,2\n]
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_csv_ilegible_sin_llamar_al_proveedor[a\n]
test_124_c1_propuesta_de_planteamiento.py::test_el_csv_ilegible_no_cita_sus_celdas_en_el_motivo
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_excepcion_del_proveedor_sin_copiar_su_mensaje
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_tope_de_tiempo_del_proveedor
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_respuesta_que_no_es_el_json[no soy un json]
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_respuesta_que_no_es_el_json[]
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_respuesta_que_no_es_el_json[[1,2]]
test_124_c1_propuesta_de_planteamiento.py::test_rechazo_respuesta_que_no_es_el_json[{roto]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[None]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload1]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[x]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload3]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload4]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload5]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload6]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload7]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload8]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload9]
test_124_c1_propuesta_de_planteamiento.py::test_una_peticion_mal_formada_lanza_peticion_invalida[payload10]
test_124_c1_propuesta_de_planteamiento.py::test_un_locale_desconocido_vale_como_es
test_124_c1_propuesta_de_planteamiento.py::test_nada_del_csv_en_el_registro_ni_en_la_salida_ni_en_disco
test_124_c1_propuesta_de_planteamiento.py::test_el_modulo_no_tiene_registro_ni_print_ni_escritura_a_disco
test_124_c1_propuesta_de_planteamiento.py::test_http_con_propuesta
test_124_c1_propuesta_de_planteamiento.py::test_http_en_la_demo_dice_que_no_sin_llamar_a_nadie
test_124_c1_propuesta_de_planteamiento.py::test_http_rechazos_con_200
test_124_c1_propuesta_de_planteamiento.py::test_http_peticion_mal_formada_es_400[cuerpo0]
test_124_c1_propuesta_de_planteamiento.py::test_http_peticion_mal_formada_es_400[cuerpo1]
test_124_c1_propuesta_de_planteamiento.py::test_http_peticion_mal_formada_es_400[cuerpo2]
test_124_c1_propuesta_de_planteamiento.py::test_http_peticion_mal_formada_es_400[cuerpo3]
test_124_c1_propuesta_de_planteamiento.py::test_http_peticion_mal_formada_es_400[cuerpo4]
test_124_c1_propuesta_de_planteamiento.py::test_http_peticion_mal_formada_es_400[cuerpo5]
test_124_c1_propuesta_de_planteamiento.py::test_http_json_roto_es_400
test_124_c1_propuesta_de_planteamiento.py::test_http_un_error_inesperado_no_devuelve_el_mensaje_de_la_excepcion
test_124_c1_propuesta_de_planteamiento.py::test_http_el_servidor_no_registra_el_cuerpo
test_124_c1_propuesta_de_planteamiento.py::test_un_csv_clinico_no_envia_mas_nombres_que_los_de_las_5_filas
test_124_c1_propuesta_de_planteamiento.py::test_numeros_enormes_y_json_muy_anidado_no_tumban_el_servidor
test_124_c1_propuesta_de_planteamiento.py::test_un_horizonte_absurdo_y_un_texto_con_controles_invisibles_se_descartan
test_124_c1_propuesta_de_planteamiento.py::test_nada_de_una_fila_que_no_se_envia_sale_en_lo_enviado
test_124_c1_propuesta_de_planteamiento.py::test_una_clase_positiva_con_un_entero_enorme_no_tumba_el_servidor
test_124_c1_propuesta_de_planteamiento.py::test_si_el_proveedor_configurado_no_es_el_del_aviso_no_se_envia_nada
test_124_c1_propuesta_de_planteamiento.py::test_un_proveedor_esperado_mal_formado_es_una_peticion_invalida[malo0]
test_124_c1_propuesta_de_planteamiento.py::test_un_proveedor_esperado_mal_formado_es_una_peticion_invalida[malo1]
test_124_c1_propuesta_de_planteamiento.py::test_un_proveedor_esperado_mal_formado_es_una_peticion_invalida[openai]
test_124_c1_propuesta_de_planteamiento.py::test_un_proveedor_esperado_mal_formado_es_una_peticion_invalida[malo3]
test_124_c1_propuesta_de_planteamiento.py::test_si_las_filas_enviadas_no_ensenan_todas_las_clases_la_positiva_no_se_rellena
test_125_c1_el_mapa_de_la_decision.py::test_forma_de_la_respuesta
test_125_c1_el_mapa_de_la_decision.py::test_los_ejes_van_del_minimo_al_maximo_de_train
test_125_c1_el_mapa_de_la_decision.py::test_el_fichero_se_escribe_entero_y_dice_su_semilla
test_125_c1_el_mapa_de_la_decision.py::test_la_probabilidad_de_una_celda_es_la_de_probar_una_fila
test_125_c1_el_mapa_de_la_decision.py::test_ejes_por_omision_con_importancia_son_los_dos_que_mas_pesan
test_125_c1_el_mapa_de_la_decision.py::test_ejes_por_omision_sin_importancia_dicen_su_regla
test_125_c1_el_mapa_de_la_decision.py::test_los_ejes_elegidos_a_mano_tambien_son_consistentes
test_125_c1_el_mapa_de_la_decision.py::test_fijados_salen_de_train_no_del_test
test_125_c1_el_mapa_de_la_decision.py::test_puntos_clase_real_como_el_csv_y_acierto_cuadra_con_el_umbral
test_125_c1_el_mapa_de_la_decision.py::test_las_decisiones_del_test_son_las_de_la_evaluacion_final
test_125_c1_el_mapa_de_la_decision.py::test_tope_de_n
test_125_c1_el_mapa_de_la_decision.py::test_un_eje_que_no_es_un_atributo_numerico_se_rechaza
test_125_c1_el_mapa_de_la_decision.py::test_por_http_el_envoltorio_acepta_los_tres_campos
test_125_c1_el_mapa_de_la_decision.py::test_la_ruta_existe_en_el_servidor
test_125_c1_el_mapa_de_la_decision.py::test_la_rejilla_se_predice_con_una_sola_carga_y_un_solo_lote
test_125_c1_el_mapa_de_la_decision.py::test_dueno_ajeno
test_125_c1_el_mapa_de_la_decision.py::test_estudio_anterior_sin_el_fichero
test_125_c1_el_mapa_de_la_decision.py::test_menos_de_dos_numericos_en_un_estudio_real
test_125_c1_el_mapa_de_la_decision.py::test_no_es_binaria_en_un_estudio_real
test_125_c1_el_mapa_de_la_decision.py::test_con_muchas_filas_se_guarda_una_muestra_con_semilla_fija
test_125_c1_el_mapa_de_la_decision.py::test_si_calcular_el_mapa_falla_el_estudio_completa_igual
test_125_c1_el_mapa_de_la_decision.py::test_texto_declarado_pero_gana_un_motor_de_tabla_el_mapa_existe
test_125_c1_el_mapa_de_la_decision.py::test_una_fecha_se_fija_en_la_fecha_mediana_de_train_y_no_sin_valor
test_125_c1_el_mapa_de_la_decision.py::test_un_punto_sin_valor_en_un_eje_no_se_dibuja_y_se_cuenta
test_125_c1_el_mapa_de_la_decision.py::test_un_atributo_constante_no_es_un_eje_y_se_fija_en_su_valor
test_125_c1_el_mapa_de_la_decision.py::test_la_fecha_mediana_de_train_sale_de_la_politica_y_la_misma_preparacion_la_lee
test_125_c1_el_mapa_de_la_decision.py::test_el_estudio_completo_exportado_lleva_lo_que_dice_su_texto
test_125_c1_el_mapa_de_la_decision.py::test_si_el_ganador_lee_texto_no_se_escribe_el_fichero_del_mapa
test_125_c1_el_mapa_de_la_decision.py::test_el_tope_que_dice_la_pantalla_es_el_del_backend
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y-%m-%d]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y-%m-%dT%H:%M]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y-%m-%dT%H:%M:%S]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y-%m-%d %H:%M]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y-%m-%d %H:%M:%S]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%d/%m/%Y]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%m/%d/%Y]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y/%m/%d]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%d-%m-%Y]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%d/%m/%Y antes de 1970]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%Y-%m-%d %H:%M momento en frase]
test_125_c1_fecha_fijada_en_cada_formato.py::test_la_fecha_fijada_es_la_mediana_de_train_en_su_formato[%m/%d/%Y momento en frase]
test_125_ejes_por_separacion.py::test_auroc_casos_conocidos
test_125_ejes_por_separacion.py::test_auroc_ignora_ausentes_y_sin_dos_clases_es_none
test_125_ejes_por_separacion.py::test_sin_importancia_los_ejes_son_las_dos_que_separan_no_las_primeras
test_125_ejes_por_separacion.py::test_el_orden_es_por_separacion_descendente_con_el_dato_guardado
test_125_ejes_por_separacion.py::test_importancia_con_dos_pesos_sigue_mandando
test_125_ejes_por_separacion.py::test_importancia_con_un_solo_peso_cae_a_la_separacion
test_125_ejes_por_separacion.py::test_x_e_y_pedidos_mandan_y_el_otro_eje_sigue_la_separacion
test_125_ejes_por_separacion.py::test_con_una_sola_clase_en_las_filas_guardadas_cae_a_los_primeros
test_125_ejes_por_separacion.py::test_con_datos_de_una_sola_columna_cae_a_los_primeros
test_126_m5_texto_de_la_regla.py::test_sin_importancia_el_texto_dice_que_no_la_publica
test_126_m5_texto_de_la_regla.py::test_con_importancia_y_un_solo_peso_el_texto_no_dice_que_no_la_publica
test_126_m5_texto_de_la_regla.py::test_y_en_los_primeros_numericos_tambien
test_127_c1_docker_de_verdad.py::test_el_README_tal_cual_y_la_imagen_predice_lo_mismo_que_probar_una_fila[binaria]
test_127_c1_docker_de_verdad.py::test_el_README_tal_cual_y_la_imagen_predice_lo_mismo_que_probar_una_fila[regresion]
test_127_c1_servicio_del_estudio.py::test_el_zip_lleva_lo_que_tiene_que_llevar
test_127_c1_servicio_del_estudio.py::test_el_zip_no_lleva_filas_ni_identificadores
test_127_c1_servicio_del_estudio.py::test_el_servidor_del_zip_es_la_plantilla_sin_tocar
test_127_c1_servicio_del_estudio.py::test_las_licencias_son_las_de_los_motores
test_127_c1_servicio_del_estudio.py::test_requirements_fijado_a_las_versiones_del_entrenamiento
test_127_c1_servicio_del_estudio.py::test_dockerfile_no_root_con_healthcheck
test_127_c1_servicio_del_estudio.py::test_con_torch_el_dockerfile_usa_el_indice_de_cpu
test_127_c1_servicio_del_estudio.py::test_readme_en_castellano_e_ingles_con_curl
test_127_c1_servicio_del_estudio.py::test_un_requisito_sin_version_exacta_no_se_entrega
test_127_c1_servicio_del_estudio.py::test_sin_licencia_de_los_motores_no_se_entrega
test_127_c1_servicio_del_estudio.py::test_sin_el_codigo_de_los_motores_no_se_entrega
test_127_c1_servicio_del_estudio.py::test_el_escaner_de_secretos_bloquea_el_servicio
test_127_c1_servicio_del_estudio.py::test_un_estudio_que_no_es_tuyo_no_exporta_nada
test_127_c1_servicio_del_estudio.py::test_el_endpoint_va_por_la_puerta_de_exportar_y_esta_descargable
test_127_c1_servicio_del_estudio.py::test_predict_llama_al_ejecutor_del_paquete
test_127_c1_servicio_del_estudio.py::test_el_servidor_no_tiene_su_propia_prediccion
test_127_c1_servicio_del_estudio.py::test_health_no_pide_token_y_lo_demas_si
test_127_c1_servicio_del_estudio.py::test_token_malo_es_401[otro-token-Bearer]
test_127_c1_servicio_del_estudio.py::test_token_malo_es_401[un-token-de-prueba-bastante-larg-Bearer]
test_127_c1_servicio_del_estudio.py::test_token_malo_es_401[un-token-de-prueba-bastante-largox-Bearer]
test_127_c1_servicio_del_estudio.py::test_token_malo_es_401[-Bearer]
test_127_c1_servicio_del_estudio.py::test_token_malo_es_401[un-token-de-prueba-bastante-largo-Basic]
test_127_c1_servicio_del_estudio.py::test_el_token_se_compara_en_tiempo_constante
test_127_c1_servicio_del_estudio.py::test_sin_token_el_servicio_no_arranca
test_127_c1_servicio_del_estudio.py::test_modelo_describe_lo_que_tiene_el_paquete
test_127_c1_servicio_del_estudio.py::test_cuerpos_malos_dicen_su_motivo[{nope-json_invalido]
test_127_c1_servicio_del_estudio.py::test_cuerpos_malos_dicen_su_motivo[[1, 2]-json_invalido]
test_127_c1_servicio_del_estudio.py::test_cuerpos_malos_dicen_su_motivo[\xff\xfe-json_invalido]
test_127_c1_servicio_del_estudio.py::test_cuerpos_malos_dicen_su_motivo[{"otra": 1}-falta_valores]
test_127_c1_servicio_del_estudio.py::test_columna_desconocida_con_motivo
test_127_c1_servicio_del_estudio.py::test_valor_no_numerico_con_motivo[abc]
test_127_c1_servicio_del_estudio.py::test_valor_no_numerico_con_motivo[True]
test_127_c1_servicio_del_estudio.py::test_valor_no_numerico_con_motivo[valor2]
test_127_c1_servicio_del_estudio.py::test_valor_no_numerico_con_motivo[valor3]
test_127_c1_servicio_del_estudio.py::test_valor_no_numerico_con_motivo[inf]
test_127_c1_servicio_del_estudio.py::test_numericos_y_faltantes_pasan[3]
test_127_c1_servicio_del_estudio.py::test_numericos_y_faltantes_pasan[3.5_0]
test_127_c1_servicio_del_estudio.py::test_numericos_y_faltantes_pasan[3.5_1]
test_127_c1_servicio_del_estudio.py::test_numericos_y_faltantes_pasan[None]
test_127_c1_servicio_del_estudio.py::test_numericos_y_faltantes_pasan[]
test_127_c1_servicio_del_estudio.py::test_error_interno_sin_traceback
test_127_c1_servicio_del_estudio.py::test_lote_dentro_del_tope_y_fuera
test_127_c1_servicio_del_estudio.py::test_lote_malo_dice_que_fila_y_no_predice_ninguna
test_127_c1_servicio_del_estudio.py::test_cuerpo_demasiado_grande_y_rutas_o_metodos_raros
test_127_c3_licencia_del_servicio.py::test_servidor_py_es_AGPL_como_los_motores
test_127_c3_licencia_del_servicio.py::test_todo_el_codigo_del_zip_es_AGPL_y_nada_propietario
test_127_c3_licencia_del_servicio.py::test_el_zip_lleva_los_textos_y_el_dockerfile_los_copia
test_127_c3_licencia_del_servicio.py::test_cada_fichero_citado_existe_con_el_nombre_citado
test_127_c3_licencia_del_servicio.py::test_el_aviso_dice_cada_requisito_con_su_version
test_127_c3_licencia_del_servicio.py::test_el_README_lo_dice_en_los_dos_idiomas
test_127_c3_licencia_del_servicio.py::test_la_excepcion_del_Studio_es_exactamente_lo_que_viaja
test_127_c3_licencia_del_servicio.py::test_el_TERCEROS_del_Studio_declara_la_plantilla_AGPL
test_127_c3_paridad_sin_docker.py::test_el_servidor_del_zip_contesta_EXACTAMENTE_lo_que_probar_una_fila
test_127_c3_paridad_sin_docker.py::test_modelo_y_predict_hablan_con_las_mismas_etiquetas
test_127_c3_reparacion.py::test_I1_las_ordenes_del_README_copiadas_tal_cual_usan_el_mismo_token[### Construir y arrancar]
test_127_c3_reparacion.py::test_I1_las_ordenes_del_README_copiadas_tal_cual_usan_el_mismo_token[### Build and run]
test_127_c3_reparacion.py::test_I1_las_ordenes_de_la_PANTALLA_copiadas_tal_cual_usan_el_mismo_token
test_127_c3_reparacion.py::test_I2_modelo_dice_las_etiquetas_de_la_persona_como_predict
test_127_c3_reparacion.py::test_I2_sin_mapa_las_etiquetas_quedan_como_estan
test_127_c3_reparacion.py::test_I3_predict_y_el_lote_devuelven_umbral_y_escala_en_binaria
test_127_c3_reparacion.py::test_I3_en_regresion_y_multiclase_van_como_null[regression]
test_127_c3_reparacion.py::test_I3_en_regresion_y_multiclase_van_como_null[multiclass_classification]
test_127_c3_reparacion.py::test_I4_el_README_dice_que_construir_necesita_internet_y_como_llevarla_sin_el
test_127_c3_reparacion.py::test_I5_el_README_dice_el_vocabulario_y_las_fechas_cuando_viajan
test_127_c3_reparacion.py::test_I5_sin_texto_ni_fecha_no_se_dicen
test_127_c3_reparacion.py::test_I6_un_torch_de_CUDA_se_instala_de_SU_indice
test_127_c3_reparacion.py::test_I6_un_ganador_del_Studio_con_GPU_se_sirve_y_se_dice_lo_que_pesa
test_127_c3_reparacion.py::test_I6_con_torch_de_CPU_no_es_CUDA
test_127_c3_reparacion.py::test_I6_una_version_que_no_se_puede_instalar_no_entrega_un_zip_que_no_construye[pip0]
test_127_c3_reparacion.py::test_I6_una_version_que_no_se_puede_instalar_no_entrega_un_zip_que_no_construye[pip1]
test_127_c3_reparacion.py::test_M3_el_escaner_mira_tambien_los_ficheros_de_mas_de_2_MiB
test_127_c3_reparacion.py::test_M5_un_token_corto_no_arranca_y_dice_por_que[corto]
test_127_c3_reparacion.py::test_M5_un_token_corto_no_arranca_y_dice_por_que[x]
test_127_c3_reparacion.py::test_M5_un_token_corto_no_arranca_y_dice_por_que[aaaaaaaaaaaaaaa]
test_127_c3_reparacion.py::test_M5_un_token_con_un_espacio_al_final_casa
test_127_c3_reparacion.py::test_M6_un_entero_de_miles_de_cifras_es_un_400
test_127_c3_reparacion.py::test_M8_en_multiclase_modelo_no_anuncia_conforme
test_127_c3_reparacion.py::test_M8_en_binaria_si_lo_anuncia
test_127_m4_arrastre.py::test_las_restricciones_son_el_cierre_a_las_versiones_del_entorno
test_127_m4_arrastre.py::test_la_base_de_python_es_la_del_entrenamiento
test_127_m4_arrastre.py::test_el_zip_lleva_las_restricciones_de_arrastre_y_el_dockerfile_las_usa
test_127_m7_columna_de_texto.py::test_una_fila_SIN_la_columna_de_texto_se_rechaza_con_su_motivo_es_en_como_el_servicio
test_127_m7_columna_de_texto.py::test_con_la_columna_vacia_predice_y_coincide_con_el_servidor_del_zip
test_127_m7_columna_de_texto.py::test_con_un_ganador_de_tabla_nada_cambia
test_127_menores.py::test_N1_la_columna_de_texto_es_la_del_GANADOR_y_no_la_del_esquema
test_127_menores.py::test_N1_y_si_el_ganador_la_lee_sale_aunque_el_esquema_no_la_traiga
test_127_menores.py::test_N3_un_torch_sin_sufijo_no_dice_el_peso_de_un_arbol
test_127_menores.py::test_N3_solo_el_torch_sin_sufijo_lo_dice[pip0-False]
test_127_menores.py::test_N3_solo_el_torch_sin_sufijo_lo_dice[pip1-False]
test_127_menores.py::test_N3_solo_el_torch_sin_sufijo_lo_dice[pip2-False]
test_127_menores.py::test_N3_un_arbol_sigue_diciendo_su_peso
test_127_menores.py::test_N4_exportar_mira_tambien_los_ficheros_de_mas_de_2_MiB
test_127_menores.py::test_N4_publicar_en_Hugging_Face_conserva_su_tope_por_omisión
test_127_menores.py::test_N5_el_422_de_una_fila_no_valida_lleva_cada_idioma_en_el_suyo
test_127_menores.py::test_N5_el_rechazo_por_secretos_del_servicio_lleva_motivo_en_los_dos_idiomas
test_127_menores.py::test_N6_el_README_dice_que_hacer_con_sudo
test_anexo_581_c2_regression_prediction.py::TestRegressionPredictionShape::test_prediction_kind_is_regression_with_value_and_target
test_anexo_581_c2_regression_prediction.py::TestRegressionPredictionShape::test_two_different_inputs_produce_two_different_values
test_anexo_581_c2_regression_prediction.py::TestRegressionPredictionShape::test_value_is_never_clamped_to_the_unit_interval
test_anexo_581_c2_regression_prediction.py::TestPredictionSurvivesCollapseCantFakeSensitivityOrQuality::test_a_model_trained_without_target_normalization_fails_this_bar
test_anexo_581_c2_regression_prediction.py::TestPredictionSurvivesCollapseCantFakeSensitivityOrQuality::test_trained_model_is_sensitive_and_meets_a_quality_bar
test_anexo_581_c2_regression_prediction.py::TestClassificationPredictionUnchanged::test_classification_prediction_gains_kind_keeps_label_and_probability
test_anexo_581_c2_regression_prediction.py::TestNoNetworkModelStillReturnsNullPrediction::test_workflow_model_without_network_has_null_prediction
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithLiveJob::test_card_text_reflects_the_actual_predicted_value
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithLiveJob::test_confidence_basis_is_validation_quality_not_calibrated_probability
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithLiveJob::test_confidence_label_is_not_applicable_never_insufficient
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithLiveJob::test_confidence_score_is_never_derived_from_the_predicted_magnitude
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithLiveJob::test_priority_risk_or_category_shows_real_value_and_mae_context
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithoutLiveJob::test_confidence_basis_is_unavailable_not_calibrated_probability
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithoutLiveJob::test_confidence_label_is_not_applicable_never_insufficient
test_anexo_581_c3_regression_executive_card.py::TestRegressionExecutiveCardWithoutLiveJob::test_priority_risk_or_category_states_confidence_does_not_apply
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateGeneratesARegressionProject::test_target_and_lag_fields_match_the_template
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateTrainingHasTruthfulMetrics::test_meets_a_quality_bar_that_a_non_learning_model_would_fail
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateTrainingHasTruthfulMetrics::test_task_kind_is_regression_with_truthful_metrics
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateTrainingHasTruthfulMetrics::test_uses_the_real_trained_job
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateInferenceRespondsToDifferentInputs::test_trained_flag_and_executive_card_reflect_real_training
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateInferenceRespondsToDifferentInputs::test_two_different_lag_vectors_produce_two_different_predictions
test_anexo_581_c4_e2e_financial_template.py::TestFinancialTemplateSaveReloadCycle::test_saved_and_reloaded_model_still_predicts_from_trained_weights
test_auditoria_externa_83.py::H10_AceptadoTieneQueSerUnBOOLEANOTest::test_la_cadena_false_NO_se_guarda_como_aceptada
test_auditoria_externa_83.py::H10_AceptadoTieneQueSerUnBOOLEANOTest::test_ni_un_numero_ni_nada_que_no_sea_bool
test_auditoria_externa_83.py::H10_AceptadoTieneQueSerUnBOOLEANOTest::test_tampoco_se_interpreta_como_rechazo
test_auditoria_externa_83.py::H10_AceptadoTieneQueSerUnBOOLEANOTest::test_y_los_booleanos_de_verdad_SI
test_auditoria_externa_83.py::H11_UnaPropuestaTieneQueEXISTIRTest::test_la_de_OTRO_modelo_no_vale_para_este
test_auditoria_externa_83.py::H11_UnaPropuestaTieneQueEXISTIRTest::test_una_emitida_SI
test_auditoria_externa_83.py::H11_UnaPropuestaTieneQueEXISTIRTest::test_una_propuesta_que_nadie_emitio_no_se_puede_decidir
test_auditoria_externa_83.py::H12_AceptarCreaUnCANDIDATOTest::test_NO_es_un_modelo_ni_una_entrada_de_registry_y_lo_DICE
test_auditoria_externa_83.py::H12_AceptarCreaUnCANDIDATOTest::test_RECHAZAR_no_crea_candidato
test_auditoria_externa_83.py::H12_AceptarCreaUnCANDIDATOTest::test_aceptar_deja_un_candidato_con_su_prompt
test_auditoria_externa_83.py::H12_AceptarCreaUnCANDIDATOTest::test_y_la_respuesta_dice_que_falta_reentrenar
test_auditoria_externa_83.py::H12_AceptarCreaUnCANDIDATOTest::test_y_se_puede_MIRAR_despues
test_biblioteca_c2_studio_endpoints.py::TestStudioAnalyzeDatasetFunction::test_illegible_csv_returns_actionable_error_not_exception
test_biblioteca_c2_studio_endpoints.py::TestStudioAnalyzeDatasetFunction::test_missing_csv_text_returns_error
test_biblioteca_c2_studio_endpoints.py::TestStudioAnalyzeDatasetFunction::test_valid_csv_returns_ok_with_target_candidates
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_category_override_reaches_core_and_provenance
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_column_type_override_changes_generated_schema
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_malformed_category_override_returns_actionable_error
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_malformed_range_override_value_returns_actionable_error
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_missing_csv_text_returns_error
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_missing_target_column_returns_error
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_model_origin_is_dataset_generated
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_non_dict_range_overrides_returns_actionable_error_not_500
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_non_dict_type_overrides_returns_actionable_error_not_500
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_non_numeric_range_override_returns_actionable_error
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_prompt_mode_is_still_default_and_unaffected
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_provenance_carries_feature_and_label_maps
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_provenance_carries_studio_version
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_returns_csv_text_and_provenance
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_returns_mxai_and_training_text
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_returns_ok_for_valid_dataset
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_same_shape_as_prompt_mode_response
test_biblioteca_c2_studio_endpoints.py::TestStudioGenerateDatasetModeFunction::test_unknown_target_column_returns_actionable_error
test_biblioteca_c2_studio_endpoints.py::TestStudioC2Routes::test_analyze_dataset_route_missing_csv_returns_422
test_biblioteca_c2_studio_endpoints.py::TestStudioC2Routes::test_analyze_dataset_route_returns_200
test_biblioteca_c2_studio_endpoints.py::TestStudioC2Routes::test_generate_route_dataset_mode_bad_target_returns_422
test_biblioteca_c2_studio_endpoints.py::TestStudioC2Routes::test_generate_route_dataset_mode_returns_200
test_biblioteca_c2_studio_endpoints.py::TestStudioC2Routes::test_generate_route_prompt_mode_still_works
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_boolean_horizon_is_rejected
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_boolean_lag_window_size_is_rejected
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_clean_float_horizon_is_accepted
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_fractional_horizon_is_rejected_not_truncated
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_fractional_lag_window_size_is_rejected_not_truncated
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_missing_horizon_returns_actionable_error
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_model_origin_is_dataset_generated
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_non_integer_horizon_returns_actionable_error
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_non_integer_lag_window_size_returns_actionable_error
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_non_list_lag_window_columns_returns_actionable_error
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_provenance_carries_temporal_config
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_range_override_applies_to_transformed_lag_column
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_returns_ok_for_valid_temporal_dataset
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_unknown_temporal_column_returns_actionable_error
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_window_too_large_for_dataset_returns_actionable_error
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_without_lag_window_columns_still_works
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalFunction::test_without_temporal_column_uses_non_temporal_path
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalRoute::test_bad_horizon_returns_422
test_biblioteca_c4_studio_endpoints.py::TestStudioGenerateTemporalRoute::test_valid_temporal_payload_returns_200
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvPresent::test_pre_pipeline_csv_text_is_the_real_provider_download
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvPresent::test_pre_pipeline_csv_hash_matches_provenance_raw_csv_sha256
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvPresent::test_pre_pipeline_csv_is_the_pre_transform_text_for_a_pipeline_template
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvPresent::test_prepared_csv_text_is_unaffected_by_this_contract
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvSizeLimits::test_omitted_when_larger_than_the_individual_limit
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvSizeLimits::test_omitted_when_combined_with_the_prepared_csv_exceeds_the_combined_limit
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvSizeLimits::test_omission_never_blocks_the_project_itself
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvSizeLimits::test_not_omitted_when_comfortably_under_both_limits
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvSizeLimits::test_synthetic_template_follows_the_same_rule_as_a_pipeline_template
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvByteMeasurement::test_measures_utf8_encoded_bytes_not_python_string_length
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvByteBoundaries::test_the_default_limits_are_decimal_megabytes_not_mebibytes
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvByteBoundaries::test_exactly_at_the_individual_limit_is_accepted
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvByteBoundaries::test_one_byte_over_the_individual_limit_is_omitted
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvByteBoundaries::test_exactly_at_the_combined_limit_is_accepted
test_biblioteca_c58_c2_pre_pipeline_csv.py::TestPrePipelineCsvByteBoundaries::test_one_byte_over_the_combined_limit_is_omitted
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateDatasetModeUserIntent::test_default_has_no_intent
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateDatasetModeUserIntent::test_intent_does_not_change_mxai_or_training_text
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateDatasetModeUserIntent::test_non_string_intent_returns_actionable_error
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateDatasetModeUserIntent::test_normalized_intent_reaches_provenance
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateDatasetModeUserIntent::test_over_length_intent_returns_actionable_error_not_500
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateTemporalModeUserIntent::test_temporal_path_carries_the_intent_too
test_biblioteca_c58_c4_user_intent_studio.py::TestStudioGenerateTemporalModeUserIntent::test_temporal_path_over_length_intent_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_absent_user_intent_key_is_valid_retrocompat
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_already_normalized_intent_is_still_accepted
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_control_character_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_empty_string_user_intent_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_leading_and_repeated_whitespace_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_nfd_unicode_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_non_string_user_intent_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_none_user_intent_is_valid
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_over_length_user_intent_is_rejected
test_biblioteca_c58_c4_user_intent_studio.py::TestProvenanceShapeUserIntent::test_valid_string_user_intent_is_valid
test_biblioteca_c58_c4_user_intent_studio.py::TestUserIntentRoundtripsThroughSaveAndGet::test_no_intent_roundtrips_as_none
test_biblioteca_c58_c4_user_intent_studio.py::TestUserIntentRoundtripsThroughSaveAndGet::test_real_generated_intent_survives_save_and_get
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_default_does_not_request_llm
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_invalid_proposal_marks_retryable_true_not_a_silent_success
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_no_llm_configured_marks_intent_llm_retryable_false
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_non_bool_use_intent_llm_returns_actionable_error
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_ordinary_generation_errors_have_no_retryable_flag
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_transport_failure_marks_intent_llm_retryable_true
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_use_intent_llm_without_intent_returns_actionable_error
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateUseIntentLlm::test_valid_proposal_reaches_the_generated_model
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateTemporalUseIntentLlm::test_temporal_path_honors_the_proposal
test_biblioteca_c58_c5_intent_llm_studio.py::TestStudioGenerateTemporalUseIntentLlm::test_temporal_path_marks_retryable_on_failure
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_absent_key_is_valid_retrocompat
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_bad_sanitizer_result_value_is_rejected
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_inventing_a_provider_when_not_requested_is_rejected
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_missing_required_key_is_rejected
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_non_dict_non_none_is_rejected
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_none_is_valid
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_not_requested_block_is_valid
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_used_true_with_requested_false_is_rejected
test_biblioteca_c58_c5_intent_llm_studio.py::TestProvenanceShapeIntentLlm::test_valid_used_block_is_valid
test_biblioteca_c58_c5_intent_llm_studio.py::TestIntentLlmRoundtripsThroughSaveAndGet::test_real_generated_intent_llm_survives_save_and_get
test_biblioteca_c58_c6_e2e.py::TestMarinaTemplateE2E::test_pre_pipeline_csv_hash_matches_provenance
test_biblioteca_c58_c6_e2e.py::TestMarinaTemplateE2E::test_pre_pipeline_csv_is_the_canonical_provider_data_not_the_prepared_one
test_biblioteca_c58_c6_e2e.py::TestMarinaTemplateE2E::test_prepared_csv_header_matches_the_contract_example
test_biblioteca_c58_c6_e2e.py::TestMarinaTemplateE2E::test_prepared_csv_is_the_exact_text_that_would_be_sent_to_train_start
test_biblioteca_c58_c6_e2e.py::TestFromDataTabularE2EWithIntentAndLlmCombinations::test_intent_with_llm_opt_in_produces_a_valid_trainable_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTabularE2EWithIntentAndLlmCombinations::test_intent_without_llm_produces_a_valid_trainable_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTabularE2EWithIntentAndLlmCombinations::test_llm_opt_out_after_a_failure_still_produces_a_valid_trainable_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTabularE2EWithIntentAndLlmCombinations::test_no_intent_no_llm_produces_a_valid_trainable_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTabularE2EWithIntentAndLlmCombinations::test_target_chosen_from_a_suggested_candidate_matches_the_first_ranked_one
test_biblioteca_c58_c6_e2e.py::TestFromDataTemporalE2EWithIntentAndLlmCombinations::test_intent_with_llm_opt_in_produces_a_valid_trainable_temporal_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTemporalE2EWithIntentAndLlmCombinations::test_intent_without_llm_produces_a_valid_trainable_temporal_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTemporalE2EWithIntentAndLlmCombinations::test_llm_opt_out_after_a_failure_still_produces_a_valid_trainable_temporal_model
test_biblioteca_c58_c6_e2e.py::TestFromDataTemporalE2EWithIntentAndLlmCombinations::test_no_intent_produces_a_valid_trainable_temporal_model
test_biblioteca_c58_c6_e2e.py::TestConsecutiveGenerationsDoNotLeakStateBetweenEachOther::test_a_call_without_intent_after_one_with_intent_has_none
test_biblioteca_c58_c6_e2e.py::TestConsecutiveGenerationsDoNotLeakStateBetweenEachOther::test_a_template_generation_after_a_dataset_one_has_its_own_independent_provenance
test_biblioteca_c58_c6_e2e.py::TestConsecutiveGenerationsDoNotLeakStateBetweenEachOther::test_two_different_intents_in_a_row_never_cross_contaminate
test_biblioteca_c5_studio_providers.py::TestProvidersListFunction::test_each_provider_carries_license_info
test_biblioteca_c5_studio_providers.py::TestProvidersListFunction::test_lists_the_three_v1_providers
test_biblioteca_c5_studio_providers.py::TestProviderValidateFunction::test_invalid_config_returns_errors_not_ok
test_biblioteca_c5_studio_providers.py::TestProviderValidateFunction::test_non_dict_config_returns_actionable_error
test_biblioteca_c5_studio_providers.py::TestProviderValidateFunction::test_unknown_provider_returns_actionable_error
test_biblioteca_c5_studio_providers.py::TestProviderValidateFunction::test_valid_config_returns_ok
test_biblioteca_c5_studio_providers.py::TestProviderEstimateFunction::test_estimate_never_touches_network_for_synthetic_local
test_biblioteca_c5_studio_providers.py::TestProviderEstimateFunction::test_invalid_config_returns_actionable_error
test_biblioteca_c5_studio_providers.py::TestProviderAcceptLicenseFunction::test_defaults_actor_when_omitted
test_biblioteca_c5_studio_providers.py::TestProviderAcceptLicenseFunction::test_records_an_acceptance_receipt
test_biblioteca_c5_studio_providers.py::TestProviderAcceptLicenseFunction::test_unknown_provider_returns_actionable_error
test_biblioteca_c5_studio_providers.py::TestProviderDownloadFunction::test_download_with_acceptance_from_a_different_provider_is_rejected
test_biblioteca_c5_studio_providers.py::TestProviderDownloadFunction::test_download_with_unknown_acceptance_id_is_rejected
test_biblioteca_c5_studio_providers.py::TestProviderDownloadFunction::test_download_without_acceptance_id_is_rejected
test_biblioteca_c5_studio_providers.py::TestProviderDownloadFunction::test_open_meteo_download_reaches_core_with_mocked_network
test_biblioteca_c5_studio_providers.py::TestProviderDownloadFunction::test_open_meteo_download_without_acceptance_makes_zero_network_calls
test_biblioteca_c5_studio_providers.py::TestProviderDownloadFunction::test_synthetic_local_download_succeeds_with_acceptance
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_accept_license_route_returns_200
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_download_route_returns_200_for_synthetic_local
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_download_route_returns_422_without_acceptance
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_estimate_route_returns_200
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_list_route_returns_200
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_validate_route_returns_200_for_valid_config
test_biblioteca_c5_studio_providers.py::TestProvidersRoute::test_validate_route_returns_422_for_invalid_config
test_biblioteca_c6_studio_templates.py::TestTemplatesListFunction::test_filter_by_category
test_biblioteca_c6_studio_templates.py::TestTemplatesListFunction::test_filter_by_difficulty
test_biblioteca_c6_studio_templates.py::TestTemplatesListFunction::test_filter_by_requires_network
test_biblioteca_c6_studio_templates.py::TestTemplatesListFunction::test_lists_the_bundled_templates
test_biblioteca_c6_studio_templates.py::TestTemplatesListFunction::test_summary_is_localized
test_biblioteca_c6_studio_templates.py::TestTemplateDetailFunction::test_returns_full_ficha
test_biblioteca_c6_studio_templates.py::TestTemplateDetailFunction::test_unknown_id_returns_actionable_error
test_biblioteca_c6_studio_templates.py::TestTemplateCreateProjectFunction::test_acceptance_from_a_different_provider_is_rejected
test_biblioteca_c6_studio_templates.py::TestTemplateCreateProjectFunction::test_creates_a_project_with_the_same_shape_as_generate
test_biblioteca_c6_studio_templates.py::TestTemplateCreateProjectFunction::test_response_carries_the_pre_pipeline_csv_contrato_58_c2
test_biblioteca_c6_studio_templates.py::TestTemplateCreateProjectFunction::test_temporal_template_generates_end_to_end
test_biblioteca_c6_studio_templates.py::TestTemplateCreateProjectFunction::test_unknown_template_is_rejected
test_biblioteca_c6_studio_templates.py::TestTemplateCreateProjectFunction::test_without_acceptance_id_is_rejected
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_create_project_route_returns_200
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_create_project_route_returns_422_without_acceptance
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_detail_route_returns_200
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_detail_route_returns_404_for_unknown_id
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_estimate_route_returns_200
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_estimate_route_returns_422_for_unknown_template
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_list_route_returns_200
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_list_route_with_query_filters
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_validate_route_returns_200_for_a_valid_template
test_biblioteca_c6_studio_templates.py::TestTemplatesRoute::test_validate_route_returns_422_for_unknown_template
test_biblioteca_c6_studio_templates.py::TestFullCycleThroughTheEndpointIncludingTraining::test_create_project_then_train_for_real
test_biblioteca_c6_template_catalog.py::TestLoading::test_loads_a_valid_template
test_biblioteca_c6_template_catalog.py::TestLoading::test_missing_directory_raises_actionable_error
test_biblioteca_c6_template_catalog.py::TestLoading::test_malformed_json_raises_actionable_error
test_biblioteca_c6_template_catalog.py::TestLoading::test_invalid_template_shape_raises_actionable_error
test_biblioteca_c6_template_catalog.py::TestLoading::test_id_mismatch_with_filename_raises_actionable_error
test_biblioteca_c6_template_catalog.py::TestLoading::test_reload_picks_up_filesystem_changes
test_biblioteca_c6_template_catalog.py::TestListFilters::test_disabled_is_never_listed
test_biblioteca_c6_template_catalog.py::TestListFilters::test_disabled_is_never_listed_even_with_explicit_state_filter
test_biblioteca_c6_template_catalog.py::TestListFilters::test_filter_by_category
test_biblioteca_c6_template_catalog.py::TestListFilters::test_filter_by_difficulty
test_biblioteca_c6_template_catalog.py::TestListFilters::test_filter_by_provider_id
test_biblioteca_c6_template_catalog.py::TestListFilters::test_filter_by_requires_network
test_biblioteca_c6_template_catalog.py::TestListFilters::test_results_sorted_by_id
test_biblioteca_c6_template_catalog.py::TestGetTemplate::test_returns_none_for_unknown_id
test_biblioteca_c6_template_catalog.py::TestGetTemplate::test_disabled_template_is_still_reachable_by_direct_id
test_biblioteca_c6_template_catalog.py::TestRealBundledCatalog::test_the_real_bundled_catalog_loads_without_errors
test_biblioteca_c6_template_catalog.py::TestRealBundledCatalog::test_get_default_template_catalog_is_a_singleton
test_biblioteca_c6_template_project.py::TestSyntheticTemplateE2E::test_generates_a_full_project
test_biblioteca_c6_template_project.py::TestSyntheticTemplateE2E::test_deterministic_same_seed_produces_same_project
test_biblioteca_c6_template_project.py::TestParityWithDirectC2Call::test_same_schema_via_template_or_direct_c2_produces_the_same_mxai
test_biblioteca_c6_template_project.py::TestTemporalTemplateWithPipeline::test_generates_a_temporal_project
test_biblioteca_c6_template_project.py::TestTemporalTemplateWithPipeline::test_operations_include_pipeline_steps_first
test_biblioteca_c6_template_project.py::TestTemporalTemplateWithPipeline::test_rows_dropped_for_the_horizon_edge
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_training_text_declares_mode_temporal
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_split_ratio_is_preserved
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_provenance_seed_does_not_contradict_the_final_training_text
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_non_temporal_provenance_seed_still_reflects_the_real_gen_seed
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_non_temporal_template_keeps_the_real_gen_seed
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_pipeline_without_sort_temporal_is_not_forced_to_temporal_mode
test_biblioteca_c6_template_project.py::TestTemporalSplitIsForced::test_training_actually_uses_temporal_split_no_shuffle
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_raw_csv_sha256_matches_the_real_provider_download
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_post_pipeline_hash_is_recorded_separately
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_schema_inferred_reflects_the_original_provider_columns
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_provider_download_carries_config_and_real_license_and_extras
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_pipeline_steps_carry_full_params_not_just_names
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_template_content_hash_is_present_and_deterministic
test_biblioteca_c6_template_project.py::TestProvenanceReflectsTheRealDownload::test_template_content_hash_changes_if_template_changes
test_biblioteca_c6_template_project.py::TestPipelineOutputValidation::test_exactly_one_surviving_row_is_rejected
test_biblioteca_c6_template_project.py::TestPipelineOutputValidation::test_validate_pipeline_output_is_actually_invoked
test_biblioteca_c6_template_project.py::TestAntiLeakageDefenseInDepth::test_a_lag_smaller_than_the_horizon_leaves_a_residual_leak
test_biblioteca_c6_template_project.py::TestAntiLeakageDefenseInDepth::test_a_lag_exactly_matching_the_horizon_cancels_out_no_leak
test_biblioteca_c6_template_project.py::TestDisabledTemplate::test_disabled_template_is_rejected
test_biblioteca_c6_template_project.py::TestInvalidTemplate::test_malformed_template_is_rejected_before_touching_the_provider
test_biblioteca_c6_template_project.py::TestLicenseGate::test_download_without_acceptance_is_rejected
test_biblioteca_c6_template_project.py::TestTargetGenerationFailurePropagates::test_unknown_target_column_is_a_template_project_error
test_biblioteca_c6_template_project.py::TestOriginalDownloadAnalysisFailurePropagates::test_analysis_failure_on_the_original_download_is_wrapped
test_biblioteca_c6_template_schema.py::TestValidTemplate::test_valid_template_has_no_errors
test_biblioteca_c6_template_schema.py::TestValidTemplate::test_optional_fields_can_be_present
test_biblioteca_c6_template_schema.py::TestNotADict::test_non_dict_input_is_rejected
test_biblioteca_c6_template_schema.py::TestUnknownFields::test_unknown_top_level_field_is_rejected
test_biblioteca_c6_template_schema.py::TestMissingFields::test_missing_required_field_is_rejected
test_biblioteca_c6_template_schema.py::TestId::test_uppercase_id_is_rejected
test_biblioteca_c6_template_schema.py::TestId::test_id_starting_with_digit_is_rejected
test_biblioteca_c6_template_schema.py::TestId::test_id_with_hyphen_is_rejected
test_biblioteca_c6_template_schema.py::TestVersion::test_non_semver_version_is_rejected
test_biblioteca_c6_template_schema.py::TestVersion::test_v_prefixed_version_is_rejected
test_biblioteca_c6_template_schema.py::TestState::test_invalid_state_is_rejected
test_biblioteca_c6_template_schema.py::TestState::test_disabled_state_is_a_valid_shape
test_biblioteca_c6_template_schema.py::TestDifficulty::test_invalid_difficulty_is_rejected
test_biblioteca_c6_template_schema.py::TestProviderId::test_unknown_provider_is_rejected
test_biblioteca_c6_template_schema.py::TestProviderId::test_real_provider_is_accepted
test_biblioteca_c6_template_schema.py::TestRequiresNetworkConsistency::test_mismatched_requires_network_is_rejected
test_biblioteca_c6_template_schema.py::TestRequiresNetworkConsistency::test_non_boolean_requires_network_is_rejected
test_biblioteca_c6_template_schema.py::TestProviderConfig::test_provider_config_is_validated_against_the_real_provider
test_biblioteca_c6_template_schema.py::TestProviderConfig::test_non_dict_provider_config_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseShape::test_missing_license_field_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseShape::test_unknown_license_field_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseShape::test_empty_license_name_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseShape::test_license_url_may_be_empty_string
test_biblioteca_c6_template_schema.py::TestLicenseCoherenceWithRealProvider::test_fabricated_commercial_use_flag_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseCoherenceWithRealProvider::test_fabricated_attribution_flag_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseCoherenceWithRealProvider::test_matching_flags_are_accepted
test_biblioteca_c6_template_schema.py::TestLicenseCoherenceWithRealProvider::test_summary_may_differ_from_the_provider
test_biblioteca_c6_template_schema.py::TestLicenseCoherenceWithRealProvider::test_fabricated_name_is_rejected
test_biblioteca_c6_template_schema.py::TestLicenseCoherenceWithRealProvider::test_fabricated_url_is_rejected
test_biblioteca_c6_template_schema.py::TestI18n::test_missing_locale_is_rejected
test_biblioteca_c6_template_schema.py::TestI18n::test_extra_locale_is_rejected
test_biblioteca_c6_template_schema.py::TestI18n::test_missing_i18n_field_is_rejected
test_biblioteca_c6_template_schema.py::TestI18n::test_empty_i18n_text_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsShape::test_unknown_op_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsShape::test_unknown_param_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsShape::test_valid_ops_are_accepted
test_biblioteca_c6_template_schema.py::TestPipelineOperationsShape::test_non_list_pipeline_operations_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_lag_window_without_columns_or_window_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_shift_target_without_column_or_horizon_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_sort_temporal_without_column_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_missing_values_without_strategy_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_rename_without_mapping_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_cast_without_column_or_to_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_drop_columns_without_columns_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsRequiredParams::test_negative_horizon_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_rename_with_non_string_mapping_value_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_shift_target_with_non_string_as_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_shift_target_with_string_as_is_accepted
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_drop_columns_with_empty_column_name_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_lag_window_with_empty_column_name_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_lag_window_window_above_max_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_shift_target_horizon_above_max_is_rejected
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_missing_values_columns_must_be_a_non_empty_list
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_missing_values_rejects_duplicate_columns
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_rename_rejects_empty_source_name
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_rename_rejects_duplicate_destinations
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_lag_window_rejects_duplicate_columns
test_biblioteca_c6_template_schema.py::TestPipelineOperationsValueShapes::test_drop_columns_rejects_duplicate_columns
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_invalid_type_override_value_is_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_valid_type_override_values_are_accepted
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_inverted_range_override_is_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_nan_range_override_is_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_empty_category_override_is_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_single_value_category_override_is_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_duplicate_category_override_values_are_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_non_dict_type_overrides_is_rejected
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_override_column_names_cannot_be_empty[column_type_overrides-value0]
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_override_column_names_cannot_be_empty[column_range_overrides-value1]
test_biblioteca_c6_template_schema.py::TestOverridesValues::test_override_column_names_cannot_be_empty[column_category_overrides-value2]
test_biblioteca_c7_curated_templates.py::TestCatalogHasTheThreeCuratedTemplates::test_all_three_are_listed
test_biblioteca_c7_curated_templates.py::TestCatalogHasTheThreeCuratedTemplates::test_both_new_templates_validate_cleanly
test_biblioteca_c7_curated_templates.py::TestCatalogHasTheThreeCuratedTemplates::test_marina_is_filterable_by_category
test_biblioteca_c7_curated_templates.py::TestCatalogHasTheThreeCuratedTemplates::test_tipo_cambio_is_filterable_by_category
test_biblioteca_c7_curated_templates.py::TestMarinaGeneratesARealTemporalProject::test_generates_with_mode_temporal_and_correct_provenance
test_biblioteca_c7_curated_templates.py::TestMarinaGeneratesARealTemporalProject::test_without_acceptance_makes_zero_network_calls
test_biblioteca_c7_curated_templates.py::TestTipoCambioGeneratesARealTemporalProject::test_disclaimer_is_present_in_both_locales
test_biblioteca_c7_curated_templates.py::TestTipoCambioGeneratesARealTemporalProject::test_generates_with_mode_temporal_and_correct_provenance
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_create_project_with_invalid_override_is_rejected
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_create_project_with_override_uses_the_adjusted_config
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_create_project_without_override_still_works
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_estimate_notes_are_localized
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_estimate_rejects_a_non_object_override
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_estimate_rejects_an_invalid_override
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_estimate_rejects_an_unknown_override_key
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_estimate_uses_default_config_without_override
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_estimate_with_override_reflects_the_smaller_range
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_template_detail_exposes_provider_config
test_biblioteca_c7_reauditoria.py::TestEditableParameters::test_template_detail_localizes_the_provider_license_summary
test_biblioteca_c7_reauditoria.py::TestProvenancePersistence::test_provenance_roundtrips_through_save_and_get
test_biblioteca_c7_reauditoria.py::TestProvenancePersistence::test_prompt_origin_model_has_no_provenance
test_biblioteca_c7_reauditoria.py::TestProvenancePersistence::test_real_generated_provenance_passes_validation_and_roundtrips
test_biblioteca_c7_reauditoria.py::TestProvenancePersistence::test_provenance_survives_a_retrain_save_that_omits_it
test_biblioteca_c7_reauditoria.py::TestProvenancePersistence::test_provenance_can_be_explicitly_cleared
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_a_bare_string_is_rejected
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_a_list_is_rejected
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_a_dict_without_source_is_rejected
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_an_empty_source_is_rejected
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_a_complete_provenance_is_accepted
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_semantically_invalid_audit_fields_are_rejected
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_unknown_source_is_rejected
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_none_is_accepted
test_biblioteca_c7_reauditoria.py::TestProvenanceShapeValidation::test_an_oversized_provenance_is_rejected
test_biblioteca_c8_audit.py::TestNoDiskSpaceOnModelSave::test_enospc_during_save_returns_an_actionable_error_without_corrupting_state
test_biblioteca_c8_audit.py::TestNoDiskSpaceOnModelSave::test_a_normal_save_still_works_with_the_same_monkeypatch_scaffolding
test_c102_c1_el_fixture_del_alcance_es_una_entrada_real.py::TestElFixtureRetrataUnaEntradaQueExiste::test_el_fixture_COINCIDE_con_alguna_entrada_aprobada
test_c102_c1_el_fixture_del_alcance_es_una_entrada_real.py::TestElFixtureRetrataUnaEntradaQueExiste::test_el_fixture_no_declara_tareas_sin_medir_que_la_cartera_SI_midio
test_c102_c1_el_fixture_del_alcance_es_una_entrada_real.py::TestElFixtureRetrataUnaEntradaQueExiste::test_el_lector_lee_algo_de_verdad
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_LOS_DOS_motores_reales_de_la_cartera_salen_SOPORTADOS
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_el_motivo_viaja_como_CLAVE_y_esa_clave_tiene_texto_en_LOS_DOS_idiomas
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_los_OTROS_motores_reales_salen_EXPERIMENTALES_CON_SU_MOTIVO
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_no_pierde_ni_cambia_ningun_campo_de_la_entrada_original
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_se_DERIVA_de_la_cartera_viva_no_de_lo_que_se_serializo_aquel_dia
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_sin_motor_ni_version_NO_se_inventa_un_experimental
test_c102_c1_nivel_de_madurez_en_producto.py::ElNivelDeMadurezLLEGA_AL_PRODUCTOTest::test_xgboost_con_la_version_REAL_sale_EXPERIMENTAL_CON_SU_MOTIVO
test_c102_c1_nivel_de_madurez_en_producto.py::Y_SALE_POR_estudio_status_QUE_ES_LO_QUE_PIDE_LA_PANTALLATest::test_el_leaderboard_que_sirve_el_backend_TRAE_el_nivel_de_cada_candidato
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_NINGUN_campo_del_alcance_es_una_frase
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_se_DERIVA_de_la_cartera_viva_igual_que_su_hermano
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_sin_motor_ni_version_tampoco_se_inventa_uno
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_un_None_y_una_lista_vacia_NO_viajan_igual
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_una_fila_EXPERIMENTAL_no_se_inventa_un_alcance
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_una_fila_SOPORTADA_trae_el_tamano_de_lo_que_la_sostiene
test_c102_c1_nivel_de_madurez_en_producto.py::Y_CON_EL_NIVEL_VIAJA_SU_ALCANCETest::test_y_cumplidos_por_semilla_VACIO_no_se_acepta_siquiera
test_c102_c1_nivel_de_madurez_en_producto.py::EL_TIPO_DE_LA_PANTALLA_NO_PUEDE_RECORTAR_EL_ALCANCETest::test_la_pantalla_declara_TODAS_las_claves_que_el_core_escribe
test_c102_c1_nivel_de_madurez_en_producto.py::EL_TIPO_DE_LA_PANTALLA_NO_PUEDE_RECORTAR_EL_ALCANCETest::test_y_la_pantalla_declara_el_NULL_de_las_que_pueden_no_estar_medidas
test_c102_c1_nivel_de_madurez_en_producto.py::LOS_DOS_CATALOGOS_DE_MOTIVO_NO_PUEDEN_DIVERGIRTest::test_la_pantalla_tiene_texto_para_TODAS_las_claves_en_LOS_DOS_idiomas
test_c102_c1_nivel_de_madurez_en_producto.py::LOS_DOS_CATALOGOS_DE_MOTIVO_NO_PUEDEN_DIVERGIRTest::test_y_la_pantalla_no_tiene_claves_que_el_core_ya_no_escribe
test_c103_c5_diagnostico_de_riesgo.py::TestLosDosCaminosDel71PorHTTP::test_camino_1_bloqueo_via_endpoint
test_c103_c5_diagnostico_de_riesgo.py::TestLosDosCaminosDel71PorHTTP::test_camino_2_exploratorio_luego_confirmado_via_endpoint
test_c103_c5_diagnostico_de_riesgo.py::TestAceptarSospechaSinContextoSeRechaza::test_rechazo_declarado_no_traceback
test_c103_c5_diagnostico_de_riesgo.py::TestAceptacionesNoSeCuelanEntreDatasets::test_una_aceptacion_de_otro_dataset_no_aparece_aqui
test_c103_c5_diagnostico_de_riesgo.py::TestCsvVacio::test_csv_vacio_no_lanza
test_c103_c5_diagnostico_de_riesgo.py::TestProcesoActual108C1::test_proceso_actual_columna_viaja_hasta_el_problema
test_c103_c5_diagnostico_de_riesgo.py::TestProcesoActual108C1::test_proceso_actual_ninguno_es_una_respuesta
test_c103_c5_diagnostico_de_riesgo.py::TestProcesoActual108C1::test_sin_proceso_actual_el_problema_no_lo_lleva
test_c103_c5_diagnostico_de_riesgo.py::TestProcesoActual108C1::test_proceso_actual_mal_formado_se_rechaza_declarado_no_500
test_c103_c5_diagnostico_de_riesgo.py::TestProcesoActual108C1::test_proceso_actual_columna_es_el_propio_objetivo_se_rechaza
test_c103_c5_diagnostico_de_riesgo.py::TestProcesoActual108C1::test_horizonte_uso_previsto_y_restricciones_viajan_tambien
test_c103_c5_diagnostico_de_riesgo.py::TestColumnasDeTexto107C31bParte2::test_sin_declarar_comentario_sale_excluida_como_texto_libre
test_c103_c5_diagnostico_de_riesgo.py::TestColumnasDeTexto107C31bParte2::test_declarada_aparece_en_texto_y_ya_no_esta_excluida
test_c103_c5_diagnostico_de_riesgo.py::TestColumnasDeTexto107C31bParte2::test_en_ingles_tambien_viaja
test_c103_c5_diagnostico_de_riesgo.py::TestColumnasDeTexto107C31bParte2::test_dos_declaradas_llega_como_bloqueo_bilingue
test_c103_c5_diagnostico_de_riesgo.py::TestColumnasDeTexto107C31bParte2::test_columna_de_texto_inexistente_llega_como_bloqueo
test_c103_c5_diagnostico_de_riesgo.py::TestColumnasDeTexto107C31bParte2::test_sin_columnas_de_texto_en_el_payload_no_cambia_nada
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElTipoDeTypeScriptEsUnSubconjuntoDeLoQuePythonPublica::test_el_componente_de_TERCEROS_llego_al_tipo
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElTipoDeTypeScriptEsUnSubconjuntoDeLoQuePythonPublica::test_lo_que_la_pantalla_PINTA_hoy_esta_en_los_dos_lados
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElTipoDeTypeScriptEsUnSubconjuntoDeLoQuePythonPublica::test_los_dos_lados_tienen_campos_de_verdad
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElTipoDeTypeScriptEsUnSubconjuntoDeLoQuePythonPublica::test_ningun_campo_del_tipo_es_INVENTADO
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElSobreDeSeleccionTambienTieneSuEspejo::test_el_tipo_los_declara_TODOS_porque_eso_es_lo_que_promete
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElSobreDeSeleccionTambienTieneSuEspejo::test_los_dos_lados_tienen_campos_de_verdad
test_c106_c4_el_espejo_de_la_tarjeta.py::TestElSobreDeSeleccionTambienTieneSuEspejo::test_ningun_campo_del_tipo_es_INVENTADO
test_c106_c4_el_espejo_de_la_tarjeta.py::TestLaPoliticaDeArbolesTambienTieneSuEspejo::test_el_lector_no_cuenta_los_campos_anidados
test_c106_c4_el_espejo_de_la_tarjeta.py::TestLaPoliticaDeArbolesTambienTieneSuEspejo::test_el_tipo_y_el_sobre_tienen_las_MISMAS_claves
test_c106_c4_el_espejo_de_la_tarjeta.py::TestLaPoliticaDeArbolesTambienTieneSuEspejo::test_lo_que_falta_se_dice_en_los_dos_lados
test_c106_c4_el_espejo_de_la_tarjeta.py::TestLaDeclaracionDeCadaAjusteTambienTieneSuEspejo::test_el_tipo_es_la_union_de_las_dos_formas
test_c106_c4_el_espejo_de_la_tarjeta.py::TestLaDeclaracionDeCadaAjusteTambienTieneSuEspejo::test_la_forma_APLICADA_tiene_los_campos_del_motor
test_c106_c4_el_espejo_de_la_tarjeta.py::TestLaDeclaracionDeCadaAjusteTambienTieneSuEspejo::test_la_forma_FUERA_DE_LOS_TAMANOS_es_exacta
test_c107_c2_el_recibo_y_el_texto_del_estudio.py::test_el_recibo_SI_acepta_componentes_de_terceros
test_c107_c2_el_recibo_y_el_texto_del_estudio.py::test_el_estudio_NO_hace_texto_todavia_y_por_eso_el_recibo_no_los_pasa
test_c107_c2_el_recibo_y_el_texto_del_estudio.py::test_y_el_llamante_efectivamente_NO_lo_pasa_hoy
test_c108_c2_estudio_job.py::TestArrancarYCompletar::test_arranca_progresa_y_completa_con_leaderboard_real
test_c108_c2_estudio_job.py::TestArrancarYCompletar::test_progreso_visible_ANTES_de_terminar
test_c108_c2_estudio_job.py::TestSeleccionRealAlCompletar::test_seleccion_es_null_mientras_el_estudio_no_ha_terminado
test_c108_c2_estudio_job.py::TestSeleccionRealAlCompletar::test_seleccion_real_tras_completar
test_c108_c2_estudio_job.py::TestSeleccionRealAlCompletar::test_construir_recibo_es_None_sin_ganador
test_c108_c2_estudio_job.py::TestSeleccionRealAlCompletar::test_recibo_se_firma_cuando_hay_clave_configurada
test_c108_c2_estudio_job.py::TestSeleccionRealAlCompletar::test_evaluacion_final_usa_filas_test_nunca_tocadas_por_seleccion_o_calibracion
test_c108_c2_estudio_job.py::TestSeleccionRealAlCompletar::test_excepcion_dentro_de_seleccionar_no_tumba_el_job
test_c108_c2_estudio_job.py::TestUsarElModelo::test_no_se_puede_usar_antes_de_terminar
test_c108_c2_estudio_job.py::TestUsarElModelo::test_dueno_ajeno_no_puede_usar_el_estudio_de_otro
test_c108_c2_estudio_job.py::TestUsarElModelo::test_probar_fila_usa_la_escala_calibrada_y_el_umbral_del_estudio
test_c108_c2_estudio_job.py::TestUsarElModelo::test_fila_nueva_con_categoria_desconocida_no_falla
test_c108_c2_estudio_job.py::TestUsarElModelo::test_csv_con_columna_esperada_ausente_se_rechaza_con_motivo_por_columna
test_c108_c2_estudio_job.py::TestUsarElModelo::test_csv_por_lote_conserva_orden_ids_y_aisla_la_fila_mala
test_c108_c2_estudio_job.py::TestUsarElModelo::test_csv_vacio_se_declara_no_se_fabrica
test_c108_c2_estudio_job.py::TestCancelacion::test_cancelar_a_mitad_deja_cancelled_y_sin_procesos_vivos
test_c108_c2_estudio_job.py::TestCasosNoArrancables::test_tarea_sin_metrica_medida_da_unsupported_no_crashea
test_c108_c2_estudio_job.py::TestCasosNoArrancables::test_objetivo_sin_confirmar_no_arranca_ningun_job
test_c108_c2_estudio_job.py::TestAislamientoPorDueno::test_un_dueno_no_ve_ni_cancela_el_estudio_de_otro
test_c108_c2_estudio_job.py::TestEnvoltoriosDeEndpoints::test_iniciar_estado_cancelar_por_http
test_c108_c2_estudio_job.py::TestEnvoltoriosDeEndpointsUsar::test_probar_fila_por_http
test_c108_c2_estudio_job.py::TestEnvoltoriosDeEndpointsUsar::test_predecir_csv_por_http
test_c108_c2_estudio_job.py::test_el_motor_recibe_declaradas_las_columnas_QUE_LA_PREPARACION_PRODUCE
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_exporta_el_paquete_y_lo_verifica_por_evidencias
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_la_verificacion_NO_convierte_omision_en_exito
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_el_orden_de_los_candidatos_SOBREVIVE_al_disco
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_el_paquete_pasa_el_escaner_de_secretos_del_54
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_un_paquete_CON_un_secreto_dentro_no_se_entrega
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_si_el_escaner_encuentra_algo_el_paquete_NO_se_entrega
test_c108_c2_estudio_job.py::TestExportarElEstudio::test_un_perfil_inventado_se_rechaza_declarado
test_c108_c2_estudio_job.py::TestElUmbralConElQueSeDecidio::test_la_respuesta_declara_el_umbral_y_la_escala_DEL_CHECKPOINT
test_c108_c2_estudio_job.py::TestImportanciaDeColumnas::test_con_un_arbol_real_las_ganancias_son_LAS_DEL_MODELO_columna_a_columna
test_c108_c2_estudio_job.py::TestImportanciaDeColumnas::test_de_punta_a_punta_el_estudio_real_contesta_lo_suyo
test_c108_c2_estudio_job.py::TestImportanciaDeColumnas::test_un_motor_que_no_es_el_arbol_lo_declara_con_su_motivo
test_c108_c2_estudio_job.py::TestImportanciaDeColumnas::test_si_columnas_e_importancias_no_cuadran_no_se_emparejan_a_ciegas
test_c108_c2_estudio_job.py::TestImportanciaDeColumnas::test_un_estudio_ajeno_o_inexistente_no_se_lee
test_c108_c2_estudio_job.py::TestImportanciaDeColumnas::test_por_http_con_el_envoltorio_que_llama_server
test_c108_c2_identificador_de_fila.py::UnCsvSinColumnaDeIdentificadorARRANCATest::test_arranca_y_no_muere_con_un_KeyError
test_c108_c2_identificador_de_fila.py::UnCsvSinColumnaDeIdentificadorARRANCATest::test_la_identidad_sintetizada_se_DECLARA_y_no_se_hace_pasar_por_dato
test_c108_c2_identificador_de_fila.py::UnCsvSinColumnaDeIdentificadorARRANCATest::test_si_el_CSV_trae_row_id_se_USA_y_NO_se_marca_sintetico
test_c108_c2_identificador_de_fila.py::UnaColumnaPEDIDA_QueNoExisteSeDICE_Test::test_NO_cae_de_vuelta_a_sintetizar
test_c108_c2_identificador_de_fila.py::UnaColumnaPEDIDA_QueNoExisteSeDICE_Test::test_el_motivo_nombra_las_columnas_REALES
test_c108_c2_identificador_de_fila.py::ElMotivoNoLLEVA_JergaDePythonTest::test_ninguna_forma_de_fracasar_enseña_jerga_de_Python
test_c108_c2_la_densa_compite.py::TestLaDensaEstaEnLaCartera::test_la_densa_es_un_motor_permitido_del_estudio
test_c108_c2_la_densa_compite.py::TestLaDensaEstaEnLaCartera::test_y_el_estudio_sabe_construirla_de_verdad
test_c108_c2_la_densa_compite.py::TestElTechoDeCadaMotor::test_la_densa_recibe_MAS_techo_que_el_arbol
test_c108_c2_la_densa_compite.py::TestElTechoDeCadaMotor::test_METER_UN_TERCER_MOTOR_NO_AMPLIA_LO_QUE_EL_SERVIDOR_PUEDE_GASTAR
test_c108_c2_la_densa_compite.py::TestElTechoDeCadaMotor::test_un_motor_sin_peso_declarado_LEVANTA_en_vez_de_inventarse_uno
test_c108_c2_la_densa_compite.py::TestElTechoDeCadaMotor::test_el_ajuste_final_se_reparte_igual_y_tampoco_gasta_de_mas
test_c108_c2_la_densa_compite.py::TestLaSumaDeLosTechosESLaReservaSIEMPRE::test_ningun_numero_de_intentos_hace_que_el_estudio_gaste_MAS_de_la_reserva
test_c108_c2_la_densa_compite.py::TestLaSumaDeLosTechosESLaReservaSIEMPRE::test_los_veinte_intentos_que_gastaban_160_s_A_ESCONDIDAS
test_c108_c2_la_densa_compite.py::TestLaSumaDeLosTechosESLaReservaSIEMPRE::test_justo_en_el_borde_SI_cabe_y_no_se_rechaza_de_mas
test_c108_c2_la_densa_compite.py::TestLaSumaDeLosTechosESLaReservaSIEMPRE::test_y_quien_lo_pidio_se_entera_EN_LOS_DOS_IDIOMAS_sin_jerga
test_c108_c2_la_densa_compite.py::TestElVocabularioNoVIVEEnDOSSITIOS::test_las_claves_del_backend_y_las_del_cliente_son_LAS_MISMAS
test_c108_c2_la_densa_compite.py::TestElVocabularioNoVIVEEnDOSSITIOS::test_y_CALIDAD_no_esta_en_ninguno_de_los_dos
test_c108_c2_la_densa_compite.py::TestElVocabularioNoVIVEEnDOSSITIOS::test_cada_clave_tiene_rotulo_en_LOS_DOS_idiomas
test_c108_c2_la_densa_compite.py::TestQuedarseFueraPorPresupuestoNoPorCalidad::test_reconoce_el_reloj_agotado_por_su_texto_del_catalogo
test_c108_c2_la_densa_compite.py::TestQuedarseFueraPorPresupuestoNoPorCalidad::test_una_densa_sin_reloj_se_declara_SIN_PRESUPUESTO
test_c108_c2_la_densa_compite.py::TestQuedarseFueraPorPresupuestoNoPorCalidad::test_pero_un_motor_que_SE_ROMPE_no_se_declara_por_presupuesto
test_c108_c2_la_densa_compite.py::TestQuedarseFueraPorPresupuestoNoPorCalidad::test_y_un_solo_intento_roto_ya_impide_decir_presupuesto
test_c108_c2_la_densa_compite.py::TestQuedarseFueraPorPresupuestoNoPorCalidad::test_un_motor_que_SI_puntuo_no_sale_en_la_lista
test_c108_c2_la_densa_compite.py::TestQuedarseFueraPorPresupuestoNoPorCalidad::test_completed_budget_limited_ES_haber_puntuado
test_c108_c2_la_densa_compite.py::TestDePuntaAPuntaConUnEstudioDeVerdad::test_la_densa_ajusta_de_verdad_y_aparece_en_el_leaderboard
test_c108_c2_la_densa_compite.py::TestDePuntaAPuntaConUnEstudioDeVerdad::test_y_QUIEN_NO_PUNTUO_viaja_hasta_estudio_status
test_c108_c2_la_densa_compite.py::TestLosPesosSiguenSiendoLosMedidos::test_todos_los_motores_permitidos_tienen_peso
test_c108_c2_la_densa_compite.py::TestUnCandidatoConElRelojAgotadoSIGUESIENDOUNCANDIDATO::test_un_fit_budget_limited_llega_a_la_seleccion_en_vez_de_tirarse
test_c108_c2_la_densa_compite.py::TestAlQueYaNoCupoNoSeLeDaUnaPasadaMasSinTecho::test_ni_lo_ajusta_ni_lo_calla_lo_DECLARA
test_c108_c2_la_densa_compite.py::TestAlQueYaNoCupoNoSeLeDaUnaPasadaMasSinTecho::test_pero_un_motor_que_fallo_por_OTRA_cosa_conserva_su_oportunidad
test_c108_c2_reparto_imposible.py::LaReglaDiceQUE_FaltaTest::test_groups_pide_la_columna_del_SUJETO_no_la_del_tiempo
test_c108_c2_reparto_imposible.py::LaReglaDiceQUE_FaltaTest::test_iid_NO_exige_nada
test_c108_c2_reparto_imposible.py::LaReglaDiceQUE_FaltaTest::test_indicada_pero_ausente_dice_ESO_y_no_lo_otro
test_c108_c2_reparto_imposible.py::LaReglaDiceQUE_FaltaTest::test_sin_indicar_la_columna_lo_dice_y_nombra_las_que_hay
test_c108_c2_reparto_imposible.py::LaReglaDiceQUE_FaltaTest::test_y_en_los_dos_idiomas
test_c108_c2_reparto_imposible.py::LOS_DOS_CaminosLoRechazanIGUAL_Test::test_ni_confirmar_ni_arrancar_enseñan_jerga_de_Python
test_c108_c2_reparto_imposible.py::LOS_DOS_CaminosLoRechazanIGUAL_Test::test_y_un_reparto_NORMAL_sigue_arrancando
test_c108_c2_una_sola_regla_de_identificador.py::LaReglaVIVE_EnUnSoloSitioTest::test_sin_columna_la_identidad_es_la_POSICION
test_c108_c2_una_sola_regla_de_identificador.py::LaReglaVIVE_EnUnSoloSitioTest::test_un_row_id_REAL_del_usuario_se_usa_y_no_se_pisa
test_c108_c2_una_sola_regla_de_identificador.py::LaReglaVIVE_EnUnSoloSitioTest::test_una_columna_pedida_y_ausente_NO_se_inventa
test_c108_c2_una_sola_regla_de_identificador.py::LosDOS_CaminosSePonenDeACUERDO_Test::test_confirmar_NO_deja_un_particion_error_que_arrancar_no_tiene
test_c108_c2_una_sola_regla_de_identificador.py::LosDOS_CaminosSePonenDeACUERDO_Test::test_y_los_dos_eligen_EL_MISMO_campo
test_c108_c6_la_red_del_ganador.py::TestLaRedDelGanadorSeDibuja::test_la_clave_mxai_del_checkpoint_denso_es_lo_que_se_dibuja
test_c108_c6_la_red_del_ganador.py::TestLaRedDelGanadorSeDibuja::test_el_dibujo_sale_del_DISCO_no_del_ajuste_en_memoria
test_c108_c6_la_red_del_ganador.py::TestLaRedTabMEsUnaRedYSuDibujoNoEstaDisponible::test_el_predictor_de_tabm_no_trae_mxai_pero_si_su_arquitectura
test_c108_c6_la_red_del_ganador.py::TestLaRedTabMEsUnaRedYSuDibujoNoEstaDisponible::test_tabm_se_declara_red_sin_dibujo_en_los_dos_idiomas_y_NO_dice_que_no_es_una_red
test_c108_c6_la_red_del_ganador.py::TestLaRedTabMEsUnaRedYSuDibujoNoEstaDisponible::test_lo_que_no_es_tabm_sigue_diciendo_que_no_es_una_red
test_c108_c6_la_red_del_ganador.py::TestLaRedTabMEsUnaRedYSuDibujoNoEstaDisponible::test_tabm_no_publica_importancia_y_se_dice
test_c108_c6_la_red_del_ganador.py::TestUnArbolNoSeDibujaYLoDICE::test_el_arbol_real_declara_que_no_es_una_red_en_los_dos_idiomas
test_c108_c6_la_red_del_ganador.py::TestUnArbolNoSeDibujaYLoDICE::test_el_baseline_tampoco_se_dibuja_ni_se_rellena
test_c108_c6_la_red_del_ganador.py::TestUnProgramaILEGIBLENoSeDibujaAMedias::test_un_mxai_que_el_parser_rechaza_se_declara_sin_dibujo
test_c108_c6_la_red_del_ganador.py::TestUnProgramaILEGIBLENoSeDibujaAMedias::test_un_mxai_vacio_o_ausente_tampoco
test_c108_c6_la_red_del_ganador.py::TestLaSimetriaEntreLosDosBloques::test_la_red_se_dibuja_y_NO_publica_importancia
test_c108_c6_la_red_del_ganador.py::TestLaSimetriaEntreLosDosBloques::test_el_arbol_publica_importancia_y_NO_se_dibuja
test_c108_c6_la_red_del_ganador.py::TestNoHayDOSReduccionesDelMismoDibujo::test_la_clasica_y_el_estudio_usan_LA_MISMA_funcion
test_c108_c6_la_red_del_ganador.py::TestNoHayDOSReduccionesDelMismoDibujo::test_un_visual_model_sin_entradas_ni_redes_no_se_reduce_a_un_mapa_vacio
test_c108_c6_la_red_del_ganador.py::TestElEstudioAjenoOInexistente::test_no_se_lee
test_c108_c6_la_red_del_ganador.py::TestPorHTTPConElEnvoltorioQueLlamaServer::test_el_envoltorio_pasa_el_job_id_y_el_dueno
test_c108_c6_la_red_del_ganador.py::TestPorHTTPConElEnvoltorioQueLlamaServer::test_un_estudio_ajeno_no_se_lee_por_el_envoltorio
test_c108_c6_la_red_del_ganador.py::TestPorHTTPConElEnvoltorioQueLlamaServer::test_la_ruta_esta_declarada_en_server
test_c108_demo_estudios_en_la_sesion.py::TestEnLaDemoElEstudioArrancaEnLaSesion::test_el_arranque_de_la_demo_recibe_el_directorio_de_la_sesion
test_c108_demo_estudios_en_la_sesion.py::TestEnLaDemoElEstudioArrancaEnLaSesion::test_fuera_de_la_demo_no_se_pasa_directorio_y_cae_donde_siempre
test_c108_demo_estudios_en_la_sesion.py::TestUnEstudioRealSeQuedaDentroYSeVaConLaSesion::test_escribe_todo_bajo_la_sesion_y_el_barrido_se_lo_lleva
test_c108_descargar_lo_preparado.py::TestElPaqueteSeLLevaEnUnZip::test_exportar_deja_el_zip_al_lado_y_dice_con_que_descargarlo
test_c108_descargar_lo_preparado.py::TestElPaqueteSeLLevaEnUnZip::test_el_zip_lleva_todo_el_inventario_byte_a_byte_y_con_su_carpeta
test_c108_descargar_lo_preparado.py::TestElPaqueteSeLLevaEnUnZip::test_el_predict_py_del_zip_es_el_que_se_ejecuta_fuera
test_c108_descargar_lo_preparado.py::TestElPaqueteSeLLevaEnUnZip::test_una_exportacion_que_no_se_entrega_no_deja_el_zip_de_la_anterior
test_c108_descargar_lo_preparado.py::TestElPaqueteSeLLevaEnUnZip::test_descargar_mientras_se_reexporta_nunca_da_un_zip_a_medias
test_c108_descargar_lo_preparado.py::TestLaPaginaTambienSeLleva::test_exportar_la_pagina_deja_su_zip_con_los_cinco_ficheros
test_c108_descargar_lo_preparado.py::TestQuienPuedeDescargarlo::test_solo_los_zips_y_nada_mas_del_directorio_del_estudio
test_c108_descargar_lo_preparado.py::TestQuienPuedeDescargarlo::test_un_zip_que_no_se_ha_escrito_no_se_sirve
test_c108_descargar_lo_preparado.py::TestQuienPuedeDescargarlo::test_no_se_sirve_a_otro_dueno_ni_con_un_job_id_que_no_lo_es
test_c108_descargar_lo_preparado.py::TestQuienPuedeDescargarlo::test_la_guarda_del_job_id_MUERDE_aunque_ese_job_exista
test_c108_descargar_lo_preparado.py::TestElInformeDiceporQueNoSeHaComprobado::test_ninguna_etapa_sale_con_el_generico_de_engines
test_c108_descargar_lo_preparado.py::TestElInformeDiceporQueNoSeHaComprobado::test_el_motivo_de_las_metricas_es_el_QUE_DECLARA_EL_PAQUETE
test_c108_descargar_lo_preparado.py::TestElInformeDiceporQueNoSeHaComprobado::test_una_etapa_no_comprobada_nunca_cuenta_como_comprobada
test_c108_descargar_lo_preparado.py::TestDondeQuedaEscrito::test_declara_si_corre_en_un_contenedor_en_vez_de_prometer_una_ruta
test_c108_descargar_lo_preparado.py::TestPorElServidor::test_en_la_demo_descargar_se_rechaza_como_exportar
test_c108_descargar_lo_preparado.py::TestPorElServidor::test_en_el_perfil_completo_el_zip_baja_como_adjunto
test_c108_el_sobre_de_seleccion_se_escribe_entero.py::TestElSobreSeLeeEnteroONoSeLee::test_un_lector_en_paralelo_NUNCA_ve_medio_sobre
test_c108_el_sobre_de_seleccion_se_escribe_entero.py::TestElSobreSeLeeEnteroONoSeLee::test_y_no_deja_temporales_tirados
test_c108_el_sobre_de_seleccion_se_escribe_entero.py::TestElSobreSeLeeEnteroONoSeLee::test_el_sobre_escrito_sigue_diciendo_lo_mismo_de_siempre
test_c108_estudio_portatil.py::TestLaVueltaEntera::test_exportado_aqui_se_abre_en_OTRO_studio_y_predice_lo_mismo
test_c108_estudio_portatil.py::TestLaVueltaEntera::test_importar_dos_veces_no_duplica_y_lo_dice
test_c108_estudio_portatil.py::TestLaVueltaEntera::test_al_importar_se_pueden_poner_nombre_y_descripcion
test_c108_estudio_portatil.py::TestLaVueltaEntera::test_el_zip_SE_DESCARGA_aunque_el_estudio_no_este_abierto
test_c108_estudio_portatil.py::TestLaVueltaEntera::test_un_estudio_guardado_se_exporta_SIN_abrirlo
test_c108_estudio_portatil.py::TestLoQueEncontroLaAuditoria::test_EL_MODELO_QUE_SE_EJECUTA_ES_EL_DEL_ZIP_Y_NO_EL_DEL_ORIGEN
test_c108_estudio_portatil.py::TestLoQueEncontroLaAuditoria::test_importar_sobre_los_RESTOS_del_mismo_estudio_sin_guardar
test_c108_estudio_portatil.py::TestLoQueEncontroLaAuditoria::test_no_se_pisa_un_estudio_que_esta_CORRIENDO
test_c108_estudio_portatil.py::TestLoQueEncontroLaAuditoria::test_un_temporal_a_medias_no_viaja_dentro_del_zip
test_c108_estudio_portatil.py::TestLoQueEncontroLaAuditoria::test_los_temporales_huerfanos_se_barren
test_c108_estudio_portatil.py::TestLoQueEncontroLaAuditoria::test_varias_importaciones_a_la_vez_no_son_un_fallo_de_escritura
test_c108_estudio_portatil.py::TestLaDecisionNoNombraAlReajuste::test_la_razon_de_un_estudio_real_no_lleva_el_id_del_reajuste
test_c108_estudio_portatil.py::TestLoQueViajaEnElZip::test_lleva_lo_que_hace_falta_para_reabrirlo_y_su_manifiesto
test_c108_estudio_portatil.py::TestLoQueViajaEnElZip::test_los_zips_derivados_no_viajan_dentro
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_un_fichero_que_no_es_un_zip
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_si_traes_el_PAQUETE_te_dice_que_es_y_cual_es_el_bueno
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_si_traes_la_PAGINA_del_navegador_tambien
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_un_zip_sin_manifiesto
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_un_formato_de_otra_version
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_UNA_RUTA_DEL_ZIP_NO_LLEGA_AL_DISCO
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_un_fichero_que_el_manifiesto_no_declara
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_un_digest_que_no_casa
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_el_tope_corta_antes_de_leer_el_zip
test_c108_estudio_portatil.py::TestLaPuertaDeEntrada::test_el_tope_de_descomprimido_se_mira_ANTES_de_extraer
test_c108_estudio_portatil.py::TestPorElServidor::test_en_la_demo_importar_se_rechaza_como_guardar
test_c108_estudio_portatil.py::TestPorElServidor::test_un_base64_ilegible_no_es_un_500
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosLleganAlSobre::test_el_sobre_lleva_minimo_y_maximo_de_cada_numerica
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosLleganAlSobre::test_una_categorica_viaja_sin_extremos_y_eso_es_una_respuesta
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosLleganAlSobre::test_probar_filas_nuevas_no_mueve_los_extremos_del_sobre
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosLleganAlSobre::test_un_sobre_viejo_se_lee_sin_extremos_y_no_se_le_inventan
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosSalenPorLaPuertaQuePideLaPantalla::test_estudio_status_sirve_los_extremos_de_cada_numerica
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosSalenPorLaPuertaQuePideLaPantalla::test_lo_que_sirve_es_EL_MISMO_sobre_que_hay_en_disco
test_c108_extremos_de_columna_en_el_sobre.py::TestLosExtremosSalenPorLaPuertaQuePideLaPantalla::test_por_esa_puerta_una_categorica_tampoco_gana_extremos
test_c108_la_evidencia_del_paquete_lleva_las_metricas.py::test_la_evidencia_del_paquete_lleva_las_metricas_del_estudio
test_c108_motor_sin_su_biblioteca.py::test_la_clave_nueva_esta_en_el_vocabulario_cerrado
test_c108_motor_sin_su_biblioteca.py::test_sin_torch_la_densa_no_compite_el_estudio_termina_y_lo_dice
test_c108_paso2_estudios_guardados.py::TestGuardarYReabrirDaLoMismo::test_guardar_vaciar_jobs_reabrir_da_lo_mismo
test_c108_paso2_estudios_guardados.py::TestGuardarYReabrirDaLoMismo::test_reabrir_uno_que_no_se_guardo_no_encontrado
test_c108_paso2_estudios_guardados.py::TestListarSoloDelDueno::test_listar_ve_los_propios_y_no_los_de_otro
test_c108_paso2_estudios_guardados.py::TestListarSoloDelDueno::test_sin_dueno_lo_ve_cualquiera
test_c108_paso2_estudios_guardados.py::TestAislamientoPorDueno::test_otro_dueno_no_ve_ni_reabre_ni_borra
test_c108_paso2_estudios_guardados.py::TestAislamientoPorDueno::test_no_guarda_lo_de_otro_dueno
test_c108_paso2_estudios_guardados.py::TestGuardarRequisitos::test_no_guarda_un_estudio_sin_terminar
test_c108_paso2_estudios_guardados.py::TestGuardarRequisitos::test_guardar_dos_veces_es_idempotente_y_conserva_la_fecha
test_c108_paso2_estudios_guardados.py::TestBorrarNuncaUnoEnCurso::test_no_borra_uno_en_curso
test_c108_paso2_estudios_guardados.py::TestDemoRechazaLosCuatro::test_los_cuatro_endpoints_rechazan_con_su_clave_en_la_demo
test_c108_paso2_estudios_guardados.py::TestDemoRechazaLosCuatro::test_el_motivo_es_la_MISMA_frase_que_la_pantalla
test_c108_paso2_estudios_guardados.py::TestGuardadoCorrupto::test_guardado_json_corrupto_no_tumba_la_lista
test_c108_paso2_estudios_guardados.py::TestDirectorioMovido::test_checkpoint_absoluto_roto_se_resuelve_relativo_al_reabrir
test_c108_paso2_estudios_guardados.py::TestErrorDeCargaSaleApagado::test_motor_que_no_carga_sale_apagado_con_motivo_no_500
test_c108_paso2_estudios_guardados.py::TestUnJobIdQueNoEsUnIdentificadorNoSaleDelDirectorio::test_reabrir_y_borrar_no_tocan_nada_fuera_del_directorio_de_estudios
test_c108_paso2_estudios_guardados.py::TestElDesalojoNuncaSacaUnEstudioEnCurso::test_saca_los_terminados_mas_viejos_y_deja_los_que_corren
test_c108_paso2_estudios_guardados.py::TestElDesalojoNuncaSacaUnEstudioEnCurso::test_si_todos_corren_no_saca_ninguno
test_c108_paso2_estudios_guardados.py::TestElDesalojoNuncaSacaUnEstudioEnCurso::test_reabrir_usa_la_regla_y_no_saca_un_estudio_en_curso
test_c108_paso2_estudios_guardados.py::TestGuardarNoResucitaUnEstudioBorrado::test_sin_directorio_dice_no_encontrado_y_no_lo_crea
test_c108_paso2_estudios_guardados.py::TestGuardarRechazaConMotivoBilingueYElEstadoDiceSiEstaGuardado::test_un_estudio_que_el_servidor_ya_no_tiene_se_rechaza_en_los_dos_idiomas
test_c108_paso2_estudios_guardados.py::TestGuardarRechazaConMotivoBilingueYElEstadoDiceSiEstaGuardado::test_el_estado_dice_guardado_false_antes_y_true_despues
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_esta_disponible_y_con_sus_filas_sin_pedir_ningun_csv
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_el_estudio_guarda_sus_filas_de_test_preparadas_sin_objetivo_ni_identificador
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_sin_csv_la_paridad_se_mide_con_las_filas_del_estudio
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_con_un_csv_la_paridad_se_mide_con_sus_filas
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_una_fila_que_no_se_puede_preparar_se_cuenta_y_no_tumba_la_pagina
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_sin_ninguna_fila_preparable_no_hay_pagina_y_lo_dice_engines
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_columnas_distintas_se_rechazan_por_columna_como_en_el_lote
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_un_estudio_que_no_guardo_sus_filas_pide_un_csv_y_lo_dice
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_el_tope_de_filas_guardadas
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_leer_mientras_se_escriben_nunca_ve_medio_fichero
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_csv_vacio
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_un_rechazo_a_mitad_no_deja_nada_a_medias_y_la_anterior_sigue
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_dos_exportaciones_a_la_vez_acaban_las_dos_y_no_dejan_restos
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_un_estudio_desalojado_entre_medias_no_es_un_500
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_se_sirven_los_cinco_y_nada_mas
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_la_guarda_del_job_id_MUERDE_aunque_ese_job_exista
test_c108_paso3_pagina_del_navegador.py::TestLaPaginaDeUnArbol::test_no_se_sirve_a_otro_dueno_ni_con_un_job_id_que_no_lo_es
test_c108_paso3_pagina_del_navegador.py::TestUnEstudioReabierto::test_guardar_perder_jobs_reabrir_y_exportar
test_c108_paso3_pagina_del_navegador.py::TestUnGanadorQueNoExportaAOnnx::test_sale_apagado_con_su_motivo_y_exportar_no_escribe_nada
test_c108_paso3_pagina_del_navegador.py::TestPorElServidor::test_en_la_demo_exportar_y_servir_la_pagina_se_rechazan_como_exportar
test_c108_paso3_pagina_del_navegador.py::TestPorElServidor::test_en_el_perfil_completo_la_pagina_se_exporta_y_se_sirve
test_c108_paso3_pagina_del_navegador.py::test_115_c6_la_pagina_lleva_el_MISMO_riesgo_que_el_paquete_y_usar
test_c108_reabrir_un_ganador_denso.py::test_guardado_sacado_de_memoria_y_reabierto_predice_lo_mismo
test_c108_un_motor_que_lanza_en_la_seleccion.py::test_la_densa_que_se_niega_en_el_reajuste_no_tumba_a_los_demas
test_c108_un_motor_que_lanza_en_la_seleccion.py::test_un_error_de_PROGRAMACION_no_se_disfraza_de_motor_que_se_niega
test_c109_c3_el_estudio_compara_con_el_baseline.py::ElProductorTest::test_con_la_muestra_del_baseline_compara_y_la_diferencia_es_la_hecha_a_mano
test_c109_c3_el_estudio_compara_con_el_baseline.py::ElProductorTest::test_sin_muestra_pero_con_motivo_el_perfil_dice_por_que
test_c109_c3_el_estudio_compara_con_el_baseline.py::ElProductorTest::test_sin_nada_no_consta
test_c109_c3_el_estudio_compara_con_el_baseline.py::UnEstudioRealTest::test_el_perfil_del_estudio_trae_la_comparacion_sobre_las_filas_de_TEST
test_c109_c3_el_estudio_compara_con_el_baseline.py::UnEstudioRealTest::test_si_el_baseline_falla_en_test_el_estudio_termina_y_lo_dice
test_c109_c3_el_estudio_compara_con_el_baseline.py::UnEstudioRealTest::test_si_el_baseline_no_puntua_en_la_seleccion_lo_dice_con_SU_motivo
test_c109_c3_el_estudio_compara_con_el_baseline.py::UnEstudioRealTest::test_si_gana_el_baseline_lo_dice_con_SU_motivo
test_c109_cx_estudio_produce_perfil.py::SinDeclaracionClinicaTest::test_estudio_terminado_sin_declaracion_no_produce_perfil
test_c109_cx_estudio_produce_perfil.py::ConDeclaracionClinicaTest::test_el_perfil_se_construye_sobre_la_muestra_de_TEST_no_la_de_seleccion
test_c109_cx_estudio_produce_perfil.py::ConDeclaracionClinicaTest::test_estudio_terminado_con_declaracion_produce_su_perfil
test_c109_cx_estudio_produce_perfil.py::ConDeclaracionClinicaTest::test_sobre_persistido_en_disco_lleva_el_mismo_perfil
test_c109_cx_estudio_produce_perfil.py::DeEstudioRealAPaqueteYReporteTest::test_report_probast_deja_de_decir_falta_con_el_perfil_de_un_estudio_real
test_c109_cx_perfil_clinico_del_estudio.py::LasDosPuertasTest::test_datos_sinteticos_False_EXPLICITO_SI_cuenta_como_declarado
test_c109_cx_perfil_clinico_del_estudio.py::LasDosPuertasTest::test_sin_datos_sinteticos_declarado_no_hay_perfil
test_c109_cx_perfil_clinico_del_estudio.py::LasDosPuertasTest::test_sin_umbrales_declarados_no_hay_perfil
test_c109_cx_perfil_clinico_del_estudio.py::LasDosPuertasTest::test_umbrales_declarados_como_lista_vacia_TAMBIEN_es_no_declarado
test_c109_cx_perfil_clinico_del_estudio.py::ElCableadoDeLaProbabilidadTest::test_con_scores_recalibrados_SI_hay_curva_de_decision
test_c109_cx_perfil_clinico_del_estudio.py::ElCableadoDeLaProbabilidadTest::test_la_reexpansion_preserva_los_MISMOS_valores
test_c109_cx_perfil_clinico_del_estudio.py::ElCableadoDeLaProbabilidadTest::test_sin_scores_la_muestra_pasa_TAL_CUAL
test_c109_cx_perfil_clinico_del_estudio.py::ComposicionCompletaTest::test_perfil_completo_con_declaracion
test_c109_cx_perfil_clinico_del_estudio.py::ComposicionCompletaTest::test_politica_de_faltantes_medida_se_compone_sin_declararla
test_c109_cx_perfil_clinico_del_estudio.py::ComposicionCompletaTest::test_sin_politica_de_preparacion_faltantes_se_queda_sin_declarar
test_c109_cx_perfil_clinico_del_estudio.py::ComposicionCompletaTest::test_sin_prevalencia_declarada_NO_se_rellena_con_la_de_la_muestra
test_c109_cx_perfil_clinico_del_estudio.py::ComposicionCompletaTest::test_sin_prevalencia_declarada_el_perfil_SE_PRODUCE_pero_calla_ppv_npv
test_c109_cx_perfil_clinico_del_estudio.py::ComposicionCompletaTest::test_sin_recalibracion_el_campo_queda_sin_declarar
test_c109_cx_perfil_clinico_del_estudio.py::RechazosDelNucleoNoRevientanTest::test_diseno_groups_sin_unidad_se_declina_con_motivo_no_revienta
test_c109_cx_perfil_clinico_del_estudio.py::RechazosDelNucleoNoRevientanTest::test_umbral_de_probabilidad_uno_se_declina_con_motivo_no_revienta
test_c109_cx_perfil_clinico_del_estudio.py::LaFichaInglesaNoLlevaProsaEnCastellanoTest::test_la_fuente_de_la_politica_sale_en_INGLES_en_la_ficha_inglesa
test_c109_cx_perfil_clinico_del_estudio.py::LaFichaInglesaNoLlevaProsaEnCastellanoTest::test_y_en_CASTELLANO_en_la_castellana
test_c110_c1_la_web_no_carga_publicidad.py::LaWebNoCargaPublicidadTest::test_la_promesa_SIGUE_escrita_en_los_dos_idiomas
test_c110_c1_la_web_no_carga_publicidad.py::LaWebNoCargaPublicidadTest::test_ninguna_pagina_servida_carga_una_red_de_anuncios
test_c110_c1_la_web_no_carga_publicidad.py::LaWebNoCargaPublicidadTest::test_se_barre_algo_de_verdad
test_c110_c2_licencia.py::ElStudioEsPropietarioTest::test_el_pyproject_del_backend_DECLARA_la_licencia
test_c110_c2_licencia.py::ElStudioEsPropietarioTest::test_las_cinco_copias_del_LICENSE_dicen_LO_MISMO
test_c110_c2_licencia.py::ElStudioEsPropietarioTest::test_ningun_fichero_del_Studio_declara_AGPL
test_c110_c2_licencia.py::PeroElNucleoSIGUE_SiendoLibreTest::test_TERCEROS_cita_al_nucleo_Y_A_LOS_MOTORES
test_c110_c2_licencia.py::PeroElNucleoSIGUE_SiendoLibreTest::test_el_nucleo_sigue_declarando_AGPL
test_c110_c2_licencia.py::PeroElNucleoSIGUE_SiendoLibreTest::test_la_licencia_del_Studio_DICE_que_el_nucleo_es_libre
test_c110_c2_licencia.py::PeroElNucleoSIGUE_SiendoLibreTest::test_los_motores_traen_SU_texto_de_la_AGPL
test_c110_c2_licencia.py::LaTablaDeTercerosSeMIDE_NoSeEscribeTest::test_la_tabla_esta_GENERADA_y_al_dia
test_c110_c2_licencia.py::LaTablaDeTercerosSeMIDE_NoSeEscribeTest::test_ninguna_fila_CONTRADICE_a_los_metadatos
test_c110_c2_licencia.py::LaTablaDeTercerosSeMIDE_NoSeEscribeTest::test_no_falta_en_la_tabla_ninguna_biblioteca_medible
test_c110_c2_licencia.py::LaLicenciaVIAJA_ConElProductoTest::test_el_build_del_paquete_LLAMA_al_guion
test_c110_c2_licencia.py::LaLicenciaVIAJA_ConElProductoTest::test_el_codigo_adaptado_de_TabM_esta_DECLARADO_donde_se_ve
test_c110_c2_licencia.py::LaLicenciaVIAJA_ConElProductoTest::test_el_guion_FALLA_si_no_encuentra_la_AGPL
test_c110_c2_licencia.py::LaLicenciaVIAJA_ConElProductoTest::test_el_guion_FALLA_si_no_encuentra_la_Apache_de_los_motores
test_c110_c2_licencia.py::LaLicenciaVIAJA_ConElProductoTest::test_el_guion_la_COPIA_de_verdad
test_c110_c2_licencia.py::LaLicenciaVIAJA_ConElProductoTest::test_los_dos_paquetes_llevan_la_licencia_dentro
test_c110_c2_licencia.py::LaImagenLlevaLoQueElBackendImportaTest::test_el_contexto_de_construccion_lleva_los_motores_Y_la_licencia
test_c110_c2_licencia.py::LaImagenLlevaLoQueElBackendImportaTest::test_los_Dockerfiles_no_se_separan_de_lo_que_los_motores_declaran
test_c110_c2_licencia.py::LaImagenLlevaLoQueElBackendImportaTest::test_todo_lo_que_el_backend_importa_arriba_lo_instala_la_imagen
test_c110_c2_licencia.py::LoQueElClienteLEE_NoContradiceALaLicenciaTest::test_el_documento_dice_lo_que_HOY_es_verdad
test_c110_c2_licencia.py::LoQueElClienteLEE_NoContradiceALaLicenciaTest::test_el_documento_que_va_en_el_paquete_no_dice_que_el_Studio_no_existe
test_c110_c2_licencia.py::LoQueElClienteLEE_NoContradiceALaLicenciaTest::test_el_paquete_entrega_la_MISMA_version_que_el_nucleo
test_c114_c0_entradas_excluidas_en_el_estudio.py::test_el_estado_dice_que_la_nota_se_quedo_fuera_aunque_no_llegue_como_entrada
test_c114_c0_entradas_excluidas_en_el_estudio.py::test_las_excluidas_sobreviven_a_guardar_y_reabrir
test_c114_c1_arnes_de_pesos.py::test_el_cociente_es_la_mediana_frente_a_lightgbm_y_NO_es_el_peso
test_c114_c1_arnes_de_pesos.py::test_mide_en_frio_y_en_caliente_en_un_proceso_nuevo
test_c114_c1_arnes_de_pesos.py::test_la_lista_de_motores_es_la_del_114
test_c114_c3_multiclase_en_el_estudio.py::test_un_estudio_de_multiclase_termina_con_ganador_y_se_puede_usar
test_c114_c3_multiclase_en_el_estudio.py::test_el_lider_se_elige_segun_accuracy_mayor_es_mejor
test_c114_c3_multiclase_en_el_estudio.py::test_las_metricas_de_multiclase_son_accuracy_log_loss_y_macro_f1_sin_umbral
test_c114_c3_multiclase_en_el_estudio.py::test_decidir_fila_multiclase_es_el_argmax_y_ordena_de_mayor_a_menor
test_c114_c3_multiclase_en_el_estudio.py::test_disponibilidad_del_paquete_multiclase_ENCENDIDA_como_las_otras_dos
test_c114_c3_multiclase_en_el_estudio.py::test_la_pagina_del_navegador_se_niega_para_multiclase_con_su_motivo
test_c114_c3_multiclase_en_el_estudio.py::test_comparacion_con_el_proceso_actual_se_apaga_con_su_motivo_en_multiclase
test_c114_c3_multiclase_en_el_estudio.py::test_la_puerta_del_paquete_multiclase_es_la_misma_funcion_que_regresion
test_c114_c4_arnes_de_cierre.py::test_cumple_lo_que_dice_la_pasada_para_ESE_motor_y_ESE_conjunto
test_c114_c4_arnes_de_cierre.py::test_el_baseline_y_sin_ganador_no_cumplen_y_se_dice_por_que
test_c114_c4_arnes_de_cierre.py::test_el_criterio_es_ocho_de_diez
test_c114_c4_arnes_de_cierre.py::test_el_csv_conserva_las_columnas_y_los_vacios
test_c114_c4_arnes_de_cierre.py::test_se_niega_mientras_la_pasada_no_ha_terminado
test_c114_c4_arnes_de_cierre.py::test_fija_el_catalogo_de_la_v2_y_se_niega_si_falta_alguno
test_c114_c4_arnes_de_cierre.py::test_la_multiclase_elige_los_10_conjuntos_multiclase_del_protocolo_v2
test_c114_c4_arnes_de_cierre.py::test_estudiar_le_pasa_la_TAREA_al_estudio
test_c114_c4_arnes_de_cierre.py::test_cada_tarea_escribe_su_fichero_y_una_desconocida_no_se_mide
test_c114_c4_regresion_en_el_estudio.py::test_un_estudio_de_regresion_termina_con_ganador_y_se_puede_usar
test_c114_c4_regresion_en_el_estudio.py::test_el_lider_se_elige_segun_la_direccion_de_la_metrica
test_c114_c4_regresion_en_el_estudio.py::test_las_metricas_de_regresion_no_piden_umbral
test_c114_c4_regresion_en_el_estudio.py::test_un_objetivo_vacio_ya_no_rechaza_el_estudio_se_quita_y_se_dice
test_c114_c4_regresion_en_el_estudio.py::test_nan_y_las_marcas_de_sin_dato_se_quitan_y_se_dicen_y_cuentan_UNA
test_c114_c4_regresion_en_el_estudio.py::test_un_texto_que_no_es_un_numero_sigue_sin_arrancar
test_c114_c4_regresion_en_el_estudio.py::test_la_guarda_cuenta_UNA_y_dice_cual
test_c114_c4_regresion_en_el_estudio.py::test_la_guarda_no_mueve_la_fila_que_se_dice_con_una_linea_en_blanco
test_c114_c4_regresion_en_el_estudio.py::test_un_estudio_de_regresion_con_filas_sin_objetivo_termina_con_ganador_y_lo_dice
test_c114_c4_regresion_en_el_estudio.py::test_la_puerta_del_paquete_SIGUE_funcionando_aunque_hoy_no_cierre_nada
test_c114_c5_fechas_en_el_estudio.py::test_un_estudio_con_fecha_la_usa_por_sus_variables_y_una_fecha_nueva_predice
test_c115_c1_lo_visto_en_usar.py::test_probar_y_lote_dicen_lo_que_el_modelo_no_vio
test_c115_c2_frente_al_proceso_actual.py::test_gana_el_proceso_cuando_decide_mejor_que_el_modelo
test_c115_c2_frente_al_proceso_actual.py::test_gana_el_modelo_cuando_el_proceso_es_una_moneda
test_c115_c2_frente_al_proceso_actual.py::test_sin_proceso_actual_no_hay_bloque
test_c115_c2_frente_al_proceso_actual.py::test_una_regla_escrita_no_se_evalua_y_se_dice
test_c115_c2_frente_al_proceso_actual.py::test_si_el_modelo_ve_la_decision_de_hoy_no_se_compara
test_c115_c2_frente_al_proceso_actual.py::test_el_objetivo_como_proceso_actual_lo_impide_ya_el_esquema_del_nucleo
test_c115_c2_frente_al_proceso_actual.py::test_una_columna_que_no_trae_decisiones_no_se_compara
test_c115_c2_frente_al_proceso_actual.py::test_un_reparto_por_grupos_no_se_remuestrea_como_filas_sueltas
test_c115_c2_frente_al_proceso_actual.py::test_las_filas_sin_valor_salen_de_LOS_DOS_y_se_cuentan
test_c115_c2_frente_al_proceso_actual.py::test_en_regresion_compara_en_rmse
test_c115_c2_frente_al_proceso_actual.py::test_el_modelo_se_compara_con_SU_umbral_y_no_a_0_5
test_c115_c2_frente_al_proceso_actual.py::test_la_positiva_es_la_del_estudio_y_no_la_ultima_del_vocabulario
test_c115_c3_arnes_del_criterio.py::test_mide_los_16_binarios_no_sellados_del_protocolo_v2
test_c115_c3_arnes_del_criterio.py::test_los_costes_son_los_sellados
test_c115_c3_arnes_del_criterio.py::test_lo_declarado_es_VPP_en_la_positiva_y_VPN_en_la_negativa
test_c115_c3_arnes_del_criterio.py::test_cumple_si_lo_declarado_no_pasa_del_extremo_ALTO_del_test
test_c115_c3_arnes_del_criterio.py::test_una_banda_sin_pintar_o_sin_declarado_no_entra
test_c115_c3_arnes_del_criterio.py::test_el_veredicto_es_el_90_por_ciento_de_los_que_pintan_y_los_demas_fuera
test_c115_c3_arnes_del_criterio.py::test_un_hijo_que_muere_por_memoria_queda_fuera_con_su_motivo
test_c115_c3_arnes_del_criterio.py::test_el_resultado_se_escribe_aunque_un_conjunto_no_vuelva
test_c115_c3_bandas_en_el_estudio.py::test_costes_declarados_cambian_el_umbral_y_dan_bandas_medidas_en_test
test_c115_c3_bandas_en_el_estudio.py::test_sin_coste_de_revision_no_hay_bandas_y_se_dice_y_usar_no_inventa_una
test_c115_c3_bandas_en_el_estudio.py::test_coste_invalido_deja_el_estudio_failed_con_motivo_bilingue_y_no_una_excepcion
test_c115_c3_bandas_en_el_estudio.py::test_las_bandas_reciben_el_umbral_DEL_GANADOR
test_c115_c3_bandas_en_el_estudio.py::test_el_LOTE_dice_la_banda_de_cada_fila_igual_que_probar_una_fila
test_c115_c3_bandas_en_el_estudio.py::test_el_lote_SIN_coste_de_revisar_deja_la_banda_vacia_y_lo_dice
test_c115_c3_bandas_en_el_estudio.py::test_restriccion_obligatoria_no_hay_bandas_y_lo_dice_el_nucleo
test_c115_c3_bandas_en_el_estudio.py::test_multiclase_con_coste_de_revisar_no_hay_bandas_y_lo_dice_el_nucleo
test_c115_c4_conforme_en_el_estudio.py::test_binaria_con_filas_suficientes_calibra_mide_y_da_el_conjunto_de_la_fila
test_c115_c4_conforme_en_el_estudio.py::test_con_pocas_filas_no_hay_cuantil_y_se_dice_y_usar_no_inventa_un_conjunto
test_c115_c4_conforme_en_el_estudio.py::test_regresion_da_el_intervalo_de_la_fila
test_c115_c5_latencia_en_el_estudio.py::test_binaria_mide_los_tres_modos_con_maquina_y_columnas
test_c115_c5_latencia_en_el_estudio.py::test_dos_mediciones_no_dan_exactamente_el_mismo_numero
test_c115_c5_latencia_en_el_estudio.py::test_regresion_tambien_mide_latencia
test_c115_c5_latencia_en_el_estudio.py::test_un_estudio_sin_la_clave_no_rompe_nada
test_c115_c5_latencia_en_el_estudio.py::test_la_latencia_viaja_en_el_paquete_sin_colarse_en_las_metricas_a_recomputar
test_c115_c5_latencia_en_el_estudio.py::test_solo_frio_recarga_el_checkpoint_y_una_sola_vez
test_c115_c5_latencia_en_el_estudio.py::test_una_fila_caliente_llama_al_motor_fila_a_fila_no_por_lote
test_c115_c6_riesgo_en_el_paquete.py::test_binaria_con_costes_predict_py_fuera_coincide_con_usar_dentro_fila_a_fila
test_c115_c6_riesgo_en_el_paquete.py::test_sin_costes_el_paquete_no_lleva_riesgo_y_predict_no_inventa
test_c115_c6_riesgo_en_el_paquete.py::test_regresion_predict_py_fuera_coincide_con_usar_dentro
test_c115_los_nombres_del_fixture_son_los_del_nucleo.py::test_la_copia_del_fixture_es_EXACTAMENTE_el_registro_del_nucleo
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_el_reajuste_final_NO_corre_en_el_proceso_del_servidor
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_reajuste_que_falla_deja_el_estudio_FAILED_con_su_motivo
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_hijo_que_levanta_se_declara_con_la_excepcion
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_hijo_que_muere_sin_hablar_se_declara_con_su_codigo
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_hijo_que_muere_leyendo_una_carga_GRANDE_no_cuelga_el_trabajo
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_fallo_del_LADO_DEL_PADRE_se_declara_y_no_deja_la_carga
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_hijo_que_habla_pero_no_sale_no_cuelga_el_trabajo
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_cancelar_durante_el_reajuste_para_al_hijo_y_lo_dice
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_si_el_hijo_ya_dejo_el_sobre_cancelar_no_deshace_lo_hecho
test_c117_c4_reajuste_en_un_proceso_aparte.py::test_un_estudio_cancelado_mientras_se_reajusta_queda_CANCELLED_y_sin_seleccion
test_c121_c3_la_media_que_decide.py::TestLaMediaExpuestaEsLaQueDecidio::test_la_media_expuesta_es_la_MISMA_que_decidio_la_del_recomputo
test_c121_c3_la_media_que_decide.py::TestLaMediaExpuestaEsLaQueDecidio::test_viaja_en_el_sobre_que_sirve_el_estado_y_sobrevive_al_disco
test_c121_c3_la_media_que_decide.py::TestLaMediaExpuestaEsLaQueDecidio::test_en_la_interseccion_dice_de_cuantas_partes_y_el_modo
test_c121_c3_la_media_que_decide.py::TestLaMediaExpuestaEsLaQueDecidio::test_quien_queda_fuera_lo_dice_sin_inventar_un_valor
test_c121_c3_la_media_que_decide.py::TestElMejorDeLaFase0EntreLosDelStudio::test_auroc_mayor_es_mejor_y_catboost_no_cuenta
test_c121_c3_la_media_que_decide.py::TestElMejorDeLaFase0EntreLosDelStudio::test_r2_mayor_es_mejor_en_regresion
test_c121_c3_la_media_que_decide.py::TestElMejorDeLaFase0EntreLosDelStudio::test_con_una_metrica_que_baja_el_mejor_es_el_de_la_media_MENOR
test_c121_c3_la_media_que_decide.py::TestElMejorDeLaFase0EntreLosDelStudio::test_sin_ninguno_que_compita_aqui_no_se_inventa_ninguno
test_c121_c3_la_media_que_decide.py::TestElMejorDeLaFase0EntreLosDelStudio::test_con_los_catalogos_reales_el_campo_sale_y_no_es_la_referencia
test_c121_el_campeon_con_todos_los_pliegues.py::TestGanaLaMediaNoElPliegue0::test_A_gana_la_media_y_B_gana_el_pliegue_0_el_campeon_es_A
test_c121_el_campeon_con_todos_los_pliegues.py::TestGanaLaMediaNoElPliegue0::test_y_al_reves_B_gana_la_media_y_A_el_pliegue_0_el_campeon_es_B
test_c121_el_campeon_con_todos_los_pliegues.py::TestGanaLaMediaNoElPliegue0::test_con_metrica_que_baja_gana_la_MEDIA_MENOR
test_c121_el_campeon_con_todos_los_pliegues.py::TestGanaLaMediaNoElPliegue0::test_la_evidencia_que_decidio_lleva_la_media_y_la_suma_de_filas
test_c121_el_campeon_con_todos_los_pliegues.py::TestGanaLaMediaNoElPliegue0::test_la_recomputacion_de_la_decision_cuadra
test_c121_el_campeon_con_todos_los_pliegues.py::TestGanaLaMediaNoElPliegue0::test_el_lider_y_el_segundo_para_la_comparacion_salen_de_la_MEDIA
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaEvidenciaDeLaMediaEsHonrada::test_la_media_lleva_su_propia_formula_y_cita_una_evaluacion_que_se_persiste
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaEvidenciaDeLaMediaEsHonrada::test_dos_versiones_de_formula_no_se_promedian
test_c121_el_campeon_con_todos_los_pliegues.py::TestSinTodosLosPliegues::test_un_motor_con_un_pliegue_failed_no_es_campeon_se_dice_por_que_y_no_se_reajusta
test_c121_el_campeon_con_todos_los_pliegues.py::TestSinTodosLosPliegues::test_un_pliegue_sin_valor_aunque_su_estado_sea_completed_tampoco_cuenta
test_c121_el_campeon_con_todos_los_pliegues.py::TestSinTodosLosPliegues::test_sin_leaderboard_no_hay_media_y_nadie_gana
test_c121_el_campeon_con_todos_los_pliegues.py::TestSinTodosLosPliegues::test_menos_intentos_que_pliegues_es_incompleto
test_c121_el_campeon_con_todos_los_pliegues.py::TestSinTodosLosPliegues::test_con_repeticiones_hacen_falta_TODAS_las_de_todas
test_c121_el_campeon_con_todos_los_pliegues.py::TestElRelojNoCoronaALaReferencia::test_si_ninguno_se_midio_en_todos_se_comparan_en_la_INTERSECCION_y_se_declara
test_c121_el_campeon_con_todos_los_pliegues.py::TestElRelojNoCoronaALaReferencia::test_sin_ninguna_parte_en_comun_NADIE_gana_tampoco_la_referencia
test_c121_el_campeon_con_todos_los_pliegues.py::TestElRelojNoCoronaALaReferencia::test_con_TODO_el_reloj_agotado_en_los_reales_la_referencia_tampoco_gana
test_c121_el_campeon_con_todos_los_pliegues.py::TestElRelojNoCoronaALaReferencia::test_si_otro_SI_se_midio_en_todas_al_que_le_falto_reloj_se_queda_fuera_y_lo_dice
test_c121_el_campeon_con_todos_los_pliegues.py::TestElRelojNoCoronaALaReferencia::test_un_fallo_que_NO_es_el_reloj_no_se_vende_como_presupuesto
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaFraseDiceLoQuePaso::test_si_el_lider_por_la_media_sale_PEOR_en_la_comparacion_no_suena_a_victoria
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaFraseDiceLoQuePaso::test_con_un_motor_excluido_al_lado_no_hay_comparacion_y_la_razon_lo_dice
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaFraseDiceLoQuePaso::test_la_comparacion_entre_dos_reales_no_habla_de_un_campeon_que_es_otro
test_c121_el_campeon_con_todos_los_pliegues.py::TestComparaPeraConPera::test_una_metrica_distinta_a_la_del_estudio_para_con_un_error_claro
test_c121_el_campeon_con_todos_los_pliegues.py::TestComparaPeraConPera::test_un_budget_limited_con_valor_cuenta_y_un_failed_no
test_c121_el_campeon_con_todos_los_pliegues.py::TestComparaPeraConPera::test_n_observations_ausente_en_algun_pliegue_no_se_inventa
test_c121_el_campeon_con_todos_los_pliegues.py::TestComparaPeraConPera::test_las_entradas_de_la_evaluacion_final_no_entran_en_la_media
test_c121_el_campeon_con_todos_los_pliegues.py::TestComparaPeraConPera::test_los_pliegues_se_buscan_por_el_id_del_PLAN_no_por_engine
test_c121_el_campeon_con_todos_los_pliegues.py::TestComparaPeraConPera::test_el_id_que_reconstruye_la_seleccion_es_el_que_compone_la_busqueda
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaReferenciaNoGanaPorEliminacionTrasElReajuste::test_si_el_unico_completo_falla_al_reajustarse_compite_el_otro_en_la_interseccion
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaReferenciaNoGanaPorEliminacionTrasElReajuste::test_si_fallan_al_reajustarse_TODOS_los_reales_nadie_gana_y_la_razon_no_miente
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaReferenciaNoGanaPorEliminacionTrasElReajuste::test_con_un_solo_real_que_falla_al_reajustarse_tampoco_gana_la_referencia
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaFraseDeLaCausaSoloHablaDeLosQueCompiten::test_un_real_que_NO_compite_porque_no_midio_nada_no_añade_su_fallo_a_la_causa
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaFraseDeLaCausaSoloHablaDeLosQueCompiten::test_un_fallo_de_alguien_que_SI_compite_se_afirma
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaFraseDeLaCausaSoloHablaDeLosQueCompiten::test_solo_por_otra_cosa_no_dice_que_se_acabo_el_tiempo
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaClaveConservaLoQuePaso::test_fallo_en_todas_las_partes_es_fallo_con_su_motivo
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaClaveConservaLoQuePaso::test_no_soportada_en_todas_las_partes_es_no_soportada
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaClaveConservaLoQuePaso::test_con_alguna_parte_medida_sigue_siendo_pliegues_incompletos
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaClaveConservaLoQuePaso::test_con_alguna_parte_medida_y_solo_reloj_sigue_siendo_pliegues_sin_presupuesto
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaClaveConservaLoQuePaso::test_los_rotulos_de_pantalla_de_pliegues_sin_presupuesto_dicen_que_no_es_por_calidad
test_c121_el_campeon_con_todos_los_pliegues.py::TestElCandidatoDeTextoCuentaSusIntentos::test_los_intentos_del_motor_de_texto_se_cuentan
test_c121_el_campeon_con_todos_los_pliegues.py::test_las_claves_nuevas_estan_en_el_vocabulario_cerrado
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaBusquedaNoMiraElTest::test_cada_intento_entrena_la_cabeza_valida_con_la_cola_y_mide_sobre_valida
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaBusquedaNoMiraElTest::test_el_leaderboard_de_un_estudio_de_verdad_no_se_mide_con_ninguna_fila_de_test
test_c121_el_campeon_con_todos_los_pliegues.py::TestLaBusquedaNoMiraElTest::test_cambiar_la_verdad_del_test_NO_cambia_el_campeon_y_SI_la_cifra_final
test_c121_el_campeon_con_todos_los_pliegues.py::TestConLosEjemplosQueFallaban::test_el_campeon_es_el_de_mejor_media_y_su_decision_se_recomputa[dresses-sales]
test_c121_el_campeon_con_todos_los_pliegues.py::TestConLosEjemplosQueFallaban::test_el_campeon_es_el_de_mejor_media_y_su_decision_se_recomputa[climate-model-simulation-crashes]
test_c64_decision_persistida.py::TestDecisionPersistida::test_desvincularla_explicitamente_es_posible
test_c64_decision_persistida.py::TestDecisionPersistida::test_generar_ya_devuelve_la_decision
test_c64_decision_persistida.py::TestDecisionPersistida::test_guardar_y_RECARGAR_la_conserva
test_c64_decision_persistida.py::TestDecisionPersistida::test_lo_que_devuelve_GENERAR_es_guardable_tal_cual
test_c64_decision_persistida.py::TestDecisionPersistida::test_un_guardado_que_NO_la_menciona_no_la_borra
test_c64_decision_persistida.py::TestDecisionPersistida::test_un_modelo_ANTERIOR_al_contrato_no_inventa_nada
test_c64_decision_persistida.py::TestDecisionPersistida::test_un_reentrenamiento_NO_la_pierde
test_c64_editor_experto.py::TestEditorExperto::test_con_perfil_avanzado_SI_cabe_lo_que_en_equilibrado_no
test_c64_editor_experto.py::TestEditorExperto::test_crear_un_modelo_por_encima_del_tope_se_RECHAZA
test_c64_editor_experto.py::TestEditorExperto::test_crear_uno_que_cabe_sigue_funcionando
test_c64_editor_experto.py::TestEditorExperto::test_el_cliente_NO_puede_pisar_la_decision_recalculada
test_c64_editor_experto.py::TestEditorExperto::test_el_tope_de_parametros_se_comprueba_ANTES_de_entrenar
test_c64_editor_experto.py::TestEditorExperto::test_entrenar_primero_NO_es_una_via_para_saltarse_el_suelo
test_c64_editor_experto.py::TestEditorExperto::test_la_decision_ANTERIOR_no_sobrevive_a_una_edicion
test_c64_editor_experto.py::TestEditorExperto::test_la_decision_nueva_describe_la_red_NUEVA
test_c64_editor_experto.py::TestEditorExperto::test_ni_mandando_una_decision_FALSA_ni_null
test_c64_editor_experto.py::TestEditorExperto::test_pero_EDITAR_la_que_generó_la_política_no
test_c64_editor_experto.py::TestEditorExperto::test_se_rechaza_en_vez_de_corregir_en_silencio
test_c64_editor_experto.py::TestEditorExperto::test_sin_cambiar_la_arquitectura_SI_manda_el_cliente
test_c64_editor_experto.py::TestEditorExperto::test_traer_tu_propia_red_PEQUEÑA_sigue_permitido
test_c64_editor_experto.py::TestEditorExperto::test_un_modelo_pequeno_LEGITIMO_sigue_entrenando
test_c64_editor_experto.py::TestEditorExperto::test_un_mxai_que_no_parsea_sigue_dando_el_error_de_siempre
test_c64_editor_experto.py::TestEditorExperto::test_una_capa_ReLU_por_debajo_del_suelo_se_RECHAZA
test_c64_editor_experto.py::TestEditorExperto::test_una_edicion_VALIDA_se_acepta
test_c64_editor_experto.py::TestEditorExperto::test_una_red_por_encima_del_tope_se_RECHAZA
test_c64_editor_experto.py::TestEditorExperto::test_unos_pesos_de_OTRA_arquitectura_no_se_persisten
test_c67_c6_evaluation_expuesta.py::test_evaluation_viaja_en_model_get
test_c67_c6_evaluation_expuesta.py::test_un_modelo_sin_evaluacion_da_none_no_revienta
test_c67_c6_evaluation_expuesta.py::test_colapso_sin_medir_viaja_como_none_no_como_false
test_c73_crear_modelo_en_la_demo.py::CrearModeloConElPerfilDeLaDemo::test_desde_un_CSV
test_c73_crear_modelo_en_la_demo.py::CrearModeloConElPerfilDeLaDemo::test_desde_un_PROMPT
test_c73_crear_modelo_en_la_demo.py::CrearModeloConElPerfilDeLaDemo::test_desde_una_PLANTILLA
test_c73_crear_modelo_en_la_demo.py::CrearModeloConElPerfilDeLaDemo::test_el_recuento_distingue_prompt_de_datos
test_c73_origen_permitido.py::GuardaDeOrigen::test_con_lista_pasa_lo_declarado_y_solo_eso
test_c73_origen_permitido.py::GuardaDeOrigen::test_sin_lista_solo_local_como_siempre
test_c73_origen_permitido.py::GuardaDeOrigen::test_un_comodin_NO_abre_la_puerta
test_c73_origen_permitido.py::GuardaDeOrigen::test_varios_origenes_separados_por_comas
test_c73_plantilla_lluvia.py::TestLaPlantillaEstaEnElCatalogo::test_la_ficha_avisa_de_los_muchos_ceros
test_c73_plantilla_lluvia.py::TestLaPlantillaEstaEnElCatalogo::test_la_ficha_dice_en_los_dos_idiomas_que_es_una_REGRESION
test_c73_plantilla_lluvia.py::TestLaPlantillaEstaEnElCatalogo::test_la_licencia_declarada_es_la_REAL_del_proveedor
test_c73_plantilla_lluvia.py::TestLaPlantillaEstaEnElCatalogo::test_se_encuentra_por_su_categoria
test_c73_plantilla_lluvia.py::TestLaPlantillaEstaEnElCatalogo::test_se_lista_y_es_valida
test_c73_plantilla_lluvia.py::TestLaPlantillaGeneraUnProyectoDeVERDAD::test_cada_fila_predice_el_dia_siguiente_y_no_el_suyo
test_c73_plantilla_lluvia.py::TestLaPlantillaGeneraUnProyectoDeVERDAD::test_el_objetivo_es_la_lluvia_de_MANANA
test_c73_plantilla_lluvia.py::TestLaPlantillaGeneraUnProyectoDeVERDAD::test_el_split_es_temporal_y_sin_semilla
test_c73_plantilla_lluvia.py::TestLaPlantillaGeneraUnProyectoDeVERDAD::test_la_fecha_no_entra_como_entrada
test_c73_plantilla_lluvia.py::TestLaPlantillaGeneraUnProyectoDeVERDAD::test_la_procedencia_dice_de_dónde_salieron_los_datos
test_c73_plantilla_lluvia.py::TestLaPlantillaGeneraUnProyectoDeVERDAD::test_sin_aceptar_la_licencia_no_se_toca_la_red
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_el_catalogo_REAL_de_la_demo_no_trae_la_de_olas
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_en_el_STUDIO_descargable_cabe_TODO
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_la_de_OLAS_no_cabe
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_las_pequenas_caben
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_lo_que_no_se_sabe_medir_NO_se_esconde
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_pero_la_de_LLUVIA_sí
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_y_el_EUR_USD_también
test_c73_solo_lo_que_cabe_en_la_demo.py::LoQueCabeEnLaDemo::test_y_el_catalogo_del_STUDIO_sí
test_c73_tope_de_entrenamiento.py::TopeDeEntrenamientoEnLaDemo::test_el_perfil_completo_no_declara_ningun_tope
test_c73_tope_de_entrenamiento.py::TopeDeEntrenamientoEnLaDemo::test_la_demo_declara_los_dos_topes
test_c73_tope_de_entrenamiento.py::TopeDeEntrenamientoEnLaDemo::test_los_topes_se_configuran_por_entorno
test_c73_tope_de_entrenamiento.py::TopeDeEntrenamientoEnLaDemo::test_se_declaran_SIEMPRE_los_dos_perfiles
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_el_endpoint_de_analisis_lo_rechaza_de_verdad
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_el_mismo_endpoint_en_completo_NO_lo_rechaza
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_en_completo_no_hay_tope_por_grande_que_sea
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_la_cabecera_no_cuenta_como_fila
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_por_BYTES_lo_rechaza
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_por_FILAS_lo_rechaza_aunque_quepa_en_el_tope_de_bytes
test_c73_topes_del_csv.py::TopesDelCsvEnLaDemo::test_un_csv_normal_pasa
test_c73_uso.py::RecuentoDeUso::test_NO_guarda_el_identificador_de_sesion
test_c73_uso.py::RecuentoDeUso::test_cuenta_por_via_y_suma
test_c73_uso.py::RecuentoDeUso::test_devuelve_TODOS_los_eventos_aunque_esten_a_cero
test_c73_uso.py::RecuentoDeUso::test_la_duracion_solo_cuenta_sesiones_con_recorrido
test_c73_uso.py::RecuentoDeUso::test_si_no_se_puede_escribir_NO_se_rompe_la_demo
test_c73_uso.py::RecuentoDeUso::test_un_evento_que_no_existe_no_se_cuela
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_crea_el_repo_como_SPACE_no_como_modelo
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_el_index_html_sube_a_la_RAIZ_del_space
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_el_model_onnx_NO_viaja_duplicado_dentro_de_space
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_no_sube_el_token_ni_deja_la_carpeta_space_duplicada
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_respeta_la_privacidad_que_pidio_quien_publica
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_un_bundle_con_index_pero_SIN_predict_js_no_finge_un_space
test_c82_c4_space_publicacion.py::PublicarElSpaceEsUnaDecisionExplicitaTest::test_un_bundle_sin_plantilla_no_finge_un_space
test_c82_c4_space_publicacion.py::PublicarUnModeloNoCreaUnSpaceTest::test_el_space_va_a_OTRO_repositorio
test_c82_c4_space_publicacion.py::PublicarUnModeloNoCreaUnSpaceTest::test_por_defecto_publish_space_es_False
test_c82_c4_space_publicacion.py::PublicarUnModeloNoCreaUnSpaceTest::test_solo_se_sube_el_space_cuando_se_pide
test_c82_c4_space_publicacion.py::ElCableLLEGADeLaPantallaAlBackendTest::test_el_endpoint_lo_lee_del_payload_y_lo_pasa
test_c82_c4_space_publicacion.py::ElCableLLEGADeLaPantallaAlBackendTest::test_solo_un_true_EXPLICITO_crea_el_space
test_c82_c4_space_publicacion.py::ElRESULTADODiceQuePasoConElSpaceTest::test_el_fallo_del_Space_ya_NO_comparte_el_try_del_modelo
test_c82_c4_space_publicacion.py::ElRESULTADODiceQuePasoConElSpaceTest::test_los_tres_campos_existen_y_son_TRES_cosas
test_c82_c4_space_publicacion.py::ElRESULTADODiceQuePasoConElSpaceTest::test_si_NO_sale_el_modelo_sigue_publicado_y_se_dice_por_que
test_c82_c4_space_publicacion.py::ElRESULTADODiceQuePasoConElSpaceTest::test_si_SALE_viaja_su_URL
test_c82_c4_space_publicacion.py::ElSpaceEstaticoYA_NO_EsperaUn402Test::test_en_contexto_model_NO_afirma_que_el_modelo_se_publico
test_c82_c4_space_publicacion.py::ElSpaceEstaticoYA_NO_EsperaUn402Test::test_en_contexto_space_dice_QUE_el_MODELO_si_se_publico
test_c82_c4_space_publicacion.py::ElSpaceEstaticoYA_NO_EsperaUn402Test::test_en_contexto_space_ofrece_una_salida_de_verdad
test_c82_c4_space_publicacion.py::ElSpaceEstaticoYA_NO_EsperaUn402Test::test_ya_NO_culpa_a_gradio_ni_promete_que_PRO_lo_arregla
test_c82_captura_del_run.py::test_train_start_le_pasa_al_core_la_receta_y_la_semilla
test_c82_captura_del_run.py::test_la_receta_se_reconoce_con_el_nombre_del_generador
test_c82_captura_del_run.py::test_una_semilla_que_no_es_un_entero_no_viaja
test_c82_captura_del_run.py::test_la_captura_del_job_viaja_al_snapshot
test_c82_captura_del_run.py::test_un_job_sin_captura_no_hereda_la_del_guardado_anterior
test_c82_captura_del_run.py::test_guardar_sin_entrenar_no_toca_la_captura
test_c82_captura_del_run.py::test_una_captura_de_otra_version_se_trata_como_ausente
test_c82_captura_del_run.py::test_el_candidato_se_lleva_la_captura_en_su_sidecar_y_al_promover
test_c82_captura_del_run.py::test_la_captura_sale_del_job_cuando_los_pesos_salen_del_job
test_c82_captura_del_run.py::test_y_del_snapshot_cuando_los_pesos_salen_del_snapshot
test_c82_captura_del_run.py::test_sin_respaldo_entre_las_dos_fuentes
test_c82_captura_del_run.py::test_el_mxtrain_del_paquete_es_el_del_RUN_byte_a_byte
test_c82_captura_del_run.py::test_la_receta_del_paquete_es_la_del_RUN
test_c82_captura_del_run.py::test_la_captura_viaja_ENTERA_al_core
test_c82_captura_del_run.py::test_lo_que_manda_la_pantalla_viaja_APARTE_para_contrastar
test_c82_captura_del_run.py::test_sin_captura_no_viaja_nada_de_la_peticion
test_c82_captura_del_run.py::test_un_digesto_que_no_lo_es_no_se_manda
test_c82_captura_del_run.py::test_el_mismo_digesto_en_mayusculas_no_es_una_contradiccion
test_c82_captura_del_run.py::test_una_semilla_de_pantalla_que_no_es_entera_no_se_manda
test_c82_captura_del_run.py::test_las_filas_que_no_son_filas_no_se_mandan
test_c82_captura_del_run.py::test_una_captura_sin_contrato_no_deja_un_mxtrain_vacio
test_c82_captura_del_run.py::test_un_run_sin_receta_no_se_la_inventa
test_c82_captura_del_run.py::test_las_metricas_del_run_viajan_con_su_nombre_exacto
test_c82_captura_del_run.py::test_lo_que_no_aplica_a_la_tarea_no_viaja
test_c82_captura_del_run.py::test_no_se_rellena_a_ojo_lo_que_el_producto_no_tiene
test_c82_captura_del_run.py::test_un_nan_no_es_un_valor_medido
test_c82_captura_del_run.py::test_sin_captura_la_metrica_no_dice_sobre_que_se_midio
test_c82_captura_del_run.py::test_tras_un_reinicio_viaja_la_unica_metrica_que_sobrevive
test_c82_captura_del_run.py::test_e2e_el_paquete_describe_el_run_aunque_la_pantalla_diga_otra_cosa
test_c82_captura_del_run.py::test_e2e_tras_el_reinicio_el_paquete_sigue_saliendo_del_run
test_c82_captura_del_run.py::test_e2e_hugging_face_publica_lo_mismo_que_el_zip
test_c82_captura_del_run.py::test_e2e_un_modelo_de_antes_del_contrato_sale_no_reproducible_y_lo_dice
test_c82_captura_del_run.py::test_los_dos_caminos_de_export_pasan_la_captura_y_las_metricas
test_c82_refutacion_pesos_y_procedencia.py::test_un_run_que_no_termino_no_tiene_captura_que_dar[running]
test_c82_refutacion_pesos_y_procedencia.py::test_un_run_que_no_termino_no_tiene_captura_que_dar[cancelled]
test_c82_refutacion_pesos_y_procedencia.py::test_un_run_que_no_termino_no_tiene_captura_que_dar[timeout]
test_c82_refutacion_pesos_y_procedencia.py::test_un_run_que_no_termino_no_tiene_captura_que_dar[error]
test_c82_refutacion_pesos_y_procedencia.py::test_un_run_terminado_si_la_da
test_c82_refutacion_pesos_y_procedencia.py::test_sin_pesos_entrenados_no_hay_captura[False]
test_c82_refutacion_pesos_y_procedencia.py::test_sin_pesos_entrenados_no_hay_captura[True]
test_c82_refutacion_pesos_y_procedencia.py::test_las_metricas_siguen_la_MISMA_regla_del_run_terminado
test_c82_refutacion_pesos_y_procedencia.py::test_los_dos_caminos_de_export_declaran_de_donde_salen_los_pesos
test_c82_refutacion_pesos_y_procedencia.py::test_editar_la_arquitectura_se_lleva_la_captura_y_la_evaluacion
test_c82_refutacion_pesos_y_procedencia.py::test_editar_Y_DESHACER_tampoco_deja_la_captura
test_c82_refutacion_pesos_y_procedencia.py::test_reentrenar_tras_editar_recupera_la_captura_del_run_NUEVO
test_c82_refutacion_pesos_y_procedencia.py::test_e2e_un_paquete_de_pesos_aleatorios_no_promete_reproducirse
test_c82_refutacion_pesos_y_procedencia.py::test_una_receta_que_no_regenera_el_dataset_NO_viaja_al_core
test_c82_refutacion_pesos_y_procedencia.py::test_una_semilla_cambiada_tampoco_cuela
test_c82_refutacion_pesos_y_procedencia.py::test_sin_semilla_no_se_puede_comprobar_y_se_dice
test_c82_refutacion_pesos_y_procedencia.py::test_un_dataset_demasiado_grande_no_se_regenera
test_c82_refutacion_pesos_y_procedencia.py::test_si_no_se_declara_nada_no_hay_veredicto_que_dar
test_c82_refutacion_pesos_y_procedencia.py::test_lo_que_generó_este_backend_se_reconoce_sin_regenerar
test_c82_refutacion_pesos_y_procedencia.py::test_declarar_otra_receta_que_la_que_lo_generó_es_una_contradiccion
test_c82_refutacion_pesos_y_procedencia.py::test_editar_el_contrato_despues_de_generar_rompe_la_promesa
test_c82_refutacion_pesos_y_procedencia.py::test_el_registro_guarda_digestos_y_ni_una_fila_de_datos
test_c82_refutacion_pesos_y_procedencia.py::test_el_registro_tiene_tope_y_descarta_lo_mas_viejo
test_c82_refutacion_pesos_y_procedencia.py::test_una_generacion_fallida_no_se_apunta
test_c82_refutacion_pesos_y_procedencia.py::test_una_captura_de_la_siguiente_version_se_sigue_acarreando
test_c82_refutacion_pesos_y_procedencia.py::test_una_version_desconocida_se_sigue_tratando_como_ausente
test_c82_refutacion_pesos_y_procedencia.py::test_la_ruta_de_generar_datos_apunta_lo_que_produjo
test_c82_refutacion_pesos_y_procedencia.py::test_hugging_face_tampoco_publica_pesos_aleatorios_como_reproducibles
test_c82_refutacion_pesos_y_procedencia.py::test_e2e_el_manifiesto_publica_LO_QUE_PASO_no_lo_que_se_pidio
test_c82_refutacion_pesos_y_procedencia.py::test_un_arranque_EN_CALIENTE_no_se_declara_reproducible_a_secas
test_c82_split_de_las_metricas.py::LaParticionVIAJATest::test_cada_metrica_lleva_la_particion_que_el_core_declara
test_c82_split_de_las_metricas.py::LaParticionVIAJATest::test_la_MISMA_metrica_puede_venir_de_dos_particiones_y_se_nota
test_c82_split_de_las_metricas.py::LoQueNoSeSabeNoSeRellenaTest::test_desde_el_SNAPSHOT_no_se_declara_particion
test_c82_split_de_las_metricas.py::LoQueNoSeSabeNoSeRellenaTest::test_un_run_SIN_metric_splits_no_declara_particion
test_c82_split_de_las_metricas.py::LoQueNoSeSabeNoSeRellenaTest::test_una_particion_a_None_tampoco_se_escribe
test_c82_split_de_las_metricas.py::ElCoreLoDECLARAAlComponerElResultadoTest::test_macro_f1_declara_de_DONDE_salio_en_las_dos_ramas
test_c82_split_de_las_metricas.py::ElCoreLoDECLARAAlComponerElResultadoTest::test_metric_splits_sale_del_playground_con_las_siete_metricas
test_c83_auditoria_sidecars.py::ElGuardianDeLaRUTATest::test_anotar_una_medicion_con_id_malo_no_escribe_fuera
test_c83_auditoria_sidecars.py::ElGuardianDeLaRUTATest::test_la_decision_contesta_como_si_el_modelo_no_existiera
test_c83_auditoria_sidecars.py::ElGuardianDeLaRUTATest::test_leer_el_historico_con_id_malo_tampoco_se_sale
test_c83_auditoria_sidecars.py::ElGuardianDeLaRUTATest::test_un_id_con_ruta_no_compone_nada
test_c83_auditoria_sidecars.py::ElGuardianDeLaRUTATest::test_un_id_legitimo_compone_su_ruta_DENTRO
test_c83_auditoria_sidecars.py::YPorHTTP_NoEraAlcanzableTest::test_la_decision_con_id_que_escapa_no_escribe_nada
test_c83_c1_registry_http.py::test_sin_registry_lo_dice_con_su_motivo
test_c83_c1_registry_http.py::test_mirar_el_registry_no_lo_crea
test_c83_c1_registry_http.py::test_registry_vacio_no_es_lo_mismo_que_no_haberlo
test_c83_c1_registry_http.py::test_el_motivo_tambien_en_ingles
test_c83_c1_registry_http.py::test_la_lista_trae_version_hash_metricas_y_etiquetas
test_c83_c1_registry_http.py::test_la_proyeccion_es_el_manifiesto_del_core_entero
test_c83_c1_registry_http.py::test_y_dice_si_la_entrada_SE_PUEDE_EJECUTAR
test_c83_c1_registry_http.py::test_get_de_una_entrada
test_c83_c1_registry_http.py::test_una_etiqueta_la_resuelve_el_core_y_se_ve_lo_que_se_pidio
test_c83_c1_registry_http.py::test_entrada_que_no_existe_dice_cual
test_c83_c1_registry_http.py::test_un_nombre_no_construye_una_ruta_sin_mirarlo[..]
test_c83_c1_registry_http.py::test_un_nombre_no_construye_una_ruta_sin_mirarlo[../..]
test_c83_c1_registry_http.py::test_un_nombre_no_construye_una_ruta_sin_mirarlo[a/b]
test_c83_c1_registry_http.py::test_un_nombre_no_construye_una_ruta_sin_mirarlo[..%2f]
test_c83_c1_registry_http.py::test_un_nombre_no_construye_una_ruta_sin_mirarlo[-empieza-mal]
test_c83_c1_registry_http.py::test_verify_intacto
test_c83_c1_registry_http.py::test_un_aviso_del_core_no_es_un_fallo_de_integridad
test_c83_c1_registry_http.py::test_verify_manipulado_devuelve_el_motivo_del_core
test_c83_c1_registry_http.py::test_verify_de_lo_que_no_esta
test_c83_c1_registry_http.py::test_verify_sin_registry_no_dice_que_no_esta_integro
test_c83_c1_registry_http.py::test_ruta_lista
test_c83_c1_registry_http.py::test_ruta_lista_sin_registry_es_200_con_motivo
test_c83_c1_registry_http.py::test_ruta_entrada
test_c83_c1_registry_http.py::test_ruta_entrada_ausente_es_404
test_c83_c1_registry_http.py::test_ruta_verify
test_c83_c1_registry_http.py::test_la_lista_del_registry_no_es_la_de_modelos_guardados
test_c83_c1_registry_http.py::test_el_registry_por_defecto_cuelga_de_los_modelos_de_quien_pregunta
test_c83_c3_declarar_politica.py::test_escribe_una_politica_que_el_CORE_sabe_leer
test_c83_c3_declarar_politica.py::test_los_UMBRALES_son_los_que_se_eligieron
test_c83_c3_declarar_politica.py::test_declararla_NO_mide_nada_y_la_respuesta_lo_dice
test_c83_c3_declarar_politica.py::test_sin_publicar_NO_hay_politica_posible_y_se_dice_QUE_FALTA
test_c83_c3_declarar_politica.py::test_una_politica_SIN_UMBRALES_no_vigila_nada
test_c83_c3_declarar_politica.py::test_un_METODO_que_el_core_no_conoce_se_rechaza_ANTES_de_escribir
test_c83_c3_declarar_politica.py::test_un_umbral_fuera_de_RANGO_tampoco
test_c83_c3_declarar_politica.py::test_cero_muestras_o_cero_dias_no_es_una_ventana
test_c83_c3_politica_continua.py::test_la_politica_es_la_del_core_sin_recalcular_nada
test_c83_c3_politica_continua.py::test_viajan_los_umbrales_la_ventana_y_el_hash
test_c83_c3_politica_continua.py::test_la_vista_viaja_ENTERA
test_c83_c3_politica_continua.py::test_el_endpoint_dice_LO_MISMO_que_el_CLI_del_core
test_c83_c3_politica_continua.py::test_sin_politica_lo_dice_y_dice_que_haria_falta
test_c83_c3_politica_continua.py::test_sin_politica_tambien_en_ingles
test_c83_c3_politica_continua.py::test_modelo_que_no_existe
test_c83_c3_politica_continua.py::test_politica_rota_dice_lo_que_dijo_el_core
test_c83_c3_politica_continua.py::test_la_version_en_curso_sale_del_registry
test_c83_c3_politica_continua.py::test_sin_version_promovida_no_se_inventa_ninguna
test_c83_c3_politica_continua.py::test_sin_registry_la_politica_se_sigue_enseñando
test_c83_c3_politica_continua.py::test_ruta_con_politica
test_c83_c3_politica_continua.py::test_ruta_sin_politica_es_200_con_motivo
test_c83_c3_politica_continua.py::test_ruta_modelo_inexistente_es_404
test_c83_c3_politica_continua.py::test_la_ruta_no_se_la_come_la_de_modelos
test_c83_c3_politica_continua.py::test_la_ruta_habla_ingles
test_c83_c4_drift_historico.py::SinHistoricoLoDiceTest::test_un_modelo_que_no_existe_es_otra_cosa
test_c83_c4_drift_historico.py::SinHistoricoLoDiceTest::test_un_modelo_sin_mediciones_NO_dice_que_no_hay_deriva
test_c83_c4_drift_historico.py::ElHistoricoSeLEEBienTest::test_devuelve_los_puntos_en_orden
test_c83_c4_drift_historico.py::ElHistoricoSeLEEBienTest::test_una_linea_ROTA_no_tira_el_historico_entero
test_c83_c4_drift_historico.py::MedirDEJARastroTest::test_medir_ESCRIBE_una_linea_en_el_historico
test_c83_c4_drift_historico.py::MedirDEJARastroTest::test_medir_dos_veces_AÑADE_no_reescribe
test_c83_c4_drift_historico.py::MedirDEJARastroTest::test_sin_politica_NO_se_inventan_umbrales
test_c83_c4_drift_http.py::test_el_historico_se_sirve_por_HTTP
test_c83_c4_drift_http.py::test_nunca_medido_contesta_200_con_su_motivo
test_c83_c4_drift_http.py::test_un_modelo_que_no_existe_SI_es_404
test_c83_c4_drift_http.py::test_drift_NO_se_confunde_con_un_id_de_modelo
test_c83_c4_drift_http.py::test_medir_con_un_lote_que_se_sube_responde_por_HTTP
test_c83_c4_drift_http.py::test_sin_politica_continua_lo_dice_en_200_y_no_inventa_umbrales
test_c83_c4_drift_http.py::test_el_locale_llega_hasta_el_motivo
test_c83_c4_drift_http.py::test_medir_la_deriva_CON_politica_de_verdad_no_revienta
test_c83_c4_drift_http.py::test_y_la_medicion_QUEDA_en_el_historico
test_c83_c4_drift_http.py::test_el_spec_de_la_politica_NO_viaja_por_HTTP
test_c83_c4_drift_http.py::LaVistaDeLaPOLITICA_EsLaDelCORETest::test_el_endpoint_usa_ESE_y_no_otro
test_c83_c4_drift_http.py::LaVistaDeLaPOLITICA_EsLaDelCORETest::test_es_LITERALMENTE_la_clase_del_core
test_c83_c4_drift_http.py::LaVistaDeLaPOLITICA_EsLaDelCORETest::test_la_vista_publica_los_umbrales_de_DERIVA
test_c83_c4_drift_http.py::LaVistaDeLaPOLITICA_EsLaDelCORETest::test_y_el_constructor_tambien
test_c83_c4_referencia_derivada.py::ElDatasetConservadoSeUsaTalCualTest::test_si_se_conservo_se_usa_ese_y_no_se_regenera
test_c83_c4_referencia_derivada.py::RegenerarSoloValeSiLaHuellaCasaTest::test_regenerado_y_con_la_misma_huella_ES_el_dataset
test_c83_c4_referencia_derivada.py::RegenerarSoloValeSiLaHuellaCasaTest::test_si_la_generacion_revienta_se_cuenta_el_motivo
test_c83_c4_referencia_derivada.py::RegenerarSoloValeSiLaHuellaCasaTest::test_si_la_huella_NO_casa_no_se_usa_y_se_dice
test_c83_c4_referencia_derivada.py::SinReferenciaSeDiceQueFaltaTest::test_el_motivo_tambien_en_INGLES
test_c83_c4_referencia_derivada.py::SinReferenciaSeDiceQueFaltaTest::test_sin_semilla_no_se_puede_y_lo_NOMBRA
test_c83_c4_referencia_derivada.py::SinReferenciaSeDiceQueFaltaTest::test_un_modelo_que_no_existe_es_otra_cosa
test_c83_c4_referencia_derivada.py::LasColumnasSonLasNUMERICASTest::test_un_csv_sin_filas_no_da_columnas_vacias
test_c83_c4_referencia_derivada.py::LasColumnasSonLasNUMERICASTest::test_un_hueco_no_invalida_las_otras_filas_de_su_columna
test_c83_c4_referencia_derivada.py::LasColumnasSonLasNUMERICASTest::test_una_columna_de_texto_no_es_una_columna_medible
test_c83_c4_refinamiento_http.py::test_sin_medicion_no_se_propone_y_se_dice
test_c83_c4_refinamiento_http.py::test_sin_prompt_no_se_refina_el_EXTRACTO
test_c83_c4_refinamiento_http.py::test_con_deriva_y_prompt_sale_una_propuesta_COMO_DIFF
test_c83_c4_refinamiento_http.py::test_el_veredicto_del_supervisor_viaja_TAL_CUAL
test_c83_c4_refinamiento_http.py::test_la_propuesta_lleva_LA_MEDICION_en_la_que_se_basa
test_c83_c4_refinamiento_http.py::test_rechazar_SIN_motivo_no_se_registra
test_c83_c4_refinamiento_http.py::test_sin_QUIEN_tampoco
test_c83_c4_refinamiento_http.py::test_un_rechazo_CON_motivo_queda_guardado_con_quien_y_cuando
test_c83_c4_refinamiento_http.py::test_aceptar_NO_despliega_y_la_respuesta_lo_DICE
test_c83_c4_refinamiento_http.py::test_dos_decisiones_dejan_DOS_lineas
test_c83_conservar_generados.py::ElCsvGeneradoDejaArtefactoTest::test_se_puede_dejar_un_artefacto_de_un_csv_generado
test_c83_conservar_generados.py::ElCsvGeneradoDejaArtefactoTest::test_si_no_se_puede_NO_se_calla
test_c83_conservar_generados.py::ElCsvGeneradoDejaArtefactoTest::test_un_fallo_inesperado_tampoco_tumba_la_generacion
test_c83_conservar_generados.py::test_generar_deja_el_artefacto_en_la_respuesta
test_c83_conservar_generados.py::test_una_generacion_FALLIDA_no_deja_artefacto
test_c83_conservar_generados.py::test_si_el_almacen_falla_la_generacion_SIGUE_valiendo
test_c83_conservar_generados.py::test_vincular_no_toca_el_resto_del_modelo
test_c83_conservar_generados.py::test_un_artefacto_que_ya_no_esta_NO_se_ata
test_c83_conservar_generados.py::test_un_id_de_modelo_con_ruta_no_pasa
test_c83_dataset_del_modelo.py::DiceDeDondeSaleTest::test_conservado_se_dice_conservado
test_c83_dataset_del_modelo.py::DiceDeDondeSaleTest::test_cuenta_las_filas_sin_contar_la_cabecera
test_c83_dataset_del_modelo.py::DiceDeDondeSaleTest::test_regenerado_se_dice_REGENERADO_y_no_conservado
test_c83_dataset_del_modelo.py::SiLaHuellaNoCasaNoSeEntregaTest::test_lo_regenerado_que_no_casa_NO_se_da_por_bueno
test_c83_dataset_del_modelo.py::SiLaHuellaNoCasaNoSeEntregaTest::test_sin_model_id_no_se_inventa_uno
test_c83_dataset_del_modelo.py::SiLaHuellaNoCasaNoSeEntregaTest::test_sin_semilla_se_niega_NOMBRANDO_lo_que_falta
test_c83_dataset_del_modelo.py::ElMISMOCsvQueLaDerivaTest::test_la_referencia_de_deriva_sale_del_csv_que_se_entrega
test_c83_dataset_del_modelo.py::ElMISMOCsvQueLaDerivaTest::test_si_no_hay_csv_la_deriva_dice_que_no_hay_CONTRA_QUE_comparar
test_c83_dataset_del_modelo.py::SeSabeANTESSiSePodraMedirTest::test_con_receta_semilla_huella_y_filas_SI_se_podra
test_c83_dataset_del_modelo.py::SeSabeANTESSiSePodraMedirTest::test_el_historico_lo_DICE_para_que_el_panel_lo_sepa
test_c83_dataset_del_modelo.py::SeSabeANTESSiSePodraMedirTest::test_si_el_dataset_se_conservo_se_podra_sin_mirar_la_captura
test_c83_dataset_del_modelo.py::SeSabeANTESSiSePodraMedirTest::test_sin_semilla_NO_se_podra_y_lo_dice_sin_regenerar_nada
test_c83_registry_push.py::test_un_modelo_SIN_ENTRENAR_no_se_publica_y_se_dice_por_que
test_c83_registry_push.py::test_una_etiqueta_que_no_da_nombre_valido_lo_PIDE_en_vez_de_inventarlo
test_c83_registry_push.py::test_un_modelo_que_no_existe_lo_dice
test_c83_registry_push.py::test_publica_y_el_CORE_deduce_los_tipos_del_mxai
test_c83_registry_push.py::test_publicar_NO_es_desplegar_y_la_respuesta_lo_dice
test_c83_registry_push.py::test_la_version_es_un_CONTADOR_no_una_eleccion
test_c83_registry_push.py::test_publicar_DOS_VECES_lo_mismo_no_crea_una_copia
test_c83_registry_push.py::test_y_el_nombre_se_puede_ELEGIR
test_c83_registry_push.py::test_el_nombre_translitera_y_no_inventa
test_c83_typecheck_del_core.py::ElVeredictoLoDaElCORETest::test_el_endpoint_devuelve_un_veredicto_del_core_sin_recomponerlo
test_c83_typecheck_del_core.py::ElVeredictoLoDaElCORETest::test_los_MENSAJES_del_core_viajan_tal_cual
test_c83_typecheck_del_core.py::ElVeredictoLoDaElCORETest::test_y_coincide_con_lo_que_dice_el_CLI_del_core
test_c83_typecheck_del_core.py::NoPoderComprobarNoEsEstarMALTest::test_SIN_REGISTRY_no_se_dice_que_todo_esta_bien
test_c83_typecheck_del_core.py::NoPoderComprobarNoEsEstarMALTest::test_sin_mxai_tampoco_se_inventa_un_veredicto
test_c83_typecheck_del_core.py::NoPoderComprobarNoEsEstarMALTest::test_un_mxai_ilegible_dice_que_NO_se_pudo_comprobar
test_c83_typecheck_del_core.py::ElEjemploPublicadoPasaSuPropioTypecheckTest::test_ahora_lo_acepta
test_c83_typecheck_del_core.py::ElEjemploPublicadoPasaSuPropioTypecheckTest::test_y_lo_acepta_PORQUE_los_tipos_encajan_no_porque_falten
test_c85_c1_verify_por_http.py::test_verify_devuelve_las_cuatro_etapas_del_core
test_c85_c1_verify_por_http.py::test_sin_retrain_el_informe_lo_dice_en_vez_de_callarlo
test_c85_c1_verify_por_http.py::test_el_retrain_pedido_llega_al_core
test_c85_c1_verify_por_http.py::test_un_formato_sin_reproduce_no_se_verifica_en_silencio[onnx]
test_c85_c1_verify_por_http.py::test_un_formato_sin_reproduce_no_se_verifica_en_silencio[wasm]
test_c85_c1_verify_por_http.py::test_un_formato_desconocido_sigue_dando_su_error_de_siempre
test_c85_c1_verify_por_http.py::test_solo_verificar_no_manda_el_zip_de_vuelta
test_c85_c1_verify_por_http.py::test_verify_sin_only_verify_entrega_el_paquete_Y_el_informe
test_c85_c1_verify_por_http.py::test_pesos_grandes_dice_por_que_no_verifica_en_vez_de_fallar
test_c85_c1_verify_por_http.py::test_la_ruta_esta_cableada
test_c85_c1_verify_por_http.py::test_el_manifiesto_del_paquete_LLEGA_con_lo_que_el_C2_tiene_que_pintar
test_c85_c1_verify_por_http.py::test_el_idioma_pedido_llega_al_verificador
test_c85_c1_verify_por_http.py::test_un_idioma_que_no_existe_no_se_le_manda_al_core
test_c85_c1_verify_por_http.py::ElMotivoEnCastellanoSALE_DE_DONDE_VIVETest::test_la_respuesta_LLEVA_la_clave
test_c85_c1_verify_por_http.py::ElMotivoEnCastellanoSALE_DE_DONDE_VIVETest::test_lo_encuentra_donde_de_verdad_esta
test_c85_c1_verify_por_http.py::ElMotivoEnCastellanoSALE_DE_DONDE_VIVETest::test_ni_un_manifiesto_que_no_llega
test_c85_c1_verify_por_http.py::ElMotivoEnCastellanoSALE_DE_DONDE_VIVETest::test_un_paquete_reproducible_no_dice_nada
test_c85_c1_verify_por_http.py::ElMotivoEnCastellanoSALE_DE_DONDE_VIVETest::test_y_NO_donde_yo_habia_supuesto
test_c85_c3_comparar_recibos.py::CompararDosRecibosTest::test_dos_distintos_dicen_EN_QUE_se_diferencian
test_c85_c3_comparar_recibos.py::CompararDosRecibosTest::test_dos_iguales_son_identicos
test_c85_c3_comparar_recibos.py::CompararDosRecibosTest::test_la_ruta_esta_cableada_y_la_demo_NO_la_niega
test_c85_c3_comparar_recibos.py::CompararDosRecibosTest::test_sin_los_dos_recibos_no_se_inventa_una_comparacion
test_c85_c3_comparar_recibos.py::CompararDosRecibosTest::test_un_recibo_SIN_FIRMAR_se_puede_comparar
test_c85_c3_pipeline_con_recibo.py::test_un_pipeline_de_un_nodo_corre_y_deja_su_recibo
test_c85_c3_pipeline_con_recibo.py::test_un_dry_run_NO_emite_recibo_y_dice_por_que
test_c85_c3_pipeline_con_recibo.py::test_sin_clave_el_recibo_sale_SIN_FIRMAR_y_la_respuesta_lo_declara
test_c85_c3_pipeline_con_recibo.py::test_con_clave_el_sobre_es_DSSE_del_86_C1_y_el_core_lo_verifica
test_c85_c3_pipeline_con_recibo.py::test_el_NIVEL_del_recibo_lo_deduce_el_core_y_viaja
test_c85_c3_pipeline_con_recibo.py::test_sin_registry_se_contesta_lo_mismo_que_los_demas_endpoints
test_c85_c3_pipeline_con_recibo.py::test_un_pipeline_que_no_pasa_la_verificacion_devuelve_TODOS_sus_problemas
test_c85_c3_pipeline_con_recibo.py::test_sin_pipeline_no_se_ejecuta_nada
test_c85_c3_pipeline_con_recibo.py::test_la_ruta_esta_cableada
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_rechaza_VERIFICAR
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_YA_DEJA_ejecutar_un_pipeline
test_c85_la_demo_y_las_puertas_nuevas.py::test_pero_CON_SUS_TOPES_los_pasos
test_c85_la_demo_y_las_puertas_nuevas.py::test_y_el_tiempo_que_pide
test_c85_la_demo_y_las_puertas_nuevas.py::test_uno_que_CABE_pasa_la_puerta
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_deja_publicar_en_el_registry_Y_AHORA_TAMBIEN_EJECUTAR
test_c85_la_demo_y_las_puertas_nuevas.py::test_en_el_perfil_COMPLETO_las_dos_puertas_estan_abiertas
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_atestigua_pero_ACOTA_el_modelo
test_c85_la_demo_y_las_puertas_nuevas.py::test_y_uno_que_CABE_pasa_la_puerta
test_c85_la_demo_y_las_puertas_nuevas.py::test_el_tope_mira_los_bytes_REALES_no_los_del_base64
test_c85_la_demo_y_las_puertas_nuevas.py::test_y_el_CSV_de_evaluacion_va_por_la_MISMA_puerta_que_los_demas
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_YA_DEJA_INICIAR_UN_ESTUDIO_pero_solo_los_dos_ejemplos
test_c85_la_demo_y_las_puertas_nuevas.py::test_PROBAR_UNA_FILA_del_estudio_ya_no_la_cierra_run_estudio
test_c85_la_demo_y_las_puertas_nuevas.py::test_PREDECIR_UN_CSV_del_estudio_ya_no_lo_cierra_run_estudio
test_c85_la_demo_y_las_puertas_nuevas.py::test_LEER_QUE_COLUMNAS_PESAN_del_estudio_ya_no_lo_cierra_run_estudio
test_c85_la_demo_y_las_puertas_nuevas.py::test_DIBUJAR_LA_RED_del_estudio_ya_no_lo_cierra_run_estudio
test_c85_la_demo_y_las_puertas_nuevas.py::test_pero_CANCELAR_sigue_abierto_a_proposito
test_c85_la_demo_y_las_puertas_nuevas.py::test_y_el_perfil_DECLARA_LOS_TRES_TOPES_para_que_la_interfaz_los_lea
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_DECLARA_los_motores_que_no_compiten_segun_sus_interruptores
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_rechaza_EXPORTAR_EL_ESTUDIO
test_c85_la_demo_y_las_puertas_nuevas.py::test_la_demo_rechaza_SERVIR_EL_MODELO
test_c85_la_demo_y_las_puertas_nuevas.py::test_y_en_el_perfil_COMPLETO_servir_el_modelo_no_lo_cierra_la_puerta
test_c85_la_demo_y_las_puertas_nuevas.py::test_y_en_el_perfil_COMPLETO_la_puerta_no_cierra
test_c85_modo_de_generacion.py::test_la_procedencia_devuelve_el_modo_que_REGENERA_el_csv
test_c85_modo_de_generacion.py::test_si_la_declaracion_no_se_prueba_el_modo_NO_viaja
test_c85_modo_de_generacion.py::test_e2e_el_paquete_declara_el_modo_y_R1_PASA
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_SIEMPRE_dice_lo_que_el_recibo_NO_demuestra
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_con_clave_se_firma_y_sube_de_A0
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_devuelve_el_recibo_del_core_con_su_metrica
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_el_nombre_del_fichero_TEMPORAL_no_es_el_del_modelo
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_sin_clave_va_sin_firmar_Y_SE_DICE
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_sin_nombre_declarado_se_DICE_que_no_lo_dijo
test_c87_c4_attest_por_http.py::LaPuertaFuncionaTest::test_y_TAMPOCO_el_de_los_datos
test_c87_c4_attest_por_http.py::LoQueNoSePuedeSeContestaTest::test_la_ruta_esta_cableada
test_c87_c4_attest_por_http.py::LoQueNoSePuedeSeContestaTest::test_sin_modelo_o_sin_datos_no_se_inventa_nada
test_c87_c4_attest_por_http.py::LoQueNoSePuedeSeContestaTest::test_un_modelo_demasiado_grande_dice_QUE_HACER
test_c87_c4_attest_por_http.py::LoQueNoSePuedeSeContestaTest::test_un_modelo_que_no_es_base64_se_dice
test_c87_c4_attest_por_http.py::ElReciboDICE_QUE_ENTRO_POR_LA_PANTALLATest::test_lo_que_declare_quien_lo_pide_MANDA
test_c87_c4_attest_por_http.py::ElReciboDICE_QUE_ENTRO_POR_LA_PANTALLATest::test_sin_actor_el_recibo_nombra_al_STUDIO
test_c87_c4_attest_por_http.py::ElReciboDICE_QUE_ENTRO_POR_LA_PANTALLATest::test_y_NUNCA_dice_que_lo_pidio_el_terminal
test_c87_c4_attest_por_http.py::LoQueREDACTA_ESTE_BACKEND_HablaSuIdiomaTest::test_en_ingles_el_motivo_de_sin_firmar_esta_en_ingles
test_c87_c4_attest_por_http.py::LoQueREDACTA_ESTE_BACKEND_HablaSuIdiomaTest::test_sin_declarar_idioma_es_el_de_casa
test_c87_c4_attest_por_http.py::LoQueREDACTA_ESTE_BACKEND_HablaSuIdiomaTest::test_y_QUIEN_LO_PIDE_tampoco_se_queda_en_castellano
test_c87_c4_attest_por_http.py::LoQueREDACTA_ESTE_BACKEND_HablaSuIdiomaTest::test_y_el_PROPOSITO_del_core_viaja_con_el_mismo_idioma
test_c87_c4_attest_por_http.py::LoQueREDACTA_ESTE_BACKEND_HablaSuIdiomaTest::test_y_en_castellano_sigue_en_castellano
test_c87_c4_attest_por_http.py::UnModeloQueNoDECLARA_SuSalidaSeRechazaTest::test_sin_declarar_que_son_esas_dos_columnas_se_dice_lo_que_falta
test_c87_c4_attest_por_http.py::UnModeloQueNoDECLARA_SuSalidaSeRechazaTest::test_y_declarandolo_la_puerta_atestigua_igual_que_siempre
test_c87_capacidades_propias.py::LasCapacidadesSonPROPIASTest::test_el_Studio_descargable_las_permite
test_c87_capacidades_propias.py::LasCapacidadesSonPROPIASTest::test_estan_declaradas_en_LOS_DOS_perfiles
test_c87_capacidades_propias.py::LasCapacidadesSonPROPIASTest::test_la_demo_TAMBIEN_las_permite_desde_el_2026_08_26
test_c87_capacidades_propias.py::LasCapacidadesSonPROPIASTest::test_los_topes_SE_APLICAN_donde_se_declaran
test_c87_capacidades_propias.py::LasCapacidadesSonPROPIASTest::test_pero_LA_DEMO_LAS_ACOTA_y_el_Studio_no
test_c87_capacidades_propias.py::LasPUERTAS_usan_la_suya_Test::test_attest_se_rechaza_por_SU_capacidad
test_c87_capacidades_propias.py::LasPUERTAS_usan_la_suya_Test::test_cada_una_tiene_SU_contador
test_c87_capacidades_propias.py::LasPUERTAS_usan_la_suya_Test::test_el_pipeline_tambien
test_c87_capacidades_propias.py::LasMetricasDeAtestacionLasMANDA_ElBackendTest::test_las_capacidades_traen_la_lista_del_core
test_c87_capacidades_propias.py::LasMetricasDeAtestacionLasMANDA_ElBackendTest::test_y_no_es_una_lista_escrita_a_mano_aqui
test_c87_tope_antes_de_leer.py::ElTopeCortaAntesDeLeerTest::test_el_tope_vale_para_TODAS_las_rutas_no_solo_attest
test_c87_tope_antes_de_leer.py::ElTopeCortaAntesDeLeerTest::test_un_Content_Length_que_no_es_un_numero_no_tumba_el_proceso
test_c87_tope_antes_de_leer.py::ElTopeCortaAntesDeLeerTest::test_un_cuerpo_enorme_se_rechaza_SIN_LEERLO
test_c87_tope_antes_de_leer.py::ElTopeCortaAntesDeLeerTest::test_una_longitud_NEGATIVA_se_rechaza_antes_de_leer
test_c87_tope_antes_de_leer.py::ElTopeCortaAntesDeLeerTest::test_y_el_motivo_dice_POR_DONDE_SI
test_c87_tope_antes_de_leer.py::ElTopeCortaAntesDeLeerTest::test_y_el_motivo_dice_POR_QUE_una_negativa_es_peligrosa
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[dresses-sales-dresses-sales]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[  ventas 2026.csv  -ventas 2026.csv]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[C:\\datos\\ventas.csv-ventas.csv]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[/home/ana/datos/ventas.csv-ventas.csv]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[a\x00b\nc.csv-abc.csv]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[-None]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[   -None]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[None-None]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[42-None]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_se_limpia_y_lo_ausente_no_se_inventa[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
test_cabecera_nombre_de_los_datos.py::test_el_nombre_viaja_en_iniciar_vuelve_en_el_estado_y_sobrevive_a_guardar_y_reabrir
test_cabecera_nombre_de_los_datos.py::test_un_estudio_sin_nombre_no_rompe_y_dice_none
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_descartar_borra_el_sidecar
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_el_TTL_es_configurable
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_gc_recoge_los_huerfanos_por_TTL
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_la_reserva_es_el_mayor_entre_5GiB_y_el_10_por_ciento
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_no_confunde_un_mxw_normal_con_un_candidato
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_otro_modelo_no_estorba
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_preflight_de_espacio_bloquea_ANTES_de_escribir
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_ttl_cero_desactiva_la_recogida
test_candidato_c62_c4_spill.py::TestPoliticaDelAlmacen::test_un_solo_candidato_pendiente_por_modelo
test_candidato_c62_c4_spill.py::TestPromocionDeUnCandidatoVolcado::test_un_candidato_inexistente_no_toca_el_modelo_activo
test_candidato_c62_c4_spill.py::TestPromocionDeUnCandidatoVolcado::test_un_fallo_del_JSON_deja_el_modelo_anterior_intacto
test_candidato_c62_c4_spill.py::TestPromocionDeUnCandidatoVolcado::test_un_mxw_CORRUPTO_no_se_promociona
test_candidato_c62_c4_spill.py::TestEndpointDeDescarte::test_descarta_y_es_idempotente
test_candidato_c62_c4_spill.py::TestEndpointDeDescarte::test_valida_los_parametros
test_candidato_c62_c4_spill.py::TestRecorridoIntegrado::test_descartar_borra_pesos_Y_metadata
test_candidato_c62_c4_spill.py::TestRecorridoIntegrado::test_listar_candidatos_permite_retomar_tras_un_reinicio
test_candidato_c62_c4_spill.py::TestRecorridoIntegrado::test_spill_escribe_el_sidecar_y_libera_los_tensores_del_job
test_candidato_c62_c4_spill.py::TestCicloDeVidaDelSidecarPromovido::test_el_GC_NO_borra_los_pesos_activos
test_candidato_c62_c4_spill.py::TestCicloDeVidaDelSidecarPromovido::test_permite_entrenar_OTRO_candidato_tras_promover
test_candidato_c62_c4_spill.py::TestCicloDeVidaDelSidecarPromovido::test_pero_sigue_recogiendo_los_huerfanos_de_verdad
test_candidato_c62_c4_spill.py::TestCicloDeVidaDelSidecarPromovido::test_un_sidecar_promovido_deja_de_ser_candidato_pendiente
test_candidato_c62_c4_spill.py::TestSelectorEstrictoDeSnapshots::test_active_weights_files_usa_el_mismo_criterio
test_candidato_c62_c4_spill.py::TestSelectorEstrictoDeSnapshots::test_la_metadata_no_cuenta_para_el_tope_de_modelos
test_candidato_c62_c4_spill.py::TestSelectorEstrictoDeSnapshots::test_la_metadata_no_se_lista_como_modelo
test_candidato_c62_c4_spill.py::TestSelectorEstrictoDeSnapshots::test_un_nombre_que_no_es_id_de_12_hex_no_es_snapshot
test_candidato_c62_c4_spill.py::TestEvaluacionTambienParaModelosPequenos::test_spilled_false_pero_con_evaluacion_autoritativa
test_candidato_c62_c4_spill.py::TestHuellaConDatosDelMismoJob::test_el_job_guarda_su_propia_declaracion_de_split
test_candidato_c62_c4_spill.py::TestHuellaConDatosDelMismoJob::test_el_split_del_JOB_manda_sobre_el_del_snapshot
test_candidato_c62_c4_spill.py::TestHuellaConDatosDelMismoJob::test_los_campos_informados_salen_de_la_misma_fuente_que_la_huella
test_candidato_c62_c4_spill.py::TestHuellaConDatosDelMismoJob::test_sin_declaracion_del_job_se_usa_el_training_text
test_candidato_c62_c4_spill.py::TestEvaluacionFailClosedAlGuardar::test_un_job_sin_evaluacion_borra_la_anterior
test_casos_guiados_no_afirman_veredictos.py::ElTextoDeSinAccionNoAfirmaNada::test_en_espanol
test_casos_guiados_no_afirman_veredictos.py::ElTextoDeSinAccionNoAfirmaNada::test_en_ingles
test_casos_guiados_no_afirman_veredictos.py::ElTextoDeSinAccionNoAfirmaNada::test_y_SÍ_dice_lo_que_pasó
test_casos_guiados_no_afirman_veredictos.py::LosTresCasosSiguenAhi::test_tres
test_completo_avisa_secretos.py::test_con_un_token_en_las_notas_la_descarga_SALE_y_lo_dice_sin_el_valor
test_completo_avisa_secretos.py::test_sin_token_no_hay_aviso
test_contrato54_c1_bundle_validator.py::TestSelfUsableBundlePassesClean::test_ok_and_self_usable
test_contrato54_c1_bundle_validator.py::TestNonSelfUsableBundleWarnsNotErrors::test_unlabelled_classification_warns
test_contrato54_c1_bundle_validator.py::TestMissingRequiredFileBlocks::test_missing_model_onnx_names_it
test_contrato54_c1_bundle_validator.py::TestMissingRequiredFileBlocks::test_empty_directory_reports_all_missing
test_contrato54_c1_bundle_validator.py::TestMissingRequiredFileBlocks::test_nonexistent_directory_reports_error_not_crash
test_contrato54_c1_bundle_validator.py::TestPartialSelfUsableGroupBlocks::test_partial_group_is_blocking_error
test_contrato54_c1_bundle_validator.py::TestExternalWeightsDetection::test_model_onnx_data_present_is_detected
test_contrato54_c1_bundle_validator.py::TestExternalWeightsDetection::test_no_model_onnx_data_is_not_flagged
test_contrato54_c1_bundle_validator.py::TestExternalWeightsDetection::test_declares_external_but_data_missing_blocks
test_contrato54_c1_bundle_validator.py::TestExternalWeightsDetection::test_declares_external_and_data_present_passes
test_contrato54_c1_bundle_validator.py::TestExternalWeightsDetection::test_corrupt_model_onnx_blocks
test_contrato54_c1_bundle_validator.py::TestExternalWeightsDetection::test_onnx_package_unavailable_degrades_to_warning
test_contrato54_c1_bundle_validator.py::test_huggingface_hub_importable
test_contrato54_c2_hf_readme.py::TestSelfUsableBundleWrapping::test_yaml_header_valid_with_mandatory_tags
test_contrato54_c2_hf_readme.py::TestSelfUsableBundleWrapping::test_original_readme_survives_intact
test_contrato54_c2_hf_readme.py::TestSelfUsableBundleWrapping::test_pipeline_tag_inferred_from_inference_spec
test_contrato54_c2_hf_readme.py::TestNonSelfUsableBundleWrapping::test_quickstart_less_readme_survives_intact
test_contrato54_c2_hf_readme.py::TestNonSelfUsableBundleWrapping::test_pipeline_tag_falls_back_to_export_manifest_without_spec
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_tag_with_colon_is_dropped
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_tag_true_is_kept_but_not_a_bool_in_the_header
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_empty_tag_is_dropped
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_tag_with_newline_is_dropped
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_license_injection_attempt_does_not_override_parsed_license
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_non_string_tag_is_dropped
test_contrato54_c2_hf_readme.py::TestTagSanitization::test_duplicate_tags_are_deduplicated
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_catalog_license_maps_to_correct_spdx[AGPL-3.0-agpl-3.0]
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_catalog_license_maps_to_correct_spdx[MIT-mit]
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_catalog_license_maps_to_correct_spdx[Apache-2.0-apache-2.0]
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_catalog_license_maps_to_correct_spdx[CC-BY-4.0-cc-by-4.0]
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_catalog_license_maps_to_correct_spdx[Proprietary-other]
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_catalog_license_maps_to_correct_spdx[Other-other]
test_contrato54_c2_hf_readme.py::TestLicenseSpdxMapping::test_unknown_license_falls_back_to_other
test_contrato54_c2_hf_readme.py::TestDemoNotice::test_demo_flag_adds_notice
test_contrato54_c2_hf_readme.py::TestInvalidPipelineTagFallsBackToOther::test_unknown_pipeline_tag_becomes_other
test_contrato54_c3_publish_service.py::TestPublishSuccess::test_success_returns_url_and_commit_message
test_contrato54_c3_publish_service.py::TestPublishSuccess::test_uploaded_readme_is_the_enriched_one
test_contrato54_c3_publish_service.py::TestNonBundleFormatRejectedBeforeAnyNetworkCall::test_onnx_format_is_rejected
test_contrato54_c3_publish_service.py::TestExportFailurePropagates::test_broken_mxai_surfaces_export_error
test_contrato54_c3_publish_service.py::TestBundleValidationBlocksUpload::test_invalid_bundle_blocks_before_upload
test_contrato54_c3_publish_service.py::TestDiskSpaceGuardFailsBeforeNetworkCall::test_insufficient_disk_space_blocks_before_upload
test_contrato54_c3_publish_service.py::TestOversizedFileGuardFailsBeforeNetworkCall::test_oversized_member_blocks_before_upload
test_contrato54_c3_publish_service.py::TestHfErrorsTranslatedAndDistinct::test_invalid_token_401
test_contrato54_c3_publish_service.py::TestHfErrorsTranslatedAndDistinct::test_forbidden_403
test_contrato54_c3_publish_service.py::TestHfErrorsTranslatedAndDistinct::test_not_found_404
test_contrato54_c3_publish_service.py::TestHfErrorsTranslatedAndDistinct::test_invalid_repo_id
test_contrato54_c3_publish_service.py::TestHfErrorsTranslatedAndDistinct::test_connection_error
test_contrato54_c3_publish_service.py::TestHfErrorsTranslatedAndDistinct::test_all_error_messages_are_distinct
test_contrato54_c3_publish_service.py::TestTempDirCleanup::test_cleaned_up_after_success
test_contrato54_c3_publish_service.py::TestTempDirCleanup::test_cleaned_up_after_upload_failure
test_contrato54_c3_publish_service.py::TestTokenNeverLeaks::test_token_not_in_output_or_logs_on_success
test_contrato54_c3_publish_service.py::TestTokenNeverLeaks::test_token_not_in_output_or_logs_on_failure
test_contrato54_c3_publish_service.py::TestStreamedZipIsCleanedUp::test_streamed_zip_deleted_after_successful_publish
test_contrato54_c3_publish_service.py::TestStreamedZipIsCleanedUp::test_streamed_zip_deleted_even_when_upload_fails
test_contrato54_c3_publish_service.py::TestTokenNeverReachesStudioExport::test_endpoint_strips_hf_fields_before_export
test_contrato54_c3_publish_service.py::TestTokenNeverReachesStudioExport::test_publish_to_huggingface_strips_even_if_caller_forgot
test_contrato54_c3_publish_service.py::TestEndpointDropsNonStringTagsWithoutCoercion::test_integer_tag_is_dropped_not_stringified
test_contrato54_c4_validate_dry_run.py::TestValidBundleNeverTouchesNetwork::test_valid_bundle_ok_without_any_hf_call
test_contrato54_c4_validate_dry_run.py::TestValidBundleNeverTouchesNetwork::test_endpoint_does_not_require_token_or_repo_id
test_contrato54_c4_validate_dry_run.py::TestInvalidBundleReportsErrorWithoutNetworkCall::test_invalid_bundle_blocks_without_uploading
test_contrato54_c4_validate_dry_run.py::TestNonBundleAndExportFailurePropagate::test_non_bundle_format_rejected
test_contrato54_c4_validate_dry_run.py::TestNonBundleAndExportFailurePropagate::test_broken_mxai_surfaces_export_error
test_contrato54_c4_validate_dry_run.py::TestEndpointStripsHfOnlyKeysEvenThoughNotNeeded::test_studio_export_never_receives_stray_hf_fields
test_contrato54_c4_validate_dry_run.py::TestTempArtifactsCleanedUpOnDryRun::test_tmp_dir_removed_after_valid_dry_run
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_clean_bundle_has_no_findings
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_detects_api_key_assignment
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_detects_hf_token_shape
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_does_not_flag_legitimate_tokenizer_prose
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_skips_binary_files_without_crashing
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_reports_file_and_pattern_for_each_finding
test_contrato54_c5_secrets_manifest_hardclose.py::TestScanBundleForSecrets::test_finding_to_dict_never_carries_the_matched_text
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretsBlockPublicAllowPrivate::test_public_with_secrets_is_blocked_before_upload
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretsBlockPublicAllowPrivate::test_private_with_secrets_is_allowed_but_flagged
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretsBlockPublicAllowPrivate::test_no_findings_is_unaffected
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishManifestContent::test_manifest_is_uploaded_as_part_of_the_repo
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishManifestContent::test_manifest_content_matches_contract_shape
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishManifestContent::test_manifest_never_contains_token_or_secrets
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishManifestContent::test_visibility_private_reflected_in_manifest
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishHistoryPersistence::test_successful_publish_appends_to_history
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishHistoryPersistence::test_history_accumulates_across_publishes
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishHistoryPersistence::test_model_id_recorded_when_present
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishHistoryPersistence::test_corrupt_history_file_does_not_crash_and_starts_fresh
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishHistoryPersistence::test_failed_publish_does_not_write_history
test_contrato54_c5_secrets_manifest_hardclose.py::TestPublishHistoryPersistence::test_history_write_failure_does_not_flip_a_successful_publish
test_contrato54_c5_secrets_manifest_hardclose.py::TestHardClose::test_full_cycle_no_secrets_correct_manifest_and_url
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretShapedTagsAreFilteredAtTheSource::test_sneaky_tag_never_reaches_the_manifest_even_in_private
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretShapedTagsAreFilteredAtTheSource::test_sneaky_tag_never_reaches_the_readme_even_in_private
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretShapedTagsAreFilteredAtTheSource::test_sneaky_tag_never_reaches_anything_in_public_either
test_contrato54_c5_secrets_manifest_hardclose.py::TestSecretShapedTagsAreFilteredAtTheSource::test_clean_tag_is_unaffected
test_contrato54_c5_secrets_manifest_hardclose.py::TestSanitizeTagsRejectsSecretShapes::test_hf_shaped_tag_is_dropped
test_contrato54_c5_secrets_manifest_hardclose.py::TestSanitizeTagsRejectsSecretShapes::test_sk_shaped_tag_is_dropped
test_contrato54_c5_secrets_manifest_hardclose.py::TestSanitizeTagsRejectsSecretShapes::test_ordinary_tags_survive
test_contrato54_c5_secrets_manifest_hardclose.py::TestBinaryFileGuard::test_known_binary_names_are_never_read_even_if_utf8_valid
test_contrato54_c5_secrets_manifest_hardclose.py::TestBinaryFileGuard::test_real_oversized_file_is_skipped_without_reading
test_contrato54_c5_secrets_manifest_hardclose.py::TestBinaryFileGuard::test_oversized_unknown_file_with_a_real_secret_is_still_skipped
test_contrato54_c5_secrets_manifest_hardclose.py::TestBinaryFileGuard::test_file_under_the_cap_is_still_scanned_normally
test_contrato54_c5_secrets_manifest_hardclose.py::TestValidateAndPublishAgreeOnBlockOrder::test_both_report_the_validation_error_not_the_secrets_error
test_dataset_c63_auditoria1.py::TestCRLF::test_el_ciclo_completo_con_CRLF
test_dataset_c63_auditoria1.py::TestCRLF::test_la_verificacion_ocurre_sobre_BYTES
test_dataset_c63_auditoria1.py::TestCRLF::test_un_CSV_de_Windows_se_recupera_byte_a_byte
test_dataset_c63_auditoria1.py::TestPermisos::test_directorio_y_ficheros_son_privados
test_dataset_c63_auditoria1.py::TestPermisos::test_un_almacen_YA_creado_con_permisos_laxos_se_corrige
test_dataset_c63_auditoria1.py::TestBorradoFailClosed::test_desvincular_al_guardar_BORRA_el_artefacto
test_dataset_c63_auditoria1.py::TestBorradoFailClosed::test_el_guardado_avisa_si_no_pudo_borrar
test_dataset_c63_auditoria1.py::TestBorradoFailClosed::test_un_fallo_fisico_al_borrar_NO_se_reporta_como_exito
test_dataset_c63_auditoria1.py::TestReparacion::test_reparar_no_cuenta_dos_veces_contra_la_cuota
test_dataset_c63_auditoria1.py::TestReparacion::test_volver_a_subir_el_original_repara
test_dataset_c63_auditoria1.py::TestLimpieza::test_el_barrido_periodico_existe_y_se_arranca
test_dataset_c63_auditoria1.py::TestLimpieza::test_recoge_metadata_sin_artefacto
test_dataset_c63_auditoria1.py::TestLimpieza::test_recoge_temporales_de_escrituras_muertas
test_dataset_c63_auditoria1.py::TestLimpieza::test_un_temporal_reciente_no_se_toca
test_dataset_c63_auditoria1.py::TestConcurrencia::test_el_GC_no_puede_llevarse_lo_que_se_esta_vinculando
test_dataset_c63_auditoria1.py::TestConcurrencia::test_guardar_mientras_el_GC_barre
test_dataset_c63_auditoria1.py::TestConcurrencia::test_veinte_guardados_simultaneos_del_mismo_CSV
test_dataset_c63_auditoria1.py::TestFalloVisible::test_la_cuota_superada_se_explica_en_vez_de_desaparecer
test_dataset_c63_auditoria1.py::TestProveedorGrande::test_el_crudo_del_proveedor_queda_disponible_aunque_no_quepa_en_la_respuesta
test_dataset_c63_auditoria1.py::TestProveedorGrande::test_ese_crudo_se_puede_guardar_y_recuperar_intacto
test_dataset_c63_auditoria1.py::TestRecuperarYPreparar::test_devuelve_el_PREPARADO_y_nunca_el_crudo
test_dataset_c63_auditoria1.py::TestRecuperarYPreparar::test_sin_datos_conservados_lo_dice_sin_fallar
test_dataset_c63_auditoria1.py::TestRecuperarYPreparar::test_un_artefacto_corrupto_dice_QUE_fichero_era
test_dataset_c63_auditoria2.py::TestVincularYBorrarALaVez::test_borrar_mientras_otro_modelo_vincula_no_deja_referencias_rotas
test_dataset_c63_auditoria2.py::TestVincularYBorrarALaVez::test_si_el_artefacto_desaparece_el_guardado_falla_limpio
test_dataset_c63_auditoria2.py::TestVincularYBorrarALaVez::test_sin_candado_entre_procesos_la_operacion_FALLA
test_dataset_c63_auditoria2.py::TestBorradoReintentable::test_cuando_el_fallo_se_resuelve_el_reintento_lo_cumple
test_dataset_c63_auditoria2.py::TestBorradoReintentable::test_desmarcar_la_casilla_tambien_deja_intencion_pendiente
test_dataset_c63_auditoria2.py::TestBorradoReintentable::test_el_GC_tambien_reintenta_solo
test_dataset_c63_auditoria2.py::TestBorradoReintentable::test_el_segundo_intento_NO_dice_que_todo_esta_en_orden
test_dataset_c63_auditoria2.py::TestBorradoReintentable::test_volver_a_conservar_ese_contenido_anula_el_borrado_pendiente
test_dataset_c63_auditoria2.py::TestMigracionDePermisos::test_el_barrido_del_GC_tambien_los_migra
test_dataset_c63_auditoria2.py::TestMigracionDePermisos::test_el_propio_lock_tampoco_queda_accesible
test_dataset_c63_auditoria2.py::TestMigracionDePermisos::test_los_ficheros_YA_creados_se_migran_a_0600
test_dataset_c63_auditoria2.py::TestCuotaAlReparar::test_el_espacio_libre_se_mide_por_el_fichero_ENTERO
test_dataset_c63_auditoria2.py::TestCuotaAlReparar::test_reparar_por_el_MISMO_tamano_sigue_siendo_posible_sin_holgura
test_dataset_c63_auditoria2.py::TestCuotaAlReparar::test_reparar_por_uno_MAS_GRANDE_respeta_la_cuota
test_dataset_c63_auditoria3.py::TestIntencionDurable::test_el_segundo_intento_SI_lo_cumple_cuando_el_fallo_pasa
test_dataset_c63_auditoria3.py::TestIntencionDurable::test_lo_mismo_al_desmarcar_la_casilla_al_guardar
test_dataset_c63_auditoria3.py::TestIntencionDurable::test_mark_for_deletion_ya_no_traga_su_propio_fallo
test_dataset_c63_auditoria3.py::TestIntencionDurable::test_si_SOLO_falla_la_tumba_tambien_se_rechaza
test_dataset_c63_auditoria3.py::TestIntencionDurable::test_si_la_tumba_no_se_puede_escribir_NO_se_desvincula_el_modelo
test_dataset_c63_auditoria3.py::TestAtomicidadTumbaSnapshot::test_el_GC_no_puede_retirar_la_tumba_a_medio_camino
test_dataset_c63_auditoria3.py::TestAtomicidadTumbaSnapshot::test_si_el_commit_falla_la_tumba_se_retira_en_el_mismo_tramo
test_dataset_c63_auditoria3.py::TestTumbaObsoleta::test_si_otro_modelo_pasa_a_compartirlo_la_tumba_se_retira
test_dataset_c63_auditoria3.py::TestTumbaObsoleta::test_y_el_GC_no_los_borra_despues
test_dataset_c63_auditoria3.py::TestFalloDelCandado::test_el_guardado_responde_error_en_vez_de_reventar
test_dataset_c63_auditoria3.py::TestCuotaProyectada::test_la_cuota_sigue_rechazando_lo_que_de_verdad_crece
test_dataset_c63_auditoria3.py::TestCuotaProyectada::test_reparar_hacia_abajo_se_permite_aunque_el_corrupto_pase_la_cuota
test_dataset_c63_auditoria3.py::TestCuotaProyectada::test_reparar_se_permite_aunque_el_uso_final_SIGA_sobre_la_cuota
test_dataset_c63_auditoria4.py::TestTumbaObsoletaEnAmbasRutas::test_el_GC_es_la_segunda_linea_de_defensa
test_dataset_c63_auditoria4.py::TestTumbaObsoletaEnAmbasRutas::test_la_tumba_se_retira
test_dataset_c63_auditoria4.py::TestErrorNormalizadoEnAmbasRutas::test_un_fallo_al_registrar_la_intencion_usa_el_codigo_documentado
test_dataset_c63_auditoria4.py::TestUnSoloCierre::test_las_dos_rutas_comparten_la_funcion_de_cierre
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_contenidos_distintos_no_colisionan
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_deduplica_por_contenido
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_guarda_y_devuelve_el_mismo_contenido
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_la_huella_es_de_los_bytes_TAL_CUAL
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_sobrevive_a_un_reinicio
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_un_artefacto_ausente_da_error_accionable
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_un_artefacto_corrupto_se_detecta_al_leer
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_un_id_invalido_no_construye_rutas
test_dataset_c63_c1_store.py::TestGuardarYLeer::test_vive_en_su_propio_subdirectorio
test_dataset_c63_c1_store.py::TestReferenciasDerivadas::test_el_recuento_sale_de_los_snapshots_no_de_un_contador
test_dataset_c63_c1_store.py::TestReferenciasDerivadas::test_la_metadata_del_almacen_no_se_confunde_con_un_snapshot
test_dataset_c63_c1_store.py::TestReferenciasDerivadas::test_un_snapshot_sin_dataset_no_cuenta
test_dataset_c63_c1_store.py::TestBorradoYCuota::test_la_cuota_es_el_menor_entre_10GB_y_el_10_por_ciento
test_dataset_c63_c1_store.py::TestBorradoYCuota::test_la_cuota_rechaza_uno_NUEVO_sin_borrar_los_vinculados
test_dataset_c63_c1_store.py::TestBorradoYCuota::test_no_se_borra_un_dataset_en_uso
test_dataset_c63_c1_store.py::TestBorradoYCuota::test_reguardar_algo_ya_presente_no_consume_cuota
test_dataset_c63_c1_store.py::TestBorradoYCuota::test_se_borra_cuando_ya_nadie_lo_usa
test_dataset_c63_c1_store.py::TestBorradoYCuota::test_un_dataset_de_100MB_se_guarda_y_se_lee_intacto
test_dataset_c63_c1_store.py::TestRecogidaDeTemporales::test_el_TTL_es_configurable_y_cero_lo_desactiva
test_dataset_c63_c1_store.py::TestRecogidaDeTemporales::test_listar_dice_quien_usa_cada_uno
test_dataset_c63_c1_store.py::TestRecogidaDeTemporales::test_un_temporal_sin_referencias_caduca
test_dataset_c63_c1_store.py::TestRecogidaDeTemporales::test_uno_VINCULADO_no_caduca_nunca
test_dataset_c63_c1_store.py::TestRecogidaDeTemporales::test_uno_reciente_sin_vincular_tampoco
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_conservar_es_explicito_y_no_re_transfiere_el_CSV
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_deduplicar_no_reescribe_el_nombre_del_primero
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_dos_modelos_con_el_mismo_CSV_comparten_artefacto
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_el_NOMBRE_es_de_cada_modelo_y_el_TAMANO_sale_del_disco
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_el_nombre_que_llega_del_cliente_se_sanea
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_generar_devuelve_un_artefacto_temporal
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_por_defecto_NO_se_conserva
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_un_temporal_no_vinculado_caduca
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_una_huella_con_forma_de_ruta_se_rechaza
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_uno_vinculado_NO_caduca
test_dataset_c63_c2c3c4_ciclo.py::TestC2Vinculacion::test_vincular_un_artefacto_que_ya_no_existe_NO_guarda_el_modelo
test_dataset_c63_c2c3c4_ciclo.py::TestC3RecuperarSinPedirFichero::test_devuelve_el_CSV_crudo_intacto
test_dataset_c63_c2c3c4_ciclo.py::TestC3RecuperarSinPedirFichero::test_model_id_invalido
test_dataset_c63_c2c3c4_ciclo.py::TestC3RecuperarSinPedirFichero::test_si_el_artefacto_falta_dice_QUE_fichero_era
test_dataset_c63_c2c3c4_ciclo.py::TestC3RecuperarSinPedirFichero::test_un_artefacto_corrupto_no_se_devuelve_como_bueno
test_dataset_c63_c2c3c4_ciclo.py::TestC3RecuperarSinPedirFichero::test_un_modelo_sin_datos_conservados_lo_dice
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_al_CARGAR_el_modelo_la_SPA_recibe_el_dataset
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_al_olvidar_el_ULTIMO_si_se_borra
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_desvincular_pasando_dataset_false
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_el_listado_dice_uso_y_cuota
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_no_borra_el_artefacto_si_otro_modelo_lo_usa
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_olvidar_algo_que_no_se_conserva_es_inocuo
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_olvidar_borra_los_datos_pero_NO_el_modelo
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_si_algo_falla_al_olvidar_NADA_queda_a_medias
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_un_proveedor_que_cambia_su_contenido_NO_sustituye_lo_conservado
test_dataset_c63_c2c3c4_ciclo.py::TestC4CicloDeVida::test_y_un_modelo_SIN_datos_conservados_devuelve_None
test_dataset_idioma_del_camino_de_datos.py::ElCaminoTEMPORALTambienHablaElIdiomaDeLaAplicacion::test_el_csv_temporal_dispara_de_verdad_el_camino_temporal
test_dataset_idioma_del_camino_de_datos.py::ElCaminoTEMPORALTambienHablaElIdiomaDeLaAplicacion::test_en_ingles_el_camino_temporal_no_cuela_una_frase_en_espanol
test_dataset_idioma_del_camino_de_datos.py::ElCaminoDesdeDatosHablaElIdiomaDeLaAplicacion::test_el_csv_de_prueba_dispara_de_verdad_el_aviso_de_texto
test_dataset_idioma_del_camino_de_datos.py::ElCaminoDesdeDatosHablaElIdiomaDeLaAplicacion::test_en_ingles_no_se_cuela_una_frase_en_espanol
test_dataset_idioma_del_camino_de_datos.py::ElCaminoDesdeDatosHablaElIdiomaDeLaAplicacion::test_y_en_espanol_sigue_hablando_espanol
test_dataset_idioma_del_camino_de_datos.py::ElParBilingueEsUnPARYNoMediaTraduccion::test_la_confirmacion_trae_los_dos_idiomas_en_cada_motivo
test_dataset_idioma_del_camino_de_datos.py::ElParBilingueEsUnPARYNoMediaTraduccion::test_la_mitad_inglesa_de_un_motivo_no_lleva_castellano
test_demo_tope_de_tiempo.py::ElTopeDeTiempoDeLaDemo::test_cuando_cuadran_no_dice_nada
test_demo_tope_de_tiempo.py::ElTopeDeTiempoDeLaDemo::test_cuando_el_core_no_lo_aplica_lo_DICE
test_demo_tope_de_tiempo.py::ElTopeDeTiempoDeLaDemo::test_el_descuadre_VIAJA_en_el_estado
test_demo_tope_de_tiempo.py::ElTopeDeTiempoDeLaDemo::test_el_perfil_completo_no_inventa_topes
test_demo_tope_de_tiempo.py::ElTopeDeTiempoDeLaDemo::test_el_tope_declarado_son_120_segundos_y_50_epocas
test_demo_tope_de_tiempo.py::ElTopeDeTiempoDeLaDemo::test_y_cuando_aplica_OTRO_numero_tambien
test_dos_clases_en_varias_clases_endpoint.py::test_la_pregunta_llega_por_el_endpoint_en_los_dos_idiomas
test_dos_clases_en_varias_clases_endpoint.py::test_contestar_binaria_deja_solo_la_clase_positiva_y_luego_confirma
test_dos_clases_en_varias_clases_endpoint.py::test_tres_clases_sigue_confirmando
test_dos_clases_en_varias_clases_endpoint.py::test_la_pregunta_nombra_las_opciones_como_las_rotula_el_desplegable_del_studio
test_dos_clases_en_varias_clases_endpoint.py::test_la_unica_respuesta_es_binaria
test_dos_clases_en_varias_clases_endpoint.py::test_un_objetivo_0_1_pregunta_con_las_clases_como_las_trae_el_csv
test_dos_clases_en_varias_clases_endpoint.py::test_sin_etiquetas_que_contar_el_endpoint_no_revienta
test_dos_clases_en_varias_clases_endpoint.py::test_la_copia_del_texto_en_la_prueba_de_la_pantalla_es_el_texto_de_verdad
test_ejemplos_medidos_rellenan_el_formulario.py::test_hay_cuatro_ejemplos_y_todos_traen_su_unidad_en_los_dos_idiomas
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[es-dresses-sales]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[es-climate-model-simulation-crashes]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[es-us_crime]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[es-pc1]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[en-dresses-sales]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[en-climate-model-simulation-crashes]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[en-us_crime]
test_ejemplos_medidos_rellenan_el_formulario.py::test_con_lo_que_carga_el_ejemplo_el_objetivo_se_confirma_y_se_puede_repartir[en-pc1]
test_ejemplos_medidos_rellenan_el_formulario.py::test_sin_confirmar_particion_error_viene_y_es_None
test_el_origen_del_modelo_es_uno.py::ElOrigenViajaEnteroYNoSeInventa::test_por_defecto_sigue_siendo_el_prompt
test_el_origen_del_modelo_es_uno.py::ElOrigenViajaEnteroYNoSeInventa::test_una_plantilla_lo_dice_en_los_DOS_sitios
test_el_origen_del_modelo_es_uno.py::ElEnumConoceLoQueElProductoEmite::test_template_generated_es_un_valor_del_enum
test_el_origen_del_modelo_es_uno.py::ElEnumConoceLoQueElProductoEmite::test_y_los_de_siempre_siguen
test_el_rango_declarado_de_la_salida.py::test_generate_devuelve_el_rango_aparte_y_target_range_sigue_nulo_como_hoy
test_el_rango_declarado_de_la_salida.py::test_sin_rango_valido_no_viaja_nada[SALIDA: precio_eur: Scalar]
test_el_rango_declarado_de_la_salida.py::test_sin_rango_valido_no_viaja_nada[SALIDA: precio_eur: Scalar en [900000, 60000]]
test_el_rango_declarado_de_la_salida.py::test_una_clasificacion_no_declara_rango
test_el_rango_declarado_de_la_salida.py::test_la_ruta_pasa_el_rango_al_nucleo_cuando_viene
test_el_rango_declarado_de_la_salida.py::test_sin_rango_la_llamada_al_nucleo_es_la_de_siempre[extra0]
test_el_rango_declarado_de_la_salida.py::test_sin_rango_la_llamada_al_nucleo_es_la_de_siempre[extra1]
test_el_rango_declarado_de_la_salida.py::test_un_rango_que_no_es_un_par_de_numeros_no_cierra_la_conexion[invalido0]
test_el_rango_declarado_de_la_salida.py::test_un_rango_que_no_es_un_par_de_numeros_no_cierra_la_conexion[12]
test_el_rango_declarado_de_la_salida.py::test_un_rango_que_no_es_un_par_de_numeros_no_cierra_la_conexion[invalido2]
test_el_tope_no_borra_modelos_de_personas.py::ElTopeNoBorraModelosDePersonas::test_con_el_almacen_lleno_de_modelos_de_persona_no_se_borra_ninguno
test_el_tope_no_borra_modelos_de_personas.py::ElTopeNoBorraModelosDePersonas::test_el_producto_marca_usuario_y_solo_la_suite_marca_prueba
test_el_tope_no_borra_modelos_de_personas.py::ElTopeNoBorraModelosDePersonas::test_los_de_prueba_SI_se_expulsan_y_primero_los_antiguos
test_el_tope_no_borra_modelos_de_personas.py::ElTopeNoBorraModelosDePersonas::test_un_snapshot_SIN_marca_cuenta_como_de_persona
test_embudo_77.py::TestElFormatoDeVerdad::test_parsea_una_linea_real_del_registro
test_embudo_77.py::TestElFormatoDeVerdad::test_la_consulta_no_ensucia_la_ruta
test_embudo_77.py::TestElFormatoDeVerdad::test_una_linea_que_no_es_del_formato_no_rompe_nada
test_embudo_77.py::TestQuienNoEsPersona::test_por_el_agente[curl/8.7.1-herramienta]
test_embudo_77.py::TestQuienNoEsPersona::test_por_el_agente[python-requests/2.31.0-herramienta]
test_embudo_77.py::TestQuienNoEsPersona::test_por_el_agente[Mozilla/5.0 (compatible; Googlebot/2.1)-robot declarado]
test_embudo_77.py::TestQuienNoEsPersona::test_por_el_agente[--sin agente]
test_embudo_77.py::TestQuienNoEsPersona::test_por_el_agente[-sin agente]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/wp-admin/install.php]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/img/.env]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/SDK/webLanguage]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/cgi-bin/ViewLog.asp]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/mcp]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/.npmrc]
test_embudo_77.py::TestQuienNoEsPersona::test_por_la_ruta_de_escaner[/phpinfo.php]
test_embudo_77.py::TestQuienNoEsPersona::test_recursos_y_sondeos[/favicon.ico]
test_embudo_77.py::TestQuienNoEsPersona::test_recursos_y_sondeos[/robots.txt]
test_embudo_77.py::TestQuienNoEsPersona::test_recursos_y_sondeos[/assets/app.css]
test_embudo_77.py::TestQuienNoEsPersona::test_recursos_y_sondeos[/demo/api/studio/status]
test_embudo_77.py::TestQuienNoEsPersona::test_nuestro_propio_panel_no_cuenta_como_visita
test_embudo_77.py::TestQuienNoEsPersona::test_y_lo_que_SI_es_una_persona_no_se_descuenta[/]
test_embudo_77.py::TestQuienNoEsPersona::test_y_lo_que_SI_es_una_persona_no_se_descuenta[/demo/]
test_embudo_77.py::TestQuienNoEsPersona::test_y_lo_que_SI_es_una_persona_no_se_descuenta[/members]
test_embudo_77.py::TestQuienNoEsPersona::test_y_lo_que_SI_es_una_persona_no_se_descuenta[/api/download]
test_embudo_77.py::TestSesiones::test_la_misma_ip_y_agente_seguidos_son_una_sesion
test_embudo_77.py::TestSesiones::test_media_hora_de_silencio_abre_otra
test_embudo_77.py::TestSesiones::test_dos_agentes_distintos_son_dos_sesiones
test_embudo_77.py::TestElInforme::test_cuenta_el_camino_y_separa_a_quien_solo_se_asoma
test_embudo_77.py::TestElInforme::test_todos_los_pasos_del_contrato_estan_en_el_informe
test_embudo_77.py::TestElFinalDelEmbudo::test_lee_lo_que_dice_la_base_de_datos
test_embudo_77.py::TestElFinalDelEmbudo::test_si_no_se_puede_preguntar_NO_escribe_un_cero
test_embudo_77.py::TestElFinalDelEmbudo::test_el_informe_lo_dice_sin_inventarse_un_numero
test_embudo_77.py::TestElFinalDelEmbudo::test_y_cuando_hay_dato_lo_enseña_con_su_aviso
test_embudo_77.py::TestTocarElProducto::test_asomarse_a_la_portada_no_cuenta_como_interes
test_embudo_77.py::TestTocarElProducto::test_y_estas_si[/demo/]
test_embudo_77.py::TestTocarElProducto::test_y_estas_si[/members]
test_embudo_77.py::TestTocarElProducto::test_y_estas_si[/tour]
test_embudo_77.py::TestTocarElProducto::test_y_estas_si[/api/download]
test_embudo_77.py::TestTocarElProducto::test_y_estas_si[/video/x.mp4]
test_embudo_77.py::TestSomosNosotros::test_las_dos_ips_nuestras_se_descuentan[217.154.179.205]
test_embudo_77.py::TestSomosNosotros::test_las_dos_ips_nuestras_se_descuentan[88.10.27.241]
test_embudo_77.py::TestSomosNosotros::test_va_ANTES_que_el_agente
test_embudo_77.py::TestSomosNosotros::test_una_ip_de_fuera_NO_se_descuenta_por_esto
test_embudo_77.py::TestSomosNosotros::test_un_campo_que_no_existe_REVIENTA
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[-sin referente]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[--sin referente]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://www.google.com/-buscador]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://duckduckgo.com/-buscador]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://www.bing.com/search?q=x-buscador]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://chatgpt.com/-asistente de IA]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://www.perplexity.ai/search/x-asistente de IA]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://github.com/robertollweb/matrixAI-c\xf3digo (GitHub/PyPI/HF)]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://pypi.org/project/matrixai-core/-c\xf3digo (GitHub/PyPI/HF)]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://news.ycombinator.com/item?id=1-social / agregadores]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://www.reddit.com/r/opensource/-social / agregadores]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://matrixaistudio.org/tour-interno (no es una llegada)]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://217.154.179.205:443/-interno (no es una llegada)]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://tribe-mind.com/-spam de referente]
test_embudo_77.py::TestDeDondeVino::test_clasifica_el_referente[https://un-blog-cualquiera.example/x-otro sitio]
test_embudo_77.py::TestDeDondeVino::test_el_asistente_gana_al_buscador
test_embudo_77.py::TestDeDondeVino::test_el_dominio_de_la_campana_no_cuenta_como_llegada
test_embudo_77.py::TestDeDondeVino::test_el_origen_es_el_del_PRIMER_golpe
test_embudo_77.py::TestDeDondeVino::test_se_cuentan_SESIONES_y_no_peticiones
test_entrenamiento_del_entregado.py::test_una_red_cortada_por_su_plazo_lo_dice_con_sus_epocas_y_su_plazo
test_entrenamiento_del_entregado.py::test_una_red_sin_ninguna_epoca_completa_lo_dice
test_entrenamiento_del_entregado.py::test_una_red_que_paro_por_paciencia_dice_que_no_la_corto_el_plazo
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[None]
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[fitted1]
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[fitted2]
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[fitted3]
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[fitted4]
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[fitted5]
test_entrenamiento_del_entregado.py::test_sin_la_declaracion_del_motor_no_se_afirma_nada[fitted6]
test_entrenamiento_del_entregado.py::test_cifras_que_no_son_numeros_no_se_inventan_pero_el_corte_si_se_dice
test_entrenamiento_del_entregado.py::test_viaja_al_sobre_y_vuelve_de_el
test_entrenamiento_del_entregado.py::test_un_resultado_sin_la_clave_se_guarda_como_none
test_entrenamiento_del_entregado.py::test_un_sobre_anterior_lo_lee_del_predictor_de_su_recibo
test_entrenamiento_del_entregado.py::test_un_sobre_anterior_sin_el_dato_en_su_recibo_da_none[sobre0]
test_entrenamiento_del_entregado.py::test_un_sobre_anterior_sin_el_dato_en_su_recibo_da_none[sobre1]
test_entrenamiento_del_entregado.py::test_un_sobre_anterior_sin_el_dato_en_su_recibo_da_none[sobre2]
test_entrenamiento_del_entregado.py::test_un_sobre_anterior_sin_el_dato_en_su_recibo_da_none[sobre3]
test_entrenamiento_del_entregado.py::test_un_sobre_con_la_clave_se_sirve_tal_cual_aunque_sea_none
test_entrenamiento_del_entregado.py::test_el_espejo_de_client_ts_tiene_las_claves_que_produce_el_backend
test_entrenamiento_del_entregado.py::test_la_densa_de_verdad_cortada_antes_de_su_primera_epoca_llega_asi_al_sobre
test_estudio_en_vivo_con_topes.py::TestLaHuella::test_un_csv_que_no_es_ninguno_de_los_ejemplos_se_rechaza
test_estudio_en_vivo_con_topes.py::TestLaHuella::test_sin_csv_text_tambien_se_rechaza_por_la_huella
test_estudio_en_vivo_con_topes.py::TestLaHuella::test_el_csv_permitido_pasa_la_huella
test_estudio_en_vivo_con_topes.py::TestElCatalogoDeVerdad::test_el_catalogo_real_trae_los_dos_ejemplos_medidos
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_ocupado_con_queued_se_rechaza
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_ocupado_con_running_se_rechaza
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_un_estado_TERMINAL_suelta_la_plaza[completed]
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_un_estado_TERMINAL_suelta_la_plaza[completed_budget_limited]
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_un_estado_TERMINAL_suelta_la_plaza[failed]
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_un_estado_TERMINAL_suelta_la_plaza[cancelled]
test_estudio_en_vivo_con_topes.py::TestUnEstudioALaVez::test_un_estado_TERMINAL_suelta_la_plaza[unsupported]
test_estudio_en_vivo_con_topes.py::TestUnoPorSesion::test_una_sesion_que_ya_arranco_uno_no_puede_otro
test_estudio_en_vivo_con_topes.py::TestUnoPorSesion::test_una_sesion_distinta_SI_puede
test_estudio_en_vivo_con_topes.py::TestUnoPorSesion::test_un_csv_que_no_arranca_NO_le_cuesta_el_turno_a_la_sesion
test_estudio_en_vivo_con_topes.py::TestUnoPorSesion::test_sin_dueno_no_se_apunta_a_ninguna_sesion
test_estudio_en_vivo_con_topes.py::TestElLockImpideLaCarrera::test_dos_arranques_a_la_vez_solo_deja_pasar_uno
test_estudio_en_vivo_con_topes.py::TestFueraDeLaDemoNoCambiaNada::test_perfil_completo_no_pasa_por_la_puerta_de_la_demo
test_etiquetas_que_cambian_al_normalizar.py::test_un_objetivo_0_1_termina_con_campeon_y_sin_intentos_rotos[1-0-1]
test_etiquetas_que_cambian_al_normalizar.py::test_un_objetivo_0_1_termina_con_campeon_y_sin_intentos_rotos[1-0-class_1]
test_etiquetas_que_cambian_al_normalizar.py::test_con_Si_No_la_comparacion_con_el_proceso_actual_ve_sus_clases
test_etiquetas_que_cambian_al_normalizar.py::test_con_espacios_y_una_celda_vacia_termina_con_campeon_y_lo_dice
test_etiquetas_que_cambian_al_normalizar.py::test_con_NA_y_otras_marcas_de_ausencia_en_el_objetivo_termina_con_campeon_y_lo_dice
test_etiquetas_que_cambian_al_normalizar.py::test_una_CLASE_cuya_etiqueta_normalizada_es_na_no_se_quita_pero_el_NA_crudo_si
test_export_c4_usable_bundle.py::TestScalarRangeBundle::test_bundle_is_self_usable
test_export_c4_usable_bundle.py::TestScalarRangeBundle::test_zip_ships_prediction_artifacts
test_export_c4_usable_bundle.py::TestScalarRangeBundle::test_predict_has_no_matrixai_import
test_export_c4_usable_bundle.py::TestScalarRangeBundle::test_spec_ranges_match_response_input_scale
test_export_c4_usable_bundle.py::TestOneHotBundle::test_one_hot_uses_exact_columns
test_export_c4_usable_bundle.py::TestEmbeddingBundle::test_embedding_without_human_vocab_requires_integer_index
test_export_c4_usable_bundle.py::TestFieldTypesBundle::test_types_annotated_in_zip_spec
test_export_c4_usable_bundle.py::TestFieldTypesBundle::test_types_match_response_input_scale
test_export_c4_usable_bundle.py::TestModelIdFallbackMetadata::test_metadata_recovered_from_saved_model
test_export_c4_usable_bundle.py::TestNonUsableBundleDegradesObservably::test_unlabelled_classification_reports_skip
test_farmacia_no_se_contradice.py::LaFichaDescribeLaAccionQueElModeloTiene::test_farmacia_no_promete_un_bloqueo_que_no_existe
test_farmacia_no_se_contradice.py::LaFichaDescribeLaAccionQueElModeloTiene::test_y_la_descripcion_tampoco
test_farmacia_no_se_contradice.py::ConLaAccionDISPARADANoSeContradicen::test_decision_y_accion_dicen_lo_mismo
test_farmacia_no_se_contradice.py::ConLaAccionDISPARADANoSeContradicen::test_sin_disparar_no_aprueba_ni_bloquea_nada
test_farmacia_no_se_contradice.py::UnNodoQueNoEstaSeDICE::test_los_TRES_casos_del_producto_casan_con_su_modelo
test_farmacia_no_se_contradice.py::UnNodoQueNoEstaSeDICE::test_se_corta_y_se_dice_cuál_falta
test_gen_c6_prompt_types.py::test_generate_returns_prompt_type_metadata
test_gen_c6_prompt_types.py::test_generate_metadata_flows_to_dataset_train_export
test_gen_c6_prompt_types.py::test_architecture_decision_reflects_emitted_network
test_guardian_de_la_web_nunca_calla.py::test_un_manifiesto_sin_version_legible_lo_DICE_y_no_da_veredicto
test_guardian_de_la_web_nunca_calla.py::test_un_docker_que_no_responde_tambien_se_dice
test_guardian_fecha_de_publicacion.py::test_la_fecha_del_dia_del_paquete_pasa_y_el_veredicto_la_dice
test_guardian_fecha_de_publicacion.py::test_una_version_subida_SIN_su_fecha_se_caza
test_guardian_fecha_de_publicacion.py::test_sin_fecha_en_el_fuente_se_dice
test_guardian_fecha_de_publicacion.py::test_una_fecha_que_no_existe_tampoco_vale
test_guardian_fecha_de_publicacion.py::test_una_fecha_posterior_a_hoy_se_caza
test_guardian_tar_nombrado.py::test_control_una_version_de_parche_con_su_tar_pasa
test_guardian_tar_nombrado.py::test_el_manifiesto_nombra_un_tar_de_parche_que_no_esta_y_se_dice
test_guardian_tar_nombrado.py::test_un_manifiesto_sin_tar_legible_no_pasa_por_bueno
test_guardian_tar_nombrado.py::test_muchos_tars_en_la_carpeta_no_lo_dejan_sin_veredicto
test_i3_etiquetas_originales.py::test_mapa_inverso_no_depende_de_ningun_estudio_real_0_1
test_i3_etiquetas_originales.py::test_mapa_inverso_no_depende_de_ningun_estudio_real_si_no_mayusculas
test_i3_etiquetas_originales.py::test_mapa_inverso_no_depende_de_ningun_estudio_real_y_n
test_i3_etiquetas_originales.py::test_mapa_inverso_no_depende_de_ningun_estudio_real_sin_cambios_da_vacio
test_i3_etiquetas_originales.py::test_mapa_inverso_no_depende_de_ningun_estudio_real_mapa_vacio
test_i3_etiquetas_originales.py::test_mapa_inverso_no_depende_de_ningun_estudio_real_mixto
test_i3_etiquetas_originales.py::test_estudio_real_0_1_expone_etiquetas_originales
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_COLAPSADO_viaja
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_de_donde_salieron_los_datos
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_la_metrica_medida_llega_a_la_lista
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_lo_de_antes_sigue_estando
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_pero_NO_el_ladrillo_entero
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_sin_evaluacion_es_None_y_no_un_cero
test_la_lista_de_modelos_dice_algo.py::LaListaLlevaLaEvaluacionYLaProcedencia::test_sin_procedencia_no_se_inventa
test_la_procedencia_no_se_inventa.py::LaProcedenciaDiceDeDondeSalio::test_el_objetivo_tambien_lo_dice
test_la_procedencia_no_se_inventa.py::LaProcedenciaDiceDeDondeSalio::test_sin_texto_no_se_inventa_una_procedencia
test_la_procedencia_no_se_inventa.py::LaProcedenciaDiceDeDondeSalio::test_un_CSV_tampoco
test_la_procedencia_no_se_inventa.py::LaProcedenciaDiceDeDondeSalio::test_una_PLANTILLA_no_es_un_prompt
test_la_procedencia_no_se_inventa.py::LaProcedenciaDiceDeDondeSalio::test_y_un_PROMPT_lo_sigue_diciendo
test_la_procedencia_no_se_inventa.py::PorELPRODUCTOyNoPorLaFuncion::test_desde_un_CSV_no_dice_prompt
test_la_procedencia_no_se_inventa.py::PorELPRODUCTOyNoPorLaFuncion::test_y_la_etiqueta_va_en_su_idioma
test_la_suite_no_toca_los_modelos_reales.py::LaSuiteNoTocaLosModelosReales::test_el_directorio_resuelto_no_es_el_del_usuario
test_la_suite_no_toca_los_modelos_reales.py::LaSuiteNoTocaLosModelosReales::test_guardar_de_verdad_no_deja_nada_en_el_directorio_real
test_la_suite_no_toca_los_modelos_reales.py::LaSuiteNoTocaLosModelosReales::test_la_variable_de_entorno_esta_puesta
test_las_plantillas_declaran_su_planteamiento.py::test_hay_plantillas_publicadas_que_comprobar
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[clasificacion_tabular_sintetica]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[kelvin_desde_centigrados]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[lluvia_de_manana]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[marina_altura_ola]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[prompts_abandono_de_clientes_de_banca]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[prompts_desgaste_de_maquinaria]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[prompts_reingresos_por_servicio_hospitalario]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[prompts_serie_temporal]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[serie_temporal_sintetica]
test_las_plantillas_declaran_su_planteamiento.py::test_toda_plantilla_publicada_declara_su_planteamiento_y_es_valida[tipo_cambio_eur_usd]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[clasificacion_tabular_sintetica]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[kelvin_desde_centigrados]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[lluvia_de_manana]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[marina_altura_ola]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[prompts_abandono_de_clientes_de_banca]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[prompts_desgaste_de_maquinaria]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[prompts_reingresos_por_servicio_hospitalario]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[prompts_serie_temporal]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[serie_temporal_sintetica]
test_las_plantillas_declaran_su_planteamiento.py::test_con_fecha_declara_momento_y_horizonte[tipo_cambio_eur_usd]
test_las_plantillas_declaran_su_planteamiento.py::test_lo_que_declara_cada_plantilla_es_lo_fijado_y_estan_todas
test_las_plantillas_declaran_su_planteamiento.py::test_lo_que_declara_cada_plantilla_en_INGLES_es_lo_fijado_y_estan_todas
test_las_plantillas_declaran_su_planteamiento.py::test_las_unidades_del_cliente_son_las_del_nucleo
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[clasificacion_tabular_sintetica]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[kelvin_desde_centigrados]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[lluvia_de_manana]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[marina_altura_ola]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[prompts_abandono_de_clientes_de_banca]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[prompts_desgaste_de_maquinaria]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[prompts_reingresos_por_servicio_hospitalario]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[prompts_serie_temporal]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[serie_temporal_sintetica]
test_las_plantillas_declaran_su_planteamiento.py::test_la_clase_positiva_existe_en_el_objetivo_y_solo_la_llevan_las_binarias[tipo_cambio_eur_usd]
test_las_plantillas_declaran_su_planteamiento.py::test_la_ficha_lo_sirve_en_el_idioma_pedido
test_las_plantillas_declaran_su_planteamiento.py::test_una_plantilla_que_no_lo_declara_da_none_y_no_se_inventa
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[no es un objeto-debe ser un objeto]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo1-unidad_de_observacion es obligatoria]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo2-los dos no vac\xedos]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo3-los dos no vac\xedos]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo4-campos desconocidos]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo5-sin momento_de_prediccion]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo6-magnitud]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo7-magnitud]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo8-unidad]
test_las_plantillas_declaran_su_planteamiento.py::test_el_esquema_rechaza_un_planteamiento_mal_formado[malo9-clase_positiva]
test_limites_c62_c1_studio.py::TestLimiteReenviadoPorElBackend::test_en_hosted_no_se_ofrece_subir_el_perfil
test_limites_c62_c1_studio.py::TestLimiteReenviadoPorElBackend::test_por_debajo_del_tope_no_hay_error
test_limites_c62_c1_studio.py::TestLimiteReenviadoPorElBackend::test_tope_de_filas_llega_estructurado_a_la_respuesta
test_limites_c62_c1_studio.py::TestLimiteReenviadoPorElBackend::test_un_error_normal_no_gana_campos_de_tope
test_limites_c62_c1_studio.py::TestFeatureConstanteC2::test_conservarla_exige_rango_y_entonces_entra
test_limites_c62_c1_studio.py::TestFeatureConstanteC2::test_conservarla_sin_rango_da_error_accionable
test_limites_c62_c1_studio.py::TestFeatureConstanteC2::test_la_constante_se_excluye_por_defecto
test_limites_c62_c1_studio.py::TestFeatureConstanteC2::test_tipo_invalido_se_rechaza
test_limites_c62_c1_studio.py::TestAuditoriaC1C2::test_con_vocabulario_la_columna_entra_de_verdad
test_limites_c62_c1_studio.py::TestAuditoriaC1C2::test_conservar_categorica_constante_exige_vocabulario
test_limites_c62_c1_studio.py::TestAuditoriaC1C2::test_el_analisis_tambien_estructura_el_tope
test_limites_c62_c1_studio.py::TestAuditoriaC1C2::test_keep_constant_columns_rechaza_columnas_que_no_existen
test_limites_c62_c1_studio.py::TestAuditoriaC1C2::test_keep_constant_columns_rechaza_duplicados
test_limites_c62_c1_studio.py::TestRepreparacionPorHTTP::test_receta_incompleta_no_es_un_500
test_limites_c62_c1_studio.py::TestRepreparacionPorHTTP::test_reproduce_y_devuelve_procedencia_e_informe
test_limites_c62_c1_studio.py::TestRepreparacionPorHTTP::test_version_desconocida_se_rechaza_con_error_estructurado
test_limites_c62_c1_studio.py::TestSidecarNoSeMachaca::test_cada_guardado_usa_un_nombre_de_sidecar_unico
test_limites_c62_c1_studio.py::TestSidecarNoSeMachaca::test_el_borrado_del_anterior_ocurre_tras_confirmar_el_json
test_limites_c62_c1_studio.py::TestCicloRealConModelId::test_la_procedencia_del_cliente_se_ignora_si_hay_model_id
test_limites_c62_c1_studio.py::TestCicloRealConModelId::test_model_id_inexistente_da_error_claro
test_limites_c62_c1_studio.py::TestCicloRealConModelId::test_reprepara_usando_model_id_real
test_limites_c62_c1_studio.py::TestGuardarEsFailClosed::test_guardar_sin_job_sigue_funcionando
test_limites_c62_c1_studio.py::TestGuardarEsFailClosed::test_job_en_curso_se_rechaza_sin_tocar_el_snapshot
test_limites_c62_c1_studio.py::TestGuardarEsFailClosed::test_job_inexistente_se_rechaza
test_los_ausentes_del_studio_son_los_del_nucleo.py::test_el_studio_cuenta_como_ausente_exactamente_lo_que_el_nucleo
test_los_ausentes_del_studio_son_los_del_nucleo.py::test_el_lector_lee_de_verdad_la_lista
test_m12_c2_limits_config.py::test_get_returns_snapshot_defaults
test_m12_c2_limits_config.py::test_get_includes_hardware
test_m12_c2_limits_config.py::test_get_hosted_hides_ilimitado
test_m12_c2_limits_config.py::test_post_profile_persists_and_applies
test_m12_c2_limits_config.py::test_post_profile_ilimitado
test_m12_c2_limits_config.py::test_post_unknown_profile_rejected
test_m12_c2_limits_config.py::test_post_per_limit_override
test_m12_c2_limits_config.py::test_post_per_limit_unlimited
test_m12_c2_limits_config.py::test_post_per_limit_remove_override
test_m12_c2_limits_config.py::test_post_unknown_limit_rejected
test_m12_c2_limits_config.py::test_post_invalid_value_rejected
test_m12_c2_limits_config.py::test_post_empty_payload_rejected
test_m12_c2_limits_config.py::test_post_hosted_locked
test_m12_c2_limits_config.py::test_load_config_into_env
test_m12_c2_limits_config.py::test_load_config_respects_existing_env
test_m12_c2_limits_config.py::test_load_config_ignores_unknown_keys
test_m13_export_weights.py::test_untrained_export_flags_untrained
test_m13_export_weights.py::test_trained_export_flags_trained
test_m13_export_weights.py::test_nonexistent_job_flags_untrained
test_m13_export_weights.py::test_trained_weights_are_embedded_in_bundle
test_m13_export_weights.py::test_untrained_bundle_does_not_contain_sentinel
test_m2_c1_runtime_dispatch.py::TestRuntimeDispatch::test_residual_runtime_matches_forward
test_m2_c1_runtime_dispatch.py::TestRuntimeDispatch::test_embedding_runtime_matches_forward
test_m2_c1_runtime_dispatch.py::TestRuntimeDispatch::test_trace_marks_composite_node
test_m2_c1_runtime_dispatch.py::TestRuntimeDispatch::test_dense_network_still_dense
test_m2_c1_runtime_dispatch.py::TestStudioInferComposite::test_studio_infer_on_composite_model
test_m2_c2_composite_training.py::TestDetection::test_network_is_composite
test_m2_c2_composite_training.py::TestDetection::test_dense_not_composite
test_m2_c2_composite_training.py::TestSyncTraining::test_composite_trains_and_learns
test_m2_c2_composite_training.py::TestSyncTraining::test_composite_exposes_classification_metrics
test_m2_c2_composite_training.py::TestSyncTraining::test_composite_regression
test_m2_c2_composite_training.py::TestAsyncJob::test_async_composite_job_done_with_metrics
test_m2_c2_composite_training.py::TestInferAfterComposite::test_infer_uses_trained_composite_weights
test_m2_c4_export_guard.py::TestExportable::test_residual_composite_now_exportable
test_m2_c4_export_guard.py::TestExportable::test_embedding_composite_exportable
test_m2_c4_export_guard.py::TestExportable::test_dense_exportable
test_m2_c4_export_guard.py::TestExportGuard::test_residual_composite_exports
test_m2_c4_export_guard.py::TestExportGuard::test_embedding_composite_exports
test_m2_c4_export_guard.py::TestExportGuard::test_dense_export_still_works
test_m2_c4_export_guard.py::TestExportGuard::test_dense_export_unaffected_by_guard
test_m2_c5_e2e.py::TestCompositeE2E::test_full_composite_cycle
test_m2_c5_e2e.py::TestCompositeE2E::test_dense_control_still_exports
test_m2v2_c4_embedding_cycle.py::test_embedding_cycle_train_infer_export
test_m2v2_c6_e2e.py::test_composite_generate_train_export_onnx_parity
test_m2v2_c6_e2e.py::test_dense_control_still_exports
test_m5_domain_scale.py::TestGeneratorDomainScale::test_domain_scale_emits_human_values
test_m5_domain_scale.py::TestGeneratorDomainScale::test_default_keeps_normalized
test_m5_domain_scale.py::TestGeneratorDomainScale::test_unranged_columns_untouched
test_m5_domain_scale.py::TestGeneratorDomainScale::test_target_never_converted
test_m5_domain_scale.py::TestGeneratorDomainScale::test_coherent_mode_runs_runtime_on_normalized
test_m5_domain_scale.py::TestGeneratorDomainScale::test_ratio_range_keeps_4_decimals
test_m5_domain_scale.py::TestNormalizeBoundary::test_normalize_roundtrip
test_m5_domain_scale.py::TestNormalizeBoundary::test_normalize_clamps_out_of_range
test_m5_domain_scale.py::TestNormalizeBoundary::test_normalize_ignores_non_numeric_and_missing
test_m5_domain_scale.py::TestNormalizeBoundary::test_coerce_field_ranges_filters_invalid
test_m5_domain_scale.py::TestDatasetEndpointRanges::test_dataset_returns_field_ranges_with_llm
test_m5_domain_scale.py::TestDatasetEndpointRanges::test_dataset_without_llm_has_empty_ranges_and_normalized_csv
test_m5_domain_scale.py::TestValidationWithRanges::test_domain_csv_fails_without_ranges_on_typed_fields
test_m5_domain_scale.py::TestValidationWithRanges::test_domain_csv_passes_with_ranges
test_m5_domain_scale.py::TestValidationWithRanges::test_train_e2e_domain_csv_with_ranges
test_m5_domain_scale.py::TestSnapshotRanges::test_save_and_get_field_ranges
test_m5_domain_scale.py::TestSnapshotRanges::test_update_with_null_clears_ranges
test_m5_domain_scale.py::TestSnapshotRanges::test_update_without_key_keeps_ranges
test_m5_domain_scale.py::TestSnapshotRanges::test_pre_m5_snapshot_returns_none
test_m5_domain_scale.py::TestExportInputScale::test_manifest_includes_input_scale_from_payload_ranges
test_m5_domain_scale.py::TestExportInputScale::test_manifest_pulls_ranges_from_snapshot
test_m5_domain_scale.py::TestExportInputScale::test_manifest_without_ranges_still_documents_scale
test_m5_domain_scale.py::TestEdgeCases::test_flag_range_0_1_is_identity
test_m5_domain_scale.py::TestEdgeCases::test_uploaded_domain_csv_without_ranges_warns
test_m5_domain_scale.py::TestEdgeCases::test_normalized_csv_without_ranges_no_warning
test_m5_domain_scale.py::TestEdgeCases::test_domain_csv_with_ranges_no_warning
test_m8v2_c4_audit_persist.py::test_save_and_get_persists_domain_audit
test_m8v2_c4_audit_persist.py::test_pre_m8v2_snapshot_has_none_audit
test_m8v2_c5_e2e.py::test_domain_simulator_full_cycle
test_m8v2_c5_e2e.py::test_fallback_to_coherent_without_llm_e2e
test_memoria_del_estudio.py::test_gana_el_cgroup_cuando_es_mas_estrecho_que_meminfo
test_memoria_del_estudio.py::test_un_cgroup_sin_tope_no_cuenta_y_manda_meminfo
test_memoria_del_estudio.py::test_gana_meminfo_cuando_es_el_mas_estrecho
test_memoria_del_estudio.py::test_sin_nada_que_leer_no_hay_numero_y_por_tanto_no_hay_aviso
test_memoria_del_estudio.py::test_un_fichero_de_picos_ausente_o_raro_cuenta_como_nada_medido[None]
test_memoria_del_estudio.py::test_un_fichero_de_picos_ausente_o_raro_cuenta_como_nada_medido[{esto no es json]
test_memoria_del_estudio.py::test_un_fichero_de_picos_ausente_o_raro_cuenta_como_nada_medido[{"otra": 1}]
test_memoria_del_estudio.py::test_un_fichero_de_picos_ausente_o_raro_cuenta_como_nada_medido[{"puntos": "x"}]
test_memoria_del_estudio.py::test_el_json_publicado_lleva_los_puntos_medidos_con_lo_que_de_verdad_paso
test_memoria_del_estudio.py::test_sin_puntos_medidos_no_se_avisa_de_nada
test_memoria_del_estudio.py::test_un_estudio_al_menos_tan_grande_como_lo_medido_avisa_si_no_cabe
test_memoria_del_estudio.py::test_si_cabe_lo_medido_no_se_avisa
test_memoria_del_estudio.py::test_un_estudio_mas_pequeno_que_todo_lo_medido_no_avisa_nunca
test_memoria_del_estudio.py::test_de_los_puntos_que_califican_manda_el_mas_exigente
test_memoria_del_estudio.py::test_un_punto_mal_formado_no_tumba_la_confirmacion
test_memoria_del_estudio.py::test_la_confirmacion_CONFIRMADA_devuelve_el_aviso
test_memoria_del_estudio.py::test_la_confirmacion_BLOQUEADA_tambien_lo_devuelve
test_memoria_del_estudio.py::test_sin_aviso_la_clave_va_igual_y_vale_None
test_no_entrenar_lo_que_no_cabe.py::test_alojado_rechaza_lo_que_no_cabe
test_no_entrenar_lo_que_no_cabe.py::test_el_motivo_trae_los_numeros_no_una_frase_vaga
test_no_entrenar_lo_que_no_cabe.py::test_alojado_deja_pasar_lo_que_si_cabe
test_no_entrenar_lo_que_no_cabe.py::test_el_descargable_no_bloquea_nada
test_no_entrenar_lo_que_no_cabe.py::test_no_se_bloquea_por_lo_que_no_se_ha_podido_medir
test_no_entrenar_lo_que_no_cabe.py::test_un_mxai_que_no_parsea_no_inventa_un_rechazo
test_no_entrenar_lo_que_no_cabe.py::test_deja_margen_y_no_apura_hasta_el_ultimo_byte
test_no_entrenar_lo_que_no_cabe.py::test_la_estimacion_dice_si_el_servidor_lo_rechazaria
test_no_entrenar_lo_que_no_cabe.py::test_lo_que_cabe_no_sale_marcado_como_bloqueado
test_no_entrenar_lo_que_no_cabe.py::test_en_el_descargable_no_bloquea_pero_AVISA
test_no_entrenar_lo_que_no_cabe.py::test_el_veredicto_coincide_con_el_de_la_puerta
test_no_entrenar_lo_que_no_cabe.py::test_con_el_perfil_por_defecto_salta_ANTES_el_tope_de_parametros
test_no_entrenar_lo_que_no_cabe.py::test_pero_la_puerta_de_memoria_funciona_por_si_sola
test_no_entrenar_lo_que_no_cabe.py::test_el_rechazo_se_dice_en_ingles_si_se_pide_en_ingles
test_no_entrenar_lo_que_no_cabe.py::test_el_aviso_del_descargable_tambien
test_no_entrenar_lo_que_no_cabe.py::test_un_idioma_que_no_existe_cae_al_castellano
test_no_se_manda_a_una_pantalla_que_no_existe.py::LaProsaNoContradiceAlCampo::test_la_explicacion_no_se_queda_muda
test_no_se_manda_a_una_pantalla_que_no_existe.py::LaProsaNoContradiceAlCampo::test_ni_manda_al_Expert_mode_en_en
test_no_se_manda_a_una_pantalla_que_no_existe.py::LaProsaNoContradiceAlCampo::test_no_dice_artefacto_existente_en_es
test_no_se_manda_a_una_pantalla_que_no_existe.py::LaProsaNoContradiceAlCampo::test_y_el_campo_sigue_diciendo_de_donde_salio
test_objetivo_constante.py::TestObjetivoConstante::test_no_devuelve_nada_del_modelo_que_no_ha_construido
test_objetivo_constante.py::TestObjetivoConstante::test_tambien_por_la_puerta_temporal
test_objetivo_constante.py::TestObjetivoConstante::test_un_objetivo_de_regresion_constante_no_construye_modelo
test_objetivo_constante.py::TestObjetivoConstante::test_un_objetivo_que_varia_sigue_construyendo
test_objetivo_constante.py::TestObjetivoConstante::test_una_feature_constante_no_bloquea_nada
test_objetivo_constante.py::TestCsvRotoSeDiceAntes::test_analizar_un_fichero_que_no_es_una_tabla_no_devuelve_esquema
test_objetivo_constante.py::TestCsvRotoSeDiceAntes::test_construir_desde_ese_fichero_falla_por_el_mismo_motivo
test_objetivo_constante.py::TestCsvRotoSeDiceAntes::test_un_csv_normal_se_sigue_analizando
test_objetivo_constante.py::TestLaSegundaPuertaTambien::test_el_fichero_roto_ya_no_se_prepara_a_medias
test_objetivo_constante.py::TestLaSegundaPuertaTambien::test_un_csv_nuevo_y_sano_se_sigue_reimportando
test_p16_cut1_scaffold.py::TestConfidenceLabel::test_all_values_exist
test_p16_cut1_scaffold.py::TestConfidenceLabel::test_str_enum
test_p16_cut1_scaffold.py::TestConfidenceBasis::test_all_values_exist
test_p16_cut1_scaffold.py::TestSafetyStatus::test_all_values_exist
test_p16_cut1_scaffold.py::TestModelOrigin::test_all_values_exist
test_p16_cut1_scaffold.py::TestValidationState::test_all_values_exist
test_p16_cut1_scaffold.py::TestExecutiveResult::test_defaults
test_p16_cut1_scaffold.py::TestExecutiveResult::test_explanation_points_list_is_independent_copy
test_p16_cut1_scaffold.py::TestExecutiveResult::test_full_instantiation
test_p16_cut1_scaffold.py::TestExecutiveResult::test_minimal_instantiation
test_p16_cut1_scaffold.py::TestExecutiveResult::test_to_dict_enum_values_serialised_as_strings
test_p16_cut1_scaffold.py::TestExecutiveResult::test_to_dict_required_keys
test_p16_cut1_scaffold.py::TestStudioRouting::test_unknown_path_returns_404
test_p16_cut1_scaffold.py::TestStudioModuleImport::test_all_types_importable_from_studio
test_p16_cut2_cases.py::TestGuidedCaseRegistry::test_all_returns_list
test_p16_cut2_cases.py::TestGuidedCaseRegistry::test_get_known_case
test_p16_cut2_cases.py::TestGuidedCaseRegistry::test_get_unknown_case_returns_none
test_p16_cut2_cases.py::TestGuidedCaseRegistry::test_registry_case_ids
test_p16_cut2_cases.py::TestGuidedCaseRegistry::test_registry_has_three_cases
test_p16_cut2_cases.py::TestCaseField::test_required_default_true
test_p16_cut2_cases.py::TestCaseField::test_to_dict_has_all_keys
test_p16_cut2_cases.py::TestSimulationPolicy::test_simulate_only_default
test_p16_cut2_cases.py::TestSimulationPolicy::test_to_dict
test_p16_cut2_cases.py::TestEmailCase::test_confidence_thresholds
test_p16_cut2_cases.py::TestEmailCase::test_example_has_all_field_names
test_p16_cut2_cases.py::TestEmailCase::test_has_eight_fields
test_p16_cut2_cases.py::TestEmailCase::test_id
test_p16_cut2_cases.py::TestEmailCase::test_input_entity
test_p16_cut2_cases.py::TestEmailCase::test_model_file_is_str
test_p16_cut2_cases.py::TestEmailCase::test_policy_is_simulate_only
test_p16_cut2_cases.py::TestEmailCase::test_to_dict_has_required_keys
test_p16_cut2_cases.py::TestEmailCase::test_to_summary_dict
test_p16_cut2_cases.py::TestFallRiskCase::test_example_values_in_range
test_p16_cut2_cases.py::TestFallRiskCase::test_has_five_fields
test_p16_cut2_cases.py::TestFallRiskCase::test_id
test_p16_cut2_cases.py::TestFallRiskCase::test_input_entity
test_p16_cut2_cases.py::TestFallRiskCase::test_policy_safety_message_non_empty
test_p16_cut2_cases.py::TestFallRiskCase::test_score_state_key
test_p16_cut2_cases.py::TestPharmacyCase::test_has_six_fields
test_p16_cut2_cases.py::TestPharmacyCase::test_id
test_p16_cut2_cases.py::TestPharmacyCase::test_input_entity
test_p16_cut2_cases.py::TestPharmacyCase::test_score_state_key
test_p16_cut2_cases.py::TestScoreToConfidenceLabel::test_exactly_alta_threshold
test_p16_cut2_cases.py::TestScoreToConfidenceLabel::test_exactly_media_threshold
test_p16_cut2_cases.py::TestScoreToConfidenceLabel::test_high_score_is_alta
test_p16_cut2_cases.py::TestScoreToConfidenceLabel::test_low_score_is_baja
test_p16_cut2_cases.py::TestScoreToConfidenceLabel::test_medium_score_is_media
test_p16_cut2_cases.py::TestScoreToConfidenceLabel::test_zero_score_is_baja
test_p16_cut2_cases.py::TestExtractDistributionScore::test_categorical
test_p16_cut2_cases.py::TestExtractDistributionScore::test_non_dict
test_p16_cut2_cases.py::TestExtractDistributionScore::test_none_input
test_p16_cut2_cases.py::TestExtractDistributionScore::test_normal
test_p16_cut2_cases.py::TestExtractDistributionScore::test_unknown_type
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_categorical_case_email
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_confidence_basis_is_human_threshold_when_score_available
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_el_nodo_que_NO_ESTA_es_otra_cosa_y_se_dice
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_explanation_includes_audit
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_high_score_gives_alta
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_influential_data_with_high_values
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_low_score_gives_baja
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_model_origin_is_preloaded_example
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_no_missing_distribution_gives_insuficiente
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_returns_executive_result
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_safety_status_is_simulated
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_technical_reference_is_model_file
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_to_dict_roundtrip
test_p16_cut2_cases.py::TestBuildExecutiveResult::test_validation_state_is_simulated
test_p16_cut2_cases.py::TestLiveSimulation::test_email_live_simulation
test_p16_cut2_cases.py::TestLiveSimulation::test_fall_risk_live_simulation
test_p16_cut2_cases.py::TestLiveSimulation::test_pharmacy_live_simulation
test_p16_cut2_cases.py::TestLiveSimulation::test_simulation_result_has_no_json_in_decision
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_case_detail_has_example
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_case_detail_has_fields
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_get_case_detail_email
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_get_case_detail_fall_risk
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_get_case_detail_pharmacy
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_get_cases_has_expected_ids
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_get_cases_returns_list
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_get_unknown_case_returns_404
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_email_with_example
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_fills_defaults_when_input_empty
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_model_origin_is_preloaded
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_result_has_required_fields
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_safety_status_is_simulated
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_validation_state_is_simulated
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_with_missing_case_id_returns_error
test_p16_cut2_cases.py::TestStudioAPIRoutes::test_simulate_with_unknown_case_returns_error
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_has_required_keys
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_input_fields_is_list
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_model_origin_is_prompt_generated
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_no_mxai_artefacts_in_summary_keys
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_returns_dict
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_safety_limits_have_no_real_action_claim
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_safety_limits_non_empty
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_understood_is_bool
test_p16_cut3_generate.py::TestBuildUnderstandingSummary::test_validation_state_is_string
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_blocked_or_simulated_non_empty
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_decision_is_string
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_explanation_mentions_prompt_generated
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_explanation_points_is_list
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_failed_analysis_gives_generated_state
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_model_origin_is_prompt_generated
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_no_calibrated_probability_without_evaluation
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_returns_executive_result_type
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_safety_status_is_simulated
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_to_dict_roundtrip
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_validation_state_not_production_ready_or_validated
test_p16_cut3_generate.py::TestBuildExecutiveResultFromAnalysis::test_with_input_json_produces_confidence_score
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_empty_prompt_returns_error
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_executive_result_has_no_production_ready_state
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_executive_result_model_origin_prompt_generated
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_returns_executive_result
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_returns_mxai_text
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_returns_ok_for_valid_prompt
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_returns_pipeline_ok_flag
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_returns_understanding
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_understanding_has_model_origin
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_understanding_safety_limits_non_empty
test_p16_cut3_generate.py::TestStudioGenerateFunction::test_whitespace_prompt_returns_error
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_empty_prompt_returns_422
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_executive_result_model_origin
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_missing_prompt_returns_422
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_no_production_ready_state_returned
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_pipeline_ok_flag_present
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_response_has_executive_result
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_response_has_understanding
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_safety_status_is_simulated
test_p16_cut3_generate.py::TestStudioGenerateRoute::test_valid_prompt_returns_200
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_blocked_or_simulated_non_empty
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_confidence_score_range
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_decision_is_non_empty_string
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_empty_name_gives_none_technical_reference
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_explanation_mentions_existing_artifact
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_explanation_points_non_empty
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_failed_analysis_gives_pending_review
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_fixture_analysis_executes_real_mxai
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_model_origin_is_existing_artifact
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_mxai_name_reflected_in_technical_reference
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_no_calibrated_probability
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_returns_executive_result_type
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_safety_status_is_simulated
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_successful_run_gives_simulated_state
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_to_dict_roundtrip
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_valid_run_uses_human_threshold_basis
test_p16_cut4_existing.py::TestBuildExecutiveResultFromExistingArtifact::test_validation_state_is_simulated_for_valid_run
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_empty_mxai_returns_error
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_executive_result_model_origin_existing_artifact
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_invalid_mxai_returns_pipeline_error
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_model_origin_field_in_response
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_no_production_ready_state
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_pipeline_stages_is_list
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_returns_executive_result
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_returns_mxai_name
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_returns_ok_for_valid_mxai
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_returns_pipeline_ok_flag
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_safety_status_is_simulated
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_valid_mxai_has_confidence_score
test_p16_cut4_existing.py::TestStudioRunExecutiveFunction::test_whitespace_mxai_returns_error
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_empty_mxai_returns_422
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_executive_result_model_origin
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_fall_risk_mxai_also_works
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_invalid_mxai_returns_422
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_missing_mxai_returns_422
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_mxai_name_passed_through
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_no_production_ready_state
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_pipeline_ok_flag_present
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_response_has_executive_result
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_safety_status_is_simulated
test_p16_cut4_existing.py::TestStudioRunExecutiveRoute::test_valid_mxai_returns_200
test_p16_cut4_existing.py::TestImportSurface::test_importable_from_adapter_directly
test_p16_cut4_existing.py::TestImportSurface::test_importable_from_studio_package
test_p16_cut4_existing.py::TestImportSurface::test_in_all_list
test_p16_cut5_7_studio_ui.py::TestStudioCut5To7HttpFlow::test_case_detail_has_fields_example_and_policy
test_p16_cut5_7_studio_ui.py::TestStudioCut5To7HttpFlow::test_cases_endpoint_returns_three_cases
test_p16_cut5_7_studio_ui.py::TestStudioCut5To7HttpFlow::test_email_simulation_from_human_values
test_p16_cut5_7_studio_ui.py::TestStudioCut5To7HttpFlow::test_fall_risk_simulation_from_human_values
test_p16_cut5_7_studio_ui.py::TestStudioCut5To7HttpFlow::test_pharmacy_simulation_from_human_values
test_p16_cut5_7_studio_ui.py::TestStudioCut5To7HttpFlow::test_simulation_result_has_explanation_and_safety_lists
test_p16_cut5_7_studio_ui.py::TestStudioCut6FreeTextBehavior::test_free_text_appears_in_explanation_points
test_p16_cut5_7_studio_ui.py::TestStudioCut6FreeTextBehavior::test_free_text_does_not_exceed_five_explanation_points
test_p16_cut5_7_studio_ui.py::TestStudioCut6FreeTextBehavior::test_free_text_empty_does_not_add_extra_point
test_p16_cut5_7_studio_ui.py::TestStudioCut6FreeTextBehavior::test_free_text_is_accepted_without_error
test_p16_cut5_7_studio_ui.py::TestStudioCut6FreeTextBehavior::test_free_text_truncated_to_200_chars
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_generate_with_case_id_returns_guided_adaptation
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_generate_without_case_id_returns_prompt_generated
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_guided_adaptation_has_technical_reference
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_guided_adaptation_never_returns_approved_for_demo
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_guided_adaptation_never_returns_calibrated_probability
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_guided_adaptation_safety_status_is_simulated
test_p16_cut5_7_studio_ui.py::TestStudioCut3bGuidedAdaptation::test_guided_adaptation_unknown_case_id_falls_back_to_prompt_generated
test_p16_cut5_7_studio_ui.py::TestStudioCut7SecurityPanelBehavior::test_simulate_confidence_basis_not_calibrated
test_p16_cut5_7_studio_ui.py::TestStudioCut7SecurityPanelBehavior::test_simulate_no_result_without_state
test_p16_cut5_7_studio_ui.py::TestStudioCut7SecurityPanelBehavior::test_simulate_result_has_all_schema_fields
test_p16_cut5_7_studio_ui.py::TestStudioCut7SecurityPanelBehavior::test_simulate_returns_blocked_or_simulated_list
test_p16_cut5_7_studio_ui.py::TestStudioCut7SecurityPanelBehavior::test_simulate_safety_status_never_approved
test_p16_cut8_11_regression.py::TestStudioCut8Degradation::test_status_declares_deterministic_fallback_when_llm_inactive
test_p16_cut8_11_regression.py::TestStudioCut8Degradation::test_status_degradation_messages_is_list
test_p16_cut8_11_regression.py::TestStudioCut8Degradation::test_status_empty_degradation_when_llm_active
test_p16_cut8_11_regression.py::TestStudioCut8Degradation::test_status_has_production_steps
test_p16_cut8_11_regression.py::TestStudioCut8Degradation::test_status_shape
test_p16_cut8_11_regression.py::TestStudioCut9ProductionPath::test_status_has_six_production_steps
test_p16_cut8_11_regression.py::TestStudioCut9ProductionPath::test_status_production_steps_match_contract
test_p16_cut8_11_regression.py::TestStudioCut11Regression::test_status_route
test_p16_cut8_11_regression.py::TestStudioCut11Regression::test_studio_generate_still_works_without_llm_requirement
test_p16_cut8_11_regression.py::TestStudioCut11Regression::test_studio_run_executive_still_runs_existing_artifact
test_p16_cut8_11_regression.py::TestStudioCut11Regression::test_studio_simulate_preserves_guided_cases
test_p17_cut7_playground.py::TestPlaygroundRegressionPromptPackage::test_prompt_generates_celsius_project
test_p17_cut7_playground.py::TestPlaygroundRegressionPromptPackage::test_prompt_generates_dataset_template
test_p17_cut7_playground.py::TestPlaygroundRegressionPromptPackage::test_prompt_generates_mxtrain
test_p17_cut7_playground.py::TestPlaygroundRegressionPromptPackage::test_training_step_no_longer_pending
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_backend_is_stdlib
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_best_epoch_positive
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_epochs_list_populated
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_mae_is_float_or_none
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_params_best_populated
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_r2_is_float_or_none
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_result_has_mae_key
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_result_has_r2_key
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_result_has_rmse_key
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_result_has_task_kind_key
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_rmse_is_float_or_none
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_task_kind_is_regression
test_p17_cut7_playground.py::TestPlaygroundRegressionTrainingShape::test_training_ok
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_has_mae
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_has_r2
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_has_rmse
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_labels_empty
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_mae_is_float
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_present
test_p17_cut7_playground.py::TestPlaygroundRegressionEvaluationReport::test_evaluation_report_rows_positive
test_p17_cut7_playground.py::TestPlaygroundEvaluationArtifactsRegression::test_evaluation_artifacts_available_for_regression_report
test_p17_cut7_playground.py::TestPlaygroundEvaluationArtifactsRegression::test_evaluation_artifacts_no_missing_fields_regression
test_p17_cut7_playground.py::TestPlaygroundEvaluationArtifactsRegression::test_evaluation_artifacts_ok_for_regression_report
test_p17_cut7_playground.py::TestPlaygroundEvaluationArtifactsRegression::test_evaluation_artifacts_report_has_mae
test_p17_cut7_playground.py::TestPlaygroundEvaluationArtifactsRegression::test_evaluation_artifacts_report_has_r2
test_p17_cut7_playground.py::TestPlaygroundEvaluationArtifactsRegression::test_evaluation_artifacts_report_has_rmse
test_p17_cut7_playground.py::TestPlaygroundClassificationUnaffected::test_classification_mae_is_none
test_p17_cut7_playground.py::TestPlaygroundClassificationUnaffected::test_classification_task_kind
test_p17_cut7_playground.py::TestPlaygroundClassificationUnaffected::test_classification_training_ok
test_p17_cut7_playground.py::TestStudioRegressionExecutiveResult::test_prompt_generated_regression_uses_unavailable_confidence_and_scalar_category
test_p18_cut11_studio.py::test_architecture_text_contains_input
test_p18_cut11_studio.py::test_architecture_text_contains_dense_layers
test_p18_cut11_studio.py::test_architecture_text_contains_output_type
test_p18_cut11_studio.py::test_architecture_text_arrow_separated
test_p18_cut11_studio.py::test_view_layers_count
test_p18_cut11_studio.py::test_view_last_layer_is_output
test_p18_cut11_studio.py::test_view_layer_units_correct
test_p18_cut11_studio.py::test_view_layer_param_count
test_p18_cut11_studio.py::test_view_total_params
test_p18_cut11_studio.py::test_view_interpretability_level_reduced
test_p18_cut11_studio.py::test_view_interpretability_warning_not_empty
test_p18_cut11_studio.py::test_view_loss_type_regression
test_p18_cut11_studio.py::test_view_loss_type_binary
test_p18_cut11_studio.py::test_view_loss_type_multiclass
test_p18_cut11_studio.py::test_view_has_trained_weights_false_without_ps
test_p18_cut11_studio.py::test_view_has_trained_weights_true_with_ps
test_p18_cut11_studio.py::test_to_dict_has_required_keys
test_p18_cut11_studio.py::test_explanation_points_not_empty
test_p18_cut11_studio.py::test_explanation_points_contain_interpretability_warning
test_p18_cut11_studio.py::test_executive_result_model_origin
test_p18_cut11_studio.py::test_executive_result_decision_contains_network_name
test_p18_cut11_studio.py::test_executive_result_without_weights_not_production_ready
test_p18_cut11_studio.py::test_executive_result_with_weights_ready_for_inspection
test_p18_cut11_studio.py::test_executive_result_no_score_without_evaluation
test_p18_cut11_studio.py::test_executive_result_technical_reference_is_network_name
test_p18_cut12_e2e.py::test_e2e_parse_network_spec
test_p18_cut12_e2e.py::test_e2e_parsed_network_has_correct_shapes
test_p18_cut12_e2e.py::test_e2e_build_parameter_set
test_p18_cut12_e2e.py::test_e2e_validate_parameter_set
test_p18_cut12_e2e.py::test_e2e_forward_stdlib_returns_list
test_p18_cut12_e2e.py::test_e2e_forward_trace_has_activations
test_p18_cut12_e2e.py::test_e2e_forward_deterministic
test_p18_cut12_e2e.py::test_e2e_train_step_returns_new_ps
test_p18_cut12_e2e.py::test_e2e_training_loop_loss_decreases
test_p18_cut12_e2e.py::test_e2e_gradients_not_nan
test_p18_cut12_e2e.py::test_e2e_evaluate_regression_result
test_p18_cut12_e2e.py::test_e2e_evaluate_has_mae_rmse_r2
test_p18_cut12_e2e.py::test_e2e_backend_contract_dense_network_ok
test_p18_cut12_e2e.py::test_e2e_backend_contract_dense_network_trainable_params
test_p18_cut12_e2e.py::test_e2e_generator_output_parseable
test_p18_cut12_e2e.py::test_e2e_generator_network_spec_compatible_with_parameter_builder
test_p18_cut12_e2e.py::test_e2e_studio_view_architecture_text
test_p18_cut12_e2e.py::test_e2e_executive_result_trained_network
test_p18_cut12_e2e.py::test_e2e_torch_forward_matches_stdlib
test_p18_cut12_e2e.py::test_regression_classic_parse_text
test_p18_cut12_e2e.py::test_regression_backend_contract_softmax_linear
test_p18_cut12_e2e.py::test_regression_ir_schema_exports
test_p18_cut12_e2e.py::test_regression_parameters_exports
test_p18_cut12_e2e.py::test_regression_forward_exports
test_p18_cut12_e2e.py::test_regression_training_exports
test_p18_cut12_e2e.py::test_regression_studio_exports
test_p18_cut12_e2e.py::test_regression_program_to_dict_with_network
test_p18_cut12_e2e.py::test_regression_program_without_networks_unaffected
test_p18_cut12_e2e.py::test_regression_check_network_types
test_p18_cut12_e2e.py::test_regression_training_verifier_imports
test_p18_cut12_e2e.py::test_regression_parameter_set_source_field
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_contains_input
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_contains_embedding
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_contains_concat
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_contains_block
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_contains_arrow_separator
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_ends_with_output_type_prefix
test_p19_cut11_studio.py::TestArchitectureText::test_arch_text_block_has_residual_marker
test_p19_cut11_studio.py::TestEmbeddingInfo::test_embeddings_list_length
test_p19_cut11_studio.py::TestEmbeddingInfo::test_embedding_vocab_and_dim
test_p19_cut11_studio.py::TestEmbeddingInfo::test_embedding_params_count
test_p19_cut11_studio.py::TestEmbeddingInfo::test_no_embeddings_for_residual_network
test_p19_cut11_studio.py::TestBlocksInfo::test_blocks_list_not_empty_for_residual
test_p19_cut11_studio.py::TestBlocksInfo::test_block_name_correct
test_p19_cut11_studio.py::TestBlocksInfo::test_block_residual_from_set
test_p19_cut11_studio.py::TestBlocksInfo::test_block_layer_types_listed
test_p19_cut11_studio.py::TestParamCounting::test_total_params_positive_with_ps
test_p19_cut11_studio.py::TestParamCounting::test_embedding_params_in_total
test_p19_cut11_studio.py::TestParamCounting::test_total_params_zero_without_ps_for_dense_layers
test_p19_cut11_studio.py::TestInterpretability::test_interpretability_reduced_single_block
test_p19_cut11_studio.py::TestInterpretability::test_interpretability_very_reduced_two_blocks
test_p19_cut11_studio.py::TestInterpretability::test_interpretability_warning_not_empty
test_p19_cut11_studio.py::TestInterpretability::test_interpretability_warning_mentions_embedding
test_p19_cut11_studio.py::TestFlags::test_has_trained_weights_false_without_ps
test_p19_cut11_studio.py::TestFlags::test_has_trained_weights_true_with_ps
test_p19_cut11_studio.py::TestFlags::test_to_dict_has_composite_keys
test_p19_cut11_studio.py::TestFlags::test_loss_type_cross_entropy_for_probabilitymap
test_p19_cut11_studio.py::TestFlags::test_loss_type_mse_for_scalar
test_p19_cut11_studio.py::TestExecutiveResult::test_executive_result_model_origin
test_p19_cut11_studio.py::TestExecutiveResult::test_executive_result_decision_contains_network_name
test_p19_cut11_studio.py::TestExecutiveResult::test_executive_result_without_weights_not_production_ready
test_p19_cut11_studio.py::TestExecutiveResult::test_executive_result_with_weights_ready_for_inspection
test_p19_cut12_e2e.py::test_e2e_composite_parse_network_spec
test_p19_cut12_e2e.py::test_e2e_composite_type_check_ok
test_p19_cut12_e2e.py::test_e2e_residual_type_check_ok
test_p19_cut12_e2e.py::test_e2e_composite_build_parameter_set
test_p19_cut12_e2e.py::test_e2e_composite_parameter_set_embedding_shape
test_p19_cut12_e2e.py::test_e2e_composite_validate_parameter_set
test_p19_cut12_e2e.py::test_e2e_composite_forward_returns_list
test_p19_cut12_e2e.py::test_e2e_composite_forward_deterministic
test_p19_cut12_e2e.py::test_e2e_composite_forward_softmax_sums_to_one
test_p19_cut12_e2e.py::test_e2e_residual_forward_returns_scalar
test_p19_cut12_e2e.py::test_e2e_composite_train_step_returns_new_ps
test_p19_cut12_e2e.py::test_e2e_residual_training_loop_loss_decreases
test_p19_cut12_e2e.py::test_e2e_composite_gradients_not_nan
test_p19_cut12_e2e.py::test_e2e_gradient_check_passes_for_composite
test_p19_cut12_e2e.py::test_e2e_composite_evaluate_has_accuracy
test_p19_cut12_e2e.py::test_e2e_composite_evaluate_rows_count
test_p19_cut12_e2e.py::test_e2e_residual_evaluate_has_mae_rmse_r2
test_p19_cut12_e2e.py::test_e2e_backend_contract_composite_ok
test_p19_cut12_e2e.py::test_e2e_backend_contract_composite_has_embedding_param
test_p19_cut12_e2e.py::test_e2e_backend_contract_composite_interpretability_warning
test_p19_cut12_e2e.py::test_e2e_composite_generator_output_parseable
test_p19_cut12_e2e.py::test_e2e_composite_generator_fallback_parseable
test_p19_cut12_e2e.py::test_e2e_composite_studio_view_architecture_text
test_p19_cut12_e2e.py::test_e2e_composite_studio_view_has_embedding_info
test_p19_cut12_e2e.py::test_e2e_composite_executive_result_trained
test_p19_cut12_e2e.py::test_regression_composite_ir_exports
test_p19_cut12_e2e.py::test_regression_composite_forward_exports
test_p19_cut12_e2e.py::test_regression_composite_training_exports
test_p19_cut12_e2e.py::test_regression_composite_studio_exports
test_p19_cut12_e2e.py::test_regression_p18_dense_forward_unaffected
test_p19_cut12_e2e.py::test_regression_p18_dense_generator_unaffected
test_p19_cut12_e2e.py::test_regression_p18_studio_view_unaffected
test_p19_cut12_e2e.py::test_regression_p18_backend_contract_unaffected
test_p19_cut12_e2e.py::test_regression_classic_parse_unaffected
test_p19_cut12_e2e.py::test_regression_check_composite_network_types_exported
test_p19_cut12_e2e.py::test_regression_training_verifier_composite_aware
test_p19_cut12_e2e.py::test_regression_composite_program_to_dict
test_p20_cut11_server_studio.py::test_action_contract_view_importable
test_p20_cut11_server_studio.py::test_build_action_contract_view_fields
test_p20_cut11_server_studio.py::test_build_action_contract_view_scope_summary
test_p20_cut11_server_studio.py::test_build_action_contract_view_rate_limit_summary
test_p20_cut11_server_studio.py::test_build_action_contract_view_sandbox_summary
test_p20_cut11_server_studio.py::test_build_action_contract_view_high_risk
test_p20_cut11_server_studio.py::test_build_action_contract_studio_view_aggregates
test_p20_cut11_server_studio.py::test_build_action_contract_studio_view_empty
test_p20_cut11_server_studio.py::test_action_contract_studio_view_contracts_list
test_p20_cut11_server_studio.py::test_server_execute_action_no_contracts_returns_404
test_p20_cut11_server_studio.py::test_server_execute_action_requires_allow_real_actions
test_p20_cut11_server_studio.py::test_server_execute_action_unknown_contract_returns_404
test_p20_cut11_server_studio.py::test_server_execute_action_scope_violation_fails_dry_run
test_p20_cut11_server_studio.py::test_server_execute_action_returns_trace
test_p20_cut11_server_studio.py::test_server_execute_action_with_signing_key_includes_hmac
test_p20_cut12_regression_e2e.py::test_regression_matrixai_ir_imports
test_p20_cut12_regression_e2e.py::test_regression_matrixai_parser_imports
test_p20_cut12_regression_e2e.py::test_regression_matrixai_runtime_imports
test_p20_cut12_regression_e2e.py::test_regression_matrixai_types_imports
test_p20_cut12_regression_e2e.py::test_regression_matrixai_training_imports
test_p20_cut12_regression_e2e.py::test_regression_matrixai_studio_imports
test_p20_cut12_regression_e2e.py::test_regression_matrixai_actions_all_exports
test_p20_cut12_regression_e2e.py::test_regression_p19_composite_network_still_works
test_p20_cut12_regression_e2e.py::test_regression_existing_cli_commands_importable
test_p20_cut12_regression_e2e.py::test_regression_server_module_importable
test_p20_cut12_regression_e2e.py::test_e2e_parse_and_validate_contract
test_p20_cut12_regression_e2e.py::test_e2e_compute_contract_hash
test_p20_cut12_regression_e2e.py::test_e2e_hash_is_deterministic
test_p20_cut12_regression_e2e.py::test_e2e_dry_run_passes
test_p20_cut12_regression_e2e.py::test_e2e_dry_run_fails_on_scope_violation
test_p20_cut12_regression_e2e.py::test_e2e_execute_with_injectable_handler
test_p20_cut12_regression_e2e.py::test_e2e_build_signed_trace
test_p20_cut12_regression_e2e.py::test_e2e_verify_trace_signature
test_p20_cut12_regression_e2e.py::test_e2e_rollback_on_failed_execution
test_p20_cut12_regression_e2e.py::test_e2e_studio_view_of_contract
test_p20_cut12_regression_e2e.py::test_e2e_full_pipeline
test_p21_cut11_cli_studio.py::test_registry_list_cli
test_p21_cut11_cli_studio.py::test_registry_list_cli_json
test_p21_cut11_cli_studio.py::test_registry_list_cli_filters_by_name
test_p21_cut11_cli_studio.py::test_registry_show_cli_outputs_manifest
test_p21_cut11_cli_studio.py::test_registry_verify_cli_returns_exit_code
test_p21_cut11_cli_studio.py::test_registry_verify_cli_fails_for_missing
test_p21_cut11_cli_studio.py::test_registry_diff_cli_shows_differences
test_p21_cut11_cli_studio.py::test_studio_shows_composition_panel
test_p21_cut11_cli_studio.py::test_studio_lists_imported_components_with_versions
test_p21_cut11_cli_studio.py::test_studio_no_imports_returns_empty_panel
test_p21_cut11_cli_studio.py::test_workbench_links_to_imported_component_evaluation
test_p22_cut11_cli_continual.py::TestCliHelp::test_continual_help_exits_zero
test_p22_cut11_cli_continual.py::TestCliHelp::test_continual_help_lists_all_subcommands
test_p22_cut11_cli_continual.py::TestCliHelp::test_init_help
test_p22_cut11_cli_continual.py::TestCliHelp::test_status_help
test_p22_cut11_cli_continual.py::TestCliHelp::test_promote_help
test_p22_cut11_cli_continual.py::TestCliHelp::test_rollback_help
test_p22_cut11_cli_continual.py::TestCliHelp::test_audit_help
test_p22_cut11_cli_continual.py::TestCliInit::test_init_exits_zero
test_p22_cut11_cli_continual.py::TestCliInit::test_init_shows_policy_name
test_p22_cut11_cli_continual.py::TestCliInit::test_init_shows_registry_name
test_p22_cut11_cli_continual.py::TestCliInit::test_init_json_output
test_p22_cut11_cli_continual.py::TestCliInit::test_init_bad_policy_exits_2
test_p22_cut11_cli_continual.py::TestCliInit::test_init_shows_rollback_config
test_p22_cut11_cli_continual.py::TestCliStatus::test_status_exits_1_when_registry_missing
test_p22_cut11_cli_continual.py::TestCliStatus::test_status_error_mentions_registry
test_p22_cut11_cli_continual.py::TestCliStatus::test_status_bad_policy_exits_2
test_p22_cut11_cli_continual.py::TestCliRollbackDryRun::test_rollback_dry_run_exits_1_no_registry
test_p22_cut11_cli_continual.py::TestCliRollbackDryRun::test_rollback_bad_policy_exits_2
test_p22_cut11_cli_continual.py::TestCliRollbackDryRun::test_rollback_dry_run_json_flag_accepted
test_p22_cut11_cli_continual.py::TestCliPromote::test_promote_missing_approval_report_exits_2
test_p22_cut11_cli_continual.py::TestCliPromote::test_promote_bad_policy_exits_2
test_p22_cut11_cli_continual.py::TestCliPromote::test_promote_missing_candidate_params_exits_2
test_p22_cut11_cli_continual.py::TestCliPromote::test_promote_happy_path_automatic_pass
test_p22_cut11_cli_continual.py::TestCliPromote::test_promote_happy_path_human_approved_hmac
test_p22_cut11_cli_continual.py::TestCliPromote::test_promote_exits_1_on_hmac_tampered_report
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_exits_zero
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_shows_emit_hint
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_json_output
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_bad_policy_exits_2
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_with_drift_report_no_prompt
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_with_drift_report_and_prompt_json
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_proposal_none_when_persistence_not_provided
test_p22_cut11_cli_continual.py::TestCliAudit::test_audit_no_proposal_when_drift_not_detected
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_build_returns_view_instance
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_name_matches_policy
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_registry_name
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_rollback_fields
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_audit_fields
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_policy_hash_present
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_current_version_none_without_entry
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_current_version_from_entry
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_is_dataclass
test_p22_cut11_cli_continual.py::TestContinualPolicyView::test_view_asdict_serializable
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c1_parse_mxcontinual
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c1_parse_error_on_bad_input
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c2_collector_imports
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c3_drift_detector_imports
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c3_drift_report_structure
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c4_continual_dataset_examples
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c4_continual_dataset_fingerprint
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c5_incremental_trainer_runs
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c5_candidate_has_parent_ps_id
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c6_approval_gate_runs
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c7_versioner_imports
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c8_monitor_records_observations
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c8_window_metrics_shape
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c9_rollback_manager_check
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c9_rollback_event_structure
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c10_drift_bridge_returns_proposal_on_drift
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c11_policy_view_built
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c11_policy_view_with_entry
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c3_concept_drift_detector_smoke
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c7_signature_required_enforced_smoke
test_p22_cut12_regression_e2e.py::TestP22Regression::test_c7_signature_required_allows_hmac_tokens_smoke
test_p22_cut12_regression_e2e.py::TestContinualE2E::test_full_cycle_parse_to_rollback
test_p22_cut12_regression_e2e.py::TestContinualE2E::test_e2e_run_rollback_convenience
test_p22_cut12_regression_e2e.py::TestContinualE2E::test_e2e_no_rollback_on_healthy_monitor
test_p22_cut12_regression_e2e.py::TestContinualE2E::test_e2e_policy_hash_stable
test_paquete_cpu_construye_su_capa_de_torch.py::test_las_firmas_del_diagnostico_son_las_mismas_en_los_cuatro_sitios
test_paquete_cpu_construye_su_capa_de_torch.py::test_dockerfile_cpu_fija_la_rueda_de_cpu_con_los_dos_indices
test_paquete_cpu_construye_su_capa_de_torch.py::test_el_tag_local_es_el_mismo_en_el_script_el_ps1_y_el_compose_y_parte_de_la_base
test_paquete_cpu_construye_su_capa_de_torch.py::test_el_compose_cpu_apaga_la_densa_anterior_y_no_toca_el_backend_de_entrenamiento
test_paquete_cpu_construye_su_capa_de_torch.py::test_el_log_del_build_va_a_config_que_el_dockerignore_excluye
test_paquete_cpu_construye_su_capa_de_torch.py::test_el_diagnostico_de_ps1_es_ASCII
test_paquete_cpu_construye_su_capa_de_torch.py::test_sh_ENTERO_un_build_fallido_dice_la_causa_guarda_el_log_y_no_sigue[descarga_cortada]
test_paquete_cpu_construye_su_capa_de_torch.py::test_sh_ENTERO_un_build_fallido_dice_la_causa_guarda_el_log_y_no_sigue[disco_lleno]
test_paquete_cpu_construye_su_capa_de_torch.py::test_sh_ENTERO_un_build_fallido_dice_la_causa_guarda_el_log_y_no_sigue[proxy_caido]
test_paquete_cpu_construye_su_capa_de_torch.py::test_sh_ENTERO_un_build_fallido_dice_la_causa_guarda_el_log_y_no_sigue[sin_red]
test_paquete_cpu_construye_su_capa_de_torch.py::test_sh_ENTERO_primer_arranque_construye_con_el_dockerfile_cpu_y_sigue
test_paquete_cpu_construye_su_capa_de_torch.py::test_sh_ENTERO_si_la_imagen_local_ya_existe_no_vuelve_a_construir
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_cada_fixture_tiene_su_causa_esperada
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_los_fixtures_llevan_las_trampas_que_justifican_el_orden
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[cortafuegos_descarta]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[cortafuegos_rechaza]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[descarga_colgada]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[descarga_cortada]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[disco_lleno]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[proxy_caido]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[sin_red]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_reconoce_la_causa_de_cada_fallo_real[tls_inspeccion]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_evidencia_entera_y_la_ULTIMA_que_casa
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_no_distingue_mayusculas_igual_que_powershell
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_lo_que_no_reconoce_lo_dice
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_ENTERO_un_build_fallido_guarda_el_log_y_dice_la_causa[sin_red]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_ENTERO_un_build_fallido_guarda_el_log_y_dice_la_causa[disco_lleno]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_sh_ENTERO_un_build_bueno_sigue_sin_diagnostico
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_ps1_se_parsea_y_reconoce_la_causa_de_cada_fallo_real
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_ps1_ENTERO_un_build_fallido_guarda_el_log_y_dice_la_causa[sin_red]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_ps1_ENTERO_un_build_fallido_guarda_el_log_y_dice_la_causa[tls_inspeccion]
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_ps1_ENTERO_un_build_bueno_sigue_sin_diagnostico
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_las_dos_listas_de_firmas_son_la_MISMA_y_en_el_mismo_orden
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_el_log_va_a_una_carpeta_que_NO_entra_en_el_contexto_del_build
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_el_diagnostico_de_ps1_es_ASCII
test_paquete_gpu_dice_por_que_fallo_el_build.py::test_el_mensaje_generico_ya_no_se_imprime
test_paquete_manda_a_members_license.py::test_el_studio_manda_a_esa_direccion
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[bundle/start.sh]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[bundle/start.ps1]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[bundle/README.md]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[bundle-gpu/start.sh]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[bundle-gpu/start.ps1]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[bundle-gpu/README.md]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[Pruebas_GPU/start.sh]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[Pruebas_GPU/start.ps1]
test_paquete_manda_a_members_license.py::test_el_paquete_manda_a_la_misma[Pruebas_GPU/README.md]
test_perfil_demo.py::test_por_defecto_el_perfil_es_completo
test_perfil_demo.py::test_la_demo_hay_que_encenderla
test_perfil_demo.py::test_un_valor_raro_no_enciende_la_demo
test_perfil_demo.py::test_el_perfil_completo_no_limita_nada
test_perfil_demo.py::test_la_demo_permite_lo_que_Roberto_dijo
test_perfil_demo.py::test_lo_prohibido_se_declara_en_false_nunca_se_omite
test_perfil_demo.py::test_los_topes_se_configuran_sin_tocar_codigo
test_perfil_demo.py::test_un_tope_ilegible_cae_al_valor_por_defecto
test_perfil_demo.py::test_el_estado_declara_el_perfil
test_perfil_demo.py::test_el_perfil_completo_no_rechaza_nada
test_perfil_demo.py::test_en_demo_lo_prohibido_esta_en_false
test_pesos_grandes_c1_estimate.py::test_estimate_returns_full_breakdown
test_pesos_grandes_c1_estimate.py::test_missing_mxai_is_a_clean_error_not_a_crash
test_pesos_grandes_c1_estimate.py::test_invalid_mxai_returns_error_not_500_crash
test_pesos_grandes_c1_estimate.py::test_rows_and_batch_influence_effective_batch
test_pesos_grandes_c1_estimate.py::test_training_text_batch_is_honored_when_no_explicit_batch
test_pesos_grandes_c1_estimate.py::test_explicit_batch_still_wins_over_training_text
test_pesos_grandes_c1_estimate.py::test_vram_warning_compares_gib_against_gib_not_gb
test_pesos_grandes_c1_estimate.py::test_estimate_never_blocks_even_for_a_huge_network
test_pesos_grandes_c3_guards.py::test_save_of_large_model_now_succeeds_via_c4_binary_sidecar
test_pesos_grandes_c3_guards.py::test_infer_of_large_unsaved_job_asks_to_save_first
test_pesos_grandes_c3_guards.py::test_small_model_save_still_works
test_pesos_grandes_c4_persistence.py::TestBinaryDefault::test_large_model_saves_as_binary_by_default
test_pesos_grandes_c4_persistence.py::TestBinaryDefault::test_load_weights_round_trips_binary_to_usable_parameterset
test_pesos_grandes_c4_persistence.py::TestJsonExplicit::test_explicit_json_materializes_classic_snapshot
test_pesos_grandes_c4_persistence.py::TestJsonExplicit::test_binary_and_json_produce_identical_values
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_corrupted_mxw_gives_clear_error_on_load
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_evicted_state_dict_gives_clear_error_on_save
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_unknown_weights_format_is_rejected
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_altered_model_hash_header_rejected_by_infer_and_export
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_export_large_saved_model_with_both_job_and_model_id[binary]
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_export_large_saved_model_with_both_job_and_model_id[json]
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_export_unsaved_large_job_still_asks_to_save
test_pesos_grandes_c4_persistence.py::TestTamperAndErrors::test_sidecar_from_different_architecture_same_shapes_rejected
test_pesos_grandes_c4_persistence.py::TestJsonWriteFailure::test_json_replace_failure_leaves_previous_snapshot_intact
test_pesos_grandes_c4_persistence.py::TestSmallModelRetrocompat::test_untrained_model_save_unchanged
test_pesos_grandes_c4_persistence.py::TestSmallModelRetrocompat::test_small_trained_model_save_unchanged
test_pesos_grandes_c4_persistence.py::TestOrphanCleanup::test_delete_model_removes_mxw_sidecar
test_pesos_grandes_c4_persistence.py::TestOrphanCleanup::test_retrain_to_smaller_model_removes_old_mxw
test_pesos_grandes_c5_resume_training.py::test_retrain_same_model_id_resumes_beats_fresh_after_one_epoch[1-binary]
test_pesos_grandes_c5_resume_training.py::test_retrain_same_model_id_resumes_beats_fresh_after_one_epoch[1-json]
test_pesos_grandes_c5_resume_training.py::test_retrain_same_model_id_resumes_beats_fresh_after_one_epoch[1000000-None]
test_pesos_grandes_c5_resume_training.py::test_retrain_with_edited_architecture_trains_from_scratch_without_error
test_pesos_grandes_c5_resume_training.py::test_retrain_with_tampered_mxw_fails_loudly_no_silent_scratch
test_pesos_grandes_c5_resume_training.py::test_retrain_unknown_model_id_trains_from_scratch_without_error
test_pesos_grandes_c5_resume_training.py::test_retrain_composite_model_skips_warm_start_load
test_pesos_grandes_c5_resume_training.py::test_retrain_without_model_id_unchanged
test_pesos_grandes_c6_export_limit.py::test_oversized_wasm_fails_fast_without_materializing
test_pesos_grandes_c6_export_limit.py::test_oversized_onnx_and_bundle_no_longer_blocked[onnx]
test_pesos_grandes_c6_export_limit.py::test_oversized_onnx_and_bundle_no_longer_blocked[bundle]
test_pesos_grandes_c6_export_limit.py::test_export_under_limit_unaffected
test_pesos_grandes_c7a_gpu_infer.py::test_binary_infer_never_materializes
test_pesos_grandes_c7a_gpu_infer.py::test_fast_path_matches_materialized_path_exactly
test_pesos_grandes_c7a_gpu_infer.py::test_response_keeps_full_contract_shape
test_pesos_grandes_c7a_gpu_infer.py::test_without_torch_falls_back_to_runtime_cleanly
test_pesos_grandes_c7a_gpu_infer.py::test_helper_returns_none_when_graph_has_extra_dependent_nodes
test_pesos_grandes_c7a_gpu_infer.py::test_vram_freed_after_infer_on_cuda
test_pesos_grandes_c7b_export_state_dict.py::test_onnx_export_of_binary_model_never_materializes
test_pesos_grandes_c7b_export_state_dict.py::test_bundle_export_of_binary_model_omits_params_json
test_pesos_grandes_c7b_export_state_dict.py::test_bundle_export_still_self_usable_despite_skipped_equivalence
test_pesos_grandes_c7b_export_state_dict.py::test_onnx_export_predicts_same_as_studio_infer
test_pesos_grandes_c7b_export_state_dict.py::test_forced_external_data_bundle_loads_and_predicts
test_pesos_grandes_c7b_export_state_dict.py::test_streaming_export_uses_zip_stored_and_streams_from_mxw[onnx]
test_pesos_grandes_c7b_export_state_dict.py::test_streaming_export_uses_zip_stored_and_streams_from_mxw[bundle]
test_pesos_grandes_c7b_export_state_dict.py::test_streaming_export_rejects_tampered_mxw_body
test_pesos_grandes_c7b_export_state_dict.py::test_wasm_export_of_binary_model_still_materializes
test_pesos_grandes_c7c_streaming_download.py::test_small_file_stays_inline_base64
test_pesos_grandes_c7c_streaming_download.py::test_large_file_streamed_and_written_to_exports_dir
test_pesos_grandes_c7c_streaming_download.py::test_invalid_download_id_rejected
test_pesos_grandes_c7c_streaming_download.py::test_unknown_but_valid_download_id_returns_none
test_pesos_grandes_c7c_streaming_download.py::test_retention_keeps_only_two_most_recent
test_pesos_grandes_c7c_streaming_download.py::test_export_streamed_end_to_end_via_http
test_pesos_grandes_c7c_streaming_download.py::test_download_unknown_id_returns_404
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_el_esquema_la_acepta
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_el_objetivo_es_la_CLASE_y_no_los_milimetros
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_el_umbral_esta_declarado
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_la_clase_sale_de_binarizar_el_objetivo_desplazado
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_la_ficha_DICE_que_clasifica_en_los_dos_idiomas
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_los_MILIMETROS_se_tiran_despues
test_plantilla_lluvia_es_una_clase.py::LaPlantillaDeLluviaClasifica::test_y_dice_cual_es_el_umbral
test_procedencia_real_de_un_dataset_ancho_cabe.py::LaProcedenciaRealCabeTest::test_un_tamano_PATOLOGICO_sigue_rechazandose
test_procedencia_real_de_un_dataset_ancho_cabe.py::LaProcedenciaRealCabeTest::test_una_procedencia_como_la_de_KDD_ya_NO_se_rechaza_por_tamano
test_rangos_de_train_studio.py::TestClasicaReenviaTodasLasPropuestas::test_las_propuestas_del_csv_entero_reenviadas_dan_los_rangos_de_train
test_rangos_de_train_studio.py::TestClasicaReenviaTodasLasPropuestas::test_temporal_overrides_crudos_y_retardos_con_la_propuesta_de_su_origen
test_rangos_de_train_studio.py::TestClasicaReenviaTodasLasPropuestas::test_una_columna_corregida_a_mano_conserva_su_correccion
test_rangos_de_train_studio.py::TestIdaYVuelta::test_generar_entrenar_guardar_recargar_inferir_exportar
test_rangos_de_train_studio.py::TestPlantillaTemporalDeclaraLoQueUsaElEntrenador::test_range_fit_declara_la_particion_temporal_que_usara_el_entrenador
test_rangos_de_train_studio.py::TestPlantillaTemporalDeclaraLoQueUsaElEntrenador::test_si_la_reescritura_temporal_partiria_distinto_no_genera
test_regresion_c59_c1_infer_denormalization.py::TestInferDenormalizesPredictionValue::test_prediction_never_stays_in_the_unit_interval
test_regresion_c59_c1_infer_denormalization.py::TestInferDenormalizesPredictionValue::test_prediction_value_for_fifty_celsius_is_323_15
test_regresion_c59_c1_infer_denormalization.py::TestInferDenormalizesPredictionValue::test_prediction_value_for_zero_celsius_is_273_15
test_regresion_c59_c1_infer_denormalization.py::TestInferDenormalizesPredictionValue::test_target_range_absent_falls_back_to_raw_value
test_regresion_c59_c5_save_export_target_range.py::TestSaveModelPersistsTargetRange::test_target_range_survives_save_and_load
test_regresion_c59_c5_save_export_target_range.py::TestInferFromSavedModelDenormalizesWithoutALiveJob::test_saved_and_reloaded_model_still_denormalizes
test_regresion_c59_c5_save_export_target_range.py::TestExportedBundleMatchesStudioPrediction::test_predict_py_matches_studio_infer
test_s1_c11_studio_export.py::TestStudioExportValidation::test_empty_mxai_returns_error
test_s1_c11_studio_export.py::TestStudioExportValidation::test_missing_mxai_returns_error
test_s1_c11_studio_export.py::TestStudioExportValidation::test_invalid_format_returns_error
test_s1_c11_studio_export.py::TestStudioExportValidation::test_invalid_mxai_returns_parse_error
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_onnx_export_untrained_ok
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_onnx_export_data_b64_is_valid_bytes
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_onnx_export_manifest_has_model_hash
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_onnx_export_manifest_has_opset_version
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_onnx_export_manifest_has_exported_functions
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_onnx_export_nonexistent_job_id_falls_back_to_untrained
test_s1_c11_studio_export.py::TestStudioExportUntrainedOnnx::test_model_without_trainable_params_returns_error
test_s1_c11_studio_export.py::TestStudioExportTrainedOnnx::test_onnx_export_trained_uses_params_from_job
test_s1_c11_studio_export.py::TestStudioExportWasm::test_wasm_export_untrained_ok
test_s1_c11_studio_export.py::TestStudioExportWasm::test_wasm_export_data_is_zip
test_s1_c11_studio_export.py::TestStudioExportWasm::test_wasm_export_manifest_has_model_hash
test_s1_c11_studio_export.py::TestStudioExportBundle::test_bundle_export_untrained_ok
test_s1_c11_studio_export.py::TestStudioExportBundle::test_bundle_export_data_is_zip
test_s1_c11_studio_export.py::TestStudioExportBundle::test_bundle_export_manifest_has_model_hash
test_s1_c11_studio_export.py::TestStudioExportBundle::test_bundle_untrained_params_json_is_not_empty
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_returns_ok
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_has_required_keys
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_api_key_not_exposed
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_api_key_masked_shows_last_4
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_api_key_masked_empty_when_no_key
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_llm_mode_has_active_field
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_temperature_is_float
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_model_from_env
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_malformed_temperature_returns_default_not_exception
test_s1_c12_studio_config.py::TestStudioConfigLlmGet::test_mask_uses_fixed_8_bullets
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_empty_payload_returns_ok
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_writes_api_key_to_config_file
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_writes_model_to_config_file
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_updates_os_environ_immediately
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_invalid_temperature_returns_error
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_non_numeric_temperature_returns_error
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_preserves_existing_keys_on_partial_update
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_returns_llm_mode
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_creates_parent_dir_if_missing
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_empty_api_key_does_not_overwrite_existing
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_dev_fallback_path_when_config_dir_absent
test_s1_c12_studio_config.py::TestStudioConfigLlmPost::test_dotenv_loads_absent_keys_but_respects_explicit_env_vars
test_s1_c12_studio_config.py::TestMaskApiKey::test_empty_string_returns_empty
test_s1_c12_studio_config.py::TestMaskApiKey::test_placeholder_returns_empty
test_s1_c12_studio_config.py::TestMaskApiKey::test_short_key_masked
test_s1_c12_studio_config.py::TestMaskApiKey::test_long_key_last_4_visible
test_s1_c13_regression.py::TestStatusFormat::test_returns_ok_true
test_s1_c13_regression.py::TestStatusFormat::test_has_llm_mode_with_active
test_s1_c13_regression.py::TestStatusFormat::test_has_capabilities
test_s1_c13_regression.py::TestStatusFormat::test_has_degradation_messages_list
test_s1_c13_regression.py::TestLicenseExemptPaths::test_health_is_exempt
test_s1_c13_regression.py::TestLicenseExemptPaths::test_status_is_exempt
test_s1_c13_regression.py::TestLicenseExemptPaths::test_config_llm_is_exempt
test_s1_c13_regression.py::TestExportNeverRaises::test_non_exportable_export_returns_ok_false
test_s1_c13_regression.py::TestExportNeverRaises::test_non_exportable_export_sets_error_kind
test_s1_c13_regression.py::TestExportNeverRaises::test_invalid_format_returns_ok_false
test_s1_c13_regression.py::TestExportNeverRaises::test_empty_mxai_returns_ok_false
test_s1_c13_regression.py::TestMaskRegression::test_fixed_8_bullets_hides_key_length
test_s1_c13_regression.py::TestMaskRegression::test_empty_key_returns_empty
test_s1_c13_regression.py::TestMaskRegression::test_placeholder_returns_empty
test_s1_c13_regression.py::TestSafeFloatRegression::test_empty_string_returns_default
test_s1_c13_regression.py::TestSafeFloatRegression::test_non_numeric_returns_default
test_s1_c13_regression.py::TestSafeFloatRegression::test_none_returns_default
test_s1_c13_regression.py::TestSafeFloatRegression::test_valid_float_parsed
test_s1_c13_regression.py::TestSafeFloatRegression::test_custom_default
test_s1_c13_regression.py::TestConfigPathResolver::test_function_exists_and_returns_path
test_s1_c13_regression.py::TestConfigPathResolver::test_dev_fallback_when_config_absent
test_s1_c13_regression.py::TestGenerateMxaiString::test_generate_returns_mxai_as_string_not_dict
test_s1_c13_regression.py::TestGenerateMxaiString::test_generate_neural_prompt_contains_network_keyword
test_s1_c13_regression.py::TestGenerateMxaiString::test_generate_mxai_has_valid_structure
test_s1_c13_regression.py::TestGenerateMxaiString::test_generate_returns_is_exportable_field
test_s1_c13_regression.py::TestGenerateMxaiString::test_generate_neural_prompt_is_exportable_true
test_s1_c16_i18n.py::TestConfidenceLabel::test_alta_value_is_high
test_s1_c16_i18n.py::TestConfidenceLabel::test_media_value_is_medium
test_s1_c16_i18n.py::TestConfidenceLabel::test_baja_value_is_low
test_s1_c16_i18n.py::TestConfidenceLabel::test_insuficiente_value_is_insufficient
test_s1_c16_i18n.py::TestConfidenceLabel::test_no_spanish_values
test_s1_c16_i18n.py::TestConfidenceThresholdsKeys::test_score_to_confidence_label_high
test_s1_c16_i18n.py::TestConfidenceThresholdsKeys::test_score_to_confidence_label_medium
test_s1_c16_i18n.py::TestConfidenceThresholdsKeys::test_score_to_confidence_label_low
test_s1_c16_i18n.py::TestConfidenceThresholdsKeys::test_score_to_confidence_label_low_on_zero
test_s1_c16_i18n.py::TestConfidenceThresholdsKeys::test_cases_use_english_threshold_keys
test_s1_c16_i18n.py::TestRegistryLocalization::test_email_case_has_en_locale
test_s1_c16_i18n.py::TestRegistryLocalization::test_fall_risk_case_has_en_locale
test_s1_c16_i18n.py::TestRegistryLocalization::test_pharmacy_case_has_en_locale
test_s1_c16_i18n.py::TestRegistryLocalization::test_to_dict_es_returns_spanish_name
test_s1_c16_i18n.py::TestRegistryLocalization::test_to_dict_en_returns_english_name
test_s1_c16_i18n.py::TestRegistryLocalization::test_to_summary_dict_en_returns_english_description
test_s1_c16_i18n.py::TestRegistryLocalization::test_to_dict_en_localizes_field_labels
test_s1_c16_i18n.py::TestRegistryLocalization::test_to_dict_en_localizes_policy_safety_message
test_s1_c16_i18n.py::TestRegistryLocalization::test_unknown_locale_falls_back_to_es
test_s1_c16_i18n.py::TestAdapterLocale::test_build_from_analysis_es
test_s1_c16_i18n.py::TestAdapterLocale::test_build_from_analysis_en
test_s1_c16_i18n.py::TestAdapterLocale::test_build_from_existing_artifact_es
test_s1_c16_i18n.py::TestAdapterLocale::test_build_from_existing_artifact_en
test_s1_c16_i18n.py::TestAdapterLocale::test_build_from_guided_adaptation_en
test_s1_c16_i18n.py::TestAdapterLocale::test_confidence_label_to_dict_value_is_english
test_s1_c16_i18n.py::TestSimulateLocalization::test_extract_influential_es_uses_spanish_labels
test_s1_c16_i18n.py::TestSimulateLocalization::test_extract_influential_en_uses_english_labels
test_s1_c16_i18n.py::TestSimulateLocalization::test_simulate_en_free_text_context_prefix
test_s1_c16_i18n.py::TestSimulateLocalization::test_simulate_en_influential_data_localized
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_es_default
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_en
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_en_no_actions
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_es_no_actions
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_en_includes_trace
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_en_not_activated
test_s1_c16_i18n.py::TestAuditorAgentLocale::test_explain_unknown_locale_falls_back_to_es
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_exists
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_build_script_exists
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerignore_excludes_tests_and_examples
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_uses_multistage_build
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_installs_core_with_export_extras
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_installs_product_backend
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_has_license_public_key_arg
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_has_healthcheck
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_exposes_8765
test_s1_c2_docker_image.py::TestC4RepoArtefacts::test_dockerfile_cmd_starts_product_server
test_s1_c2_docker_image.py::TestC4ImageContent::test_core_and_product_installed
test_s1_c2_docker_image.py::TestC4ImageContent::test_onnx_installed
test_s1_c2_docker_image.py::TestC4ImageContent::test_no_env_file_in_image
test_s1_c2_docker_image.py::TestC4ImageContent::test_no_documentacion_in_image
test_s1_c2_docker_image.py::TestC4ImageContent::test_studio_status_endpoint_responds
test_s1_c2_docker_image.py::TestC4ImageContent::test_studio_status_has_capabilities
test_s1_c3_license.py::TestVerifyTokenOffline::test_valid_token
test_s1_c3_license.py::TestVerifyTokenOffline::test_still_valid_before_expiry
test_s1_c3_license.py::TestVerifyTokenOffline::test_expired_token
test_s1_c3_license.py::TestVerifyTokenOffline::test_wrong_machine_id
test_s1_c3_license.py::TestVerifyTokenOffline::test_tampered_payload_detected_by_ed25519
test_s1_c3_license.py::TestVerifyTokenOffline::test_malformed_token
test_s1_c3_license.py::TestVerifyTokenOffline::test_empty_token
test_s1_c3_license.py::TestVerifyTokenOffline::test_wrong_public_key_rejects_valid_token
test_s1_c3_license.py::TestVerifyTokenOffline::test_token_not_forgeable_without_private_key
test_s1_c3_license.py::TestLicenseGuardCheck::test_disabled_passes_without_token
test_s1_c3_license.py::TestLicenseGuardCheck::test_valid_offline_token_passes
test_s1_c3_license.py::TestLicenseGuardCheck::test_valid_token_still_valid_in_grace
test_s1_c3_license.py::TestLicenseGuardCheck::test_expired_token_triggers_online_revalidation
test_s1_c3_license.py::TestLicenseGuardCheck::test_no_token_and_no_network_raises
test_s1_c3_license.py::TestLicenseGuardCheck::test_tampered_token_raises_hard_fail_no_online_retry
test_s1_c3_license.py::TestLicenseGuardCheck::test_wrong_machine_raises_hard_fail
test_s1_c3_license.py::TestLicenseGuardCheck::test_expired_token_online_refresh_saves_new_token
test_s1_c3_license.py::TestLicenseGuardCheck::test_missing_public_key_raises
test_s1_c3_license.py::TestLicenseGuardFromEnv::test_reads_LICENSE_KEY_not_MATRIXAI_LICENSE_KEY
test_s1_c3_license.py::TestLicenseGuardFromEnv::test_disabled_by_default
test_s1_c3_license.py::TestLicenseGuardBackground::test_background_thread_starts_when_enabled
test_s1_c3_license.py::TestLicenseGuardBackground::test_background_thread_not_started_when_disabled
test_s1_c3_license.py::TestLicenseGuardBackground::test_background_sets_invalid_on_failure
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_config_machine_id_wins_over_host_machine_id
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_uses_host_machine_id_when_no_config_fingerprint
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_falls_back_to_config_machine_id
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_machine_id_with_bom_matches_script_fingerprint
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_host_machine_id_with_bom_hashes_raw_without_bom
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_falls_back_to_hostname_when_nothing_available
test_s1_c3_license.py::TestComputeMachineIdRuntime::test_different_host_id_produces_different_fingerprint
test_s1_c3_license.py::TestFromEnvRuntimeMachineId::test_from_env_ignores_MATRIXAI_MACHINE_ID_env
test_s1_c3_license.py::TestLicenseGuardIsValid::test_false_before_check
test_s1_c3_license.py::TestLicenseGuardIsValid::test_true_after_valid_check
test_s1_c3_license.py::TestLicenseGuardIsValid::test_thread_safe_read
test_s1_c3_license.py::TestHandlerLicenseGating::test_blocks_with_503_when_invalid
test_s1_c3_license.py::TestHandlerLicenseGating::test_does_not_block_when_valid
test_s1_c3_license.py::TestHandlerLicenseGating::test_studio_status_never_blocked
test_s1_c3_license.py::TestHandlerLicenseGating::test_health_never_blocked
test_s1_c3_license.py::TestHandlerLicenseGating::test_no_guard_never_blocks
test_s1_c3_license.py::TestBundleC3::test_start_sh_saves_token_to_config
test_s1_c3_license.py::TestBundleC3::test_start_sh_updates_env_with_machine_id
test_s1_c3_license.py::TestBundleC3::test_start_sh_no_sed_i_direct
test_s1_c3_license.py::TestBundleC3::test_start_sh_curl_uses_exit_code_not_w_output
test_s1_c3_license.py::TestBundleC3::test_start_sh_handles_grace_offline
test_s1_c3_license.py::TestBundleC3::test_start_sh_no_token_secret_in_env
test_s1_c3_license.py::TestBundleC3::test_env_template_has_machine_id_placeholder
test_s1_c3_license.py::TestBundleC3::test_env_template_no_token_secret
test_s1_c3_license.py::TestBundleC3::test_env_template_does_not_choose_the_image
test_s1_c3_license.py::TestBundleC3::test_docker_compose_runs_the_local_cpu_image
test_s1_c3_license.py::TestBundleC3::test_docker_compose_single_config_mount
test_s1_c3_license.py::TestBundleC3::test_docker_compose_no_named_config_volume
test_s1_c3_license.py::TestBundleC3::test_docker_compose_passes_license_enabled
test_s1_c3_license.py::TestBundleC3::test_dockerfile_has_public_key_arg
test_s1_c3_license.py::TestBundleC3::test_start_sh_writes_machine_id_to_config
test_s1_c3_license.py::TestBundleC3::test_docker_compose_mounts_host_machine_id
test_s1_c3_license.py::TestBundleC3::test_env_template_has_host_machine_id_path
test_s1_c3_license.py::TestBundleC3::test_dockerfile_validates_public_key_at_build
test_s1_c3_license.py::TestBundleC3::test_readme_no_named_config_volume
test_s1_c8b_neural_router.py::test_explicit_neural_network_es
test_s1_c8b_neural_router.py::test_explicit_neural_network_en
test_s1_c8b_neural_router.py::test_explicit_mlp
test_s1_c8b_neural_router.py::test_explicit_deep_learning
test_s1_c8b_neural_router.py::test_natural_detectar_reingresos
test_s1_c8b_neural_router.py::test_natural_clasificar
test_s1_c8b_neural_router.py::test_natural_predecir
test_s1_c8b_neural_router.py::test_natural_riesgo
test_s1_c8b_neural_router.py::test_natural_probabilidad
test_s1_c8b_neural_router.py::test_natural_detect_en
test_s1_c8b_neural_router.py::test_natural_predict_en
test_s1_c8b_neural_router.py::test_natural_classify_en
test_s1_c8b_neural_router.py::test_workflow_excluded
test_s1_c8b_neural_router.py::test_rules_excluded
test_s1_c8b_neural_router.py::test_trigger_excluded
test_s1_c8b_neural_router.py::test_pipeline_decision_excluded
test_s1_c8b_neural_router.py::test_vague_no_task_verb
test_s1_c8b_neural_router.py::test_vague_studio_general
test_s1_c8b_neural_router.py::test_generate_detectar_reingresos_has_network
test_s1_c8b_neural_router.py::test_generate_clasificar_has_network
test_s1_c8b_neural_router.py::test_generate_binary_pipeline_ok
test_s1_c8b_neural_router.py::test_generate_workflow_no_network
test_s1_c8b_neural_router.py::test_dense_pipeline_has_nine_stages
test_s1_c8b_neural_router.py::test_dense_pipeline_prompt_router_stage_present
test_s1_c8b_neural_router.py::test_dense_pipeline_prompt_router_is_ok
test_s1_c8b_neural_router.py::test_dense_pipeline_dense_generator_present
test_s1_c8b_neural_router.py::test_dense_pipeline_dense_generator_is_ok
test_s1_c8b_neural_router.py::test_dense_pipeline_avisa_cuando_los_campos_son_de_relleno
test_s1_c8b_neural_router.py::test_dense_pipeline_verifier_agent_not_warning_for_interpretability
test_s1_c8b_neural_router.py::test_dense_pipeline_interpretability_warning_at_most_once
test_s1_c8b_neural_router.py::test_dense_pipeline_backend_contract_present
test_s1_c8b_neural_router.py::test_dense_pipeline_training_verifier_present
test_s1_c8b_neural_router.py::test_dense_pipeline_stage_order
test_s1_prd2_prd3_infer_persistence.py::TestParamsBestRegression::test_dense_job_result_has_params_best
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_untrained_ok
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_untrained_has_executive_result
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_network_prediction_present
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_trained_via_job
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_partial_fields_defaults_to_zero
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_invalid_mxai_rejected
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_requires_mxai_or_model_id
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_unknown_job_rejected
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_locale_en_category
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_locale_es_category
test_s1_prd2_prd3_infer_persistence.py::TestStudioInfer::test_infer_audit_data_present
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_save_requires_mxai
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_save_list_get_delete_roundtrip
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_save_untrained_marks_trained_false
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_save_with_job_snapshots_weights
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_get_unknown_model_404
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_model_id_path_traversal_rejected
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_delete_unknown_model_404
test_s1_prd2_prd3_infer_persistence.py::TestModelPersistence::test_summary_list_has_no_heavy_payloads
test_s1_prd2_prd3_infer_persistence.py::TestRestartCycle::test_infer_by_model_id_after_jobs_cleared
test_s1_prd2_prd3_infer_persistence.py::TestRestartCycle::test_infer_model_id_provides_mxai
test_s1_prd2_prd3_infer_persistence.py::TestRestartCycle::test_infer_unknown_model_id_rejected
test_s1_prd2_prd3_infer_persistence.py::TestRestartCycle::test_export_by_model_id_after_jobs_cleared
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_default_get_stays_lean
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_understanding_existing_artifact
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_network_visual_and_stages
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_is_exportable_dense
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_executive_result_present
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_locale_en
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_invalid_mxai_graceful
test_s1_prd2_prd3_infer_persistence.py::TestModelGetFull::test_full_unknown_model_404
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_keeps_id_and_created_at
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_does_not_create_second_file
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_with_job_replaces_weights
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_without_job_keeps_existing_weights
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_preserves_unknown_fields
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_empty_label_keeps_old_label
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_unknown_model_id_rejected
test_s1_prd2_prd3_infer_persistence.py::TestModelSaveUpdate::test_update_invalid_model_id_rejected
test_s1_prd2_prd3_infer_persistence.py::TestValidateMxai::test_valid_mxai_passes
test_s1_prd2_prd3_infer_persistence.py::TestValidateMxai::test_invalid_mxai_reports_failure
test_s1_prd2_prd3_infer_persistence.py::TestValidateMxai::test_empty_mxai_rejected
test_s1_prd2_prd3_infer_persistence.py::TestModelEditMxai::test_edited_invalid_mxai_rejected_on_save
test_s1_prd2_prd3_infer_persistence.py::TestModelEditMxai::test_edited_valid_mxai_discards_weights
test_s1_prd2_prd3_infer_persistence.py::TestModelEditMxai::test_edited_mxai_with_job_keeps_job_weights
test_s1_prd2_prd3_infer_persistence.py::TestModelEditMxai::test_same_mxai_update_keeps_weights
test_s2_categorical.py::TestExpansion::test_vector_expanded_with_arity
test_s2_categorical.py::TestExpansion::test_from_columns_expanded_in_place
test_s2_categorical.py::TestExpansion::test_expanded_model_parses_and_round_trips
test_s2_categorical.py::TestExpansion::test_values_sanitized
test_s2_categorical.py::TestExpansion::test_value_collision_disambiguated
test_s2_categorical.py::TestExpansion::test_noop_without_categories
test_s2_categorical.py::TestExpansion::test_unknown_column_ignored
test_s2_categorical.py::TestExpansion::test_single_value_ignored
test_s2_categorical.py::TestCoerce::test_filters_and_dedupes
test_s2_categorical.py::TestCoerce::test_rejects_oversized_vocab
test_s2_categorical.py::TestCoerce::test_non_dict
test_s2_categorical.py::TestGenerator::test_one_hot_invariant_random
test_s2_categorical.py::TestGenerator::test_one_hot_invariant_coherent
test_s2_categorical.py::TestGenerator::test_members_are_ints
test_s2_categorical.py::TestGenerator::test_all_values_appear
test_s2_categorical.py::TestDatasetEndpoint::test_returns_expanded_model_and_one_hot_csv
test_s2_categorical.py::TestDatasetEndpoint::test_members_excluded_from_ranges_and_types
test_s2_categorical.py::TestDatasetEndpoint::test_no_categories_no_expansion
test_s2_categorical.py::TestE2ETrain::test_train_on_expanded_model
test_s2_categorical.py::TestSnapshotCategories::test_save_and_get
test_s2_categorical.py::TestSnapshotCategories::test_update_null_clears
test_s2_categorical.py::TestSnapshotCategories::test_update_without_key_keeps
test_s2_categorical.py::TestSnapshotCategories::test_pre_s2_snapshot_none
test_s2_categorical.py::test_export_manifest_includes_categories_from_payload
test_s2_categorical.py::test_export_manifest_pulls_categories_from_snapshot
test_s2_e2e.py::test_full_schema_cycle
test_s2_e2e.py::test_save_load_round_trip_preserves_schema
test_s2_field_types.py::TestGeneratorTypes::test_boolean_emits_0_or_1_ints
test_s2_field_types.py::TestGeneratorTypes::test_boolean_is_binary_in_normalized_space_too
test_s2_field_types.py::TestGeneratorTypes::test_integer_rounds_small_span_range
test_s2_field_types.py::TestGeneratorTypes::test_number_keeps_m5_heuristic
test_s2_field_types.py::TestGeneratorTypes::test_boolean_with_coherent_mode
test_s2_field_types.py::TestGeneratorTypes::test_untyped_columns_untouched
test_s2_field_types.py::TestCoerceAndSuggest::test_coerce_filters_unknown_types
test_s2_field_types.py::TestCoerceAndSuggest::test_suggest_types_heuristics
test_s2_field_types.py::TestCoerceAndSuggest::test_suggest_ranges_endpoint_includes_types
test_s2_field_types.py::TestDatasetEndpointTypes::test_generate_applies_and_echoes_types
test_s2_field_types.py::TestDatasetEndpointTypes::test_generate_filters_unknown_columns
test_s2_field_types.py::TestDatasetEndpointTypes::test_generate_without_types_keeps_previous_behaviour
test_s2_field_types.py::TestSnapshotTypes::test_save_and_get_field_types
test_s2_field_types.py::TestSnapshotTypes::test_update_with_null_clears_types
test_s2_field_types.py::TestSnapshotTypes::test_update_without_key_keeps_types
test_s2_field_types.py::TestSnapshotTypes::test_pre_s2_snapshot_returns_none
test_s2_field_types.py::TestExportTypes::test_manifest_includes_field_types_from_payload
test_s2_field_types.py::TestExportTypes::test_manifest_pulls_types_from_snapshot
test_s2_field_types.py::TestExportTypes::test_manifest_without_types_omits_key
test_secuencias_c4_text_studio_e2e.py::TestGenerateEchoesFieldSeq::test_field_seq_present_for_text_prompt
test_secuencias_c4_text_studio_e2e.py::TestGenerateEchoesFieldSeq::test_field_seq_empty_for_tabular_prompt
test_secuencias_c4_text_studio_e2e.py::TestCoerceFieldSeq::test_valid_payload_kept
test_secuencias_c4_text_studio_e2e.py::TestCoerceFieldSeq::test_non_dict_dropped
test_secuencias_c4_text_studio_e2e.py::TestCoerceFieldSeq::test_malformed_entry_dropped
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_generate_dataset_train_infer_by_job_id
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_generate_dataset_train_save_load_infer
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_infer_accepts_any_input_values_key
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_infer_empty_text_rejected
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_infer_tokenizes_raw_text_not_stripped
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_infer_untrained_text_model_rejected
test_secuencias_c4_text_studio_e2e.py::TestFullTextLifecycle::test_retrain_preserves_field_seq_on_update_path
test_secuencias_c4_text_studio_e2e.py::TestLargeTextModelPesosGrandes::test_infer_unsaved_large_gives_actionable_save_first_message
test_secuencias_c4_text_studio_e2e.py::TestLargeTextModelPesosGrandes::test_save_large_as_json_fails_clean_not_crash
test_secuencias_c4_text_studio_e2e.py::TestLargeTextModelPesosGrandes::test_save_large_as_binary_then_infer_works_end_to_end
test_secuencias_c4_text_studio_e2e.py::TestRegressionCompositeInferUnaffected::test_infer_uses_trained_composite_weights
test_secuencias_c5_export_text_studio.py::TestTextBundleFromPayload::test_bundle_is_self_usable_with_field_seq_in_payload
test_secuencias_c5_export_text_studio.py::TestTextBundleFromPayload::test_predict_py_ships_raw_text_example_no_matrixai_import
test_secuencias_c5_export_text_studio.py::TestTextBundleFromPayload::test_without_field_seq_falls_back_to_token_ids
test_secuencias_c5_export_text_studio.py::TestTextBundleModelIdFallback::test_field_seq_recovered_from_saved_model
test_server_smoke.py::TestStudioServerSmoke::test_cases_list
test_server_smoke.py::TestStudioServerSmoke::test_config_llm_get
test_server_smoke.py::TestStudioServerSmoke::test_generate_executive_result
test_server_smoke.py::TestStudioServerSmoke::test_models_list
test_server_smoke.py::TestStudioServerSmoke::test_status_ok
test_sesion_demo.py::test_en_perfil_completo_el_directorio_es_EXACTAMENTE_el_de_siempre
test_sesion_demo.py::test_en_perfil_completo_guardar_deja_el_modelo_donde_siempre
test_sesion_demo.py::test_en_perfil_completo_no_se_puede_borrar_una_sesion
test_sesion_demo.py::test_en_perfil_completo_el_barrido_no_borra_sesiones
test_sesion_demo.py::test_en_perfil_completo_el_servidor_no_entrega_ninguna_cookie
test_sesion_demo.py::test_en_la_demo_cada_sesion_tiene_su_directorio
test_sesion_demo.py::test_en_la_demo_sin_cookie_se_cae_al_directorio_base
test_sesion_demo.py::test_un_sid_que_no_lo_es_no_construye_ninguna_ruta
test_sesion_demo.py::test_una_cookie_manipulada_no_da_sesion
test_sesion_demo.py::test_la_cookie_no_la_puede_leer_la_pagina
test_sesion_demo.py::test_el_tope_de_modelos_se_aplica_por_sesion
test_sesion_demo.py::test_el_tope_no_impide_reentrenar_un_modelo_que_ya_tienes
test_sesion_demo.py::test_en_perfil_completo_no_hay_tope
test_sesion_demo.py::test_borrar_mi_sesion_no_toca_la_de_al_lado
test_sesion_demo.py::test_borrar_una_sesion_que_no_ha_guardado_nada_no_es_un_error
test_sesion_demo.py::test_el_barrido_se_lleva_las_sesiones_viejas_y_deja_las_vivas
test_sesion_demo.py::test_cuanto_dura_una_sesion_se_configura_sin_tocar_codigo
test_sesion_demo.py::test_dos_visitantes_no_se_ven_los_modelos
test_sesion_demo.py::test_la_misma_cookie_sigue_viendo_lo_suyo
test_sesion_demo.py::test_en_la_demo_el_tope_lo_rechaza_el_backend_por_HTTP
test_sesion_demo.py::test_en_perfil_completo_borrar_la_sesion_por_HTTP_no_borra_nada
test_un_modelo_con_rango_y_datos_de_otra_escala.py::test_la_clasica_con_el_modelo_guardado_y_datos_sin_rango_recibe_el_rechazo_y_no_un_modelo
test_un_modelo_con_rango_y_datos_de_otra_escala.py::test_lo_generado_con_el_rango_del_modelo_se_sigue_entrenando
test_una_unidad_sigmoide_predice.py::UnaUnidadSigmoideDaSuProbabilidad::test_NO_se_inventan_clases
test_una_unidad_sigmoide_predice.py::UnaUnidadSigmoideDaSuProbabilidad::test_el_numero_es_EL_DE_LA_TRAZA
test_una_unidad_sigmoide_predice.py::UnaUnidadSigmoideDaSuProbabilidad::test_es_una_probabilidad_y_dice_de_qué
test_una_unidad_sigmoide_predice.py::UnaUnidadSigmoideDaSuProbabilidad::test_hay_prediccion
test_una_unidad_sigmoide_predice.py::UnaUnidadSigmoideDaSuProbabilidad::test_la_confianza_sale_de_esa_probabilidad
test_una_unidad_sigmoide_predice.py::LasOtrasDosFormasSiguenIgual::test_un_ProbabilityMap_sigue_dando_su_etiqueta
test_uso_sin_recalibrar.py::test_binaria_con_calibrador_dice_recalibrada_True
test_uso_sin_recalibrar.py::test_binaria_sin_calibrador_dice_recalibrada_False_y_la_calibrada_es_la_cruda
test_uso_sin_recalibrar.py::test_en_regresion_y_multiclase_es_None_y_la_clave_esta
test_uso_sin_recalibrar.py::test_el_servicio_da_recalibrada_en_predict_y_en_el_lote_segun_el_checkpoint[calibrador0-True]
test_uso_sin_recalibrar.py::test_el_servicio_da_recalibrada_en_predict_y_en_el_lote_segun_el_checkpoint[None-False]
test_uso_sin_recalibrar.py::test_el_servicio_en_regresion_y_multiclase_da_recalibrada_null[regression]
test_uso_sin_recalibrar.py::test_el_servicio_en_regresion_y_multiclase_da_recalibrada_null[multiclass_classification]
test_v28_estudio_de_otra_version_del_motor.py::test_otra_version_del_motor_se_dice_con_las_dos_y_que_hacer
test_web_motores_experimentales_del_studio.py::test_la_web_declara_exactamente_lo_que_compite_fuera_de_la_cartera
test_web_motores_experimentales_del_studio.py::test_cada_uno_entrena_con_torch_porque_la_frase_dice_donde_hay_torch
test_web_motores_experimentales_del_studio.py::test_la_red_nueva_de_la_web_es_la_que_el_studio_pone_a_competir
```
