Sven Schüle wrote:I fully agree on the "madness" and "idiocy" here

But section 13 should not be removed completely since you can't prove that the combination of WinBoard/XBoard 4.2.7 and old GNUchess will never be used again anywhere in our world.
But educating people about the peculiarities of GNU Chess or XBoard 4.2.7 is not the task of this document. Do you explain in the README file that accompanies your engine that things might work differently in GNU Chess? If people want to know how XBoard 4.2.7 works then they should look in the documentation that accompanied XBoard 4.2.7. Not in the CECP specs.
You might want to restructure the document into a "spec" part that is valid for all GUIs and a "WinBoard/XBoard" specific part that describes behavior of these specific GUIs and possibly their specific versions. You would still have to resolve some interdependencies between both, though, e.g. the description of "feature colors" refers to the XBoard specific part.
I don't see a reason why the specific behavior of XBoard versions should be described anywhere. The fact that it is CECP compliant should say everything. Perhaps there could be a caveat in the specs that one should not in general assume that the GUI will send you the obvious and minimal set of commands to perform a given task, but might use arbitrarily cumbersome combinations of commands that according to the specs would eventually have the same result.
IMO a GUI should never employ work-arounds for non-compliant engines, but if it does, publishing them is actually the worst thing you can do. Because it sends the wrong signal that people can count on this behavior, and thus implement commands in other ways that their specified meaning, breaking their engine on other GUIs, or other versions of the same GUI.
Right, then add a clarifying sentence about it. If sending such a misplaced "undo" were allowed for a GUI then you would allow a situation where GUI and engine are out of sync about the game: GUI thinks there is something to take back but engine thinks it is at ply 0 of the game.
Indeed, I plan to add a sentence about this. But anything that is not specified in the protocol will in fact cause undefined behavior even in compliant engines. There is no need to actualy write that something might cause undefined behavior for such behavior to happen. Dependnig on the implementation, doing things that the engine author was told not to worry about will have different effects.
hgm wrote:Then decide whether the WB protocol shall officially support more than two players or not. If yes then take appropriate action, part of it would be how to define which player's turn it is and when. If no then keep the current state. In either case I would expect that you either keep the current definition of "white" and "black" as "obsolete", or change it into "obsolete except for the following cases: ...". Just be consistent. It should be clear that needing "white" and "black" commands is reserved for specific cases (e.g. specific variants).
Do as you like, but again: if you want to revive the "black" command then this is fine as long as you change the spec into "obsolete except for the following cases: ...".
I would be inclined to say "obsolete except in all cases where the GUI uses it". One problem is that "obsolete" in the current specs doesn't seem to mean anything. It certainly doesn't mean that the command is not to be used. If GUI authors would take section 13 seriously, they would actually see it as a strong recommendaion to use these commands.
And wouldn't you agree that extending the FEN spec for those special variants would be much nicer, easier, future-proof, and more consistent with the idea of a modern WB protocol? Why would you put any effort into that old and clumsy "edit" style? A lot of modern testing technology is based on using FENs (e.g. for opening positions), and if those specific variants shall use that you would need to provide FEN support for it anyway at least on GUI level, but then you have a FEN spec, so why shouldn't engines use it as well via "setboard"?
Yes, that would be nice. If it could be done. But I don't agree that the old 'edit' style is intrinsically clumsy. Extensions of the FEN standard could easily become much more clumsy. Pasting positions into the GUI could definitely become a problem, however. DEMN could be a solution, but it isn't very readable to humans.