v0.7.1: fix console blank page (span_ids) + UI rename (Agent Traces / HTTP Logs)#177
Merged
Conversation
added 3 commits
June 23, 2026 14:14
…lank page) The OTel rename made the traces API serialize `span_ids` (formerly `call_ids`), and the rename updated the API-path hooks — but the `AgentTurnDetail` type and the `agent-breakdown` component were missed and still read `call_ids`. At runtime `turn.call_ids` is undefined, so `turn.call_ids.length` throws `TypeError: undefined is not an object`. With no React error boundary, that render throw blanks the entire console — which is the white screen seen after the v0.7.0 production upgrade. The soak gates exercise backend invariants, not frontend rendering, and the stale type kept tsc green, so it reached prod. Align the type + component to `span_ids` and guard with `?.` so a future missing field degrades to "0 calls" instead of a white screen.
…anges"→"HTTP Logs"
Align user-visible labels with the OTel model: the top-level list is a
trace (one agent interaction); a step within a trace is a turn/span.
Renamed: sidebar nav labels, the trace-detail title ("Agent Trace
Detail"), the overview gauge ("Active Agent Traces" + "Open traces"), the
metadata "Trace ID" row, the agent-session-detail empty/error/load-more
states, the SFT batch-export tooltip, the HTTP list error/empty states
("HTTP logs"), and the agent-distribution chart legend.
Left unchanged on purpose: backend metric names (agent_turns_open),
pipeline stage/metric-group names ("turn"), route paths (/agent-turns,
/http-exchanges), component/hook/variable identifiers, and the SFT-domain
term "multi-turn trajectory".
Patch release: console blank-page hotfix (span_ids alignment) + UI vocabulary rename (Agent Traces / HTTP Logs). See CHANGELOG [0.7.1].
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Patch release v0.7.1 — fixes the production console blank-page regression
introduced by the v0.7.0 OTel rename, and aligns the UI vocabulary with the
trace/span model.
Fix (P0) — blank page
The v0.7.0 OTel rename made the traces API serialize
span_ids(formerlycall_ids) and updated the API-path hooks — but theAgentTurnDetailtype andthe
agent-breakdowncomponent were missed and still readcall_ids. At runtimeturn.call_idsis undefined, soturn.call_ids.lengththrowsTypeError: undefined is not an object. With no React error boundary, that render throwblanks the entire console whenever an agent trace detail is opened.
The soak gates exercise backend invariants, not frontend rendering, and the stale
TS type kept
tscgreen — so it reached production.Fix: align the type + component to
span_ids, guard the access with?.so amissing field degrades to "0 calls" instead of a white screen. Audited the rest
of the frontend↔backend response fields —
span_idswas the only field-levelrename, all hooks already call
/api/traces*+/api/spans*, and theagent_turns_openmetric name still matches.Rename — UI vocabulary
A trace is one agent interaction; a step within it is a turn/span. Renamed
user-visible labels accordingly:
SFT export tooltip, distribution chart legend
Left unchanged: backend metric names, pipeline stage/metric-group names, route
paths, code identifiers, and the SFT-domain term "multi-turn trajectory".
Version
VERSION SSOT + Cargo.toml + package.json + Cargo.lock → 0.7.1; CHANGELOG [0.7.1].
Release path
After merge,
mainruns ci → deploy-staging → {staging-soak, ebpf-soak}. Onceboth stamps land, tag
v0.7.1on that commit to let release.yml cut the release;deploy-prod gates on manual approval.
Verification
cargo check -p heron, consoletsc -b+buildall pass.