Integraciones y cambios seguros
Integraciones
Sección titulada «Integraciones»| Integración | Uso | Límite |
|---|---|---|
| Privy | Sesión y atribución opcional | La clave de servicio autoriza rutas M2M |
| PostgreSQL/Drizzle | Metadatos, borradores, auditoría y colas | Contiene datos clínicos protegidos |
| R2 | Originales cifrados | Descifrado solo después de comprobar alcance |
| pg-boss | Extracción, dead letter y envío | Trabajadores solo si la cola está habilitada |
| Nebius | Extracción estructurada | Desidentificación no es garantía |
| RheumAI audit proxy | Calificar o enviar para revisión | No aprueba ni registra |
| Agente clínico | Inventario y extracción por médico | No aprueba ni envía |
| Tenki | MicroVM para Playwright | Requiere configuración y salida a internet |
| BIOBADAMEX | Formulario crdA–crdE | El mapa no cubre todos los controles |
Configuración
Sección titulada «Configuración»Nombres únicamente, nunca valores:
BIOBADAMEX_QUEUE_ENABLEDBIOBADAMEX_REGISTRY_SUBMIT_ENABLEDNEBIUS_API_KEY,NEBIUS_BASE_URL- clave de ingesta M2M y
BIOBADAMEX_INGEST_MEDIC_ID BIOBADAMEX_AUDIT_API_KEY- clave del agente y médico
onBehalfOf - variables R2 y clave maestra de cifrado
- token, imagen y workspace de Tenki
- URL base y credenciales del registro
No copies valores a archivos, documentación, comandos, logs o PRs.
Invariantes
Sección titulada «Invariantes»- Comprobar propietario antes de descifrar R2.
- Mantener
agentRecordinmutable. - Recomputar DAS-28 y faltantes tras corrección.
- No convertir
unknowna cero ofalsede forma general. - Separar aprobar de enviar.
- Volver a comprobar propiedad, estado, faltantes, confirmación y flag al enviar.
- Usar la versión del mapa del payload.
- No equiparar
idpacy resumen con read-back campo por campo. - Separar datos del estudio y workflow clínico.
- Documentación no autoriza deploy, migración ni escritura externa.
Mapa de cambio y pruebas
Sección titulada «Mapa de cambio y pruebas»| Cambio | Archivos | Verificación mínima |
|---|---|---|
| Ingesta | intake/uploads | tests de intake, batch y uploads |
| Extracción | extract/config | extractor, fallos y esquema |
| Tri-state/completitud | paquete registry | suite completa del paquete |
| Revisión/corrección | drafts + UI | tests de drafts, preview y typecheck web |
| Cola | queue/jobs | jobs, dead-letter y lifecycle |
| Mapa/worker | field-map/resolver/filler/driver | suites registry y worker; bundle |
| Envío | submit + Tenki | mocks únicamente; nunca envío real |
| Auditoría/agentes | audit/agent | claves fail-closed, alcance y no mutación |
Verificación observada
Sección titulada «Verificación observada»pnpm --filter @pokta/biobadamex-registry testpnpm --filter @pokta/biobadamex-registry-worker testpnpm --filter @pokta/api test -- <archivos enfocados>pnpm exec turbo run typecheck --forceEn el commit documentado: registry 190 pruebas, worker 41, API enfocada 156 y typecheck forzado 12 tareas, todas pasaron. No se ejecutaron migraciones, despliegues, consultas clínicas ni escrituras al registro.
Riesgos que deben permanecer visibles
Sección titulada «Riesgos que deben permanecer visibles»- Texto clínico en claro dentro del payload de extracción.
- Desidentificación de mejor esfuerzo.
- Checklist de aprobación principalmente cliente-side.
- Worker best-effort para campos no fatales.
- Mapa incompleto y con ambigüedades.
- Sin read-back campo por campo.
- Registry-submit sin política específica de reintento.
- Descripciones médico-facing pendientes en pipeline config.