aYOUne

Changelog

Was sich verändert hat — gruppiert nach Release, filterbar nach Komponente und Repository.

Weitere Änderungen 1
Fix route

ein eigenstaendiger Plattform-Host routet auf seine Flaeche, nicht auf die Website

Ein `pwa`-Eintrag OHNE `_websiteID` hat keine Geschwister. Die Zuordnung kannte
nur die Geschwister-Form und lieferte fuer ihn GENAU die eine Auffang-Regel auf
die consumer-app — er bekam Zertifikat, Tor und Route, war erreichbar und zeigte
die Marketing-Website unter der Anmelde-Adresse. Empirisch belegt am 2026-08-23:

buildHostRoutingRules({domain:'login.protos.ayoune.app', hosts:[]})
-> [{route:[{destination:{host:'consumer-svc',port:{number:3000}}}]}]

Diese Form ist der Regelfall, sobald ein Wiederverkaeufer gar keine Website hat —
also genau die Lage, in der Auftrag 4 (Beweis an EINEM Host) bewiesen werden soll.

- `hostRouting`: neuer Eingang `selfTarget`; ist er gesetzt, wandert **der Auffang
selbst** auf die Plattform-Flaeche (bewusst keine `match`-Regel davor: der
Platzhalter `*.<domaene>` steht in denselben `hosts` und fiele sonst weiter auf
die Website), und `rootTarget` wird ignoriert (die Umleitung waere eine Schleife).
- `platformHostGate`: `platformHostTargetFor()` gibt das ZIEL statt nur „ja";
`isEnabledPlatformHost` ruft sie — EINE Implementierung, nicht zwei.
- `provisionDomain` leitet den Schluessel aus dem Tor ab und reicht ihn durch.

Rueckwaerts-Identitaet festgenagelt: ohne `selfTarget` ist jede Bestands-Form
byte-gleich zu vorher (Probe ueber vier Formen), und eine `consumer`-Domaene
bekommt den Schluessel per Flip-Probe nachweislich NICHT.

Flip-Proben beidseitig gefahren: Regel-Ebene ausgehaengt -> 4 rot; Verdrahtung
ausgehaengt -> 1 rot; beide zurueck -> ganze Reihe exit 0 (25 + 47 + 4 + Rest).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018KTTjQDtPqzMCcA9pm8jND