I am not referring specifically to Scrum, even though I make use of the term Sprint.
Sprint is just the best term describing a planned increment. And that’s what I am looking at when I consider that something is not done at a specific point of time.
I consider something to be incomplete if shipping to customers does not work out for me.
Shipable includes the obvious technical feasibility (compile, package, deploy), but there is also no value in shipping something to a customer, which does not work for him. This is to be considered to be incomplete as well.
I feel that we are often too nice to allow teams to have their interpretation of agile.
Agile requires a common mindset and will fall apart if individual interests come into play. You need to be hard about and should not retreat from it just because you try to avoid conflicts.
I hope these answers make sense to you.
And now I am curious. Why is it important to be very precise on these aspects? I am keen to see you reply.