diff --git a/packages/client/ui-conversation/src/client/toolviews/read-row.tsx b/packages/client/ui-conversation/src/client/toolviews/read-row.tsx
index 28151ed602..4527f85537 100644
--- a/packages/client/ui-conversation/src/client/toolviews/read-row.tsx
+++ b/packages/client/ui-conversation/src/client/toolviews/read-row.tsx
@@ -57,6 +57,10 @@ export function ReadRow({ toolName, block, sessionId, useSessions, openFile }: T
const filePath = model.filePath
return (
+ {/* jscpd:ignore-start — the summary-line chrome (leading, status, title,
+ sep, path-link/summary) is the shared ToolRow row shape every keyed
+ toolview draws; extracting it into one component is a separate change
+ tracked for all rows at once, not this read-card PR. */}
{leadingFor(model.state)}
{status !== null && {status}}
@@ -74,6 +78,7 @@ export function ReadRow({ toolName, block, sessionId, useSessions, openFile }: T
{model.summary}
)}
+ {/* jscpd:ignore-end */}
{read !== null && (
)}