WookcomDocsIr a Wookcom ↗

Revisión independiente y decisiones

Revisión única de la rama completa: 1f2ab9e..890696b, 21/10/2026. El revisor trabajó en lectura y reprodujo los fallos en pruebas aisladas. Se aplicó una sola pasada de correcciones para los cinco hallazgos Critical/Important; no hubo una segunda revisión delegada.

Hallazgos corregidos

  1. Critical: publicación al aceptar recuperación remota. Adoptar la nube se trata ahora como una versión ya confirmada, sin programar guardado ni publicación. Una edición local posterior conserva el comportamiento elegido por el propietario para publicación automática.
  2. Important: documentos aceptados que el editor no puede abrir. La validación estructural del cargador se comparte con el MCP antes de persistir. Fondos y tipografía global respetan sus límites reales; las pruebas comprueban rechazo y lectura posterior con migrateProject.
  3. Important: eventos remotos descartados durante recuperación. Se retiene el candidato con mayor revisión y la resolución lee esa referencia actual. Un evento más antiguo no lo reemplaza.
  4. Important: incompatibilidad con proyectos anteriores. Consentimiento, aprobación, lecturas y listas normalizan el formato desde la ruta interna de la cuenta verificada. Se admiten ownerId, ownerUid y formatos antiguos sin ese campo, pero cualquier propietario contradictorio se rechaza. Las pruebas recorren consentimiento HTTP, concesión, lectura, lista y edición.
  5. Important: cuota de OAuth compartida por el proxy. El adaptador productivo activa la identidad de ingreso Vercel únicamente con VERCEL=1. Se usa x-vercel-forwarded-for solo si contiene una IP válida; el ingreso directo utiliza el socket e ignora headers falsificados. Las cuotas privadas siguen ligadas a la concesión. Contrato de plataforma: Request headers de Vercel.

Cada regresión falló antes de su corrección: recuperación esperaba revisión3 y recibía1; aceptación de nube hacía un save sin edición; fondo inválido no se rechazaba; consentimiento antiguo devolvía503; otro cliente tras treinta registros recibía429. Las mismas pruebas pasan después.

Minor corregido en la continuación aprobada

Escribir durante «conservar local» ya no crea un conflicto si el texto nuevo está incluido en la resolución. El coordinador puede incorporar una edición mientras espera la lectura remota. El hook compara el contenido de su snapshot actual con la intención local, en vez de tratar cualquier cambio de referencia como otro conflicto. Se mantiene la protección para una intención aún no incorporada y para conflictos reales del coordinador.

Dos regresiones fallaron antes de corregir: tras resolver se esperaba conflict=null, pero se mantenía un candidato ya superado. Ambas pasan después, con acuse inmediato y retrasado, un solo guardado y sin publicación automática. La suite completa del editor pasa con137 pruebas. Esta continuación no añade otro proceso de revisión delegada.

Registro exhaustivo de decisiones (Rulings)

  1. Base Firestore con nombre. Admin usa la misma base configurada que el cliente para el proyecto correspondiente; demo usa la predeterminada. El plan omitía ese detalle. Si la selección fuese incorrecta, los proyectos quedarían en otra base; hay regresión de configuración.
  2. Pantalla de proyecto no disponible. Se añadió en App para enlaces autenticados inválidos: dejar ready=false produciría un spinner permanente. Pendiente menor: afinar texto/localización.
  3. Herramientas de navegador adelantadas. Playwright/axe, previstos en tarea8, se instalaron en tarea7 para ejecutar sus comprobaciones visuales. Solo aumenta el lock de desarrollo previsto, sin dependencia productiva adicional.
  4. Zoom permitido. Se retiró la prohibición global del viewport por un fallo real de accesibilidad. Permite ampliar toda la plataforma; algunos diseños anteriores podrían necesitar ajustes con ampliación elevada.
  5. Descubrimiento también como archivos de build. Vercel reserva rewrites .well-known; la misma fábrica genera archivos públicos y respuestas Node. Cambiar los orígenes exige reconstrucción; solo esos metadatos admiten CORS público sin credenciales.
  6. Revisión declinada de infraestructura productiva. No se ejecuta despliegue ni cambios de IAM porque esta entrega autoriza implementación y PR. La configuración fuente fue revisada; un error específico del alojamiento podría aparecer al activar y requiere comprobar las rutas y permisos antes de exponerlo.
  7. Revisión declinada de cuentas externas reales. ChatGPT, Gemini y Claude se prueban después de disponer de despliegue y cuentas autorizados. El SDK real y los emuladores acreditan protocolo/persistencia; no acreditan políticas, disponibilidad ni interfaz de esas cuentas.

La rama y el PR no equivalen a un endpoint productivo activo. La activación y sus comprobaciones están descritas en deployment.md.