diff --git a/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift b/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift index 6f52da4..6b41b81 100644 --- a/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift +++ b/NucleicRemote/NucleicRemote/Views/Transcript/TranscriptProjection.swift @@ -347,6 +347,12 @@ enum TranscriptProjection { return change.toolCallID.flatMap { parentOf[$0] } case .assistantText(let chunk), .thinking(let chunk): return chunk.parentToolCallID + case .note(let note): + // A lock/nvrsion note tagged with the edit it brackets inherits that edit's subagent + // scope — like a `.toolResult`/`.fileChange` — so a subagent's lock-acquire or + // nvrsion-land note nests in its card instead of leaking to the main transcript. An + // untagged note (a turn-end release, a user git note) has no owner. + return note.toolCallID.flatMap { parentOf[$0] } default: return nil }