Spaces:
Running
Running
Commit History
-
Las reglas clínicas del suelo de seguridad pasan a data/ajustes_clinicos.json
Jose Salazar +1: Claude Opus 5El puerto Python del suelo (§1.1) dejaba dos implementaciones de las mismas reglas. Pero lo que se desincroniza no es la LÓGICA —multiplicar límites, comparar, clasificar; eso no cambia casi nunca— sino los VALORES: umbrales de gravedad, cortes explícitos, factores por edad y raza. Son además lo único que un veterinario querría tocar, y hasta ahora exigían un desarrollador y un build. Se extraen a `data/ajustes_clinicos.json`, que leen los dos motores: `analisis.ts` por fetch (como valores_referencia.json), `motor/gravedad.py` de disco y `evals/engine_runner.ts` de disco. Quedan 0 constantes clínicas duplicadas en ambos motores; lo que permanece es la lógica de aplicarlas. Se carga en runtime y NO se empaqueta en el bundle: un `import` de JSON lo inlinearía en tiempo de build y editar el fichero dejaría de tener efecto sin recompilar, que es exactamente lo que esto viene a evitar. También se mueven los límites de las categorías de edad: que «senior» empiece a los 7 años es una decis…5b69117 -
El suelo de seguridad se recalcula en el servidor
Jose Salazar +1: Claude Opus 5ARCHITECTURE_REVIEW §1.1. El motor determinista del que depende toda la historia de seguridad corre en el NAVEGADOR, y el backend aceptaba su veredicto como un hecho: los `hallazgos` llegaban como campos de la petición y el docstring del esquema lo decía por escrito («El backend NO recalcula»). Un cliente que mandara `hallazgos: []` desactivaba de una sola petición el suelo de derivación obligatoria y la detección de analitos fabricados. No hacía falta un ataque —era el contrato documentado de la API— y bastaba un bundle cacheado de ayer para que el servidor aplicara una seguridad distinta de la que creía aplicar. QUÉ SE PORTA. Sólo lo que sostiene el suelo: rangos ajustados por edad y raza, y clasificación de gravedad (~250 líneas de las 1062). La detección de patrones se queda en el cliente porque ninguna decisión de seguridad cuelga de ella; portarla habría creado una segunda implementación del motor validado por veterinario. Se descartó meter Node en la imagen de producción: depen…c205c6b