I don’t think you’re comparing the output, I think you’re comparing
the original data. Then there is less ambiguity, right? I agree that
maximum number of authors can’t be determined, but couldn’t you just
run a loop to find out how many there are?
the problem is that you don’t know which part of the original data
will be used by that specific style. You may be keeping track of it by
consuming the input, as Stephen suggested, though (which I think is
going to make the code quite complex. But I might be wrong).
You can look here to see how Simon does it in Zotero:
It’s true that your example styles don’t work in Zotero, but I suspect
they could be fixed to work–I just don’t have time to play with them
right now–maybe during the week.
As I said I discovered the issues my examples point out by reading the
source code you are linking to. Maybe you are right and you can fix
the problems easily.
What I wanted to stress is that you cannot assume, as the code does,
that since a citation has a date field set, and the style is using the
disambiguate-add-year-suffix option then the citation is disambiguated
by applying this rule. It may be the case that the style is not
actually using the date for that specific reference type, as it is the
case with my 3rd style example.