16 KiB
16 KiB
Registro de situaciones detectadas
Instrucciones para el agente
Cuando el usuario pida documentar un error, incidencia o comportamiento inesperado en pruebas con browser-tool, debes:
- Crear una nueva entrada usando la plantilla de este archivo.
- Escribir informacion concreta y verificable, sin suposiciones vagas.
- Incluir siempre evidencia trazable (
artifact, log, salida de tool o reporte). - Indicar estado actual (
pendiente,en analisis,resuelto,descartado). - Si aplicaste una correccion, anotar que se cambio y como se valido.
- No borrar entradas anteriores; agregar nuevas y, si aplica, actualizar el estado de la entrada ya existente.
- Usar fecha y hora local en formato
YYYY-MM-DD HH:mm.
Objetivo: mantener un historial operativo claro para depurar, priorizar y cerrar hallazgos durante desarrollo y pruebas.
Plantilla de entrada
Entrada (YYYY-MM-DD HH:mm)
- Contexto:
- Flujo probado:
- Situacion observada:
- Resultado esperado:
- Resultado real:
- Evidencia (artifact/log/report):
- Hipotesis de causa:
- Accion aplicada:
- Validacion posterior:
- Estado: pendiente | en analisis | resuelto | descartado
- Notas:
Entradas
Entrada (2026-04-23 00:00)
- Contexto: Inicializacion del registro.
- Flujo probado: N/A.
- Situacion observada: Se crea el archivo para consolidar hallazgos futuros.
- Resultado esperado: Disponer de un formato unico para registrar incidencias.
- Resultado real: Archivo creado correctamente.
- Evidencia (artifact/log/report):
opencode-browser-tool/docs/REGISTRO_SITUACIONES.md - Hipotesis de causa: N/A.
- Accion aplicada: Creacion de plantilla e instrucciones de uso.
- Validacion posterior: Pendiente de primeras entradas reales.
- Estado: resuelto
- Notas: Punto de arranque para seguimiento de situaciones durante pruebas.
Entrada (2026-04-23 19:42)
- Contexto: Prueba funcional de buscador externo para validar paginacion y localizacion de dominio en resultados.
- Flujo probado: Abrir Google, buscar
barranquismo granada, navegar resultados y avanzar conSiguientehasta encontrarbarranquismogranada.com. - Situacion observada: La sesion fue redirigida repetidamente a
https://www.google.com/sorry/index(bloqueo anti-bot), impidiendo una paginacion normal y fiable. - Resultado esperado: Avanzar por paginas de resultados y devolver la posicion real del dominio objetivo.
- Resultado real:
NO_ENCONTRADO max_paginas=8, condicionado por bloqueo anti-bot antes de completar el flujo de paginacion real. - Evidencia (artifact/log/report):
/tmp/opencode_google_paginacion.jsonl(tool outputs concurrentUrlen/sorry/indexy timeout en espera de URL de resultados). - Hipotesis de causa: Deteccion de automatizacion por Google para esta sesion/IP y bloqueo por challenge.
- Accion aplicada: Reintento en modo visible y ajuste de flujo; se mantuvo bloqueo. Ademas se implemento en la tool captura automatica en error (
autoSnapshot) y tool de observacion intermedia (browser_observe) para no cortar sin evidencia. - Validacion posterior: Validado en fixture local que ante error se adjunta
autoSnapshot+observation; validadobrowser_observecon screenshot de mitad de flujo. - Estado: en analisis
- Notas: Caso util para definir politica de handoff humano/CAPTCHA y estrategia de pruebas en buscadores con anti-bot.
Entrada (2026-04-23 21:15)
- Contexto: Reintento de la misma prueba en Google con flujo mejorado (consentimiento + observacion intermedia + captura automatica en error).
- Flujo probado: Buscar
barranquismo granada, avanzar por resultados y localizarbarranquismogranada.com. - Situacion observada: Se gestiono consentimiento (
Rechazar todo), pero tras enviar busqueda Google redirigio asorry/index(verificacion humana). - Resultado esperado: Continuar paginacion y devolver posicion real del dominio.
- Resultado real:
BLOQUEADO_HUMANO. - Evidencia (artifact/log/report):
- screenshot:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T21-14-38-965Z-error-browser_wait.png - log de ejecucion:
/tmp/opencode_google_retest.jsonl
- screenshot:
- Hipotesis de causa: Mecanismo anti-bot de Google (challenge humano) en esta sesion/IP.
- Accion aplicada: Rechazo de cookies + reintento visible + observacion automatica.
- Validacion posterior: Pendiente de handoff humano para superar challenge y continuar la misma prueba.
- Estado: en analisis
- Notas: El nuevo mecanismo de
autoSnapshotybrowser_observefunciono correctamente y aporta evidencia util en mitad del flujo.
Entrada (2026-04-23 21:23)
- Contexto: Reintento forzado de la prueba "si o si" con clic explicito de verificacion humana.
- Flujo probado: Google -> consentimiento -> busqueda -> detectar
sorry/index->browser_observe->browser_handle_human_check-> reintento de salida a resultados. - Situacion observada: La herramienta intento clic en controles de human-check, incluido intento de checkbox reCAPTCHA en iframe, pero no encontro un control clicable en esta sesion.
- Resultado esperado: Resolver challenge humano y continuar paginacion.
- Resultado real:
BLOQUEADO_HUMANO. - Evidencia (artifact/log/report):
- screenshot antes:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T21-21-49-250Z-human-check-before.png - screenshot despues:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T21-22-16-015Z-human-check-after.png - autosnapshot en error:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T21-22-11-037Z-error-browser_wait.png - log:
/tmp/opencode_google_humanclick_retest.jsonl
- screenshot antes:
- Hipotesis de causa: Challenge anti-bot no expone checkbox clicable directo en este contexto/IP/sesion.
- Accion aplicada: Añadida tool
browser_handle_human_checky reintento en modo visible. - Validacion posterior: Pendiente de handoff manual humano en la misma sesion para continuar.
- Estado: en analisis
- Notas: El sistema ya no corta sin intentar y ahora deja trazabilidad completa del intento de human-check.
Entrada (2026-04-23 21:48)
- Contexto: Verificacion visual solicitada por usuario para confirmar si la tool realmente intenta el clic de "soy humano".
- Flujo probado: Ejecucion visible con video, captura antes/despues del human-check e intento extendido en iframes/selectores de checkbox.
- Situacion observada: Se ejecuto
browser_handle_human_checkcon intentos en multiples selectores y iframes, pero no encontro control clicable (clicked=false). - Resultado esperado: Clic efectivo sobre control de verificacion humana y salida de
sorry/index. - Resultado real: Sin clic efectivo; permanencia en
sorry/index. - Evidencia (artifact/log/report):
before:/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T21-47-40-040Z-before-human-check-v2.pngafter:/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T21-48-04-615Z-after-human-check-v2.png- video:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/page@980084a2685562a3f2fba478b8730d98.webm - log:
/tmp/opencode_google_watch_click_v2.jsonl
- Hipotesis de causa: El challenge mostrado en esta sesion no expone checkbox clicable automatizable con los selectores actuales.
- Accion aplicada: Ampliacion de estrategia de clic (iframes + selectors checkbox + fallback por texto).
- Validacion posterior: Confirmado por salida de tool (
clicked=false) y evidencia visual. - Estado: en analisis
- Notas: Para completar esta prueba en este entorno, se requiere handoff manual sobre el challenge actual.
Entrada (2026-04-24 00:18)
- Contexto: Validacion pedida por usuario para comprobar movimiento visible de cursor y scroll real con contenido suficiente.
- Flujo probado: Abrir fixture largo local -> verificar cursor overlay -> hover -> scroll de pagina -> scroll de contenedor -> snapshot/video.
- Situacion observada: Con fixture anterior no habia altura suficiente para probar scroll; se creo fixture nuevo con contenido largo y contenedor interno desplazable.
- Resultado esperado: Evidenciar que el cursor virtual existe y que el desplazamiento cambia posiciones reales de scroll.
- Resultado real: Cursor overlay presente (
#__browser_tool_cursor) y scroll efectivo (movedY=1200en pagina,movedY=420en#scroll-box). - Evidencia (artifact/log/report):
- fixture:
opencode-browser-tool/scripts/fixture_scroll_long.html - screenshot:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T22-18-49-353Z-cursor-scroll-smoke.png - video:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/page@b0a5c648845bfba94a0843fd81d664d9.webm
- fixture:
- Hipotesis de causa: La ausencia de scroll en pruebas previas se debia al contenido insuficiente de la pagina de test, no a fallo de
browser_scroll. - Accion aplicada: Se anadio fixture largo y se enriquecio salida de
browser_scrollcon metricas (startY/endY/movedY/maxY). - Validacion posterior: Build OK y smoke visual OK.
- Estado: resuelto
- Notas: Queda base estable para validar scroll en nuevas regresiones.
Entrada (2026-04-24 00:19)
- Contexto: Retest de Google tras ampliar estrategia de
browser_handle_human_check. - Flujo probado: Google -> consentimiento reject -> busqueda
barranquismo granada->sorry/index-> intento human-check -> observacion antes/despues. - Situacion observada: La tool reporto clic efectivo en ancla reCAPTCHA dentro de iframe, pero la URL continuo en
sorry/indexen este intento. - Resultado esperado: Superar challenge y volver a
/searchpara continuar paginacion. - Resultado real:
clicked=truecon metodoframe:iframe[title*='reCAPTCHA']:#recaptcha-anchor, sin salida inmediata desorry/index. - Evidencia (artifact/log/report):
- before:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T22-19-11-410Z-google-before-human-v3.png - after:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T22-19-13-806Z-google-after-human-v3.png - video:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/page@02542037c2003982eb2da9641c77f00e.webm
- before:
- Hipotesis de causa: El challenge requiere pasos adicionales (puzzle/espera/validacion servidor) tras el clic inicial, o decision por reputacion IP/sesion.
- Accion aplicada: Se amplio
handleHumanCheckcon mas selectores y fallback por coordenadas; se confirmo clic efectivo al menos en una variante. - Validacion posterior: Pendiente retest con handoff manual para completar salida a
/searchy continuar paginacion. - Estado: en analisis
- Notas: Se cierra duda previa de "si la tool clickea o no": ahora hay evidencia de clic efectivo.
Entrada (2026-04-24 00:22)
- Contexto: Reintento de la prueba objetivo completa (Google + paginacion) usando script de regresion v4.
- Flujo probado: Google -> reject consent -> buscar
barranquismo granada-> human-check -> intentar paginacion hasta 8 paginas. - Situacion observada:
handleHumanCheckvolvio a reportar clic efectivo en reCAPTCHA, pero la sesion se mantuvo ensorry/index, impidiendo entrar en/searchy por tanto sin paginacion real. - Resultado esperado: Salir a resultados de busqueda y avanzar paginas hasta encontrar
barranquismogranada.com. - Resultado real:
found=falsecon bloqueo persistente ensorry/index. - Evidencia (artifact/log/report):
- screenshot final:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-23T22-22-24-694Z-google-pagination-v4-final.png - video:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/page@4d214e591bd81c6d279e36fa186d5e0b.webm - script usado:
opencode-browser-tool/scripts/google_pagination_v4.mjs
- screenshot final:
- Hipotesis de causa: El challenge requiere validacion adicional no resuelta por el primer clic (puzzle/espera/verificacion servidor) o mantiene bloqueo por reputacion de sesion/IP.
- Accion aplicada: Ejecutado retest v4 completo tras mejoras de clic en human-check.
- Validacion posterior: Confirmado que el clic se intenta y ocurre (
clicked=true), pero no desbloquea en este entorno. - Estado: en analisis
- Notas: Para completar esta prueba concreta en este entorno sigue siendo necesario handoff manual directo al challenge.
Entrada (2026-04-24 21:10)
- Contexto: Repeticion de prueba de ranking organico tras habilitar modo de perfil persistente y tras login manual previo del usuario.
- Flujo probado: Google -> aceptar cookies -> buscar
barranquismo granada-> resolver posiblesorry/index-> paginar resultados organicos. - Situacion observada: Persistio redireccion inicial a
sorry/index, pero el flujo continuo a/searchy se pudo completar paginacion organica. - Resultado esperado: Obtener posicion del dominio objetivo en resultados organicos.
- Resultado real: Dominio encontrado en pagina 2, posicion 6 organica (rank global 16 en conteo del script).
- Evidencia (artifact/log/report):
- before manual:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-24T19-10-05-886Z-google-v7-before-manual.png - after manual:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-24T19-10-31-757Z-google-v7-after-manual.png - final:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-24T19-10-39-450Z-google-v7-final.png
- before manual:
- Hipotesis de causa: El historial/perfil ayuda, pero no elimina completamente el challenge anti-bot en este entorno.
- Accion aplicada: Ejecucion con
browserKind=testing+persistentProfile=true+userDataDir=/home/pancho/.chromium-perfil-google. - Validacion posterior: Flujo de ranking organico completado y posicion devuelta.
- Estado: resuelto
- Notas: Siguiente comparativa recomendada en este mismo proyecto: repetir con
browserKind=system+ perfil persistente equivalente.
Entrada (2026-04-24 21:28)
- Contexto: Prueba solicitada en
google.escon foco en resultados organicos, clic al resultado encontrado y scroll suave en la web destino. - Flujo probado: abrir Google -> buscar
barranquismo granada-> localizar primer organico con dominiobarranquismogranada.com-> clic -> scroll progresivo hasta abajo. - Situacion observada: La sesion entro directamente a resultados (
/search) sin bloqueosorry/indexen esta corrida. - Resultado esperado: Obtener posicion organica, abrir el resultado y completar scroll hasta el final.
- Resultado real: Dominio encontrado en pagina 2, posicion 7 organica (rank global 17); clic exitoso y scroll completo (
loops=9,lastMoved=0). - Evidencia (artifact/log/report):
- destino bottom:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-24T19-28-57-330Z-google-v8d-destination-bottom.png - final:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-24T19-28-58-023Z-google-v8d-final.png - script:
opencode-browser-tool/scripts/google_es_v8d.mjs
- destino bottom:
- Hipotesis de causa: El perfil persistente aporta estabilidad de sesion para este caso concreto, aunque la posicion organica puede variar por momento/indice localizacion.
- Accion aplicada: Se limitaron esperas extra a maximo 3s en tramo de challenge y se ejecuto scroll por pasos suaves.
- Validacion posterior: Flujo completo terminado correctamente.
- Estado: resuelto
- Notas: Se confirma comportamiento solicitado (clic visible + scroll visible + conteo organico).
Entrada (2026-04-24 22:10)
- Contexto: Prueba solicitada con nueva query en Google:
puertas cortafuegos de madera. - Flujo probado: abrir
google.es-> buscar query -> paginar resultados -> localizar dominiopuertastecnicasbcn.com-> navegar al resultado -> snapshot. - Situacion observada: La navegacion inicial en
google.esacaba sirviendo resultados en hostgoogle.comen esta corrida, manteniendo idioma/contexto ES. - Resultado esperado: obtener posicion del dominio y capturar la pagina destino.
- Resultado real: dominio encontrado en pagina 3, posicion 4 organica (rank global 23), URL
https://www.puertastecnicasbcn.com/puertas-cortafuegos/. - Evidencia (artifact/log/report):
- snapshot destino:
/home/pancho/Documentos/Empresa/IA/opencode-browser-tool/artifacts/2026-04-24T20-10-49-705Z-google-puertas-destination.png - script:
opencode-browser-tool/scripts/google_es_puertas_rank.mjs
- snapshot destino:
- Hipotesis de causa: Variacion normal de SERP por datacenter/sesion/ubicacion.
- Accion aplicada: paginacion automatica + click al resultado encontrado + snapshot final.
- Validacion posterior: prueba completada sin bloqueo de challenge en esta corrida.
- Estado: resuelto
- Notas: Playwright
page.screenshotcaptura viewport de la pagina, no la barra de URL del navegador.