Tool Call Card Alignment

Nucleic-Session: FFDE42E0-22AB-4478-B2E2-FF69B2753CEE
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-05 19:37:32 -07:00
co-authored by Nucleic
parent e7e742cef4
commit 2cdb1f48de
@@ -146,9 +146,8 @@ enum TranscriptProjection {
var locksByCall: [String: [NoteLock]] = [:]
var folded = Set<Int>()
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.