Files
claude_pipe/playground/README.md
T
agent 22bec25d8d fix: stream usa ultimo frame + playground artifact_probe
- streamAnswer: el result final es el ULTIMO answer parseado (frame post-idle,
  limpio) en vez del mas largo, que podia ser un frame intermedio con spinner.
- playground/artifact_probe.go: herramienta de auditoria que corre oneshot +
  stream contra varios prompts, detecta artefactos del render que se cuelan
  (box chars, status bar, spinner, palabras pegadas, prompt echo) y verifica
  consistencia del streaming (concat de deltas == result). Opcional --ref para
  comparar con claude -p real. No se indexa (playground del padre).

El fix del spinner en si vive en parse_claude_tui_go_tui (repo padre): detecta
la linea de carga por estructura (glyph + palabra + ellipsis) y firma
((Ns tokens) / esc to interrupt), no por la palabra, que cambia cada frame.
2026-06-03 23:37:39 +02:00

47 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# claude_pipe — artifact probe (playground)
Herramienta desechable para auditar la calidad del parseo de la TUI que hace
`claude_pipe`. No se indexa, no tiene `app.md`, vive dentro de `apps/claude_pipe/`
y se mueve con su sub-repo.
## Qué comprueba
Por cada prompt, lanza el binario `claude_pipe` en modo one-shot y en modo
`--stream`, y busca:
1. **Artefactos** que se cuelan del render en la respuesta parseada: caracteres de
caja (`╭│╰`), reglas horizontales (`────`), fragmentos de la status bar
(`CTX:`, `IN:`, `$…`, `← for agents`), la línea meta `✻ Crunched`, el prompt
``, el carácter de reemplazo ``, palabras pegadas (>40 chars sin espacio), o
el prompt repetido literalmente.
2. **Consistencia del streaming**: la concatenación de los `text_delta` debe
reconstruir el `result` final. Si no, la heurística de prefijo perdió o duplicó
texto bajo reflow.
3. **(Opcional, `--ref`)** discrepancia contra `claude -p` real para el mismo
prompt (normalizado por espacios). claude no es determinista, así que solo los
prompts triviales se espera que coincidan exactamente.
Sale con código 2 si encuentra artefactos o inconsistencias (para poder usarlo
como gate).
## Cómo lanzarlo
```bash
cd apps/claude_pipe
CGO_ENABLED=1 go build -tags fts5 -o claude_pipe . # asegúrate de tener el binario
cd playground
# Set de prompts por defecto, sin comparar con claude -p
go run artifact_probe.go --root /home/enmanuel/fn_registry
# Comparando además contra `claude -p` real (gasta llamadas reales)
go run artifact_probe.go --root /home/enmanuel/fn_registry --ref
# Un solo prompt custom
go run artifact_probe.go --root /home/enmanuel/fn_registry --prompt "tu prompt aqui"
```
`--root` debe ser un repo cuyos MCP de claude ya estén aprobados, para que la TUI
no muestre el diálogo de arranque.