Zustands-Engine¶
Status: Entwurf
Vorschläge von Claude – nicht verbindlich, bis Daniel sie freigibt.
Der Zustand wird nie gespeichert, sondern immer aus den Annotationen plus der aktuellen Quelle berechnet. Die Engine macht das für jede annotierte Datei in drei Schritten.
1 · Auflösen¶
Vorschlag: Selektoren werden in fester Reihenfolge probiert, und der erste eindeutige Treffer gewinnt PROP_RESOLVE
|
Ist der Selektor, der getroffen hat, nicht der erste, meldet die Engine einen Hinweis |
Verschobene Elemente¶
Ein Zähler in einem Selektor – ein Array-Index (json:/steps/2), die Absatznummer in md:paragraph:Setup#2 – verschiebt sich, wenn davor etwas eingefügt oder entfernt wird. Das Element unter dem alten Selektor hat dann einen neuen Fingerabdruck, obwohl das reviewte Element unverändert eine Stelle weiter steht. Hat sich das über seinen Selektor gefundene Element geändert und hat die Annotation kein Textzitat, sucht die Engine deshalb Elemente derselben Art, deren Selektor sich nur in den Zahlen unterscheidet und deren Text noch der reviewte ist. Gibt es genau eines, folgt die Annotation ihm und behält ihren Zustand; sonst zählt das Element unter dem Selektor, und es ist stale. Der Selektor ist ein Hinweis, der reviewte Text entscheidet (JSON- und YAML-Dateien werd... (DEC_DATA_ADAPTERS)). Das gilt für jedes Format.
2 · Vergleichen¶
|
Mit Markup im Fingerprint machen Fettdruck, ein neuer Link oder eine neu umbrochene Tabelle eine freigegebene Aussage |
3 · Zustand¶
Bewertungen und Notizen ändern den Zustand nie. Für alles andere schaut die Engine auf die offenen und die neuesten Annotationen eines Elements und nimmt die erste Regel, die zutrifft:
# |
Regel |
Zustand |
|---|---|---|
1 |
Ziel nicht gefunden |
|
2 |
das neueste Einfrieren gilt, und der Fingerprint hat sich geändert |
|
3 |
das neueste Einfrieren gilt |
|
4 |
eine offene Lösch-Aufgabe |
|
5 |
das neueste Urteil ist ein offenes Ablehnen (noch nicht behoben) |
|
6 |
das neueste Urteil ist freigeben, und der Fingerprint hat sich geändert |
|
7 |
das neueste Urteil ist freigeben |
|
8 |
eine offene Anfrage |
|
9 |
nichts davon |
|
Eine offene Anfrage wird als Badge über jedem anderen Zustand angezeigt, damit |
Optionen waren: (a) ein neues Urteil am Element beendet das Einfrieren; (b) ein ausdrückliches |