> Git doesn't have a way to "store a partially resolved conflict" in a way that would remember that it hasn't been resolved.
Exactly my point: this is a fundamental limitation of Git for which there is no good workaround. It's not inherent to the domain, but is a limitation of Git. Pijul (for example) considers conflicted states simply to be normal.
I do, thank you! (But it will never be the case that conflicts are modelled in Git, unless one uses notes or something to build a more expressive database on top of it, whereupon I think it's not really reasonable to call the resulting system "Git".)
The git object system is based on objects having types. There was a time when the "tag" object type did not exist. The only difference between then and now is the installed base.