You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(harness): coerce non-dict span input/output so spans aren't dropped
The SGP spans API requires a span's input/output to be an object: a scalar or
string payload is rejected with a 422 ("Input should be a valid dictionary") and
the async processor drops the span. The reasoning-span fix records the
chain-of-thought as a plain-string output, so reasoning spans were silently
dropped — observed as "0 reasoning traces" in the golden agent while tool spans
(dict output) survived. Some harnesses' tool results are also plain strings and
would hit the same 422.
Coerce at the tracer boundary: wrap any non-dict input/output under a single key
({"output": ...} / {"input": ...}); dicts and None pass through unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments