{"ok":true,"total":21,"dutls":[{"obs":"obs77","version":"0.8.18-obs77 (candidata, 1-time de syaksic)","sha256":"2b1429b629ee21a56ccfa1c00fbd27b89478b2a0a621a663353b88d987478306","bytes":1383043,"publicada":"2026-10-03T06:36:40.881Z","resumen":"base   FUTLS 0.8.17-obs76 (al museo) · produccion futls / intacta DUTLS nace de FUTLS: GWAPI-CLIENT en vez de GWAPI-MIN (relevo + respaldo cifrado contra GWAPI-SERVER primitivo https://dutls.telabs.cl/gwapi). DUTLS 1-time de syaksic: ficha base precargada (verificable) + Mision 1 para completarla + VAULT por vincular/importar/recuperar del servidor. Homologar se transforma en Upgrade: al entrar se adopta la obs, Volver es Deshacer."},{"obs":"obs78","version":"0.8.19-obs78 (1-time de syaksic)","sha256":"b1791c156ac14fc7c6f47cb34481888caf53f488d0374245657b15dfc213c244","bytes":1386555,"publicada":"2026-10-03T07:35:56.097Z","resumen":"base   DUTLS 0.8.18-obs77 · produccion futls / en obs76 · servidor primitivo vivo DUTLS dice DemoUTLS en toda la UI (typo Demo Unidad TeLabS, bienvenida, diagrama, ficha, banda, edition). Acceso del almirante: dueno + dispositivo + enlace con id (?room=, valido en este dispositivo) + landing en / que redirige a tu sala. Homologar es Upgrade en todo lo visible. Toggles fijos al viewport (misma posicion abierto/colapsado). Fuera SALA EN BLANCO. Locales con iconos + filtros propios;"},{"obs":"obs79","version":"0.8.20-obs79","sha256":"7409259e81848ceb5e891d15986897e46be4f01ce60d425c927cc802970afeb3","bytes":1407015,"publicada":"2026-10-03T08:50:55.642Z","resumen":"STEPS ya no monta el input de chat: la tira queda con el paso. AUTO consume una PILA BASE de 7 nodos que nace al cargar. Registro verificado contra el servidor + huella de navegador al abrir. GWAPI-SERVER 0.2.0: + /v1/registro/verificar y + /panel. store.js: las escrituras se encolan (repo.change ya no se pisa consigo mismo)."},{"obs":"obs80","version":"0.8.21-obs80  (candidata; obs79 sigue viva en /obs79/)","sha256":"0fe012c3d72e40ab6a9b2cfb5fce07ec688ff6600b866ca39845dcf3c6c81413","bytes":1406374,"publicada":"2026-10-03T13:59:29.283Z","resumen":"Encargo del Almirante, escrito en el builder del GWAPI-SERVER:   «los botones de contraer estan sobrepuestos sobre el contenido del panel lateral    y se ve desordenado, ademas cuando los paneles laterales colapsan, se sigue    viendo su contenido» Que se hizo:   1. El boton de contraer ya no es position:fixed a 110px (flotaba ENCIMA del"},{"obs":"obs81","version":"0.8.22-obs81","sha256":"5e70e4e4c7bf0fd5aad48d3eca13addce891fbc728459bb740ed8e3bdac17192","bytes":1406733,"publicada":"2026-10-03T15:11:45.539Z","resumen":"Encargo del Almirante: «otra vez me mueves los botones de contraer y expandir de las barras laterales y necesito que se mantengan en la misma ubicacion de contraidos para no mover el mouse si hago abrir y cerrar». El boton va con coordenadas FIJAS dentro del panel, las mismas con el panel abierto y colapsado. Para que no se moviera habia que sacarlo de dentro del .pane-sticky (position:sticky): su caja cambia entre estados y lo recorría 4px en X y 8px en Y."},{"obs":"obs82","version":"0.8.23-obs82","sha256":"11b384989c34f71194b2dbb093d1febea1639cef1f5ffd02bae3046359865782","bytes":1406779,"publicada":"2026-10-03T17:17:42.943Z","resumen":"Encargo del Almirante: «los botones de colapsar expandir quedan detras del titulo, fuerza que queden por sobre el resto de elementos». Diagnostico: NO era posicion, era CAPA, y habia dos capas de bug. 1) .pane-toggle era position:absolute SIN z-index dentro de .pane-sticky{z-index:5},    y el .pane-heading va despues en el DOM: lo pintaba encima. 2) LA QUE DE VERDAD LO MATA: esa misma regla declaraba z-index DOS veces. Un z-index:7"},{"obs":"obs83","version":"0.8.24-obs83","sha256":"249fd19303b7b0112b9a46064310445d8b629a454f0e8b0faf6bf8132c49744e","bytes":1408174,"publicada":"2026-10-04T06:08:20.694Z","resumen":"Corrige los 4 defectos de obs82 que reporto Vlady (2026-10-04) y apunta al GWAPI-SERVER separado. 1) generarPostaHomologacion ya NO timbra versionSala: pedir la posta no es haber consolidado nada.    Solo deja constancia (posta-generada); el timbre lo pone el paso de adoptar (vistaHomologar). 2) La cache del prompt de archivos se invalida por CONTENIDO, no por identidad de objeto    (una edicion in-place devolvia el prompt viejo). 3) Una ruta sin archivo o sin contenido de texto se omite y se avisa cuantos; antes TypeError."},{"obs":"obs84","version":"0.8.25-obs84","sha256":"7ae7d3d818d4a37eefa9897e084b3488c5b67dc9433f418262de4e9c251adf50","bytes":1405520,"publicada":"2026-10-04T07:03:48.294Z","resumen":"Una sola pieza: el CENSO DE IAs. Las tres listas (Herramientas web, Proveedores, Locales) se funden en un modulo con tres contadores y la KDB. 1) Censo unificado: web X/N (validadas en esta sala), proveedores Y/N (con apikey + por cuenta vinculada en una herramienta web/local), locales Z/N (detectadas + reportadas por ti). 2) KDB por API con la fecha de cada registro (Ver KDB): evidencia, login, entrada maxima verificada, bloqueo, \"registro del\". modelos.json embebido refrescado desde la KDB (97 modelos). 3) GWAPI: token en el VAULT (no en la sala ni en respaldos), «Conectar GWAPI»; la cabecera dice en que modo esta la sala y que falta. 4) Latido (P-301): solo lo que el navegador sabe (procesadores logicos, deviceMemory aprox., heap JS, cuota de almacenamiento), declarado fuente=navegador. No inventa RAM/CPU del sistema. 5) Sincronizar FS (P-301): sobre cifrado AES-GCM + gzip en el navegador, barrido de secretos antes de subir, CAS contra pisar versiones nuevas, abre una sala nueva al bajar."},{"obs":"obs85","version":"0.8.26-obs85","sha256":"9833652ada7fdef197cf8dad0bdb37c1a49b11ce8cb1a12bcffa59c4fa43c340","bytes":1409091,"publicada":"2026-10-04T07:39:28.091Z","resumen":"IDENTIDAD (reporte de Vlady 04-10, ALTO): la sala ya no trae una persona escrita en el despliegue. 1) La ficha del dueño sale de la SESION de GWAPI (token -> /v1/api/yo), con solo lo que el servidor confirma (cuenta y rol); el resto es DESCONOCIDO hasta que lo escribe la persona. Sin sesion NO se escribe ficha y la sala no atribuye nada a nadie. 2) Si la sesion es de otra persona que el dueño declarado de la sala, avisa y bloquea toda escritura («Esta sala es de otra persona») y ofrece abrir una sala nueva a su nombre. 3) Una sola verdad del estado: la cabecera y el «registro con el servidor» salen del mismo token («conectada a GWAPI como <cuenta>»). Titulo de la pagina neutro hasta que la sesion diga de quien es. 4) El registro de equipo ya no usa 'syaksic' por defecto ni se hace sin sesion (antes cualquier visitante sumaba visitas y equipos a esa cuenta). 5) Barrido de exportacion: nueva familia «ficha de dueño sin sesion que la respalde» (nombre+ocupacion escritos en DATA/ficha/ sin una sesion que los respalde)."},{"obs":"obs86","version":"0.8.27-obs86","sha256":"4fc7e021efd3437842897e0ce53c2abe34cedfc0413caae8be1815853ffddea5","bytes":1426022,"publicada":"2026-10-04T08:18:18.985Z","resumen":"SIN TOKENS: el equipo se vincula una vez y entra solo, firmando. 1) Digipass de la DUTLS: al vincular, este navegador genera una clave P-256 NO exportable (IndexedDB). GWAPI conoce su parte publica. La sala entra sola firmando un reto: nadie pega ni teclea ningun token. Vincular exige UNA aprobacion humana con el codigo de 6 digitos que muestra la sala (panel de GWAPI o desde otra DUTLS ya vinculada). 2) Fuera: el campo de token, la «sala ajena» y los modales de bloqueo. Una ficha heredada de otra persona se corrige sola al vincular (si la cuenta es la del dueño declarado se conserva y se respalda). 3) El grupo se llama «Modelos LLM» (Herramientas web, Proveedores, Locales). Locales tiene «+ Agregar» como las demas vistas y cuenta las reportadas. 4) Latido: que reporta la sala: procesadores logicos, memoria del dispositivo (aprox.), heap de la propia web (usado/reservado/tope), archivos y tamaño del FS, eventos de la sala, almacenamiento/IndexedDB, tiempo abierta y latencia. Fuente: navegador; no inventa RAM/CPU del sistema. 5) FS sincronizado por DIFERENCIALES y en tiempo real: contenidos direccionados por sha256 + manifiesto con CAS. Solo viajan los archivos que cambiaron (probado: 3 nuevos = 3 contenidos, 1 cambiado = 1, borrar = 0). Cambios locales suben solos; cambios de otro equipo bajan solos (sondeo 10 s). Barrido de secretos antes de subir."},{"obs":"obs87","version":"0.8.28-obs87","sha256":"0fc162619cfa9a8f55c804112046c95c1210b14e6c3490617e0aa4a91a6cdc1d","bytes":1426431,"publicada":"2026-10-04T08:29:57.218Z","resumen":"Corrige la pantalla «Este equipo»: la accion principal («Vincular este equipo») ahora esta al CENTRO de la pantalla y «Reintentar conexion» solo aparece si GWAPI no respondio (antes, sin vincular, el unico boton visible al centro era «Reintentar» y el de vincular quedaba solo en la barra inferior). El resto es obs86 sin cambios. Pruebas: e2e 32/32, fichas heredadas 11/11, nivel 9/9, regresion obs83 12/12, parser 11/11."},{"obs":"obs88","version":"0.8.29-obs88","sha256":"134ffd110e87b1012336f0d2bba71a43567a60f91394f548160c545ee08f4eaa","bytes":1420310,"publicada":"2026-10-04T09:01:06.654Z","resumen":"SIMPLE: el Almirante crea un enlace de UN SOLO USO por persona desde el panel; abrirlo vincula ese navegador y queda todo conectado. La proxima vez que entre a https://dutls.telabs.cl/ esta su DUTLS. 1) Vinculacion por enlace (https://dutls.telabs.cl/#invitacion=...): sin codigos, sin tokens, sin aprobaciones en pantalla. El enlace se borra de la barra al abrirse y no se guarda. Un navegador pertenece a una sola persona. 2) Fuera todo lo de «sala ajena» (migracion, reemplazo, barrido, dueño): no existe, asi que no se corrige. La ficha solo se crea desde la cuenta vinculada si falta. 3) Posta para OPERAR = solo el texto necesario, sin relleno (~2k tokens). completa / media / minima son MODO PRUEBA, se eligen a mano. 4) El aviso «ya esta abierta en otra ventana» ya no se dispara contra si mismo al recargar (marca por pestaña). Requiere GWAPI-SERVER con enlaces de un solo uso (/v1/dispositivo/canjear)."},{"obs":"obs89","version":"0.8.30-obs89","sha256":"b899229fd1b0787bbdd7f1609b3aedf351197b5382c892a0422fdbf12b17843b","bytes":1424110,"publicada":"2026-10-04T09:44:49.555Z","resumen":"UPGRADES TRANSPARENTES, y el panel manda. 1) Al abrir una version nueva la sala se adopta SOLA (sin pasar por ninguna pantalla) y avisa: «Tu DUTLS se actualizo sola: A -> B. Tus datos siguen intactos; si algo falla, la anterior sigue en https://dutls.telabs.cl/obsNN/». En «Este equipo» queda el enlace a la anterior. Volver atras para todos = «Volver a la anterior» en el panel. 2) El Almirante puede FORZAR la actualizacion desde el panel (DUTLS vigente > Forzar actualizacion): las DUTLS conectadas se recargan solas en ~10 s. 3) Si hay una version vigente distinta de la que corre, la sala avisa («Hay una version nueva: se aplica sola al recargar»). 4) «Este equipo» > «Abrir el panel de GWAPI»: el almirante entra al panel desde su DUTLS vinculada, con un enlace de un solo uso (sin pase). Requiere GWAPI-SERVER con recarga forzada y /v1/dispositivo/panel."},{"obs":"obs90","version":"0.8.31-obs90","sha256":"0e59f2f0d02d42c0743e1a14b3ce1bd8f4b94582f0b7b5817f045b81f015f0bc","bytes":1428962,"publicada":"2026-10-04T09:56:58.525Z","resumen":"COMENTARIOS AL BUILDER y ROADMAP DE LECTURA. 1) «Este equipo» > «Comentarios»: cualquier usuario deja una idea, un problema o una pregunta; llega a la bandeja del Builder en el panel de GWAPI. El Almirante decide: al roadmap, pendiente o descartado (con motivo), y quien comento ve la decision y la nota. 2) «Este equipo» > «Roadmap»: la linea de tiempo del proyecto en solo lectura (resumen por estado y detalle de cada hito). Requiere GWAPI-SERVER con /v1/comentarios y /v1/roadmap/linea. Pruebas: e2e Chromium obs90 10/10."},{"obs":"obs91","version":"0.8.32-obs91","sha256":"3f531612119c12bd6ece79aac7d9b0515fee82bb7c2a6f401e4a1c870bfcfd23","bytes":1434520,"publicada":"2026-10-04T10:27:03.983Z","resumen":"RECEPTOR DE OTP en la DUTLS. 1) Boton «Seguridad» (escudo) junto al de la ficha, arriba. Su modal muestra los codigos OTP que pide el panel de GWAPI para TU cuenta, con cuenta regresiva y boton Copiar. Si llega uno nuevo, el modal se abre solo; el punto amarillo del boton avisa. 2) Solo lo lee un equipo vinculado de esa misma cuenta (sesion de equipo); el codigo vive 5 min y solo en memoria del servidor. Requiere GWAPI-SERVER con /v1/otp/bandeja. Pruebas: e2e Chromium obs91 12/12."},{"obs":"obs92","version":"0.8.33-obs92","sha256":"955425c695e0a76bcdf91a289e0ba8c319921a85e497082ed3bc4d77e6900c19","bytes":1446681,"publicada":"2026-10-04T11:02:52.643Z","resumen":"FS CIFRADO DE EXTREMO A EXTREMO (aprobado por el Almirante). 1) Clave AES-GCM-256 por cuenta. En cada equipo vive como CryptoKey NO exportable; para tus otros equipos se guarda envuelta con TU FRASE (PBKDF2-SHA256, 600.000 vueltas). El servidor nunca ve la clave ni la frase. 2) El servidor guarda solo ciphertext: cada archivo cifrado y el indice de rutas tambien. No ve nombres, contenido ni hashes del texto (sigue viendo cuantos blobs y su tamano). 3) Sin clave NO se sincroniza nada: el modal «Seguridad» pide crear la frase (primer equipo) o escribirla (equipos nuevos). Nunca se sube nada en claro. 4) Migracion: el FS que estaba en claro se reemplaza por el cifrado; el recolector del servidor borra los blobs viejos. Aviso: si pierdes la frase y todos tus equipos, no hay recuperacion. Una frase debil se puede adivinar sin conexion con el sobre que guarda el servidor: usa una larga."},{"obs":"obs93","version":"0.8.34-obs93","sha256":"1be6d2304f3ce46292500a1ef0c3a74c83e6c86ed53c6af573a815396562793e","bytes":1446944,"publicada":"2026-10-04T15:35:09.108Z","resumen":"ARREGLA «Vincular apikeys locales» (A4 de Vlady). Causa medida: botonVaultEnPanel() hacia insertBefore con un nodo anidado -> NotFoundError; como la vista es async, quedaba una promesa rechazada y la vista nunca se pintaba. Ahora lo decorativo es tolerante: la vista siempre se pinta con su selector de carpeta. Incluye el FS cifrado de obs92. Pruebas: e2e obs93 5/5 (con control: en obs92 falla), e2e obs92 cifrado 21/21."},{"obs":"obs94","version":"0.8.35-obs94","sha256":"29610b2f683b0d4741dd51e3d62a4c209b73e740c8b38016ca305d490aebacbd","bytes":1449605,"publicada":"2026-10-04T15:45:43.300Z","resumen":"IDENTIDAD DE VERDAD (cierra 9000a24c de Vlady). Antes: la sesion y la ficha eran de la cuenta, pero registro.dueno, registro.dispositivo y la pila de AUTO seguian siendo de la persona anterior (Auto pedia \"Ficha de syaksic\" a vlady). 1) quienSoy(): la cuenta que GWAPI confirma es la unica fuente. verificarAcceso() ya no avisa \"pertenece a otro\" cuando hay sesion de GWAPI. 2) Al vincular, registro.dueno y registro.dispositivo se atan a la cuenta, y los nodos de la pila de AUTO que nombraban a otra persona se reponen con el texto vivo (conservando \"Hecho ·\"/\"Stop ·\"). 3) Un OTP que llega con el modal abierto ya no borra la frase que estas escribiendo. Incluye obs93 (Vincular apikeys) y obs92 (FS cifrado). Pruebas: e2e obs94 8/8 (control: en obs93 falla), obs92 21/21, obs91 12/12, obs93 5/5."},{"obs":"obs95","version":"0.8.36-obs95","sha256":"320f089579c874ca78c3b9b9596707c753c54b37d2d5e0aa3b686989ac8cdb09","bytes":1449688,"publicada":"2026-10-04T16:03:38.447Z","resumen":"ROADMAP con dos estados mas: RESUELTO (verificado funcionando) y CERRADO (aceptado, sin mas trabajo). Ciclo: pendiente -> en curso -> hecho -> resuelto -> cerrado; descartado = no se hace. Incluye identidad (obs94), Vincular apikeys (obs93), FS cifrado (obs92). Requiere GWAPI-SERVER con los estados nuevos. Pruebas: e2e obs90 11/11."},{"obs":"obs96","version":"0.8.37-obs96","sha256":"e82758fa8ba0c06968b2767e28405134f95bf3679046e0aaa7aa0bf59578a845","resumen":"LO PEDIDO POR VLADY (A4/A5 y el incidente de las llaves en el FS). 1) GUARDIA DE SECRETOS AL GUARDAR: cargar carpeta, cargar archivos y guardar desde el editor se niegan si lo nuevo parece una llave (antes solo se revisaba al exportar). El aviso dice archivo:linea, nunca el valor, y que las llaves van al VAULT. Cargar una carpeta es atomico: si una trae llave no entra nada. 2) Aviso de una linea e","publicada":"2026-10-04T17:07:27.608Z"},{"obs":"obs97","version":"0.8.38-obs97","sha256":"ae95cf51defc7c94b48a2c4f5acfc3e73d88e68cdfde7221cb935c54e6eecd71","resumen":"VERSIONES DEL FS (obs4). Este equipo → «Versiones del FS»: GWAPI conserva tu FS actual y las 3 revisiones cifradas anteriores; aqui ves cuando se hizo cada una y que archivos tenia (los nombres se descifran en TU navegador, el servidor no los ve) y puedes restaurar una. Restaurar publica esa revision como la nueva actual: lo que deshaces queda tambien en la lista, y tus otros equipos se ponen al d","publicada":"2026-10-04T17:31:03.695Z"}],"fuente":"https://dutls.telabs.cl"}