diff --git a/components/chat.tsx b/components/chat.tsx
index 22d209d..2f1557e 100644
--- a/components/chat.tsx
+++ b/components/chat.tsx
@@ -292,10 +292,11 @@ export function Chat({
// Sub-agent delivery (wake-pipeline steer): NO message bubble — the
// artifact card sits in the transcript column directly, full width
// and centered like the teacher's artifacts (contracts.ts "THE ASYNC
- // PROTOCOL" §4).
-
+ // PROTOCOL" §4). Key fallback: legacy transcripts (pre id-hygiene)
+ // can still hold empty ids — the index keeps keys unique for them.
+
) : (
-
+
{m.role === "user" ? (
// User text renders plain: the model's LaTeX pipeline is not