Skip to content

Investigación / placeholder: hallazgos de Backscroll surgidos del análisis de Homeserver #485 #198

Closed
3 of 3 issues completed

Description

@pablontiv

Contexto

Durante la investigación de Homeserver #485, el agente utilizó Backscroll para explorar miles de sesiones locales. El operador quiere un punto de seguimiento en Backscroll para posibles bugs, límites y problemas de integración observados al usar Backscroll desde Homeserver, sin convertir hipótesis no reproducidas en defectos confirmados.

Este issue es un placeholder de clasificación / investigación, no un «bug corregible» único y todavía no autoriza cambios de código.

Señales concretas a verificar

Según la sección Límites de la primera pasada de Homeserver #485:

  1. L1 — backscroll validate --json agotó 300 segundos sin veredicto de integridad. La reejecución posterior consta como resuelta en el informe de Homeserver; recuperar comando exacto, escala, duración y resultado final antes de atribuir un bug.
  2. L2 — sync_in_progress y snapshots con denominadores diferentes en búsquedas/censos. Investigar si la lectura de un snapshot anterior es comportamiento documentado, defecto o una mala interpretación del consumidor.
  3. L3 — backscroll patterns produjo cero eventos en proyectos con abundantes registros de herramientas Pi, como drive y roadmapctl. La investigación reporta luego L3 como resuelto en su reejecución; determinar si la causa es cobertura de reader/patterns, filtrado/configuración, selección de proyecto o un defecto real.

Importante: el informe actualizado de Homeserver indica L1–L7 y L9–L11 resueltos respecto de sus límites de investigación. «Resuelto» no demuestra que se haya corregido un defecto de Backscroll. Hay que distinguir limitación del análisis original, comportamiento correcto del producto y bug reproducible.

Trabajo de investigación / triage

  • Leer las evidencias originales y las reejecuciones citadas en los comentarios de Homeserver #485; identificar versión de Backscroll, plataforma, opciones CLI, estado de sync/índice, tamaño de corpus, salidas, tiempos y selectores de proyecto.
  • Para cada señal, escribir: comportamiento esperado por contrato público, comportamiento observado, reproducción mínima (cuando sea posible), resultado comprobado y clasificación bug | limitación documentada | integración/uso | inconcluso.
  • Verificar duplicados en el backlog de Backscroll antes de abrir tickets nuevos; enlazar las auditorías y bugs existentes que expliquen el caso.
  • Si se confirma un defecto independiente, derivarlo a un issue por comportamiento reproducible, con caso de prueba sugerido, impacto y evidencia. No agrupar bugs de origen diferente bajo una implementación común.
  • Si la necesidad real es que otro sistema consulte hallazgos/sesiones locales desde ChatGPT, coordinar con Homeserver #486 sin convertir Backscroll en el propietario de la conectividad externa.

Entregable

Matriz de las señales L1/L2/L3 con evidencia, veredicto, issue existente o issue derivado si aplica y recomendaciones de prueba. Conservar vínculos a fuentes originales y evitar copiar contenido sensible de sesiones al issue público/compartido.

Criterios de cierre

  • Localizar fuentes y resultados posteriores de las tres señales.
  • Clasificar cada señal con evidencia verificable, sin presumir que sea bug.
  • Descartar o vincular duplicados de Backscroll.
  • Abrir únicamente los issues de bug confirmados que hagan falta; dejar los demás como limitaciones o hallazgos documentados.
  • Registrar conclusiones en este issue.

Solo análisis y seguimiento. No implementaciones, modificaciones de código, ejecución de agentes ni cambios en índices o sesiones productivas en este alcance.

Activity

  1. pablontiv commented on Oct 17, 2026

    @pablontiv
    OwnerAuthor

    Contexto y evidencia

    Derivado de #198 y pablontiv/homeserver#485. Fuente cotejada en main, HEAD f280884a359f88e0e71bef48d69b0a1052d6fa30. Las mediciones siguientes ya fueron ejecutadas en la investigación; este triage no ejecuta builds ni modifica el índice. Evidencia local (no adjunta ni pública): /tmp/backscroll-485-handoff/reports/. Solo se publican conteos, comandos y referencias de código.

    Matriz final de clasificación

    Los informes dicen «resuelto» como límite de investigación, no como fix publicado. Informes y parches locales permanecen como localizadores de evidencia ya ejecutada, no enlaces públicos ni garantías de acceso remoto.

    Señal Comportamiento esperado Observado Evidencia local / código main Veredicto Seguimiento
    L1 validate Veredicto íntegro con comprobación de postings, sin SLA de latencia publicado valid=true; 1.021,91 s; índice 5.211.697.152 bytes; reconstrucción TEMP FTS, no lock colgado lim-backscroll-integrity.md:1-4,67-69; internal/storage/fts_validation.go:17-40 limitación documentada #163
    L2 sync_in_progress Follower read-safe usa snapshot confirmada compatible y avisa; invocaciones distintas pueden observar commits distintos Dos status busy; luego startup 4,652 s sin warning y censos asentados; después otro owner volvió a producir warning lim-backscroll-integrity.md:8-36,99-124; cmd/backscroll/startup_coordination.go:239-255; docs/adr/0003-coordinar-sync-entre-procesos.md:24-41; docs/audit-integration.md:7-10 limitación documentada Este #198; el consumidor debe registrar snapshot/tiempo, no asumir transacción global entre comandos
    L3 Pi Llamadas nativas soportadas alimentan commands/failures con señal conocida o desconocida Cero Pi tool_events; parche aislado recupera 180.616 calls / 6.707 fallos; tabla por proyecto en issue lim-pi-census.md:17-128; internal/readers/pi_reader.go:148-150,180-184; internal/storage/sync.go:374 bug #199
    L4-codex Metadata nativa de llamadas conservada; resultados no duplican calls 62.115 registros tool pero 0 eventos; parche: 1.184 archivos / 67.569 registros / 30.150 llamadas lim-codex.md:260-409; internal/readers/codex_reader.go:170-194 bug #200
    L6-opencode Sesiones nativas diferentes conservan identidad propia en una misma fuente 32.640 registros, un source_path, UUID NULL; parche recupera 429 sesiones distintas lim-uniform-metric.md:125-218; internal/readers/opencode_reader.go:176-183,201-209 bug #159, propietario existente
    search cap limit/offset y límites de discovery definidos y observables Sin tipo: 200 candidatos por FTS; streams tipados con páginas 300/offset alcanzan más; el límite genérico documentado no explica el agotamiento silencioso lim-uniform-metric.md:80-90,222 y ledger; internal/storage/search.go:59-77,370-377; docs/search.md:261 bug #201; evidencia relacionada en #77, sin atribuir inversión BM25 actual
    zst Preset JSONL ingiere formatos anunciados; zstd no está prometido Iterator no descomprime .jsonl.zst; parche streaming temporal; 0 sesiones indexables ausentes en producción lim-codex.md:304-308 y cobertura comprimida; internal/sync/jsonl.go:22-34; inputs/codex.inputs.toml limitación documentada Sección de limitación en #200; sin bug separado
    pi-subagents Discovery opt-in disjunto; exclusión posterior conserva historia perenne Manifest excluye run-*/session.jsonl pero índice conserva drive 4.869 calls/207 paths y roadmapctl 2.860/54; reingesta temporal sin exclusión recupera cobertura lim-pi-census.md:9-11,85-87; docs/input-contract.md:247-269; política de #99 limitación documentada #99; sin bug nuevo

    Ramas de trabajo comprobadas

    pablontiv/audit-fts-validate tip 27d352d9f678b6808f1a0b12cea11bf4532b9106: propietario del mecanismo FTS de #163; evidencia de coste añadida allí, sin afirmar mejora de rendimiento. pablontiv/ingestion-policy tip 1ae1311 documenta política V19, retención de fuentes excluidas e identidad OpenCode en su árbol; no se confunde esa rama con comportamiento desplegado/main.

    Búsqueda de duplicados ejecutada (open y closed)

    Comando base: gh issue list -R pablontiv/backscroll --state all --search '<consulta>' --limit 100 --json number,title. Además se consultó el inventario completo --limit 300 --json number,title,state,body y los cuerpos de #159/#163/#99/#77/#145.

    Consulta Hits relevantes / resolución
    Pi tool #98 envelopes, #99 discovery, #100 tests y auditorías generales; no propietario del mapeo de tool_events
    "ToolName" "Pi" 0; repetida inmediatamente antes de #199
    Codex tool #96 origin, #64 echo, auditorías generales; no propietario de tool_events
    "ToolName" "Codex" 0; repetida inmediatamente antes de #200
    search candidate #77, #145 y auditorías generales; #77 orden BM25, #145 list/patterns
    "candidate cap" #77; repetida antes de #201; mismo límite relacionado, defecto residual distinto del orden invertido
    validate FTS #163, #132/#135/#136 y antecedentes de integridad; evidencia del coste añadida a #163
    "validate" "performance" #166, #155, #133, #101, #134, #131; sin propietario adicional específico
    subagent #99, #98, #101, #100; política explícita de #99
    sync_in_progress #198 y #133; ADR 0003 confirma contrato
    zstd 0; formato no prometido y ningún impacto indexable medido

    Cierre del entregable

    Fuentes localizadas, todas las señales clasificadas, duplicados reconciliados, bugs independientes registrados y evidencia nueva comentada en sus propietarios existentes. Los issues derivados #199/#200/#201 se vinculan como sub-issues mediante API de GitHub. #159/#163/#99 mantienen ownership y estado histórico. No se hicieron cambios de código, ramas, PRs, Dagu, builds, tests ni escrituras en el índice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions