Evtl. kann man die Revisionsinfo in einer separaten Tabelle ablegen, etwa per [ Artikelname, Revision#, Verweis auf ArtikelID in cur/old, ... ]. Aber das erfordert eine Konsistenz zwischen dieser und cur/old aufrechtzuerhalten, auf lange Sicht vielleicht problematisch.
Langfristige Konsistenz dürfte garantiert sein durch eine Kombination von Artikelname und Timestamp (Namespace=0 vorausgesetzt). Beim Verschieben eines Artikels müssen dann natürlich auch die Artikelnamen in der Review-Tabelle angepasst werden.
Wenn man schon eine separate Tabelle für die Review-Informationen vorsieht, kann man evtl. auch gleich die bereits programmierte validate-Tabelle benutzen. Man muss nur 2 oder 3 neue Eigenschaften definieren (für die Versionsnummern) und deren Bewertung auf Admins beschränken. Dadurch werden, anders als bei deinem Vorschlag, die Versionsnummern nicht auf noch nicht bewertete Nachfolgeversionen vererbt. Aber das halte ich auch nicht für notwendig (und auch nicht unbedingt für sinnvoll).
Wenn man auf die Liste der Prüfer verzichtet, und die Diskussion in einem per Konvention benannten Unterartikel ablegt, sind diese Daten wieder veränderbar, und nicht 1:1 mit der Revision assoziiert.
Wenn die Diskussion nicht mehr veränderbar sein soll, kann man die Diskussionsseite schützen. Aber warum sollte sie nicht veränderbar sein? Wenn mir als Reviewer nachträglich noch ein wichtiger Punkt einfällt, würde ich gerne meine Stimme ändern können. (Aber dieser Fall dürfte relativ selten auftreten, so dass man auch einen Admin bitten könnte, die Änderung an einer gesperrten Diskussionsseite vorzunehmen.)
Auch eine softwaremäßige Nutzung dieser Daten ist dann problematisch.
Welche Funktion stellst du dir da vor? Schön wäre es sicherlich zu sehen, an welchen Reviews ein Benutzer teilgenommen hat. Aber es gibt ja nicht einmal eine Möglichkeit sich anzeigen zu lassen, an welchen Artikeln jemand mitgearbeitet hat.
El