# Etappe 2b – Manuelle Abnahme (Divi schreiben) Vorbereitet von Task 10 (Hinweise, Guides, Version 0.3.0, Ende-zu-Ende-Test). Automatisch geprüft sind bereits: - alle Unit-Tests (`composer test`) und Lint (`composer lint`); - die fünf Integrationsskripte `divi-write-smoke.sh`, `divi-read-smoke.sh`, `mcp-smoke.sh`, `wp-basis-smoke.sh` und `media-admin-smoke.sh` (alle in `tests/Integration/`). `divi-write-smoke.sh` prüft über den OAuth-Endpunkt: - Einfügen, Ändern, Verschieben, Löschen und Duplizieren; - Ersetzen mit Probelauf; - `lit-content-create` mit Divi-Inhalt; - den ersten Abschnitt auf einer leeren Seite; - einen Redakteur ohne `unfiltered_html`: unberührte Bytes bleiben gleich, und es wird weder Skript, Event-Handler, `javascript:` noch ein eingeschleustes Attribut gespeichert oder gerendert; - Divis eigene Speicherfilter (Seite mit eigenen HTML-Attributen); - keine Wege am Divi-Pfad vorbei: Rohtext-`content` mit Divi-Markup wird abgelehnt, und bei Divi „nur lesen“ lehnt `lit-content-create` `divi` ab und `lit/divi-insert` ist auch über `mcp-adapter-execute-ability` nicht erreichbar. Details stehen im Report von Task 10 (`.superpowers/sdd/2026-09-26-etappe-2b-divi-schreiben/task-10-report.md`). Die folgenden Punkte lassen sich nicht automatisch prüfen, weil sie den echten Divi Visual Builder und den claude.ai-Connector brauchen. Jan-Niclas prüft sie selbst (Spec §1.3 Nr. 2, §13 „Bearbeitbarkeit im Visual Builder“). Abweichungen als kurze Notiz zurückmelden; sie werden Folgeaufgaben (z. B. anders gespeicherte Spaltenbreiten, D8). ## Vorbereitung: Testdaten des Probelaufs entfernen Der Probelauf „Tischlerei Holzwerk Berger“ (trial-feedback.md) hat Daten auf der DDEV-Seite hinterlassen. Vor der Abnahme von Hand zurücksetzen, sonst laufen §1–§3 auf einer veränderten Seite und das Testmenü ist live. Nicht automatisch gelöscht – bitte selbst prüfen und ausführen (`cd /home/janniclas/Projekte/WordPress && ddev wp …`): - [ ] Website-Titel und Untertitel zurücksetzen: `ddev wp option update blogname "Breva Map Dev"` und `ddev wp option update blogdescription ""` (vorher leer). - [ ] Die „[Test]“-Entwürfe löschen: Seiten 831, 834, 837, 839 und Beiträge 854, 856, 858 (vorher mit `ddev wp post list --post_type=page,post --post_status=draft --fields=ID,post_title` prüfen, dass es genau diese sind), dann `ddev wp post delete 831 834 837 839 854 856 858 --force`. - [ ] Das Menü „[Test] Hauptmenü“ (ID 22) aus der Position `primary-menu` nehmen und löschen: `ddev wp menu location remove 22 primary-menu` und `ddev wp menu delete 22`; falls vorher ein anderes Menü dort zugewiesen war, dieses wieder zuweisen (`ddev wp menu location assign primary-menu`). - [ ] Die Platzhalter-Medien 828, 829, 830 löschen: `ddev wp post delete 828 829 830 --force` (vorher in der Mediathek prüfen, dass sie nirgends mehr verwendet werden). - [ ] Optional: Einträge des Probelaufs im Protokoll-Tab über „Protokoll leeren“ entfernen. ## 0. Verbindung, Zugriff, Tools- und Protokoll-Tab - [ ] Discovery ohne Weiterleitung (Fix DiscoveryCanonical, bb85868): `curl -si https://wordpress.ddev.site:8443/.well-known/oauth-protected-resource | head -1` und `curl -si https://wordpress.ddev.site:8443/.well-known/oauth-authorization-server | head -1` antworten beide mit `200` (kein `301` auf eine URL mit Schrägstrich) und JSON. - [ ] Den Connector in claude.ai neu verbinden (Einstellungen → Connectors → LIT MCP → Verbinden): Login, Zustimmung, danach sind die Tools in einer neuen Unterhaltung sichtbar. - [ ] Mit einem Konto verbinden, dessen Rolle unter Zugriff **nicht** freigegeben ist (z. B. ein Abonnent): die Autorisierung bricht mit „Dein Benutzer hat keinen Zugriff auf LIT MCP.“ ab; es entsteht keine Verbindung (kein Anwendungspasswort im Profil). - [ ] Einstellungen → LIT MCP → Zugriff: die Spalte „Zuletzt genutzt“ zeigt für die eben genutzte Verbindung ein Datum (Aktualisierung höchstens einmal am Tag). - [ ] Tools-Tab: je Gruppe Modus und „nur lesen“; die Warnung zur Zahl direkter Tools erscheint erst, wenn mehr als 25 Tools direkt sichtbar sind (z. B. testweise eine Gruppe auf „direkt“ stellen, danach zurücksetzen). - [ ] Protokoll-Tab: Liste wie die WordPress-Listen (Filter nach Tool, Benutzer und Ergebnis links über der Tabelle, Blättern, „Einträge pro Seite“ in den Ansichtsoptionen oben rechts); Links zu Bearbeiten/Revision je Eintrag. ## 1. Visual Builder: von Claude gebaute Seite - [ ] Dieser Auftrag in claude.ai: „Lege eine Entwurfsseite ‚Abnahme Divi‘ an mit Hero (Überschrift, Text, Button mit Preset), einer Zeile 1/3 + 2/3 mit Bild und Blurb, einem Akkordeon und einem Kontaktformular.“ Erwartet: - Claude liest vorher `lit-divi-design-system` und `lit-divi-catalog`; - dann `lit-content-create` mit `divi` (oder eine leere Seite plus `lit-divi-insert`); - die Antwort nennt `preview_url` und `edit_url` (bei `divi` der Link in den Visual Builder, `…&et_fb=1`). - [ ] Die Seite im Divi Visual Builder öffnen (`edit_url`) und prüfen: - [ ] Alle Module erscheinen als **native Module**, nicht als Code-Modul. - [ ] Die Admin-Labels folgen dem Muster „ – “, z. B. „Hero – Button“. - [ ] Jedes Modul lässt sich anklicken, ändern und speichern, ohne Fehlermeldung des Builders. - [ ] Die Spaltenbreiten stimmen (1/3 + 2/3), auch in der Spalteneinstellung des Builders. - [ ] Farben aus `{{color:…}}` sind als **globale Farbe** verknüpft: der Farbwähler zeigt die globale Farbe, nicht einen festen Hex-Wert. - [ ] Das Button-Preset ist im Builder als Preset ausgewählt. - [ ] Akkordeon-Einträge und Kontaktformular-Felder sind einzeln bearbeitbar. - [ ] Eine zweite Seite nur mit `lit-divi-insert` aufbauen lassen: leere Seite anlegen, dann „Füge einen Abschnitt ‚Start‘ mit Überschrift und Text ein“. Im Builder öffnen: der Abschnitt erscheint normal und ist bearbeitbar (Ruling S9: Hülle `divi/placeholder` wie beim Builder). ## 2. Visual Builder: von Claude geänderte Seite - [ ] Eine bestehende, im Builder gebaute Seite kopieren (`lit/post-duplicate`) und an der Kopie per claude.ai einen Button-Text ändern, ein Modul verschieben und einen Abschnitt duplizieren lassen. - [ ] Die Kopie im Builder öffnen und prüfen: - [ ] Alle unveränderten Module sehen aus wie vorher (Einstellungen, Presets, globale Farben). - [ ] Die geänderten Module sind bearbeitbar, und die Änderung ist sichtbar. - [ ] Die Kopie eines Abschnitts heißt „