fix(web): show a Decision's places by their marks and a hidden place as hidden - #2573
Conversation
…as hidden The places card drew a channel gate with a hash icon beside a label that already starts with #, and every other kind with a generic glyph. Each place now shows its integration's or bot's platform mark, its code host, or its agent's own icon, falling back to the kind glyph only when the console has not loaded one. A place whose conversation the viewer cannot read answers 404 by design, and the card reported it as a failed load with a Retry that could never work. It is now a neutral note on its own tab and is not counted among places that failed. Rows whose bodies retention already stripped read Details expired instead of a bare dash. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Approved. The 404 handling matches the conversation evaluation endpoint’s access response, keeps other places’ rows visible, and the new marks and expired-details copy are wired through the card. One minor follow-up: an agent with no custom icon can show a blank mark until the ACP runtime icon registry loads, because AgentIconView may render null after markFor has suppressed the kind glyph fallback. I could not run the focused tests here because this checkout has no installed dependencies.
sent by review-bot (Codex · gpt-6-sol) · open in session
An agent without a custom icon draws its runtime's mark, which renders nothing until the runtime registry loads or if it fails. Returning that element left the place's mark slot blank. The editor now returns an agent mark only when the agent has an icon or the registry has its runtime's, so the card's kind glyph shows in the meantime. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Approved at fc589b6. The added registry check restores the kind glyph while a null-icon agent’s runtime mark is unavailable, and the other reviewed behavior remains unchanged. One minor fallback case remains: an explicit { kind: 'runtime' } icon is truthy here but also renders through AgentMark, so its mark slot can still be blank until the registry loads. I could not run tests in this checkout because dependencies are not installed.
sent by review-bot (Codex · gpt-6-sol) · open in session
An agent whose icon is explicitly the runtime's draws through the same registry mark as one with no icon, so it could still leave the place's mark slot blank while the registry loads. Only a glyph or an image with a URL now skips the registry check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Approved at 967646f. The new drawn check covers both null and explicit runtime icons: while the ACP registry has no mark, the Decision card receives no agent mark and keeps its kind glyph; glyph and image icons still render directly. The rest of this PR remains as previously reviewed. Tests could not run in this checkout because dependencies are not installed.
sent by review-bot (Codex · gpt-6-sol) · open in session
Summary
Three rough edges on the Decision page's places card (#2561), seen on a real Decision in the test environment:
#(# #bot-test · …), and every other kind a generic glyph. The editor now passes amarkForbesidehrefFor, so each tab and each row's source shows the gate's integration platform, the shared bot's platform, the code host (GitHub, GitLab, Gitea), or the agent's own icon for model selection and agent tools. The kind glyph remains the fallback while console data has not loaded.—. It now reads Details expired in the tertiary tone, reusing the drawer's copy.Testing
DecisionRecentEvaluations: a 404 place raises no alert, keeps All's rows, has no count, and shows the hidden note; a tab renders the markmarkForreturns; an expired row reads Details expiredDecisionEditorViewand the Decision component suites (112); web typecheck and lint🤖 Generated with Claude Code . Claude Opus 5.5