{"schema":"tux_workers_health_report","schemaVersion":1,"moduleId":"gateway","service":"rmx-worker-dashboard","version":"0.9.24","status":"down","ready":false,"observedAt":"2026-09-26T06:15:13.485Z","checks":[{"id":"health_kv","label":"HEALTH_KV","passing":true},{"id":"admin_secret","label":"DASHBOARD_ADMIN_TOKEN","passing":true,"detail":"Bearer, sesion y CSRF comparten una autoridad de al menos 32 bytes."},{"id":"access_identity","label":"Acceso unico del Centro de control","passing":true,"detail":"Una sola validacion Cloudflare Access protege todos los modulos publicados por el Gateway."},{"id":"event_ingress_secret","label":"TUX_EVENT_INGRESS_SECRET","passing":true},{"id":"event_ingress_context","label":"Event ingress V2 por ambiente, cuenta y host","passing":true},{"id":"plugin_readiness_secret","label":"TUX_PLUGIN_READINESS_SECRET","passing":true,"detail":"Firma atestaciones runtime de vida corta sin autorizar releases."},{"id":"plugin_release_approval_secret","label":"TUX_PLUGIN_RELEASE_APPROVAL_SECRET","passing":true,"detail":"Autoridad separada que aprueba SHA, entorno y vencimiento del release."},{"id":"plugin_invocation_master_secret","label":"TUX_PLUGIN_INVOCATION_MASTER_SECRET","passing":true,"detail":"Deriva credenciales de invocacion aisladas por plugin, entorno, cuenta, servicio, binding y revision."},{"id":"plugin_account_scope","label":"TUX_PLUGIN_ACCOUNT_SCOPE","passing":true,"detail":"Scope SHA-256 propiedad del Gateway; nunca se acepta desde formularios ni manifests de plugins."},{"id":"plugin_hub_authority","label":"PLUGIN_HUB_AUTHORITY","passing":true,"detail":"Durable Object transaccional para rate limits y replay claims del Hub."},{"id":"target_contract","label":"Aislamiento contractual plug-and-play","passing":false,"detail":"6 ejecutable(s); 5 aislado(s) sin rutas; 0 fallo(s) esperado(s) por estado BLOCKED. Diagnóstico: collab: discovery: endpoint respondio HTTP 404"},{"id":"service_bindings","label":"Service Bindings registrados","passing":true,"detail":"11 binding(s) disponibles; 6 ejecutable(s); 5 complemento(s) conservan diagnóstico sin rutas."},{"id":"cache_api","label":"Cache API","passing":true},{"id":"ui_shell","label":"Panel claro para el equipo","passing":true,"detail":"Explica qué funciona, qué necesita atención y cuál es la siguiente acción; usa UIkit 3 y se adapta al celular."},{"id":"internal_modules","label":"Modulos internal autenticados","passing":true,"detail":"0 módulo(s) montado(s), 1 aislado(s) por contrato."}],"dependencies":[]}