PROD-HANDOFF: SHUTDOWN-DIALOG-SICHTBARKEIT - VERSION 2.3.4
Datum: 2026-08-27

BEFUND
Nach der Receive-Location-Phase wurde kein sichtbarer Dialog zur Bestaetigung
des Leerlaufens wahrgenommen.

URSACHEN
1. Dry run ist standardmaessig aktiv. Er deaktiviert keine Receive Location und
   ruft deshalb bewusst keinen echten Drain-Entscheidungsdialog auf. Dieser
   Unterschied war waehrend der Ausfuehrung nicht deutlich genug sichtbar.
2. Die bisherigen MessageBoxen hatten keinen Owner. In RDP-/Multi-Monitor-
   Sitzungen konnte ein modaler Plan- oder Drain-Dialog hinter dem Hauptfenster
   liegen, waehrend dort nur "Preparing shutdown..." sichtbar blieb.

SICHERHEIT
Der persistierte OperatorCheckpoint war vorhanden. Ohne Dialog-Callback, bei
Fehler, Nein oder Schliessen stoppt der echte Shutdown fail-closed. Spaetere
Orchestrierungen, Send Ports und Host Instances bleiben NotExecuted.

FIX 2.3.4
- Alle runtime-relevanten Bestaetigungen sind an das Hauptfenster gebunden.
- Am echten Checkpoint steht sichtbar ACTION REQUIRED / Shutdown paused.
- Der erste Realbetrieb-Dialog kuendigt die zweite Drain-Entscheidung an.
- Dry run und REAL EXECUTION sind farblich und textlich eindeutig.
- Dry run zeigt einen eigenen Hinweis: keine Mutation, keine echte Drain-
  Entscheidung.
- Einstellungen sind waehrend einer laufenden Operation gesperrt.

PROD-ABNAHME
1. Setup 2.3.4 installieren; setup_version=2.3.4.0 und Ziel-Self-Test pruefen.
2. Dry run: Shutdown Dry Run - No Runtime Changes muss sichtbar sein; keine
   BizTalk-Mutation.
3. shutdown-plan.json: OperatorCheckpoint muss vor jeder spaeteren Shutdown-
   Phase stehen.
4. Freigegebenes Wartungsfenster: Dry run deaktivieren; REAL EXECUTION muss
   sichtbar sein.
5. Ersten gespeicherten Plan bestaetigen.
6. Nach Receive Locations: ACTION REQUIRED und owner-gebundener Drain-Dialog.
7. Zuerst Nein testen: CheckpointDecision=Stop, alle spaeteren Zeilen
   NotExecuted.
8. Danach kontrolliert wiederholen; Group Hub und Monitoring pruefen; erst bei
   bestaetigtem Leerlauf Ja auswaehlen.
9. RDP minimieren/wiederherstellen und ggf. Monitorwechsel testen.

ALTE LAEUFE UNTERSCHEIDEN
- DryRun=true + keine CheckpointDecision: erwartete Simulation.
- Kein Ergebnis + UI bleibt Preparing shutdown: moeglicherweise verdeckter
  Dialog; Alt+Tab pruefen, Prozess nicht blind beenden.
- CheckpointDecision=Stop/Error: sicher vor spaeteren Phasen gestoppt.
- CheckpointDecision=Continue: positive Bedienerentscheidung wurde erfasst.

Portable Verifikation: Release-Build aller vier Projekte, 43 Regressionstests,
Runtime-Self-Test und manifest-/hashgepruefte Paketierung. Die finale Dialog-
und BizTalk-Pruefung erfolgt auf Windows/PROD.
