{"id":"PROJECT_STATUS","title":"Estado de desarrollo","version":"nav88-20261106-v1","date":"2026-11-06T13:00:28.036818+01:00","classification":"PUBLIC_REVIEW","sha256":"441d07d26446cd25f60d2b6c9db37b0fb348065abd12b1786a0bf7490a336f9a","read_url":"/api/review/PROJECT_STATUS","total_bytes":11668,"fragment_count":1,"document_sha256":"441d07d26446cd25f60d2b6c9db37b0fb348065abd12b1786a0bf7490a336f9a","fragmented":false,"content_markdown":"# PROJECT_STATUS\n\n## Prueba real limitada de lectura - 06/11/2026\n\nPrueba funcional NO SUPERADA: tres GetExpCli PRODUCCION, HTTP 200 en todos,\npero GLS devuelve Error: \"No se encuentra la expedicion\". Se enviaron los\nnumeros compuestos agencia-CODEXP; no se ha probado el CODEXP aislado.\nCero expediciones/acontecimientos incorporados; Buscar 80 muestra cero filas.\nNo se han rellenado resultados con datos esperados de Extranet.\n\nContador PRODUCCION 10 a 13; TEST/laboratorio 11 sin cambios. Tres llamadas,\ncero retries, sin operaciones complementarias. Bloqueos y scope restaurados.\nRequiere revisar el selector y nueva autorizacion antes de otra consulta.\nVer FIRST_REAL_GLS_SYNC_REPORT: evidencia, integridad, cuotas y limites.\n\n## Registro anterior: etapa D\n\n## Estado vigente: etapa D, 06/11/2026\n\nValidacion final: 374 pruebas correctas y actualizacion concurrente 17 a 18.\nDesplegado y comprobado: 56 tablas, 115 indices, 18 migraciones y 93 rutas\nadministrativas, sin eliminar ninguna de las 90 anteriores. Servicios 80/85/88\ny PostgreSQL activos. Centro habitual propio configurado y cifrado. Tres pruebas\nadicionales de interfaz correctas; ninguna llamada GLS ni trabajo iniciado.\n\nAdaptador iClientes conectado al flujo Grabar del puerto 80, pero creacion\nreal bloqueada. Credenciales resueltas solo al ejecutar una accion autorizada,\nintento unico, evidencia duradera, identificadores/eventos/etiquetas persistidos\ny conciliacion local sin reenvio. Busqueda sigue exclusivamente PostgreSQL.\n\nTrabajador GetExpCli de conocidas implementado, sin servicio ni activacion.\nImportador administrativo con revision, deduplicacion, estimacion, trabajos\npausados y detalle por elemento. No enumera por fechas ni descarga POD.\nCentros remitentes cifrados, varios por cuenta y habitual configurable.\nAdministracion reorganizada en seis areas, enlaces previos conservados.\n\nMigracion 018 aditiva, backup restaurado y pruebas sinteticas. Cero llamadas\nGLS: iClientes PRODUCCION 10, iClientes TEST 6, REST 5, historico TEST/lab 11,\ntotal21. No se cambian proxy, puertos, servicios de impresion ni credenciales.\n\nLa primera prueba real requiere una autorizacion posterior y activacion\ncontrolada del despliegue, cuenta y cuotas, ademas de permisos minimos sobre\nUID y red del servicio 80. No existe desbloqueo desde la web.\nVer STAGE_D_REPORT para alcance y riesgos; TEST_RESULTS para verificaciones.\n\n## Registro historico: etapa C\n\n## Estado vigente: etapa C, 06/11/2026\n\nLa interfaz operativa local del puerto 80 esta desplegada. Autenticacion con\nlos usuarios existentes, sesion propia y roles actualizados en cada acceso.\nNo se ha publicado una interfaz operativa nueva en Internet ni se ha tocado\nel proxy. El acceso documental externo sigue siendo el canal HTTPS 85.\n\n### Grabar envios\n\nBorrador cifrado, edicion por revision, validacion mediante el contrato GLS\nexistente, seleccion de cuenta prevista y servicio/horario del catalogo local,\ndatos de partes, bultos, peso, reembolso y referencia. Revision y confirmacion\nexclusivamente SIMULADAS. El intento reutiliza coordinador, diario cifrado,\nconciliacion y cuotas. Una simulacion no solicita UID ni abre un transporte\nGLS: utiliza una cuenta local sin credenciales y namespace propio.\n\nEl boton real permanece deshabilitado y la ruta de confirmacion real responde\n423 tras autenticar y comprobar CSRF. No existe sender real conectado a este\nflujo. Ninguna politica administrativa permite saltar ese bloqueo.\nEl laboratorio previo del puerto 88 conserva su funcionamiento independiente.\n\n### Buscar envios\n\nBusqueda PostgreSQL con Hoy, Ayer, Ultimos siete dias, Este mes, Mes anterior\ny rango personalizado. Filtros combinables por entrega, COD, incidencia,\ntransportista, cuenta, destinatario, referencia e identificador. Paginacion,\nficha, partes, identificadores, cronologia versionada y documentos locales.\nLas simulaciones estan separadas y excluidas de la busqueda operativa inicial.\nNo se consulta GLS al buscar ni al abrir una ficha.\n\nNo se han introducido datos de demostracion en el repositorio activo. Los\ntests usaron PostgreSQL temporal y datos ficticios; por tanto una busqueda\nreal vacia no significa un fallo ni una importacion completa.\n\n### Administracion y documentacion\n\nInventario de 90 rutas y 36 plantillas administrativas, con menus, permisos,\ndependencias y representaciones textuales. Propuesta de seis areas preparada,\nsin cambiar la navegacion principal del 88. Desde Plataforma se accede al\nimportador, preparacion de sincronizaciones y cuotas.\n\nImportador: texto de Extranet, deduplicacion y revision, ambiguos apartados,\nmaximo 25 candidatos seleccionados por lote, trabajo cifrado y PAUSADO.\nSincronizacion/POD: preparacion de conocidos y entregados elegibles, no\nejecucion. No hay worker, importaciones masivas ni descargas automaticas.\n\nJSON documental: /api/review, /api/review/PROJECT_STATUS y bundle. Markdown\ncompleto con hash; fragmentos reconstruibles si supera limites. Solo copias\nsanitizadas y canal activado. No se accede a PostgreSQL ni originales.\n\n### Verificacion\n\n349 pruebas correctas, incluidas regresiones previas. Upgrade 16 a 17 con\ncuatro migradores concurrentes y conservacion de filas. Backup restaurado:\n53 tablas y 106 indices previos. Estado final: 54 tablas, 111 indices,\n17 migraciones; servicios 80/85/88 y PostgreSQL activos.\n\nCero llamadas GLS. iClientes PRODUCCION 10, iClientes TEST 6, REST 5;\nhistorico TEST/laboratorio 11, total externo 21. Los intentos simulados no\ncrean filas en api_requests ni alteran los contadores GLS.\n\nLectura JSON verificada desde cliente HTTPS ordinario: HTTP 200, MIME JSON,\nhash del Markdown correcto. La herramienta web de OpenAI de este entorno\nsigue devolviendo un error generico sin codigo HTTP; no se ha eludido ni\natribuido al servicio ese error. Ver AUDIT85_DIAGNOSTIC.\n\nPendiente: revision humana de interfaz e inventario, preparacion del sender\nreal bajo nueva autorizacion, ejecucion controlada del importador y posterior\nsincronizacion. GetEnvios no frena el trabajo, pero sigue sin contrato de\nenumeracion validado. Cerrar dia sigue fuera de alcance y bloqueado.\n\n## Registro historico: etapa B\n\n## Estado actual: etapa B, 06/11/2026\n\nEtapa B implementada y desplegada sobre la VM existente. PostgreSQL pasa\nde 39 a 53 tablas y de 13 a 16 migraciones; indices: 59 a 106. El servicio\nprivado y PostgreSQL estan activos; health y ready devuelven HTTP 200.\nNo se han realizado llamadas GLS, impresiones, importaciones ni cambios\nen el proxy, DNS o infraestructura de otras maquinas.\n\n### Funcionalidad disponible\n\n- Repositorio comun de expediciones y bultos con cuenta y transportista.\n- Identificadores externos literales, referencias y deduplicacion por cuenta.\n- Observaciones cifradas, snapshots de partes y acontecimientos versionados.\n- Estados administrativos, ciclo de vida y resultado diferenciados.\n- Documentos cifrados e inmutables con metadatos y SHA-256, sin descargas.\n- Diario duradero de creacion, intento unico y conciliacion por replay local.\n- Trabajos de lectura con leases, checkpoints, pausa, reanudacion y reintentos\n  acotados. No se instala ni se inicia un worker automatico.\n- Nucleo comun de cuotas con reservas concurrentes, prioridades, horarios,\n  presupuesto 50 %, excepciones auditadas y limites oficiales inviolables.\n- Pantalla administrativa de solo lectura `/admin/platform` en puerto 88.\n\n### Limites de entrega\n\nEl nuevo repositorio esta vacio: no se han convertido automaticamente las\nevidencias o expediciones del laboratorio. Se han creado dos cuentas de\nmetadatos con referencias a los secretos existentes, sin copiar sus valores.\nAmbas cuentas estan inactivas y con transmision/creacion desactivadas.\nEl interruptor global del flujo nuevo esta desactivado.\n\nEl laboratorio previo sigue separado y no se presenta como un flujo ya\nmigrado al coordinador nuevo. No existe todavia el adaptador de envio real\nde etapa C ni la interfaz operativa del puerto 80. El gestor nuevo se\ninvoca desde servicios backend; conectar todos los clientes anteriores y\nsu administracion editable pertenece a la siguiente etapa.\n\nContadores conservados: iClientes PRODUCCION 10, iClientes TEST 6,\nREST 5; historico TEST/laboratorio 11; total registrado 21.\n\n### Canal documental\n\nHTTPS publico anonimo verificado con cliente estandar: HTTP 200 en raiz,\nmanifiesto y documentos. Certificado y SNI validos. Solo A publico; no AAAA.\nNo se reproduce el fallo por User-Agent. La herramienta web de OpenAI\nsigue indicando inaccesibilidad sin proporcionar estado HTTP; no consta\nllegada de esos intentos a la VM. No esta acreditado un fallo del servicio.\nVer `AUDIT85_DIAGNOSTIC` para evidencia y limitaciones.\n\n### Preparacion para etapa C\n\nOrden: Grabar envios, Buscar envios, y solo despues Cerrar dia cuando\nexista contrato validado. La persistencia y la conciliacion ya tienen\nprimitivas probadas; falta unir el adaptador GLS validado al nuevo flujo,\nlos permisos/confirmacion de usuario y la interfaz operativa. No se debe\nactivar creacion real como consecuencia de este despliegue.\n\nPara continuar: validar borrador, persistir intencion e idempotencia,\nreservar cuota, confirmar explicitamente, enviar una vez, guardar recibo,\ninterpretar y confirmar el commit. Ante ambiguedad, no repetir.\n\nPruebas finales: 319 correctas. Backup restaurado antes de migrar. Ver\nDATABASE_CHANGELOG, TEST_RESULTS, ARCHITECTURE_DECISIONS y API_QUOTA_STATUS.\n\n## Registro historico: etapa A\n\nFecha: 06/11/2026. Etapa A: canal documental de auditoria.\n\n## Alcance\n\nSe prepara un servicio independiente en puerto 85 y su control administrativo\nen puerto 88. Publicacion anonima autorizada expresamente para copias tecnicas\nrevisadas. No es un acceso anonimo a TRANSPORT HUB ni una cuenta de ChatGPT.\n\nEl canal estara deshabilitado al entregar. La habilitacion no solicita datos a GLS.\nLa publicacion externa th85.aeizoon.com corresponde al responsable del proxy.\nNo se ha modificado el proxy ni se han creado expediciones o descargado POD.\n\n## Funciones de etapas posteriores\n\n- B: evolucion del unico repositorio PostgreSQL, cuentas e identidad, eventos y normalizacion.\n- C: Grabar, Buscar y ficha en puerto 80, reutilizando los conectores existentes.\n- D: cuotas, importador por texto Extranet, trabajos y sincronizacion en puerto 88.\n- E: recuperacion progresiva de documentos y POD con presupuesto validado.\n- F: Cerrar dia visible pero bloqueado mientras falte contrato oficial.\n\nEl puerto 80 no se considera implementado con este hito. El importador no\nse ha ejecutado y no existe aun enumeracion API por cuenta/fechas acreditada.\nLa busqueda futura sera local y diferenciara cobertura completa de parcial.\n\n## Entrega incremental\n\nEl resultado de tests y las verificaciones reales de despliegue se registran\nen TEST_RESULTS e IMPLEMENTATION_LOG antes de dar por aceptada esta etapa.\nNo se avanzara a llamadas GLS reales por el mero hecho de aprobar el desarrollo.\n\n## Resultado tecnico del despliegue\n\nServicio documental activo en 85, deshabilitado al terminar. Panel 88\ncon health/ready HTTP 200. Doce documentos completos, 26 representaciones\ny 29 archivos permitidos contando indice, manifiesto y CSS.\n\nActivacion/desactivacion del motor comun comprobada realmente por HTTP;\nel control web tiene pruebas de administradores, CSRF y renderizado. La\nvalidacion con una sesion humana normal del 88 corresponde a Juan; no se\nha suplantado una sesion ni creado una cuenta para la prueba.\n\nPreparado para configurar la publicacion externa por el responsable del\nproxy. Esa publicacion HTTPS y la ausencia de cache intermedia todavia\ndeben comprobarse desde fuera; no se presentan como realizadas.\n"}