Wiki / 3 von 7
Ein Nachweis hat eine Adresse
Wo eine Komponente läuft und wohin sie den Nachweis ihrer Arbeit liefert, sind zwei verschiedene Tatsachen. Wer sie verwechselt, liest eine alte Kopie als aktuelle Wahrheit.
Ein gemessener Fall
Sechs Komponenten eines Planeten wurden auf genau dem Rechner als „defekt“ gelesen, auf dem sie einwandfrei liefen. Ihr Nachweis - eine Zustandsquittung - wurde alle fünfzehn Minuten an den Steuerknoten geliefert. Der Beobachter öffnete jedoch denselben Pfad lokal und fand dort eine vier Tage alte Kopie, die ein früherer Mechanismus hinterlassen hatte.
Eine alte Kopie an der richtigen Adresse ist schlimmer als gar keine: Das Fehlen wäre ehrlich gewesen, diese Kopie dagegen war eine selbstsichere Falschaussage über eine funktionierende Komponente.
Die Regel
Die Deklaration eines Nachweises nennt nun den Knoten, auf dem der Nachweis eingeht. Bist du nicht dieser Knoten, wird der Pfad überhaupt nicht gelesen: Was auch immer dort liegt, es ist kein Nachweis.
Ein Fehler im Knotennamen wird bereits bei der Deklaration abgefangen. Andernfalls würde ein einziger Tippfehler eine verpflichtende Quittung in eine ewige Ausrede verwandeln, die nirgendwo fehlschlägt.
Deklariert und geliefert
Das umfassendere Prinzip lautet: Eine Deklaration ist ein Versprechen, ein Nachweis ist nur das, was tatsächlich geliefert wurde. Eine Komponente, die eine Datenquelle deklariert, darüber aber nichts geliefert hat, „funktioniert“ nicht - sie „verspricht“. Diese beiden Wörter werden im System niemals gleich dargestellt.
So leben jetzt auch die Veröffentlichungen der Website: Jede trägt eine Prüfquittung mit eigener SHA-256-Adresse, und die Abnahme liest das lebende Artefakt und gleicht es mit dem erklärten Commit ab. Vier Veröffentlichungen an einem Tag nahmen diesen Weg: Source-Ref, Version, Live-Marker - drei Fakten, die übereinstimmen müssen.