RAP-Story — Politur: Kommt das Foto bei der Halterin an?

Aus der echten Genesis-Sitzung vom 20. Juni 2026 (Step G — Politur).

Acht Akte lang ist ein System gewachsen — Modell, Sichten, Login, Foto-Upload. Dieser Nachklang erzählt die Politur. Und er erzählt etwas, das in keiner Spezifikation stand: dass das Bauen selbst die Spezifikation ehrlich hält.

Was sagt der Architekt?

„Wenn ich bei ‚doggi' angemeldet bin, dann bin ich admin. Nun wird es aber passieren, dass ein Halter mir sagt, dass er nicht zurechtkommt mit seinem Login … Der spricht dann von genau dem, was ihm doggi nach seinem Login anzeigt. Das würde ich aber nur sehen, wenn ich mir seine Accountdaten heraussuche und mich unter seiner Kennung anmelde. Das ist echt umständlich. Vorschlag: Wir binden eine Aktion an den Halter, die nur ich als admin aufrufen kann, und diese Aktion tut so, als hätte ich mich gerade unter dem Namen dieses Halters angemeldet."

Ein Support-Wunsch aus der gelebten Praxis: sieh, was der Halter sieht. Klassisch hieße das Identitäts-Übernahme — heikles Terrain.

Was denkt die KI?

Bevor irgendetwas gebaut wird: verstehen, wie das Portal seine Privatheit überhaupt herstellt. Der Befund verschiebt die ganze Sicherheits-Rechnung. Das Halter-Portal ist gar nicht session-gesichert. Es zeigt deshalb nur die richtigen Daten, weil (a) seine View Hund Detail Halter die Trainer-Notizen physisch weglässt und (b) es client-seitig nur die Hunde des angemeldeten Halters abfragt.

Daraus folgt etwas Befreiendes: Um „was der Halter sieht" zu zeigen, braucht es keine riskante Übernahme einer Identität. Es genügt, das bestehende Portal auf den gewählten Halter umzulenken. Der Admin bleibt Admin — er schaut nur durch dessen Brille.

Wie fragt sie nach?

Zwei Wege liegen auf dem Tisch: A, die schlanke Sicht-Übernahme (Portal mit ?id umlenken), und B, die echte Identitäts-Übernahme (der Server stellt eine Halter-Session aus — generisch, aber sicherheits-sensibel, mit „zurück zu admin" und Audit). Weil die Privatheit view-basiert ist, ist A nicht nur billiger, sondern für den Zweck sogar passender.

„Die echte sudo-Funktion packen wir in einen neuen RAP-Issue, der erst mal liegen bleibt."

So geschieht es: B wird ein geparktes Issue, A wird gebaut. Eine Falle zeigt sich beim Absichern: der naheliegende Admin-Check im Browser scheitert, weil die Auskunft „wer bin ich?" nur aus dem Login-Cookie kommt — und im Entwickler-Modus gibt es keins. Die Lehre: die Wache gehört nach innen, auf den Server, wo die Identität in beiden Betriebsarten verlässlich bekannt ist. Genau ein Endpunkt, nur für Admins, liefert den Portal-Kontext eines gewählten Halters.

Was wird in welchen Tranchen erzeugt?

  1. Server-Wache. Die erste server-seitige Datei dieses Systems: ein admin-geschützter Endpunkt, der zu einem Halter dessen Hunde liefert. Ein echter Halter bekäme dort eine Abfuhr.
  2. Sicht-Übernahme. Eine Aktion „Als Halter ansehen" an der Entität Halter; das Portal erkennt den Umlenk-Parameter und zeigt oben unmissverständlich „Sicht-Übernahme: …" statt „Hallo, …".

Dann testet der Architekt — und stolpert über die eigentliche Geschichte dieses Akts. Er lädt ein Foto hoch, ordnet es Mocca zu, schickt ab, der Dialog schließt sich:

„Bin im ersten Moment erschrocken und hab gedacht, es ist was schiefgegangen. Aber jetzt seh ich die zwei Bemerkungen bei Mocca … Hat also funktioniert. Aber wo ist denn jetzt das Foto?"

Die KI prüft nach, statt zu raten — und findet die unbequeme Wahrheit: das Foto liegt korrekt in der Kind-Entität, aber die Halterin sieht es nicht. Ihre View trägt keine Verknüpfung zu den Aufnahmen; das Wiesen-Foto, das der Trainer für sie macht, kommt bei ihr nie an. Niemand hatte das spezifiziert. Das Testen am lebenden System deckte es auf.

  1. Galerie. Damit die Fotos direkt sichtbar werden — ohne Aufklapp-Pfeil — entsteht eine Galerie-Sicht: jede Aufnahme eine Zeile, das Bild als Vorschau. (Die KI hielt das zunächst für die einzige erreichbare Form — eine verschachtelte Sicht schien nicht möglich. Dass das ein Irrtum war, und ein lehrreicher, klärt die Coda.)
  2. Das Foto erreicht die Halterin. Das Portal — eigener Code, nicht an die View-Grenze gebunden — lädt zu jeder Stunde die Aufnahmen nach und zeigt die Vorschaubilder direkt im Stunden-Block.

Was kommt am Ende heraus?

„Klasse, da sind die beiden Lehreinheiten und das Foto!"

Aus Moccas-Frauchen-Sicht steht das Bild jetzt direkt bei der Stunde. Der Admin hat ein Support-Werkzeug, das ihm in Sekunden die Brille jedes Halters aufsetzt. Und das Foto von der Wiese erreicht endlich den Menschen, für den es gemacht war.

Was überrascht:

Zweierlei. Zum einen: das Bauen hielt die Spezifikation ehrlich. Keine Anforderung sagte „die Halterin sieht das Foto nicht" — das Testen sagte es. In einer Praxis, in der die Spezifikation die Wahrheit sein soll, ist das der billigste Qualitätscheck, den es gibt: er fällt als Nebenprodukt des Tuns an. Die Lücke wurde benannt und geheilt, nicht umgangen.

Zum anderen — und das ist der Schlusspunkt der ganzen Serie. Geplant war, diesen Akt vorsichtig auf einen Sicherungspunkt zurückzurollen und sauber neu zu spielen, bevor er aufgezeichnet wird. Es war nicht nötig.

„Kannst du aus dem Material, das wir jetzt haben, auch ohne Rollback und Replay direkt den letzten Akt der Genesis machen? Wir sind besser durchgekommen, als ich dachte."

Weil jeder Schritt am lebenden System geprüft worden war, war der Arbeitsstand bereits das saubere Ergebnis — genau das, was ein Replay reproduziert hätte. Mehr noch: ein Replay hätte die Umwege geglättet — den Fehlalarm über vermeintliche Reste, die Auth-Falle, die Grenzen der View-Maschine. Aber diese Umwege sind der Lehrwert. Der echte Weg ist die reichere Geschichte.

Genau das ist die Pointe der RAP-Story: Der Mensch sagt das Ziel, die Konstrukte tragen den Weg — und wenn alles auf Schienen läuft, ist der gelebte Weg schon der Akt.

Coda — als die Doku der Erkenntnis hinterherhinkte

Ein Nachklang zum Nachklang, und vielleicht der lehrreichste. Kurz nach Abschluss hakte der Architekt nach: ließe sich die Lehrstunde mit ihren Fotos nicht direkt als verschachtelte Sicht definieren? Die KI hatte zuvor das Gegenteil behauptet. Ein Blick in den Quellcode entschied es: die Notation verschachtelt beliebig tief, und der Baum zeigt Bilder als Vorschau. Die KI hatte sich geirrt — die Galerie wäre nicht nötig gewesen.

Doch der Irrtum ist nicht die Geschichte. Die Mächtigkeit dieses Features lag im Kopf des Architekten; sie stand nur nicht präzise genug in der Dokumentation. Die KI las die Doku, wie sie war, und schloss aus einer unscharfen Quelle sauber das Falsche. Das ist ein gemeinsames Versäumnis — Wissen, das in einem Kopf lebt und nicht im Dokument, ist immer nur einen Vergessensschritt vom Verschwinden entfernt.

Genau hier verdient das Tandem seinen Namen. Das Bauen stieß an die Lücke, die Intuition des Architekten benannte sie, der Quell-Read der KI bewies sie — und binnen Minuten war die Doku präzisiert, die Sicht verschachtelt, das Portal daraufgesetzt. Das Wissen aus dem Kopf steht jetzt im Dokument: dauerhaft, prüfbar, für jede nächste Sitzung.

Und nein — Zerknirschung gibt es hier nicht. Wer beim Bauen eine Lücke in der eigenen Spezifikation findet und sie auf der Stelle schließt, hat nichts zu bereuen; er hat das Verfahren benutzt, für das es gedacht ist. Eine Spec, die nur auf Papier lebt, verrottet leise; eine, an der gebaut wird, wird beim Bauen schärfer. Der Mensch bleibt die Autorität, die KI korrigiert den Kurs ohne Eitelkeit, und die Beschreibung gewinnt Präzision als Nebenprodukt der Arbeit. Das ist Continuous Spec Alignment — und der Grund, warum dieses Tandem mehr ist als schnelleres Tippen.


← Übersicht: RAP-Story | ← Vor: Action, Akt 4 — Die Frage, die das Schema ändert | Weiter: Ausbau — Der Umzug ins Mehrfamilienhaus →