Repository navigation
Description
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 0Resultado 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
pablontiv commentedon Oct 20, 2026
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
fix(pi): capture native tool events and replay result signals (#204)