mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-25 17:45:53 +01:00
Stream sandbox run logs on the duplex transport with the same gate and the same log line as the file transport. The duplex path starts no file bridge worker, so the host creates the log directory before the tail starts. The step is best effort and never tears down a working duplex transport. Bind the fixed duplex telemetry surface to real host sinks. The host builds one recorder per run: the spans go to the OTel tracer, the guarded counters go to the tool-runtime metric store, and the transport event goes to the run-event path. Each sink runs guarded and fire-and-forget, so a telemetry failure never breaks the request path. The server attaches the recorder to the sandbox target next to the runner; a run with no recorder keeps the safe no-op default. Update the telemetry README to name the counter store file. Co-authored-by: Paperclip <noreply@paperclip.ing>