Commit Graph

2 Commits

Author SHA1 Message Date
agent a4d63cd768 feat(playground): chat web sobre claude_pipe --stream (SSE)
Backend Go (web/server.go) que sirve un chat single-page y, por cada mensaje,
lanza claude_pipe --stream como subprocess y reenvia sus eventos NDJSON
(text_delta + result) al navegador via Server-Sent Events. Frontend vanilla
(web/index.html), sin frameworks ni node_modules.

Prueba el stack completo end to end a traves de una surface real: captura PTY ->
vt_render -> parse_claude_tui (con fix del spinner) -> delta de streaming ->
chat en vivo. Cada mensaje es una sesion claude one-shot (sin memoria entre
turnos). Playground del padre, no indexado.
2026-06-03 23:42:03 +02:00
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