Postel's Law

Postel's Law sagt: Be liberal in what you accept.
Die meisten lesen das als Toleranz.
Ich lese das als Architekturprinzip.

Jonas hatte einen Service integrieren müssen.
Legacy-System. Schlechte Dokumentation. Keine Tests.
Das Übliche.

Vier Deployments. Jedes Mal eine neue Fehlermeldung.
Beim dritten Mal war das Problem: "true" statt true.
Ein String. Kein Boolean.
Das System hat nicht nachgefragt. Es hat einfach abgelehnt.

Ich habe Jonas nicht kritisiert.
Das war nicht sein Fehler.
Nicht weil das Legacy-System schuld war.
Sondern weil wir nie eine Schicht gebaut hatten
die solche Fragen gar nicht erst durchlässt.

Seitdem haben wir einen Agenten vor dem Service.
Reverse Proxy. LLM-basiert.
Der Agent schickt die Payload.
Kommt ein Bad Request zurück, passt er einen Wert an und versucht es erneut.
Und nochmal.
Und nochmal.
Irgendwann kommt kein Fehler mehr.
Das nennen wir Konvergenz.

Wir haben das open-source veröffentlicht.
Der Postelizer.
Er macht sehr strenge Legacy-Systeme liberal in what they accept.
Blazingly fast. Geschrieben in Rust.
Repo auf Codeberg

true, "true", "ja", "yes", "si", "yep", "na klar!"
der Agent findet es heraus.
Das Legacy-System bekommt was es erwartet.
Wir auch.

Ist das teuer?
Ja. Jeder Versuch kostet.
Ist es nicht-deterministisch?
Das ist eine andere Frage.

Aber wann habt ihr zuletzt einen Entwickler vier Deployments lang
an einem Boolean scheitern lassen?
Das hat auch seinen Preis.
Der steht nur nicht in der Rechnung.

Schreib's hin. Ich lese jeden Kommentar.