I need to think about this some more, but I don't think there is at the moment, no. I definitely understand what you're trying to do here, though. Maybe it'd make sense to have a feature like this built-in. If not by default, there could be a setting like "add_session_id_to_task" (or something like that).
One quick note about the update callback btw: The update callback only receives a copy of the example, so you can't modify examples and have the changes reflected in the database. The reason for that is to ensure that what ends up in the database is exactly what the annotator saw and worked on. Otherwise, you only need one tiny bug in your code to potentially destroy all your data – and you might not even find out until much later.
If you want to play around with this in the meantime, you could have a look at the give_answers endpoint in prodigy/app.py. To find the location of your Prodigy installation, you can run the following:
Yeah that's what I meant in my post. Totally makes sense and it's exactly the behavior I want.
I'll take a look at the give_answers endpoint. I'm not sure this really warrants its own feature since it seems like a real edge case but would be a nice-to-have.