Skip to content

bug: Pi omite eventos estructurados de herramientas y señales nativas de fallo #199

Closed

Description

@pablontiv

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.

Defecto y reproducción

internal/readers/pi_reader.go:148-150 descarta role=toolResult; :180-184 serializa toolCall pero omite ToolName/CommandHead/ToolUseID/IsError. internal/storage/sync.go:374-396 solo inserta tool_events con ToolName no vacío. Así, herramientas buscables no producen eventos de patrones.

Con una entrada Pi y llamadas nativas, ejecutar:

backscroll patterns --kind commands --project drive --json --limit 0
backscroll patterns --kind failures --project drive --json --limit 0

Resultado original: cero eventos; repetir para roadmapctl y los seis proyectos de la tabla. Consulta diagnóstica sobre copia de índice de solo lectura: SELECT count(*) FROM tool_events WHERE source_path LIKE '%/.pi/%';. No interpretar ausencia de señal como éxito.

Experimento ya ejecutado

lim-pi-census.md:17-128, incluidos comandos y ledger: reingesta aislada con parche recuperó 180.616 llamadas / 6.707 fallos nativos en el conjunto medido. Ocho proyectos originalmente a cero:

Proyecto Llamadas Pi Fallos nativos
drive 14265 590
roadmapctl 8734 463
pi 4773 190
gentle-pi 948 32
pi-auto-router 4319 81
pablontiv-handbook-profile 1631 55
spike-agent-browser-poc 1413 41
design-concise-mentor-telemetry 662 43

Tabla ampliada y cobertura: informe :108-124; handbook conserva 65 llamadas en un path no redescubierto y sus fallos reconstruidos son cota inferior. Estos son eventos, no sesiones ni incidentes. Exclusión opt-in de subagentes y retención perenne son política independiente (#99), no la causa del defecto del reader.

Parche experimental ejercitado: /tmp/backscroll-485-handoff/pi-reader.patch; propuesta local, no fix integrado.

Contrato esperado y aceptación

  • Cada llamada nativa soportada produce un único tool_event con nombre, ID nativo y command head cuando proceda.
  • El resultado se empareja por ID nativo; isError conserva verdadero/falso/desconocido, sin convertir resultados en llamadas adicionales ni inferir éxito por ausencia.
  • Una prueba de regresión conductual ingiere fixtures Pi con llamadas/resultados intercalados, éxito, fallo y resultado ausente, y verifica filas de tool_events y salidas commands/failures.
  • Los archivos existentes sin cambios recuperan metadata mediante el mecanismo soportado de replay/epoch; se conserva la historia perenne y se documenta el límite de fuentes no disponibles.
  • Documentación del reader y patrones describe cobertura y señales desconocidas.

Duplicados: inventario completo open/closed y búsquedas Pi tool, "ToolName" "Pi"; #98 trata envelopes y #99 discovery, no este mapeo.

Activity

  1. pablontiv commented on Oct 20, 2026

    @pablontiv
    OwnerAuthor

    Pregunta

    Map demonstrated native Pi tool calls and results into structured tool events with supported replay.

    BASIS

    Existing deterministic reader/storage and per-format replay contracts; issue199 documents exercised native data and isolated recovery experiment, with no new external runtime.

    REVIEW

    TriageReview199

  2. added a commit that references this issue on Oct 20, 2026
    ba91ddf
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