Tracking issue "dirty" state?

Does anyone have a way to track if an issue is “dirty” or not? I have a use case for my ESLint extension where I want to avoid applying fixes to an issue if the user might have modified text in a way that might have moved or invalidated the issue, but not enough time has passed to refresh the issue (via onDidStopChanging and an external process).

I think my plan right now is to just not directly apply fixes if there have been any changes that may have invalidated the issue. I considered trying to track ranges and adjust them as the user types, but that seems both expensive for performance to do in an extension, and I don’t think I can get a set of changes without diffing in the onDidChange object which seems like a bad idea.