From 2cdb1f48de1be6a224f652d5387040bcf1a35110 Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Sun, 5 Jul 2026 19:37:32 -0700 Subject: [PATCH] Tool Call Card Alignment Nucleic-Session: FFDE42E0-22AB-4478-B2E2-FF69B2753CEE Co-authored-by: Nucleic --- .../Views/Transcript/TranscriptProjection.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift b/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift index f31ca2f..5ffe54c 100644 --- a/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift +++ b/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift @@ -146,9 +146,8 @@ enum TranscriptProjection { var locksByCall: [String: [NoteLock]] = [:] var folded = Set() for (i, item) in flat.enumerated() { - guard case .note(_, _, true) = item.kind, - case .note(let note) = noteEvent(item)?.kind ?? .turnCompleted(TurnCompleted()), - let lock = note.lock, !lock.paths.isEmpty else { continue } + guard case .note(_, _, true, let noteLock) = item.kind, + let lock = noteLock, !lock.paths.isEmpty else { continue } // Route each path to the nearest preceding edit card that touches it, so a multi-file // note brackets each file's own card. Fold only when *every* path lands on a card; a // partial match stays a single standalone row rather than splitting across cards.