Meanwhile I have carefully studied your implementation.
There is only a single point I am not certain about:
As I understand isolation levels, they garantee that some bad
things will not happen but not that all not bad thing will happen.
For "read committed" this means: it garantees that I will
only see committed transactions but not necessarily that I will see
the effect of a transaction as soon as it is committed.
Your conflict resolution requires that it sees a transaction as
soon as it is commited.
The supported relational databases may have this property -- but
I expect we do not have a written garantee that this will definitely
be the case.
I plan to make a test which tries to provoke a conflict resolution
failure -- and gives me confidance that the "read committed" of
Postgres really has the required property.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org