Warning: no stdin data received in 3s, proceeding without it. If piping from a slow command, redirect stdin explicitly: < /dev/null to skip, or wait longer. I can't reproduce this — the code isn't in [another project]. **What I tried:** grepped `Sources/` and `Tests/` (62 Swift files) for `LibraryModel`, `EditPane`, `draftTitle`, `draftBody`, and for the dirty-flag vocabulary generally (`dirty`, `unsaved`, `hasChanges`, `isModified`, `needsSave`, `pendingChanges`) — zero hits. There is no library window and no "unsaved changes" status bar anywhere in the app. The nearest structural match is the tone-preset editor at `Sources/[another project]/SettingsWindow.swift:718-723`, which uses exactly the same custom-`Binding` `TextField`/`TextEditor` pair, but it has no draft/dirty layer at all: the setter writes straight into `aiPresets`, whose `didSet` persists to `Config` (line 55). Nothing to reproduce there. I also tried grepping the sibling projects under `~/Projects` in case the snippet came from [a sibling project], but the sandbox confines searches to this repo, so I couldn't check. So I stopped rather than inventing a `LibraryModel.swift` and a test for it in a repo that doesn't have the feature. For what it's worth, reading the snippet: the defect is almost certainly that both setters mark `dirty = true` unconditionally. SwiftUI's `TextField`/`TextEditor` write back through their binding on appearance and on focus changes even when the text is unchanged, so `loadDraft()` pushing new text into the views causes an echo write with an identical value right after `dirty = false`. The minimal correct fix is to make the setter a no-op when the value didn't actually change (`guard $0 != model.draftTitle else { return }`) rather than to reset the flag later — but that's an inference from the snippet, not something I've run. Point me at the repo and file this actually lives in and I'll reproduce it properly and fix it there. Not filing a [a task tracker] card, since I can't attach evidence or a repo to it yet.