Zum Hauptinhalt springen

Änderungsprotokoll (Plattform)

Kurzindex größerer Produkt- und Systemlieferungen — zum Nachlesen für Team, Redaktion und Betrieb. Technische Details stehen in den verlinkten Seiten.

Zielgruppen (Betrifft)

TagBedeutung
DashboardCockpit-UI, Reiter, Redaktion, Freigaben, Benutzer/Org
Website & v0Center-Website, Templates, Besucher, v0-Projekte, Public API
MCP & AgentenMCP-Tools, AgencyOS, Automatisierung
Chatbot & KIBesucher-Chatbot, KI-Kennzeichnung, EU-Transparenz
SocialSocial Cockpit, Engage, Freigaben, Zernio
Reporting & AnalyticsKunden-Reporting, Meta, Reviews, Bridge-Insights
E-MailSystem-Mails, Formular-Versand
MEC-ImportLegacy-MEC-Import, Medien-Migration
Signage & QRSignage, Companion, QR, Centerplan-Embed
Betrieb & DeployRender, Cron, Schema, DNS, Go-Live

(Neue Einträge oben, gruppiert nach Monat; Format siehe .cursor/rules/documentation-narrative-and-ops.mdc.)


Monat September 2026

2026-09-18 — MCP Social-Entwürfe: volle Draft-Felder (0.1.343)

Was: cockpit_create_social_draft und cockpit_update_social_draft unterstützen jetzt containers, mediaUrls (Shortcut), centerIds, firstComment, location, linkUrl, postType, Reel/Threads-Optionen in Containern, Freigabe-Workflow und source (z. B. Karma-Migration). AgencyOS-API mappt mediaUrls serverseitig. Tool-Export und Redaktions-Anleitung aktualisiert.

Warum: Für Karma-Cutover und Screenshot-Workflow brauchen Agenten dieselben Felder wie der Social-Editor — nicht nur Caption und Termin.

Betrifft: MCP & Agenten · Social

Links: MCP-Tool-Referenz · Claude & MCP · AgencyOS-API

2026-09-17 — Chatbot-Analytics: Lücken-API + Dashboard (0.1.342)

Was: Neuer Endpunkt GET /api/chatbot-analytics/gaps aggregiert ChatbotGap-Einträge. Dashboard Tab Analytics zeigt „Unbeantwortete Fragen“. bots-profile.analytics ergänzt um gapsReadApi, chatInteractionsPost, chatGapsPost. v0-Anweisung V0_CHATBOT_ANALYTICS_INSTRUCTION.md.

Warum: mallpilot-chat-core schreibt Gaps/Interactions per POST — Redaktion brauchte die Auswertung im Cockpit; v0 muss nur den bestehenden Cockpit-Adapter verdrahten.

Betrifft: Dashboard, Website & v0, MCP & Agenten

2026-09-16 — Jobs: Kontakt-E-Mail mit Shop-Vererbung (0.1.340)

Was: Stellenanzeigen haben optional contactEmail im Cockpit (Reiter Optional). Public API liefert contactEmailResolved (Job → Shop → Filiale) plus Shop-Kontaktdaten im Aktuelles-Bundle.

Warum: Redaktion soll Shop-Kontakte für Jobs nutzen können, ohne pro Stelle die Center-Mail anzuzeigen.

Betrifft: Dashboard, Website & v0, MCP & Agenten

2026-09-16 — Jobs: Button „Jetzt bewerben“ im Cockpit pflegbar (0.1.339)

Was: Stellenanzeigen haben im Reiter Optional ein Feld „Bewerbungs-Link“ (speichert externalUrl). Anlegen und Bearbeiten persistieren die URL; v0 liest sie aus dem Aktuelles-Bundle.

Warum: Der Link fehlte im Bearbeiten-Formular und wurde beim Anlegen nicht gespeichert — Website-Button konnte nicht gesetzt werden.

Betrifft: Dashboard, Website & v0, MCP & Agenten

2026-09-16 — Bots-Profile PATCH: Website-Chatbot wieder speicherbar (0.1.338)

Was: PATCH …/bots-profile und MCP cockpit_update_bots_profile nutzen korrekte Prisma-Relation für aiConfigurations (Filter + Select).

Warum: Website-Chatbot ließ sich nicht aktivieren — Prisma-Fehler „Unknown argument enabled“, obwohl die DB-Spalte existiert.

Betrifft: Dashboard, MCP & Agenten, Chatbot & KI

2026-09-14 — Vermietungsformular: Forum-Templates lesen formRecipientEmail (0.1.336)

Was: send-rental-inquiry und Kontakt-Fallback nutzen vermietungPage.formRecipientEmail / kontaktPage.formRecipientEmail für Forum Schwanthalerhöhe und Forum Gummersbach — nicht nur Kaufland/Goldbeck und die leere Center-Stammdaten-E-Mail.

Warum: Vermietungsformular Forum Schwanthaler Höhe war trotz korrekt gesetztem Empfänger im Cockpit-Reiter tot, solange die zentrale Kontakt-E-Mail leer war.

Links: Website-Templates, Forum Schwanthalerhöhe — Webseiten-Reiter


2026-09-14 — Social: Story-Publish an Meta-API angepasst (0.1.335)

Was: Story-Serien und Einzel-Stories gehen nicht mehr als mehrere Outstand-Container in einem Post, sondern als je ein Post pro Slide (genau ein Bild/Video). Captions auf Stories werden für Facebook/Instagram geleert. Hinweistext im Editor erklärt: jede Datei = eine Slide, hintereinander im Story-Ring.

Warum: Meta lehnt Story-Posts mit mehreren Containern ab („single image or video“ / „additional containers cannot be published“) — geplante Stories wie CARRÉ Bad Cannstatt blieben nach Freigabe hängen.

Links: Social Media Freigabe


2026-09-12 — MCP: Signage-Hosting schreiben + Shared-Multi-Center-v0-Anweisung (0.1.334)

Was: Neues MCP-Tool cockpit_update_signage_hosting und AgencyOS-Route PATCH …/signage-hosting. v0-Instruction für Shared Signage/Kiosk (Host-Auflösung, MCP-Reihenfolge, Vercel-Env).

Warum: v0/Agenten können Signage-Verknüpfungen (Modus, URL, projectId) ohne Dashboard setzen — Riem Arcaden & Co. nicht mehr manuell blockiert.

Links: MCP-Tool-Referenz, Signage v0 Hosting


2026-09-12 — Bot-Zielarchitektur: mallpilot-chat-core für alle v0-Kanäle

Was: Doku und v0-Instructions: Website, Signage und Companion nutzen denselben mallpilot-chat-core-Baukasten und Host /api/chat. visitor-chatbot nur noch Legacy bis Migration.

Warum: v0 baut überall gleich — eine Bot-Quelle, ein Runtime-Muster, ein Analytics-Pfad.

Links: Bots & Assistenten Hub, Signage v0-Vertrag


2026-09-12 — Öffentliches Chatbot-Interaction-Logging für v0 Host /api/chat (0.1.333)

Was: Neuer Endpunkt POST …/chatbot-interactions (Rate-Limit, CORS) schreibt in ChatbotInteraction — gleiche Auswertung wie visitor-chatbot. public-visitor-surface liefert apiHints.chatInteractionsPost.

Warum: MallPilot-v0-Websites mit Host-/api/chat erscheinen in Cockpit Chatbot-Reports und Trending, ohne Legacy-Pfad zu ändern.

Links: Bots & Assistenten Hub


2026-09-12 — Dashboard: MallPilot-Chatbot-Felder (Legacy-safe) (0.1.332)

Was: Bots-Website-Tab: triggerLabel, voiceEnabled, chatApiUrl speicherbar; UI mit MallPilot-Block + Legacy/Backend einklappbar. public-visitor-surface spielt neue Felder additiv aus — alte Parameter unverändert.

Warum: Redaktion kann v0-MallPilot steuern, ohne WordPress/Mally-Center zu brechen.

Links: Bots & Assistenten Hub

2026-09-12 — v0: mallpilot-chat-core 0.8.1 Triple-Layout in Instructions (0.1.331)

Was: v0-Anweisungen an Core 0.8.1 angepasst: MallPilotSearchBar + ChatWidget + VoiceNavigator, MallPilotSiteShell, Host-/api/chat-Vorlage; Companion/Kiosk weiter visitor-chatbot.

Warum: Instructions matchten nicht den echten Core-Stand (Reference-Copy, nicht visitor-chatbot für Websites).

Links: center-website-v0-api-ready-to-go, V0_INSTRUCTION_BOT_CORE_PATCH

2026-09-12 — v0: mallpilot-chat-core Master-Chat in Instructions (0.1.330)

Was: v0-Anweisungen verweisen auf Master-Chat /mallpilot-chat-core-kJyZM1UHiHR und Repo mallpilot-chat-core — Chat-to-Chat vor Bot-Implementierung; signage-surface-Prompt und Teil C/H/I aktualisiert.

Warum: Eine Bot-UI/Logik-Quelle für Website, Companion und Kiosk — v0 soll nicht inline bauen.

Betrifft: Website & v0, Signage & QR, MCP & Integration

Links: center-website-v0-api-ready-to-go, v0 Signage Config-Vertrag

2026-09-11 — AI Premium: konsolidierte Stele-Optionen + Reiter (0.1.327)

Was: Alle Classic-Kiosk-Felder (Farben, Medien, Bento-Mood, Willkommenstext) in templateOptions.kiosk für AI Premium / AI Wayfinding; Dashboard-Reiter „Stele“ aufgeteilt (Darstellung, Farben, Medien, Module, Wayfinding, DOOH, Einbettungen, Bezeichnungen). signage-surface liest Classic-Spalten als Fallback.

Warum: v0-Referenz ist AI Premium — ein Optionsmodell statt verstreuter Legacy-Reiter; Redaktion findet Einstellungen schneller.

Betrifft: Dashboard (Signage & Companion), Signage & QR, Website & v0

Links: v0 Signage Config-Vertrag

2026-09-11 — Digital Signage Hub: v0 statt Legacy-App (0.1.326)

Was: /dashboard/digital-signage ohne Render/Live-Ping (Port 3002): v0-Hub mit Frontend-Kanäle, Signage-Optionen im Center, Config-Prompt, URL-Test. Legacy „App-Konfiguration“ verweist auf Center-Reiter Signage.

Warum: Keine Reste der abgeschalteten Signage-App — gleiches Modell wie Website/v0.

Betrifft: Dashboard, Signage & QR


2026-09-11 — Signage-Templates: alle Varianten als v0-Optionen (0.1.325)

Was: Alle Karten unter Center → Kiosk → „Signage-Template (v0)“ sind explizit v0-Layouts (Kiosk, AI Premium, Wayfinding, Display, …). Registry mit configProfile; signage-surface liefert v0TemplateCatalog.

Warum: Keine Verwechslung mehr mit Legacy Render — jedes Template = v0-Ziel, Cockpit = Optionen.

Betrifft: Dashboard, Signage & QR, Website & v0

Links: v0 Signage/Companion Config-Vertrag


2026-09-11 — Signage/Companion Unified Surface + v0-Prompt (0.1.323–0.1.324)

Was: Neue öffentliche API GET …/signage-surface führt alle Signage- und Companion-Konfigurationen (Classic Kiosk, AI Premium, Wartung, Companion global) in einem Lesemodell zusammen — inkl. v0CustomInstructions. Frontend-Kanäle: Copy-Button „An v0 senden“ (Signage/Companion/Reiter Technik). MCP: cockpit_signage_surface. Classic-Kiosk-Reiter heißt „Kiosk-Skin“. Keine DB-Migration.

Warum: v0 soll Layout/UI bauen und alle Dashboard-Optionen kennen, ohne mehrere APIs manuell zu mergen oder Werte zu hardcoden.

Betrifft: Signage & QR, Website & v0, MCP & Agenten, Dashboard

Links: v0 Signage/Companion Config-Vertrag


2026-09-11 — Plattform-Hosting cross-org (Website + Signage) (0.1.322)

Was: Shared Vercel-Maps auf Plattform-Ebene (System → Plattform-Hosting) — ein v0-Template/Projekt für Center über Organisationsgrenzen hinweg. Org-Hosting bleibt optionaler Override.

Warum: MEC-, ILG- oder AI-Premium-Layouts sollen nicht pro Organisation dupliziert werden müssen.

Betrifft: Dashboard, Website & v0, Signage & QR, MCP & Agenten

Links: Parallele Frontends, Go-Live DNS


2026-09-11 — Signage Shared Multi-Center (v0/Vercel) (0.1.321)

Was: Signage v0 kann wie die Website im Shared-Modus laufen: Org-Map signageVercelProjectsByTemplate nach defaultSignageTemplate, Center-Modus signageVercelProjectMode=shared, Auflösung in Frontend-Kanäle + MCP cockpit_organization_hosting.

Warum: Ein v0-Signage-Layout (z. B. AI Premium) für viele Center — ohne pro Center eine eigene Vercel-projectId pflegen zu müssen.

Betrifft: Dashboard, Signage & QR, MCP & Agenten

Links: Parallele Frontends, v0 Team-Template


2026-09-11 — Feedback-Inbox: sticky Detail + Verlauf (0.1.320)

Was: Unter System → Feedback-Inbox bleibt die Detailbox rechts beim Scrollen sichtbar; Anlegedatum und chronologischer Verlauf (Status, Agents, PR) pro Ticket.

Warum: Super-Admins sollen Tickets schneller einordnen, ohne beim Durchscrollen der Liste den Kontext zu verlieren.

Betrifft: Dashboard

2026-09-11 — Hero-Slider (v0): „Slide hinzufügen“ bei leerem Center (0.1.318)

Was: Im Reiter Hero-Slider (v0) erscheint nach Klick auf „Slide hinzufügen“ wieder ein bearbeitbarer leerer Slide — auch wenn templateContent bisher leer war (individuelle v0-Website ohne Template).

Warum: Leere Editor-Entwürfe (source: manual ohne Bild/Titel) wurden beim Einlesen verworfen; der Button wirkte kaputt (FB-FOUJFL1S, City Galerie Aschaffenburg).

Betrifft: Dashboard, Website & v0

Links: v0 Hero-Slider Quellen

2026-09-11 — Social: Korrektur vor Selbst-Freigabe wird veröffentlicht (0.1.319)

Was: Beim Bearbeiten und Selbst-Freigeben (oder direkten Veröffentlichen) eines Social-Posts werden Textänderungen jetzt in derselben Aktion gespeichert und veröffentlicht — nicht mehr der alte Stand aus dem Entwurf.

Warum: Nach Ablehnung (z. B. Rechtschreibung) konnte der korrigierte Text im Editor stehen, Outstand aber noch den alten Container-Text senden (FB-XFOMOFKK, Vita Center Chemnitz).

Betrifft: Dashboard, Social

2026-09-11 — Frontend-Kanäle: Signage Vercel projectId (0.1.317)

Was: Im Reiter Signage (Frontend-Kanäle) kann IT die eigene Vercel projectId für das Signage-v0-Projekt pflegen (signageVercelProjectId) — unabhängig von der Website-vercelProjectId. Deploy-Register schreibt die ID mit.

Warum: Signage läuft typischerweise in einem separaten Vercel-Projekt; bisher nur in Deploy-Metadaten, nicht im Dashboard editierbar.

Betrifft: Dashboard, Signage & QR, Betrieb & Deploy

Links: v0 Hosting & Statistik


2026-09-11 — Signage-Wartungsmodus template-übergreifend (0.1.316)

Was: Wartungsmodus liegt nicht mehr nur in AI-Premium-Kiosk-Optionen, sondern im immer sichtbaren Reiter Wartungsmodus (alle Signage-Templates). Speicher signageTemplateOptions._global. Neue API GET/PUT …/signage-global-options, MCP cockpit_signage_global_options / cockpit_update_signage_global_options. signage-config und data.bots.signage liefern Wartungsfelder mit.

Warum: Kiosk, Wayfinding, Legacy-Kiosk und v0 sollen denselben zentralen Schalter nutzen.

Betrifft: Dashboard, Signage & QR, Website & v0, MCP & Agenten

Links: AI Premium v0-Parität


2026-09-11 — Kiosk-Wartungsmodus (Logo + Hinweistext) (0.1.315)

Was: Im Reiter AI Premium Kiosk (bzw. AI Wayfinding Kiosk) gibt es einen Toggle Wartungsmodus und ein Textfeld für den Hinweis. Öffentliche API liefert maintenanceModeEnabled, maintenanceMessage und centerLogoUrl — v0 zeigt dann nur Logo (automatisch aus Center-Stammdaten) plus Text.

Warum: Center sollen Stelen bei Wartung zentral abschalten können, ohne v0 neu zu deployen.

Betrifft: Dashboard, Signage & QR, Website & v0, MCP & Agenten

Links: AI Premium v0-Parität


2026-09-11 — Signage-Optionen: MCP-Schreibtool + Auth (0.1.314)

Was: Neues MCP-Tool cockpit_update_signage_template_options (symmetrisch zum Lesen). AgencyOS PUT …/signage-template-options. Dashboard-PUT verlangt Session. MCP-Hints bereinigt (kein irreführendes „PUT ohne Tool“ mehr).

Warum: Agenten sollen AI-Premium-Kiosk/Companion-Toggles und Labels direkt setzen können — ohne Umweg über bots-profile.

Betrifft: MCP & Agenten

Links: AgencyOS Integration


2026-09-11 — Centerplan-Etagen per Agent umbenennen (0.1.313)

Was: Neues MCP-Tool cockpit_update_wayfinding_floor und AgencyOS-PATCH für Etagen-Metadaten (name, floorNumber, …). Cannstatt: „Erdegeschoss“ → Erdgeschoss korrigiert. Dashboard-Schreib-Routen für Etagen (PATCH/DELETE …/wayfinding/floors/{id}, POST …/floors, Polygon-Editor) verlangen jetzt Session + Center-Zugriff.

Warum: Rechtschreibfehler per Agent beheben — ohne offene unauthentifizierte Schreib-API am Dashboard-Weg.

Betrifft: MCP & Agenten, Website & v0 (Centerplan-Labels)

Links: AgencyOS Wayfinding


2026-09-11 — Kiosk-Tab: React-Hook-Crash behoben (0.1.312)

Was: Center-Reiter Kiosk (?tab=kiosk) stürzte mit React-Fehler #310 ab — useEffect stand nach dem Loading-Early-Return in KioskConfigurationNew.

Warum: Beim Wechsel von Loading → geladen änderte sich die Hook-Anzahl pro Render (Rules of Hooks).

Betrifft: Dashboard


2026-09-11 — Hardware/Stelen: Agent-Löschen + Etagenwechsel (0.1.311)

Was: Neues MCP-Tool cockpit_delete_touchscreen (Soft-Delete wie Dashboard Hardware). cockpit_update_touchscreen und AgencyOS-PATCH unterstützen floorId; bei Etagenwechsel wird eine Plan-Zuordnung auf anderer Etage automatisch entfernt.

Warum: Agenten sollen Digital-Experience-Hardware vollständig pflegen können — ohne Dashboard-Session und ohne Workaround über isActive: false.

Betrifft: MCP & Agenten

Links: AgencyOS Touchscreens


2026-09-10 — Brand DNA im Center-Reiter Design (0.1.310)

Was: Brand-DNA-Editor von „Digital Experience → Brand DNA“ in den Center-Reiter Design verschoben (?tab=design, Abschnitt Markenprofil). Alte URL leitet weiter; Nav-Eintrag unter Templates entfernt.

Warum: Markenprofil ist Center-Stammdatum — gehört neben Theme/Farben/Schriften, nicht in die Template-Navigation.

Betrifft: Dashboard

Links: Brand DNA


2026-09-10 — MCP-Parität: Brand DNA, Gast-Freigabe, Pre-Flight (0.1.309)

Was: Zwei neue MCP-Tools: cockpit_content_draft_review_link (Gast-Freigabe für Website-Entwürfe) und cockpit_social_draft_quality_check (Pre-Flight vor Social-Schedule). cockpit_get_center / cockpit_center_context liefern brandDna/brandGuidelines; cockpit_get_draft/cockpit_list_drafts nennen guestReviewUrl. Tool-Export: 208 Tools.

Warum: Agenten und AgencyOS sollen dieselben Hub-Features nutzen wie Dashboard und REST — ohne parallele Skripte.

Betrifft: MCP & Agenten

Links: MCP-Tool-Referenz · AgencyOS API


2026-09-10 — Social Pre-Flight-QA vor Schedule (C14, 0.1.308)

Was: Regel-Check vor Social-Planung/Veröffentlichung: Kanäle, Caption-Länge, Medien/Reel-Video, Termin, Instagram-Hashtags (Warnings). API GET …/social/drafts/{id}/quality-check; serverseitig in publishSocialPostDraft — Editor-Button „Qualitätsprüfung“. MCP: cockpit_social_draft_quality_check.

Warum: Hub-Abgleich AgencyOS quality-check.ts — Cockpit-native, mit echter Publish-Sperre bei Fehlern.

Betrifft: Dashboard · Social · MCP & Agenten

Links: Social Media Freigabe, AgencyOS API


Was: Tokenbasierter Freigabe-Link für Website-ContentDraft (News, Angebote, Events, …) — analog Social: Button im Workflow, öffentliche Seite /freigabe/content/{token}, API ohne Login. Freigabe legt den Inhalt live an. MCP: cockpit_content_draft_review_link; cockpit_get_draft liefert guestReviewUrl.

Warum: Hub-Abgleich AgencyOS — Center Manager / Marketing können Website-Entwürfe ohne Cockpit-Login freigeben (Parität zu Social-Gast-Freigabe).

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Links: Workflow & Freigaben


2026-09-10 — Brand DNA am Center (Hub P0, 0.1.306)

Was: Strukturierte Brand DNA pro Center (brandDna JSON + brandGuidelines Freitext): Tone of Voice, Zielgruppe, USPs, Tabus, Beispiel-Post, optional Visual/Video. Dashboard-Editor unter Brand DNA; KI-Captions (Social, Review-Themen) nutzen die Felder. AgencyOS/MCP: GET/PUT …/centers/{id}, cockpit_get_center / cockpit_update_center, Kontext-API.

Warum: Hub-Abgleich — AgencyOS brandDna/brandGuidelines wandern als Source of Truth ins Cockpit (kein Datenverlust, additive Migration).

Betrifft: Dashboard · Social · MCP & Agenten

Links: Brand DNA · AgencyOS-Integration


2026-09-10 — Hero-Slider: DOOH, News, Square-Format (0.1.305)

Was: v0/Base-Hero-Slider unterstützt Quellen manual, DOOH-Playlist (expand/inline) und News-Highlights (featured/isHeroFeatured). DOOH-Playlists haben Slot-Format inkl. Quadrat (1:1) und Portrait (9:16). public-visitor-surface liefert aufgelöste data.hero.slides mit source, kind, aspectRatio.

Warum: Slider-Inhalte liegen im Alltag auch in DOOH oder News — Agenten und Vertretungen sollen ohne v0-Deploy pflegen können.

Betrifft: Dashboard · DOOH · Websites & v0 · MCP & Agenten

Links: v0 Hero-Slider Quellen

2026-09-10 — Base/v0: Hero-Slider im Cockpit (0.1.304)

Was: Center ohne Website-Template (individuelle v0-Builds) können Startseiten-Hero-Slides im Reiter Hero-Slider (v0) pflegen. Speicher: templateContent.base.hero.slides. Öffentlich: templatePublicContent.content.hero.slides und data.hero.slides. Bestehende Einzel-Hero-Felder bleiben unverändert.

Warum: v0-Frontends hatten Slides hardcodiert, weil es kein passendes Cockpit-Feld gab — ohne Template-Duplikate pro Center.

Betrifft: Dashboard · Websites & v0 · MCP & Agenten

Links: v0-Integrationsvertrag · Cockpit steuert Frontends

2026-09-09 — Mail ohne Center: Plattform- und eigenständige Postfächer (0.1.303)

Was: Postfächer und Weiterleitungen brauchen kein Center mehr. cockpit-os.de landet als Plattform-Adresse. Eine bekannte Center-Mail-Domain hängt automatisch am richtigen Center. Alles andere wird eigenständig geführt — ohne Fake-Mall. Super-Admin sieht das unter Einstellungen → API.

Warum: Adressen wie dmarc@cockpit-os.de und spätere Postfächer ohne Mall (z. B. Host Europe) dürfen nicht in einem Kunden-Center auftauchen.

Betrifft: Dashboard, E-Mail, MCP & Agenten, Betrieb & Deploy

Links: Center-Mail Provisioning · AgencyOS-Integration

2026-09-09 — MCP mit cockpitOS-Login (0.1.302)

Was: Jede Person kann unter Mein Konto ein persönliches MCP-Token erzeugen. Cursor/Claude nutzt COCKPIT_MCP_USER_TOKEN. Journal und Verlauf zeigen den echten User. Der bisherige AgencyOS-Key bleibt für Automationen.

Warum: Ein geteilter Key sagt nur „dieser Schlüssel“, nicht wer im Chat saß.

Betrifft: Dashboard, MCP & Agenten, Betrieb & Deploy

Links: Claude & MCP · AgencyOS-Integration

2026-09-09 — Render-Bandwidth: Center-Website CDN + Vector-Sync-Skip

Was: Center-Website leitet /videos/ und /shop-images/ in Production per 308 auf Bunny um; Wayfinding-APIs cachen per Redis + Cache-Control; statische Next-Assets bekommen lange Browser-Cache-Header. Dashboard Vector-Sync (04:00 UTC) überspringt unveränderte Entities per Content-Hash.

Warum: SMG-Render-Workspace (25 GB/Monat) war nach ~2 Tagen voll — hauptsächlich mallos-center-website (~7–8 GB/Tag) und nächtlicher Pinecone-Full-Sync (~330 MB/Tag).

Betrifft: Website & v0, Betrieb & Deploy, Chatbot & KI

Links: docs/RENDER-BANDWIDTH.md, docs/CRON-SETUP.md (Pinecone)


2026-09-09 — mailcow-Instanz über MCP konfigurieren (0.1.301)

Was: Super-Admin kann Login-Titel, Hilfe, Footer und eigene App-Links der mailcow-Oberfläche über MCP setzen (cockpit_mailcow_admin_status, cockpit_mailcow_set_ui, cockpit_mailcow_set_app_links). Logo und SOGo-Look bleiben außerhalb der API.

Warum: Betrieb soll die Instanz nicht nur über die mailcow-UI pflegen. Postfächer und Weiterleitungen bleiben Center-Alltag; das hier gilt für die ganze Instanz.

Betrifft: MCP & Agenten, E-Mail, Betrieb & Deploy

Links: Center-Mail Provisioning · AgencyOS-Integration

2026-09-09 — Center-Mail: externe Weiterleitung erst nach Bestätigung (0.1.300)

Was: Weiterleitung auf ein fremdes Postfach (Gmail, Host Europe, privat) schickt eine Bestätigungsmail an die Zieladresse. Erst nach dem Klick wird weitergeleitet. Ziele auf der Center-Domain bleiben sofort aktiv. Bestehende Weiterleitungen bleiben gültig.

Warum: Redaktion legt oft externe Ziele an. Ohne Bestätigung landet Post bei Tippfehlern oder ohne Einwilligung im falschen Postfach.

Betrifft: Dashboard, E-Mail, MCP & Agenten

Links: Center-Mail Provisioning · Dashboard-E-Mails

2026-09-09 — Center-Mail: DKIM galt als offen trotz gesetztem TXT (0.1.299)

Was: Lange DKIM-TXT-Records (zwei Anführungszeichen-Teile, wie bei United Domains üblich) werden zusammengeführt und am öffentlichen Schlüssel erkannt.

Warum: Bentwisch hatte DKIM gesetzt, der Reiter verglich den mailcow-String 1:1 mit dem gesplitteten UD-Wert.

Betrifft: Dashboard, E-Mail

Links: Center-Mail Provisioning

2026-09-09 — Center-Mail: DNS-Status „offen“ trotz gesetzter Records (0.1.298)

Was: Der Reiter E-Mail vergleicht Soll- und Ist-Records jetzt über Apex-Hosts und Werte (inkl. Trailing-Dot/Anführungszeichen). Bereits gesetzte MX/SPF/CNAME gelten als ok. set markiert nicht mehr alles als offen.

Warum: United Domains liefert Hosts oft als volle Domain. Der Abgleich erwartete @ — deshalb blieb alles orange, auch nach „Nur prüfen“.

Betrifft: Dashboard, E-Mail

Links: Center-Mail Provisioning

2026-09-09 — Center-Mail: Redaktion pflegt Postfächer selbst (0.1.297)

Was: Content-Editor und Agentur-Redaktion sehen den Reiter E-Mail und können Postfächer, Weiterleitungen und ein neues Passwort selbst anlegen. Webmail- und Outlook-Daten stehen im Reiter. DNS-Setzen bleibt Betrieb (Host-Europe-Risiko). MCP: cockpit_reset_mailbox_password.

Warum: Solche Aufgaben liefen bisher über Technik. Die interne Redaktion soll das ohne Ticket erledigen.

Betrifft: Dashboard, MCP & Agenten, E-Mail

Links: Center-Mail Provisioning · Navigation

2026-09-08 — Center-Mail Phase 2: Reiter E-Mail im Dashboard (0.1.296)

Was: Am Center gibt es den Reiter E-Mail: Postfächer und Weiterleitungen anlegen/löschen, DNS-Plan sehen, bei United Domains nach Bestätigung setzen. Passwort erscheint nur einmal. Agentur-Redaktion sieht den Reiter nicht.

Warum: Bisher nur über Agenten-Tools. Betrieb und Marketing sollen dasselbe Inventar im Cockpit pflegen.

Betrifft: Dashboard, E-Mail, Betrieb & Deploy

Links: Center-Mail Provisioning · Navigation

2026-09-08 — Center-Mail Phase 1: DNS-Plan für MX/SPF/DKIM (0.1.295)

Was: AgencyOS und MCP können die Soll-DNS-Records für eine Center-Mail-Domain anzeigen und — nach Dry-Run und Bestätigung — bei United Domains setzen. Vorhandenes SPF/DMARC bleibt unangetastet. Ein fremder MX wird als Warnung gemeldet, nicht still überschrieben ohne confirm.

Warum: Records mussten bisher von Hand aus mailcow kopiert werden. Der Plan kommt aus einer Quelle; Schreiben bleibt bewusst zweistufig.

Betrifft: MCP & Agenten, Betrieb & Deploy

Links: Center-Mail Provisioning · AgencyOS

2026-09-08 — Center-Mail Phase 0b: Formulare an Mailbox und Alias (0.1.294)

Was: Kontaktformulare (Resend) dürfen an aktive Center-Postfächer und Weiterleitungen senden. recipientEmail ist erlaubt, wenn die Adresse im Mail-Inventar liegt. Ein formKey gleich dem localPart (z. B. gewinnspiel) trifft das Postfach bzw. den Alias — formRecipients im Webseiten-Tab bleibt vorrangig.

Warum: Neue Adressen mussten bisher extra in formRecipients stehen. Nach dem Anlegen in mailcow soll das Formular dieselbe Adresse erreichen, ohne Website-Config anzufassen.

Betrifft: Website & v0, E-Mail, MCP & Agenten

Links: Center-Mail Provisioning · Dashboard-E-Mails

2026-09-08 — Product-Feedback: messageAppend + Automation robuster (0.1.293)

Was: Agenten und AgencyOS können an offene Product-Feedback-Tickets per messageAppend Text anhängen (nicht bei Status Erledigt). Cursor-Automation-Webhook-Timeout standardmäßig 45 s (optional CURSOR_FEEDBACK_AUTOMATION_TIMEOUT_MS). Agent-PATCH akzeptiert auch CURSOR_FEEDBACK_AUTOMATION_API_KEY als Bearer.

Warum: Vergessener Kontext soll nachreichbar sein, ohne neues Ticket. Webhook-Timeout und unterschiedliche Secrets haben Auto-Claim und Agent-PATCH zuvor abgebrochen.

Betrifft: Dashboard · MCP & Agenten

Links: Feedback an cockpitOS · AgencyOS API

2026-09-08 — UD-DNS: SRV-Wertformat für MCP (0.1.292)

Was: SRV-Records bei cockpit_ud_dns und cockpit_ud_account (action=update-dns) erwarten einen kombinierten Wert (Priorität Gewicht Port Ziel, z. B. 0 1 443 mail.example.de.). Getrennte Felder priority, weight, port, target werden vor dem Schreiben zusammengeführt. MX/CNAME/SRV-Ziele werden für Reseller und Retail als FQDN normalisiert.

Warum: Ohne das kombinierte Format akzeptiert United Domains SRV-Records aus MCP/AgencyOS nicht zuverlässig — Ergänzung zur Unterstrich-Hostname-Freigabe für mailcow.

Betrifft: MCP & Agenten

Links: AgencyOS API — UD-DNS

2026-09-08 — UD-DNS: Hostnames mit führendem Unterstrich (0.1.291)

Was: cockpit_ud_dns und cockpit_ud_account (action=update-dns) akzeptieren DNS-Labels mit führendem _ — z. B. _dmarc, _domainkey, dkim._domainkey, _autodiscover._tcp, _acme-challenge.

Warum: Die bisherige Hostname-Validierung blockierte DKIM-, DMARC- und SRV-Records für die mailcow-Integration über MCP.

Betrifft: MCP & Agenten

Links: Go-Live DNS (UD) · MCP-Tool-Referenz

2026-09-08 — Feedback aus Robi und Claude in der Inbox (0.1.290)

Was: Robi und Claude können einen Feedback-Punkt direkt in der Inbox anlegen. Als Melder steht cockpitOS-Assistent — ein Name für beide, ohne Modell. Bei „geht nicht“ oder „sieht komisch aus“ gilt zuerst: Alltagsbeschreibung reicht, der Assistent schaut selbst nach, erst dann ein Ticket mit dem Wortlaut der Person.

Warum: Agenten konnten Tickets nur listen und bearbeiten, nicht anlegen. Und niemand muss Fachbegriffe kennen, bevor gefragt werden darf.

Betrifft: Dashboard, MCP & Agenten

Links: Feedback an cockpitOS

2026-09-08 — Social: gewählte Kanäle klar erkennbar (0.1.289)

Was: Beim neuen Post tragen die Kanal-Chips die Farbe des Netzwerks (Facebook blau, Instagram magenta, …). Ausgewählte Kanäle werden grün hinterlegt und mit einem Haken markiert.

Warum: Der Unterschied an/aus war zu schwach — Redaktion soll auf einen Blick sehen, wohin der Post geht.

Betrifft: Dashboard, Social

Links: Social-Media-Freigabe

2026-09-08 — Social: Hilfe am Feld, Format folgt den Kanälen (0.1.288)

Was: Beim neuen Post wählt man zuerst die Kanäle. Die Format-Karten passen sich an (Story und Reel nur, wo sie existieren). Text-Vorschlag und Bild zaubern sitzen als Schalter direkt bei Text bzw. Foto. Fachbegriffe erklären sich per Tooltip. Story und Reel gehen auf Facebook als echte Story bzw. Reel raus. Der erste Kommentar fährt mit dem geplanten Post mit. Dazu: Reel-Cover, Instagram-Collabs und Markierungen, TikTok-Schalter, erneut teilen, Post vom Kanal löschen und Instagram-Nachrichten in Community.

Warum: KI gehört dorthin, wo man sie braucht. Und ein Reel für Threads macht keinen Sinn. Ohne Facebook-Flags landete ein Reel dort als normales Video.

Betrifft: Dashboard, Social

Links: Social Media & Freigabe

2026-09-08 — Kalender lädt wieder mit gewähltem Center (0.1.287)

Was: Der Redaktions-Kalender stürzt nicht mehr ab, wenn ein Center gewählt ist. Datum-Kacheln und Filter nutzen dieselbe Center-Auswahl wie die Kopfzeile — eine gemeinsame Funktion für „konkretes Center oder alle“.

Warum: Nach dem Merken des Centers blieb im Kalender ein alter Variablenname. Beim Zeichnen der Tage war die Center-ID nicht definiert.

Betrifft: Dashboard, Social

Links: Navigation & Module, Social-Media-Freigabe

2026-09-07 — Social: Neuer Post in drei Schritten (0.1.286)

Was: Der Editor unter Neuer Post ist in drei Reiter aufgeteilt: zuerst Format, Text und Bild; dann Kanäle und Termin; KI und Extra-Felder nur unter Optional. Die Vorschau und die Buttons Entwurf / Zur Freigabe / Veröffentlichen bleiben rechts sichtbar.

Warum: Format war hinter Termin versteckt, der Kreativ-Assistent wirkte wie ein Pflichtschritt. Der Flow soll so einfach wie News und Events sein.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Social: Center-Bildvorlagen ohne Canva-Editor (0.1.285, FB-Y4JZXXR3)

Was: Center können Bildvorlagen hinterlegen und im Post die passende nehmen. Manche Center brauchen das, andere nicht. Die Auswahl sitzt im Editor, nicht extra ein Editor.

Warum: Manche Center wollen feste Rahmen, ohne dass jeder einen Canva-Editor im Cockpit braucht.

Betrifft: Social, Dashboard, MCP & Agenten

Links: Social-Media-Freigabe

2026-09-07 — Social: eigene Fotos als Vorlage beim Bild zaubern (0.1.284, FB-WXB162R6)

Was: Beim Bild zaubern kann die Redaktion bis zu drei eigene Fotos als Vorlage anhängen. Die KI mischt echte Bilder mit der Bildidee.

Warum: Ein Center-Foto plus neue Stimmung soll schneller gehen als nur Textprompt.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Social: Text vorschlagen aus Foto oder Video (0.1.283, FB-UE8SP4B0)

Was: Beim Textvorschlag kann die Redaktion ein Foto oder Video anhängen. Die KI schreibt zum sichtbaren Motiv. Bei Videos nur Vorschaubild, nicht das ganze Video. Regel-Vorlagen bleiben daneben wählbar.

Warum: Stichworte allein reichen oft nicht, wenn das Motiv schon im Bild liegt.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Social: Regel-Vorlagen für Textvorschlag (0.1.282, FB-WQLW7SZN)

Was: Beim Textvorschlag kann die Redaktion benannte Vorlagen speichern (Name + Regeln) und vor dem nächsten Vorschlag auswählen. Der Super-Admin-Prompt bleibt die Basis.

Warum: Hashtag- und Tonalitäts-Regeln sollen nicht jedes Mal neu getippt werden.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Social: ein Center für alle Seiten (0.1.281, FB-WC093VXR)

Was: Beim neuen Social-Post gibt es keinen zweiten, widersprüchlichen Center-Picker mehr. Die Leiste oben gilt auch für Editor, Planer und Freigaben. Zusätzliche Standorte kannst du nur für diesen Post ankreuzen — die Leiste bleibt.

Warum: Center an mehreren Stellen wählen hat verwirrt (FB-WC093VXR). Einmal festlegen, dann weiterarbeiten.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe, Navigation & Module

2026-09-07 — Social-Vorschau: Format-Hinweise und Reel-Safe-Zone (0.1.280, FB-V6KFM38W)

Was: In der Social-Vorschau stehen kurze Format-Hinweise pro Kanal. Bei einem Reel-Video liegt eine Safe-Zone-Schablone über dem Bild (Profil oben, Buttons rechts, Caption unten), mit Schalter zum Ausblenden.

Warum: Redaktion soll vor dem Live-Gang sehen, wo Meta die Bedienung über das Video legt — ohne die bestehende Zuschnitt-Vorschau zu ersetzen.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Glocke öffnet den passenden Social-Post (0.1.279, FB-28QG00TG)

Was: Ein Klick auf eine Glocken-Meldung (z. B. „Social-Post freigegeben“) führt direkt zum Post oder zur markierten Freigabe. Ältere Einträge ohne gespeicherten Link werden aus der Post-ID abgeleitet.

Warum: Die Meldung wirkte tot: der Klick markierte nur gelesen oder landete auf der Freigabe-Liste, ohne den passenden Post zu zeigen.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe, Benutzer und Organisation

2026-09-07 — Social-Freigaben: Posts in der Übersicht löschen (0.1.278)

Was: In der Social-Freigaben-Übersicht gibt es pro Karte Löschen mit Rückfrage — für Entwürfe, Zur Freigabe, Überarbeitung und geplante Posts. Live-Posts bleiben geschützt. Agenten nutzen cockpit_delete_social_draft. Ticket FB-H5TZ6IXO.

Warum: Bisher musste man den Post erst öffnen und oft nur auf Entwurf setzen. Überflüssige Posts sollen direkt aus der Liste wegkönnen.

Betrifft: Social, Dashboard, MCP & Agenten

Links: Social-Media-Freigabe

2026-09-07 — Kalender: Social-Beitrag vom Datum planen (0.1.277)

Was: Im Kalender (/dashboard/content/planner) und im Social-Kalender öffnet ein Klick auf die Datum-Kachel den Editor für einen neuen Social-Beitrag — Datum und aktuelles Center sind vorausgefüllt. Vorhandene Einträge bleiben die Bearbeitung. (FB-TXWNV27Q)

Warum: Der Kalender soll mehr als Übersicht sein: Redaktion plant den nächsten Beitrag direkt vom gewünschten Tag.

Betrifft: Dashboard, Social

Links: Social-Media-Freigabe, Workflow & Freigaben

2026-09-07 — Social-Entwürfe im Kalender (0.1.276, FB-U4G88X5A)

Was: Social-Entwürfe und Ideen mit gesetztem Termin erscheinen im Redaktions-Kalender und im Social-Kalender auf dem richtigen Tag. Undatierte Entwürfe stehen in der Seitenliste Offene Entwürfe. Filter Entwürfe anzeigen ist standardmäßig an. Klick öffnet den Editor.

Warum: Ein gespeicherter Entwurf war bisher unsichtbar, sobald man den Kalender öffnete — Weiterarbeiten und der geplante Tag fehlten.

Betrifft: Dashboard, Social

Links: Social-Media-Freigabe · Workflow & Freigaben

2026-09-07 — Kalender merkt sich das Center (0.1.275)

Was: Im Redaktions-Kalender bleibt das gewählte Center erhalten, wenn man die Seite verlässt und zurückkommt. Es steht in der Adresszeile und folgt der Center-Auswahl in der Kopfzeile (FB-U0PP0DPG).

Warum: Super-Admins mussten das Center nach jedem Seitenwechsel neu wählen. Die Planung war dann leer oder zeigte alle Center.

Betrifft: Dashboard

Links: Workflow & Freigaben, Social-Media-Freigabe

2026-09-07 — Social: realistische Bild-Vorschau (0.1.274)

Was: Die Vorschau im Social-Editor zeigt Facebook, Instagram und Story jeweils im echten Format. Man sieht, ob helle Ränder entstehen oder das Bild zugeschnitten wird (FB-DOTHILSM).

Warum: Facebook und Instagram nutzen unterschiedliche Bildflächen. Eine gemeinsame Vollflächen-Vorschau hat den Unterschied versteckt.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Geplante Social-Posts wieder bearbeiten (0.1.273)

Was: Ist ein Beitrag schon eingeplant und freigegeben, lassen sich Text, Bild, Kanäle und Datum/Uhrzeit wieder ändern. Im Editor steht der Hinweis, dass die Änderung zum Veröffentlichungstermin gilt (FB-TSPHU59T).

Warum: Nach der Freigabe war der geplante Post oft schreibgeschützt — Tippfehler oder ein neuer Termin gingen nur über Stornieren.

Betrifft: Social, Dashboard, MCP & Agenten

Links: Social-Media-Freigabe

2026-09-07 — Geplante Reels: Video prüfen und Status nachziehen (FB-T1QO9O49, 0.1.272)

Was: Ein Reel lässt sich nur noch mit Video planen oder veröffentlichen — ein Bild allein wird mit klarer Meldung abgelehnt. Nach dem Termin gleicht der Cron den Status bei Outstand ab (live oder Fehler). Beim Öffnen eines überfälligen geplanten Posts geschieht dasselbe.

Warum: Vita Center Chemnitz hat ein eingeplantes Reel als „nicht ausgeführt“ gemeldet. Die Planung läuft über Outstand, nicht über einen eigenen Publish-Cron. Ohne Abgleich blieb der Entwurf im Cockpit auf „geplant“, auch wenn Outstand schon live oder fehlgeschlagen war.

Betrifft: Social, Dashboard, Betrieb & Deploy

Links: Social-Media-Freigabe

2026-09-07 — Social: Text pro Kanal ohne gemeinsames Feld (0.1.271)

Was: Bei Text pro Kanal reicht ein eigener Text je gewähltem Kanal. Das gemeinsame Textfeld muss nicht mehr extra gefüllt werden. Fehlt ein Kanal-Text, steht der Kanalname in der Fehlermeldung.

Warum: Freigabe und Veröffentlichen scheiterten sonst mit „no caption“, obwohl Facebook- und Instagram-Text schon da waren (FB-EBKWR0KM).

Betrifft: Social, Dashboard, MCP & Agenten

Links: Social-Media-Freigabe

2026-09-07 — Angebote: Shop suchen statt kurzer Liste (0.1.270)

Was: Beim Anlegen und Bearbeiten eines Angebots lässt sich das verknüpfte Geschäft per Shop suchen finden. Die Liste gilt nur für das gewählte Center und ist nicht mehr auf die ersten Einträge begrenzt (FB-3XAF2B2V).

Warum: In größeren Centern fehlten Shops wie McPaper in der Zuweisung — sie standen nicht unter den ersten geladenen Einträgen.

Betrifft: Dashboard

Links: Angebote erstellen

2026-09-07 — Events: fehlende Pflichtfelder markieren (FB-RBXMNCS9, 0.1.269)

Was: Beim Speichern oder Veröffentlichen eines Events werden vergessene Pflichtfelder (Titel, Startdatum, Startzeit, Center) rot markiert. Eine kurze Meldung sagt, welches Feld fehlt; das Formular springt zum richtigen Schritt.

Warum: Redaktion hat sonst nur einen ausgegrauten Knopf gesehen und musste raten, warum sich nichts veröffentlichen ließ.

Betrifft: Dashboard

Links: Events erstellen

2026-09-07 — Social-Editor in drei Schritten (0.1.268)

Was: Neuer Social-Post läuft wie News/Events in drei Schritten: Inhalt, Veröffentlichen, Optional. Fachbegriffe wie Reel oder Story erklären sich per Tooltip. KI-Hilfen stehen nur unter Optional, mit Link zum Prompt (dieses Center oder alle).

Warum: Kolleginnen und Kollegen ohne Social-Erfahrung sollen Posts schnell anlegen können, ohne Fachjargon oder den Eindruck, KI nutzen zu müssen.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Product-Feedback: Alte Tickets nachschicken (0.1.268)

Was: In der Inbox gibt es bei neuen Fehlern und Änderungen den Knopf An SMG Coding Agents senden. Damit landen auch Meldungen von vor der Automation in der Vorbereitung.

Warum: Der Webhook läuft sonst nur beim Absenden. Alte Inbox-Einträge wären sonst liegen geblieben.

Betrifft: Dashboard, MCP & Agenten, Betrieb & Deploy

Links: Feedback an cockpitOS

2026-09-07 — Product-Feedback: Schema nachgezogen (0.1.267)

Was: Die drei Felder Antwort, PR-Link und Übernahme-Zeitpunkt stehen in der Live-Datenbank. Ein flacher Render-Clone überspringt den Datenbank-Abgleich nicht mehr, wenn kein Vorgänger-Commit da ist.

Warum: Ohne die Spalten wäre die Inbox nach dem 0.1.266-Deploy fehlgeschlagen — der Build hatte den Abgleich übersprungen.

Betrifft: Betrieb & Deploy, Dashboard

Links: Feedback an cockpitOS

2026-09-07 — Product-Feedback: Melder-Info und SMG Coding Agents (0.1.266)

Was: Wer Feedback sendet, bekommt Glocke, Push und E-Mail, sobald der Status wechselt. Zur Meldung kann eine kurze Antwort stehen. Als erledigt gilt etwas erst mit dieser Antwort und nur wenn das Dashboard erreichbar ist.

Warum: Melder sollen merken, dass ihre Rückmeldung ankommt und bearbeitet wird — ohne dass etwas ungesehen live geht.

Betrifft: Dashboard, MCP & Agenten, E-Mail

Links: Feedback an cockpitOS · AgencyOS Product-Feedback

2026-09-07 — Social: Kalender und klarere Texte (0.1.265)

Was: Veröffentlichungszeitpunkt im Social-Editor per Kalender (Schnellauswahl, Uhrzeit, Hinweis auf schon geplante Posts). Formate und Hinweise sprechen Alltagssprache statt Fachbegriffe wie Caption oder interne Systemnamen.

Warum: Terminplanung soll schnell gehen — und Redaktion soll ohne Technik-Jargon verstehen, was geplant, live oder noch offen ist.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-07 — Zernio wartet bei Rate-Limit (0.1.264)

Was: Zernio-Aufrufe (Auto-Link, Ads) wiederholen bei „zu viele Anfragen“ nach der angegebenen Pause, statt sofort abzubrechen.

Warum: Mehrere Center hintereinander haben das Limit getroffen (retry after 4 seconds). Ohne Pause blieb die Verknüpfung unvollständig.

Betrifft: Social · Reporting & Analytics

Links: Navigation & Module

2026-09-07 — undici wieder mit wrap-handler (0.1.263)

Was: Die HTTP-Bibliothek undici bleibt auf der gepatchten 7.28-Linie. Der fehlende interne Handler-Pfad tritt nicht mehr auf.

Warum: Ein CVE-Override hat alle Pakete auf undici 8 gehoben. jsdom/Cheerio erwarten dort noch wrap-handler.js — das gibt es in 8 nicht mehr. Folge war eine unhandled Rejection auf Render.

Betrifft: Betrieb & Deploy

Links: Production Deployment

2026-09-07 — Upload speichert Medien-Datensatz wieder (0.1.262)

Was: Nach einem erfolgreichen CDN-Upload wird der Medien-Eintrag in der Datenbank wieder angelegt.

Warum: Dieselbe Variable wurde im Speicher-Block nochmal deklariert. Der Upload landete in Bunny, der Datenbank-Schritt brach ab.

Betrifft: Dashboard

Links: Navigation & Module

2026-09-07 — Review-Vector-Sync findet Center wieder (0.1.261)

Was: Einzel-Sync von Google-Reviews nutzt die Center-ID aus dem Request, nicht mehr eine vermeintliche Place-ID aus der Review-ID. Der interne Review-Load stößt keinen zweiten Sync an.

Warum: Review-IDs sind ein Hash (google_ + 16 Zeichen). Der alte Parser hat den Hash als Google-Place-ID gelesen — kein Center, Sync 500.

Betrifft: Reporting & Analytics · Betrieb & Deploy

Links: Center-Manager KI-Orchestrator

2026-09-07 — Prisma bleibt auf weiteren Detailseiten draußen (0.1.260)

Was: Historie, Insights-Dialog, Reviews und Social-Freigabe ziehen Prisma nicht mehr ins Browser-Bundle.

Warum: Derselbe Absturz wie bei News-Detail war auf Event-, Angebots-, Job- und Shop-Seiten möglich — und auf Reviews/Social.

Betrifft: Dashboard · Social

Links: Navigation & Module

2026-09-07 — News-Detail ohne Prisma im Browser (0.1.259)

Was: Die News-Detailseite im Cockpit stürzt nicht mehr mit DATABASE_URL is required ab. Prisma startet nicht mehr im Browser-Bundle; Typen für Performance-Karte und Social-Button liegen in eigenen Dateien.

Warum: Die Karten auf der Detailseite haben Server-Module per Typ-Import mitgezogen. Im Browser gibt es keine Datenbank-URL — das wirkte wie ein plötzlicher Env-Fehler.

Betrifft: Dashboard

Links: Navigation & Module

2026-09-05 — UD-DNS matcht Wildcard-Hosts (0.1.258)

Was: DNS-Löschen/Setzen erkennt * und *.center.de als denselben Wildcard-Record. Dry-Run zeigt dann matchedExisting > 0.

Warum: Alte * A-Leichen (Griesheim, Landskron) waren in der Zone sichtbar, der Abgleich hat sie nicht gefunden.

Betrifft: MCP & Agenten · Betrieb & Deploy

Links: AgencyOS-Integration

2026-09-05 — AgencyOS-Journal ohne webpackIgnore (0.1.257)

Was: Das Aktionsjournal startet wieder zuverlässig: kein Roh-Import mehr, der auf Render nach einer nicht existierenden Chunk-Datei sucht.

Warum: 0.1.254 hat den Production-Build gerettet, aber AgencyOS/MCP-Requests sind zur Laufzeit an agency-os-action-begin gescheitert.

Betrifft: Betrieb & Deploy · MCP & Agenten

Links: AgencyOS-Integration

2026-09-05 — AgencyOS-Journal aus dem Page-Bundle (0.1.254)

Was: Das MCP-Aktionsjournal hängt nicht mehr am Prisma-Singleton und nicht mehr an Dashboard-Seiten. node:async_hooks und node:dns bleiben auf API-Routen.

Warum: Render-Build 0.1.253 ist an diesen Node-Imports über die Issues-Seite zerbrochen — der CNAME-Fix (0.1.252) war deshalb nicht live.

Betrifft: Betrieb & Deploy · MCP & Agenten

Links: AgencyOS-Integration

2026-09-05 — AgencyOS-Journal ohne Server-only-Imports (0.1.253)

Was: Das MCP-Aktionsjournal startet ohne after / next/headers, damit der Dashboard-Build nicht mehr an einer normalen Center-Seite scheitert.

Warum: Render-Build 0.1.251/252 ist an diesen Imports zerbrochen — die Datei hing am AgencyOS-Auth-Modul, das auch die Dashboard-UI lädt.

Betrifft: Betrieb & Deploy · MCP & Agenten

Links: AgencyOS-Integration

2026-09-05 — UD-CNAME mit Trailing-Dot (FQDN) (0.1.252)

Was: CNAME-, MX- und SRV-Ziele werden bei United Domains Reseller als vollständiger Hostname mit Punkt am Ende geschrieben. Apex-A-Records bleiben IPs ohne Punkt. Gilt für Go-Live und für MCP-DNS.

Warum: Ohne den Punkt hängt die Zone den eigenen Domainnamen an — aus ….vercel-dns-016.com wird fälschlich ….vercel-dns-016.com.griesheim-center.com, und www zeigt auf alte IPs.

Betrifft: MCP & Agenten · Dashboard · Betrieb & Deploy

Links: Go-Live DNS / UD

2026-09-05 — MCP-Aktionen rückgängig machen (0.1.251)

Was: Jede schreibende AgencyOS/MCP-Aktion (Inhalte, Website-Config, DNS, …) wird mit Vorher-Stand protokolliert. Neu: cockpit_undo_mcp_actions (list / undo, zuerst Vorschau). Nicht rückgängig: Benutzer löschen, Passwort-Reset, Einladung, Medien-Upload, Social-Engage, Domain kaufen/transferieren, Zone löschen.

Warum: Agenten sollen einen Fehler zurücknehmen können — nicht nur nachlesen, wer etwas geändert hat.

Betrifft: MCP & Agenten · Dashboard · Betrieb & Deploy

Links: AgencyOS-Integration · Go-Live DNS / UD

2026-09-05 — Vercel-Soll-DNS live + klarere UD-Fehler (0.1.250)

Was: Geplante Vercel-DNS-Records kommen jetzt live aus der Vercel Domain-Config (auch im Dry-Run). Nur wenn der Call fehlschlägt, gelten die alten Defaults — dann mit source: fallback-static. UD-Reseller-Calls vom Dashboard nutzen IPv4, Timeout und Retry (gegen „fetch failed“ auf Render). Fehler unterscheiden Netzwerk/Timeout/TLS von Auth. GET /api/test-env prüft die Reseller-API.

Warum: Vercel-Ziele sind oft domain-spezifisch; hartcodierte cname.vercel-dns.com / 76.76.21.21 können Go-Live und Kunden-IT in die Irre führen. „fetch failed“ bei UD war zu ungenau.

Betrifft: MCP & Agenten · Dashboard · Betrieb & Deploy

Links: Go-Live DNS / UD

2026-09-05 — MCP: DNS im United-Domains-Konto setzen (0.1.249)

Was: Claude/Agenten können DNS-Records direkt im UD-Konto setzen — ohne Center. Neu: cockpit_ud_account mit action=update-dns und cockpit_ud_dns. Default ist eine Vorschau (dryRun=true); Schreiben nur mit dryRun=false. Erlaubt: A, AAAA, CNAME, MX, TXT, SRV, CAA. Inspect zeigt zusätzlich Zonen-SOA und Web-Weiterleitungen. Nicht angebunden: NS/SOA ändern, Zone löschen, Nameserver, Authinfo, Domain kaufen/transferieren.

Warum: Lesen allein reicht nicht — DNS muss aus dem Chat gesetzt werden können, auch für Parked/Redirects ohne Cockpit-Center. Gleichzeitig nur das aus den UD-APIs, was für den Betrieb sicher und nützlich ist.

Betrifft: MCP & Agenten · Dashboard · Betrieb & Deploy

Links: Go-Live DNS / UD · AgencyOS-Integration

2026-09-04 — MCP: United-Domains-Konten vollständig abfragen (0.1.248)

Was: UD ist jetzt ein Konto-Werkzeug, nicht nur ein Cockpit-Abgleich. Liste enthält alle Reseller-Domains, Reseller-DNS-Zonen und Retail-Zonen — inkl. Parked, Redirects, Altbestand. Neu: cockpit_ud_account (list/inspect), cockpit_ud_domain (Status + Ist-DNS ohne Center). Dashboard: Filter Alle / Mit Center / Nur UD plus Domain-Details.

Warum: Ziel war, die United-Domains-Konten generell zu lesen und damit zu arbeiten — nicht nur Domains, die schon einem Center zugeordnet sind.

Betrifft: MCP & Agenten · Dashboard · Betrieb & Deploy

Links: Go-Live DNS / UD · AgencyOS-Integration

2026-09-04 — MCP: United-Domains-Konto als Roh-Liste (0.1.247)

Was: Neues AgencyOS-Endpoint GET …/domains/ud-inventory und MCP-Tool cockpit_list_ud_domains. Liest die Domains direkt aus dem United-Domains-Reseller-Account (plus Retail-DNS-Zonen) und gleicht sie mit den Center-Domains im Cockpit ab. Dashboard → Domains zeigt dieselbe Liste. Org-/User-Keys sehen nur Treffer zu ihren Centern; die volle Kontoliste inkl. nicht zugeordneten Domains nur Super-Admin / Global-Key.

Warum: Agenten konnten bisher nur Live-URLs im Cockpit oder DNS pro Center sehen — nicht die Roh-Liste aller Domains im UD-Konto, z. B. für den Excel-Abgleich ILG.

Betrifft: MCP & Agenten · Dashboard · Betrieb & Deploy

Links: Go-Live DNS / UD · AgencyOS-Integration

2026-09-04 — MCP: Signage-Screen-Suche & Google-Admin-Felder (0.1.246)

Was: Neues AgencyOS-Endpoint GET …/signage-screens/search?q= und MCP-Tool cockpit_search_signage_screens. cockpit_create_touchscreen unterstützt jetzt dieselben Google-Admin-Felder wie Update (SN, Asset-ID, Device-ID, Standort-Label). Tool-Export aktualisiert.

Warum: Agenten und kioskOS sollen Touchscreens über Seriennummer oder Asset-ID finden und Stammdaten ohne Dashboard-Pflege setzen können.

Betrifft: MCP & Agenten, Signage & QR

Links: AgencyOS-Integration

2026-09-04 — Social: Kalender für Veröffentlichungszeitpunkt (0.1.245)

Was: Im Social-Post-Editor unter „Termin & Format“ ersetzt ein Kalender-Popover das bisherige Browser-Datumfeld: Schnellauswahl (Heute, Morgen, Montag …), Uhrzeit-Chips, deutsche Datumsanzeige und Punkte an Tagen mit anderen geplanten Posts desselben Centers.

Warum: Terminplanung soll ohne umständliches Tippen im datetime-Feld funktionieren — ähnlich praktisch wie bei Fanpage-Tools, aber im Cockpit-Design und mit Kontext aus dem Social-Kalender.

Betrifft: Social, Dashboard

Links: Social-Media-Freigabe

2026-09-04 — Mediathek: Mandantentrennung (0.1.244)

Was: Center-Teams und Agenten sehen nur Medien des eigenen Centers. Dateien ohne Center (alte „shared“-Vorlagen) sind kein gemeinsamer Pool mehr für alle Kunden — nur Super-Admin. Einzelabruf, Bearbeiten und Löschen prüfen denselben Zugang.

Warum: Ein Center-Login hat Vorlagen und Dateien anderer Kunden gesehen (z. B. MEC in Aplerbeck).

Betrifft: Dashboard · MCP & Agenten · Betrieb & Deploy

Links: Mediathek & Social-Material


2026-09-04 — Mediathek: Vorschau, Center-Filter, Ordner (0.1.243)

Was: Bild- und Video-Vorschauen in der Mediathek werden wieder angezeigt. Bei einem gewählten Center sieht man standardmäßig nur dessen Dateien (keine geteilten Org-Vorlagen wie MEC). Dateien lassen sich einem Ordner zuordnen (Shop, Event, …) oder in einen neuen Ordner legen — beim Upload, an der Datei und per Mehrfachauswahl.

Warum: Center-Teams sahen fremde Vorlagen und alte Mischbestände ohne Vorschaubilder und ohne Zuordnung.

Betrifft: Dashboard · MCP & Agenten

Links: Mediathek & Social-Material


2026-09-04 — Mediathek-Upload: fehlende Workflow-Spalten (Hotfix)

Was: In der Live-Datenbank fehlten die Spalten für Status, Kampagne und Nutzungsnotiz an der Mediathek. Upload landete auf dem Speicher, die Datei erschien aber nicht in der Liste („Fehler beim Laden der Medien“). Die Spalten sind jetzt gesetzt; Render wendet die Migration künftig automatisch an.

Warum: Phase 1 (0.1.237) war im Code live, die additive Migration war auf Render nicht mitgelaufen.

Betrifft: Dashboard · Betrieb & Deploy

Links: Mediathek & Social-Material · Migration 20260903140000_add_media_file_workflow_SAFE.md


2026-09-04 — Shop-Cover von Filialen bleiben erhalten (0.1.242)

Was: Titelbilder von einzelnen Shops und Filialen werden nicht mehr durch das Kettenbild ersetzt oder beim Speichern/Umschalten gelöscht. Die Website zeigt zuerst das eigene Filial-Cover.

Warum: Beim Wechsel zwischen Shop- und Kettenansicht verschwanden Cover-Bilder von normalen Shops/Filialen (z. B. PEP Torgau).

Betrifft: Dashboard · Website & v0

Links: Shop bearbeiten · Filiale bearbeiten · Center-Website Shops


2026-09-04 — Touchscreen-API: Hardware-IDs nicht mehr öffentlich (0.1.241)

Was: GET /api/touchscreens liefert ohne Session nur öffentliche Kiosk-Felder (keine SN, Asset-ID, Google-Device-ID). Dashboard-Hardware nutzt includeDeviceRegistry=1 mit Login; POST/PATCH erfordern Session (401 ohne Cookie).

Warum: Google-Admin-Stammdaten dürfen nicht über CORS-offene GET-Requests an Kiosk-Frontends leaken.

Betrifft: Signage & QR · Betrieb & Deploy

Links: db_structure.md (TouchscreenLocation) · Migration 20260903180000_touchscreen_google_admin_fields_SAFE.md


2026-09-03 — Signage Hardware: Google Admin Stammdaten + kioskOS-Suche (0.1.240)

Was: TouchscreenLocation erhält echte Spalten für ChromeOS-Seriennummer, Asset-ID (z. B. SPA0044), optional Google-Device-ID und Standort-Label. Hardware-UI unter Digital Experience pflegt die Felder; kioskOS liest sie über GET /api/internal/kioskos/screens?q=… (Bearer KIOSKOS_SCREENS_SECRET).

Warum: kioskOS soll Chromeboxen per SN/Asset-ID dem richtigen Center und der Stele zuordnen — mit denselben Stammdaten wie in der Google Admin Console, ohne deviceInfo-JSON als Quelle.

Betrifft: Signage & QR · MCP & Agenten

Links: AgencyOS Touchscreens · Migration 20260903180000_touchscreen_google_admin_fields_SAFE.md


2026-09-03 — v0-Handbuch für Redaktion neu gegliedert

Was: Kurzpfad, A–Z und Instructions in Alltagssprache; Instructions A–J durchgehend, Chat-Prompts gebündelt am Ende; Menüpfade und Fakten gegen den aktuellen Stand geprüft.

Warum: Die Seiten waren gewachsen und an ein paar Stellen veraltet (Menüname, Website-Schalter, Formulare, Hosting). Kolleginnen ohne Technik-Hintergrund sollen den aktuellen Weg sehen, nicht die Versionsgeschichte.

Betrifft: Website & v0

Links: Kurzpfad · A–Z · v0 + Cockpit


2026-09-03 — Center-Mail Phase 0 (0.1.239)

Was: AgencyOS und MCP können Kunden-Mailboxen und Weiterleitungen anlegen. Inventar liegt in cockpitOS; der Mail-Anbieter (Servercow/mailcow) bleibt austauschbar hinter MailProvider.

Warum: Postfächer und Aliase (z. B. für Formulare oder Gewinnspiele) sollen am selben Ort entstehen wie der Rest der Center-Daten — ohne dass v0 oder Agenten den Mail-Anbieter kennen.

Betrifft: MCP & Agenten · Betrieb & Deploy · E-Mail

Links: Center-Mail Provisioning · AgencyOS


2026-09-03 — Signage Legacy Render Cutover (0.1.236)

Was: Render-Signage (mallos-digital-signage) kann suspendiert werden — Dashboard liefert keine Default-URLs mehr zu *.signage.cockpit-os.de (Env LEGACY_SIGNAGE_RENDER_AVAILABLE=true nur für Rollback/Lokal). Runbook docs/SIGNAGE-CUTOVER.md, Frontend-Kanäle mit Hinweis auf v0.

Warum: Kein Live-Traffic auf Legacy-App; künftig Signage/Companion nur v0 + Cockpit-API — ohne tote Links im Dashboard.

Betrifft: Dashboard · Signage & QR · Betrieb & Deploy

Links: docs/SIGNAGE-CUTOVER.md · v0 Deploy & Register


2026-09-03 — Mediathek: Social-Asset-Status (Phase 1, 0.1.237)

Was: Mediathek mit Lebenszyklus-Status (Rohmaterial → Archiv), Kampagne/Thema, Nutzungsnotiz; Filter und Bulk-Status; Social-Uploads erhalten automatisch Status „Bereit“. MCP cockpit_list_media filtert nach workflowStatus und campaignLabel.

Warum: Zentrale Social-Material-Ablage im Cockpit statt Teams — erste Stufe des Asset-Hub-Epics.

Betrifft: Dashboard · Social · MCP & Agenten

Links: Mediathek & Social-Material


2026-09-03 — Epic: Mediathek → Social Asset Hub (Roadmap)

Was: Lieferplan für zentrale Social-Medienablage im Cockpit (Lifecycle, Verknüpfung mit Posts, MCP/KI in Phasen) — Ersatz für Teams als Datei-Ablage für Rohmaterial.

Warum: Teams skaliert schlecht für große Foto-/Video-Mengen; Mediathek + Bunny existieren bereits und passen zur Cockpit-Architektur (Source of Truth).

Betrifft: Social · Dashboard · MCP & Agenten

Links: Mediathek & Social-Material · Epic-Spec im Repo docs/MEDIATHEK-SOCIAL-ASSET-HUB-EPIC.md


2026-09-01 — Center anlegen: Shop-Verknüpfung auf dem Plan

Was: Beim Anlegen eines Centers gehört die Zuordnung Shop ↔ Plan-Fläche zum Ablauf — in der MCP-Checkliste, in der Claude-Anleitung und im Redaktions-Pfad. v0 kann das nicht automatisch.

Warum: Shops in der Liste allein machen die Karte nicht klickbar. Ohne mapLocations tippt der Besucher ins Leere.

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Links: Neues Center anlegen · Claude: Center anlegen · hochladen & zuordnen

2026-09-01 — Frontend-Zielweg: Cockpit + v0/GitHub

Was: Doku und Architektur-Nordstern machen den Zielweg fest: Cockpit = Daten und Optionen, v0 plus GitHub-Repo = Oberfläche. WordPress, Center-Website-SPA und Signage-App sind Bestand — bestehende Center bleiben, bis sie umziehen.

Warum: Neue Arbeit soll nicht mehr in drei Frontends landen. Migration tauscht nur die UI, nicht die Wahrheit im Cockpit.

Betrifft: Website & v0 · Signage & QR

Links: Cockpit steuert Frontends · Plattform-Überblick · Start hier

2026-09-01 — Centerplan-Doku: Einstieg für Redaktion entzerrt

Was: Übersicht und Alltag starten bei Claude Design / Upload — nicht mehr bei WordPress-Sync. Claude-Design-Seite: kurze menschliche Schritte, Technik nur in den Kopierkästen. Hybrid-Masterprompt ohne Changelog-Block. Quick Start als Technik-Seite gekennzeichnet.

Warum: Redaktion soll einen Weg wählen und kopieren können, ohne IDs, APIs und curl lesen zu müssen.

Betrifft: Website & v0 · Signage & QR

Links: Centerplan-Übersicht · Claude Design

Was: Links, Spaltentitel und Copyright im Docusaurus-Footer sind wieder hell lesbar.

Warum: Das Cosmos-Theme färbte Footer-Links in dunklem Grau, obwohl der Footer dunkel bleibt (style: dark).

Betrifft: Website & v0

Links: Dokumentation

2026-09-01 — Centerplan: Masterprompts für Claude Design (v0-schlüsselfertig)

Was: Im Handbuch gibt es kopierbare Kästen für Claude Design: neuen interaktiven Centerplan anlegen, bestehenden ändern, in die v0-Website einhängen und an die Farben der Seite anpassen. Shop-Daten bleiben im Cockpit.

Warum: Redaktion soll nicht bei null prompten. Claude liefert Bedienung und Geometrie; v0 setzt die Website-Tokens; Mapping und Live-Daten laufen weiter über das Dashboard.

Betrifft: Website & v0 · Signage & QR

Links: Centerplan mit Claude Design, v0 Teil F


Monat August 2026

2026-08-31 — Story-Serien: mehrere Stories in einem Entwurf (0.1.234)

Was: Im Social-Editor können bei Format Story mehrere Bilder/Videos wie beim Karussell hochgeladen werden (Mehrfach-Upload, Mediathek-Mehrfachauswahl). Beim Publish sendet Outstand je Medium eine Story in der Serie. Caption ist für Story/Reel optional — Freigabe/Entwurf nur mit Medium möglich.

Warum: Redaktion wollte z. B. drei Stories in einem Durchgang planen, ohne drei separate Entwürfe.

Betrifft: Dashboard · Social

Links: Social Media Freigabe


2026-08-31 — Karussell-Posts: mehrere Bilder ohne Entwurf neu laden (0.1.233)

Was: Im Social-Editor reagiert die Medien-Sektion sofort auf Karussell: Mehrfach-Upload, Mehrfachauswahl in der Mediathek, Hinweis wenn nur ein Bild vorhanden ist. Bug: Mehrfach-Upload meldete nur die erste Datei.

Warum: Redaktion musste bisher Entwurf speichern, schließen und neu öffnen, damit Karussell mit mehreren Bildern funktionierte.

Betrifft: Dashboard · Social

Links: Social Media Freigabe


2026-08-31 — Social- & Redaktions-Kalender vereinheitlicht (0.1.230–0.1.232)

Was: Social-Kalender (/dashboard/social/calendar) und Redaktions-Kalender (/dashboard/content/planner) nutzen ein gemeinsames Kalender-Layout: KPI-Zeile, Post-Mix bzw. Content-Mix, einheitliches Monatsraster und Dashboard-Tooltips (kein Browser-title). Veröffentlichte Social-Posts lassen sich im Editor wieder bearbeiten; Speichern synchronisiert zu Outstand, wenn der Post dort verwaltet wird.

Warum: Redaktion brauchte eine modernere Terminübersicht über beide Kalender hinweg; Live-Posts waren fälschlich schreibgeschützt.

Betrifft: Dashboard · Social

Links: Social Media Freigabe


2026-08-30 — AgencyOS Social-Write für Robi/Teams-Hub (0.1.229)

Was: AgencyOS v1 kann Social-Entwürfe anlegen, bearbeiten, planen und stornieren (POST/PATCH/DELETE /api/agencyos/v1/social/drafts). MCP: cockpit_create_social_draft, cockpit_update_social_draft. Antwort-Doku für Teams-Hub-Cutover: docs/COCKPITOS_REPO_QUESTIONS.md.

Warum: AgencyOS/Robi soll Content/Social nur noch über CockpitOS steuern — analog CRM über Kanarien; AgencyOS-Duplikate können deprecatiert werden.

Betrifft: MCP & Agenten · Social · Dashboard (indirekt)

Links: AgencyOS Integration · COCKPITOS_REPO_QUESTIONS.md


2026-08-29 — MallCrew Reporting & Profil Partner-v1 (0.1.228)

Was: Partner-v1 liefert Berichte (GET …/reports/summary — Besucher, Umsatz, Top-Shops aus Cockpit-Analytics), Profil (GET …/profile — User, Center, Links, Berechtigungen) und Hilfe (GET /app/help — FAQ, Support). Cutover-Runbook für Render CM.

Warum: Legacy Center Manager hatte Berichte-, Profil- und Hilfe-Screens — MallCrew braucht dieselben read-only Daten ohne Mock-UI.

Links: Partner-API v1 · MallCrew Cutover


2026-08-29 — MallCrew Facility erweitert Partner-v1 (0.1.227)

Was: Partner-v1 liefert Störung Detail, Status-Update (in Bearbeitung / behoben / geschlossen) mit optional Kommentar, Lösungstext und Foto-Anhang (mediaFileId). Zusätzlich Facility-Übersicht und Anlagen-Liste aus Cockpit-Gebäudesystemen.

Warum: Legacy Center Manager erlaubte Technikern Störungen zu bearbeiten und Wartungs-/Anlagen-Dashboards zu sehen — MallCrew braucht dieselben Facility-Flows ohne Cockpit-Login.

Links: Partner-API v1 · MallCrew Parität


2026-08-29 — MallCrew CMS read-only Partner-v1 (0.1.226)

Was: Partner-v1 liefert read-only Events, Angebote und Shop-Detail für MallCrew — inkl. Mieter-Shop-Scope (E-Mail-Match wie Reserve & Collect). Referenz-Proxies in apps/partner-manager/.

Warum: Legacy Center Manager hatte einen CMS-Browser (Shops/Events/Angebote); MallCrew braucht dieselben Leselisten ohne volle Cockpit-Redaktion.

Links: Partner-API v1 · MallCrew Parität


2026-08-28 — MallCrew Reserve & Collect Partner-v1 (0.1.225)

Betrifft: Websites & v0 · MCP & Integration

Was: Partner-Endpunkte für NOW! / Reserve & Collect — Abholcode suchen, Abholung/Bezahlung markieren, Kampagnen-Auswertung. Authentifiziert; Mieter nur eigene Shops (Shop-E-Mail).

Warum: Mieter-Workflow der Legacy Manager App in MallCrew — ohne offene Dashboard-API.

Links: Partner-API v1


2026-08-28 — MallCrew KI-Chat Partner-v1 (0.1.224)

Betrifft: MCP & Agenten · Website & v0

Was: POST /api/partner/v1/ai/chat — Manager-KI mit Center-Kontext (Pinecone/DB), Intent-Erkennung, bestätigte Aktionen (Störung melden, Beitragsentwurf). Partner-Token wird für Manager-Assistant akzeptiert.

Warum: KI-Assistent der Legacy Center Manager App in MallCrew — ohne CM-Bridge-Secret.

Links: Partner-API v1


2026-08-28 — MallCrew Tagesübersicht Partner-v1 (0.1.223)

Betrifft: MCP & Agenten · Website & v0

Was: Neuer Partner-Endpunkt GET /api/partner/v1/centers/{centerId}/today — Besucher (Footfall), Parken, offene Störungen, Events heute, Beitrags-/Aufgaben-Zähler. Proxy in apps/partner-manager.

Warum: Schritt zur vollständigen Ablösung der Center Manager App — Today/Analytics-Screen in MallCrew ohne Mock-Daten.

Links: Partner-API v1 · MallCrew-Parität


2026-08-28 — Partner Störungen im Cockpit (Parallel zu MallCrew, 0.1.222)

Betrifft: Dashboard

Was: Tab Störungen unter Partner & Beiträge — offene Issues listen und melden (/api/centers/{id}/partner-issues). Benachrichtigung an Redaktion/Facility bei neuer Meldung. Sichtbar für Center-Team und Facility, nicht für Mieter.

Warum: Gleiche Partner-Funktionen parallel im Cockpit und in MallCrew — ohne Legacy Center Manager.

Links: Partner-Medien-Einreichungen · Partner-API v1


2026-08-28 — Partner-v1: Störungen/Issues (Facility, 0.1.221)

Betrifft: Dashboard · Website & v0 · MCP & Integration (Agenten)

Was: Partner-API GET/POST /api/partner/v1/centers/{centerId}/issues — Facility und Center-Team können Störungen melden und offene Issues listen. Proxy in partner-manager; Smoke-Test erweitert.

Warum: MallCrew Phase 4 — Legacy Center Manager „Issue Reporting“ schrittweise über Partner-v1 abbilden.

Links: Partner-API v1 · MallCrew-Roadmap


2026-08-28 — MallCrew Center-Subdomains in API-URLs (0.1.220)

Betrifft: Dashboard · Website & v0

Was: getPartnerAppUrl(slug) liefert {slug}.crew.cockpit-os.de; Signage/Center-Config und by-subdomain-API nutzen center-spezifische MallCrew-Links. Partner-Manager Login-Platzhalter zeigt Center-Namen aus Subdomain.

Warum: Wildcard-DNS ist live — Links aus dem Cockpit sollen direkt auf die Center-Subdomain zeigen, nicht nur auf den Apex.

Links: V0-MALLCREW-CHECKLIST · MallCrew-Roadmap


2026-08-28 — Partner-Benachrichtigungen (Cockpit-Inbox + v0-Hinweise)

Betrifft: Dashboard · Website & v0

Was: Medien-Einreichungen und Partner-Aufgaben erzeugen Cockpit-Benachrichtigungen (neue Einreichung für Redaktion, Status/Kommentar/Aufgabe für Partner). Tab Nachrichten unter Partner & Beiträge; Center-Manager-Benachrichtigungsseite markiert gelesen. v0-Doku: MallCrew nutzt Kommentare + Tasks (Polling), kein /api/notifications. Referenz-Proxy GET /api/center-by-subdomain für Wildcard *.crew / *.manager.cockpit-os.de.

Warum: Partner sollen Rückmeldungen der Redaktion sehen — im Cockpit als Inbox, in MallCrew über den Beitrags-Thread; Center-Subdomains sollen direkt ins richtige Center führen.

Links: Partner-Medien-Einreichungen · V0-MALLCREW-CHECKLIST


2026-08-28 — MCP: Changelog für Agenten (cockpit_changelog)

Betrifft: MCP & Agenten

Was: Neues MCP-Tool cockpit_changelog — liefert aktuelle Dashboard-VERSION und strukturierte Neuerungen aus dem Plattform-Changelog (filterbar nach Zielgruppe, Stichwort, Zeitraum). Kein API-Key nötig.

Warum: Agenten sollen User-Fragen wie „Was gab es zuletzt Neues?“ zuverlässig beantworten — ohne Volltext-Suche in der Doku.

Links: MCP-Tool-Referenz — cockpit_changelog


2026-08-28 — Partner-Beiträge im Cockpit (Parallel zu MallCrew)

Betrifft: Dashboard · Website & v0

Was: Neuer Menüpunkt Partner & Beiträge → Beiträge einreichen (/dashboard/partner/contributions) für Center Manager, Mieter, Assistenz und Facility. Entwürfe, Upload, KI-Text, Kommentare und Aufgaben — dieselbe API-Warteschlange wie MallCrew.

Warum: Nicht jeder will eine separate App; Kunden, die gern im Cockpit arbeiten, sollen Partner-Funktionen dort nutzen können.

Links: Navigation · Partner-API v1


2026-08-28 — MallCrew: auth/me liefert Rolle + kanonische crew-URLs

Betrifft: MCP & Agenten · Website & v0

Was: Partner-v1 GET /auth/me enthält jetzt user.role (wie Login). API-Responses (center-config, by-slug, …) verlinken auf https://crew.cockpit-os.de statt Legacy-Manager-Subdomains. Checkliste V0-MALLCREW-CHECKLIST.md.

Warum: MallCrew/v0 braucht die globale Rolle für Personas; Signage und Mails sollen die neue Prod-URL nutzen.

Links: Partner-API v1 · MallCrew-Roadmap


2026-08-28 — MallCrew: Domain crew.cockpit-os.de & Ablösung Center Manager

Betrifft: Website & v0 · Betrieb & Deploy

Was: Produkt-URL https://crew.cockpit-os.de festgelegt. Roadmap MALLCREW-ROADMAP.md: MallCrew ersetzt die nie produktiv genutzte Center Manager App (apps/center-manager). Doku Center Manager als deprecated.

Warum: Ein Partner-Frontend, rollenneutral, markenkonform — ohne Legacy manager.cockpit-os.de.

Links: Partner-API v1 · Center Manager (deprecated)


2026-08-28 — Benutzerverwaltung über AgencyOS & MCP

Betrifft: Dashboard · MCP & Agenten

Was: Neue AgencyOS-v1-Routen unter /api/agencyos/v1/users — Benutzer listen, anlegen, bearbeiten, löschen, einladen, Passwort-Reset. Sieben MCP-Tools (cockpit_list_users, cockpit_get_user, cockpit_create_user, …). Scope wie API-Key (Org/User/Global); SUPER_ADMIN nicht über AgencyOS vergeben.

Warum: Agenten und AgencyOS sollen Center-Teams nicht nur lesen (cockpit_center_team), sondern auch Benutzer anlegen und Zuweisungen pflegen — ohne Dashboard-Session.

Links: AgencyOS-Integration — Benutzer · MCP-Tool-Referenz


2026-08-28 — Partner-Manager-Doku (API-Referenz & Handoff)

Betrifft: Website & v0 · MCP & Agenten

Was: Zentrale Entwickler-Seite Partner-API v1 — Architektur, Auth, alle Routen, Proxy-Muster, Migrationen, Env und Smoke-Test. Handoff docs/PARTNER-MANAGER-HANDOFF.md konsolidiert (Monorepo vs. Signage-Repo, Deploy-Stand, Test-User). Querverweise in AgencyOS-Doku, Redaktions-Seite, v0-Prompts und project_specs.md.

Warum: Nach Arbeit im falschen Chat-Kontext soll das Team und v0/MallCrew eine eine nachlesbare Wahrheit haben — ohne veraltete „404/uncommitted“-Hinweise.

Links: Partner-API v1 · Handoff (Repo) · MallCrew 0.1.213 (Feature-Lieferung)


2026-08-28 — MallCrew-Erweiterungen (Entwürfe, KI, Kommentare, Aufgaben)

Betrifft: Dashboard · MCP & Agenten · Website & v0

Was: Partner-API ergänzt um Beitragstyp, Entwürfe (draft), KI Text verbessern, Kommentar-Thread und Partner-Aufgaben. KAM-Reiter mit Kommentar-Dialog und Aufgaben-Anlage. MallCrew-Proxies in partner-manager nachgezogen.

Warum: v0/MallCrew braucht vollständige Beitrags-Workflows statt localStorage-Platzhalter — Cockpit bleibt Source of Truth.

Links: Partner-API v1 · Partner-Medien-Einreichungen · v0 MallCrew-Prompt


2026-08-28 — Partner-Medien-Einreichungen (KAM-Dropzone)

Betrifft: Dashboard · MCP & Agenten

Was: Neuer Center-Reiter Medien-Einreichungen — Warteschlange für Partner-Fotos/Videos mit Metadaten. Partner-API (/api/partner/v1), Token-Links (mi_), AgencyOS + MCP-Tools (cockpit_list_media_intake, …). Additive DB-Migration ohne Datenverlust.

Warum: Center-Ansprechpartner und Mieter sollen Medien strukturiert einreichen; KAM/Redaktion prüft im Cockpit statt über lose E-Mails oder die alte CM-Capture-Route.

Links: Partner-Medien-Einreichungen · v0-Prompt (Repo)


2026-08-28 — Social-Kanäle: Erklärung Mehrfach-Center & Inbox-Rollout

Betrifft: Social · Dashboard

Was: Im Social-Kanal-Hub gibt es einen aufklappbaren Hinweis: Posten vs. Community-Inbox vs. Werbe-KPIs; eine Facebook-Anmeldung kann viele Fanpages umfassen — pro Center wird die passende Seite zugeordnet. Anzeige, wie viele Inbox-Profile in der Organisation bereitstehen.

Warum: Redaktion sah „Manage Pages“ mit vielen Centern und war unsicher, ob noch einzeln verbunden werden muss; historische Daten/Werbung laufen hinter dem gleichen Schritt.

Links: Social unter Cockpit

2026-08-27 — Social-Kanäle: Status „Einrichtung offen“ behoben

Betrifft: Social · Dashboard

Was: Kanal-Kacheln (Facebook, Instagram, …) zeigen nach erfolgreichem Verbinden nicht mehr dauerhaft Einrichtung offen. Status nutzt die Server-Antwort statt eines im Browser nicht lesbaren API-Keys. Beim Abschließen der Inbox gibt es eine klare Meldung, wenn kein Profil automatisch gefunden wurde.

Warum: Redaktion sah bei bereits verknüpften Fanpages fälschlich „Einrichtung offen“ und konnte nicht einschätzen, ob Posten schon funktioniert.

Links: Social unter Cockpit

2026-08-26 — Social: geplante Posts bearbeiten, stornieren, löschen

Betrifft: Social · Dashboard

Was: Geplante Social-Posts (scheduled) sind im Editor wieder editierbar — Text, Medien und Termin werden bei Outstand synchronisiert. Neu: Planung stornieren und Entwurf/Planung löschen (Live-Posts weiterhin gesperrt).

Warum: Redaktion konnte freigegebene/geplante Beiträge nicht mehr korrigieren — schlechter als Fanpage Karma.

Links: Social Media Freigabe

2026-08-26 — Social-Kalender & Freigabe-Favoriten

Betrifft: Social · Dashboard

Was: Neuer Social-Kalender unter Social Cockpit → Kalender (/dashboard/social/calendar) mit Monats-, Wochen-, Tages- und Listenansicht, Thumbnails, Kanälen und Status-Filter. Im Freigabe-Dialog: Favoriten (Stern) und Vorauswahl der letzten Freigeber pro Center.

Warum: Redaktion wollte Fanpage-Karma-Niveau für Planung — übersichtlicher und reicher als der gemischte Content-Kalender; Julia/Sarah sollen als Freigeber schneller wählbar sein.

Links: Social Media Freigabe

2026-08-26 — Besucher-Chatbot: archivierte Shops nicht mehr empfehlen

Betrifft: Website & v0 · Chatbot & KI

Was: POST /api/ai/visitor-chatbot filtert Shops und Filialen jetzt wie der öffentliche GET /shops-Endpunkt (status: Aktiv + Publish-Fenster). Archivierte Shops erscheinen weder im KI-Kontext noch in items[]-Kacheln. Beim Vector-Sync werden archivierte Shops aus Pinecone entfernt (Manager-Suche).

Warum: Nach Archivierung im Cockpit empfahl der Chatbot Shops weiter (z. B. „Boba World“), obwohl sie auf der Website ausgeblendet waren.

Links: Public Center-Website API


2026-08-25 — v0-Preview-URLs: by-domain + Staging-Verdrahtung · ILG MCP-Parität

Betrifft: Website & v0 · MCP & Agenten

Was: GET /api/centers/by-domain löst jetzt auch v0-Preview-Hosts auf: gespeicherte websitePublicUrlStaging und Konvention {slug}.sawatzkimuehlenbruch-preview.de (bzw. COCKPIT_V0_PREVIEW_DOMAIN_BASES). AgencyOS/MCP liefern websiteUrls.suggestedV0Preview; beim Speichern von Vercel-Hosting wird die Preview-URL automatisch eingetragen, wenn leer. ILG: Alle Webseiten-Reiter-Felder (Optionen, Gutschein, Über uns, …) sind in cockpit_website_config_schema für Lesen/Schreiben dokumentiert.

Warum: Multi-Center-v0 soll pro Center-Preview-Host ohne ?center= funktionieren — nicht nur Live-Domains. Agenten sollen dieselben ILG-Felder wie die Redaktion im Dashboard finden.

Links: Go-Live DNS / Vercel


2026-08-25 — ILG: Shared Multi-Center v0 (Org-Hosting + Frontend-Kanäle)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Organisation → Hosting zeigt jetzt auch ILG und ILG Small Assets (ilg, ilg-small-assets) neben den MEC-Templates. Center mit Vercel-Modus Shared lösen die projectId aus der Org-Map — wie bei MEC. Neues Template ILG Small Assets ist v0-only (kein Cockpit-Preview auf Render). Frontend-Kanäle zeigen bei Shared-Modus das aufgelöste Projekt und verlinken zur Org-Hosting-Map.

Warum: ILG-Seiten sollen wie MEC in einem gemeinsamen v0-Layout pro Template-Familie betrieben werden — ohne pro Center manuell prj_… einzutragen.

Links: Go-Live DNS / Vercel · Cockpit → v0 Migration ILG


2026-08-25 — Social-Freigabe: Sofort-Mail + zuverlässiger Desktop-Push

Was: Freigabe-Anfragen (SOCIAL_REVIEW_REQUEST) gehen wieder sofort per E-Mail — auch wenn der tägliche Redaktions-Digest aktiv ist. Desktop-Push wird serverseitig abgewartet (nicht mehr fire-and-forget); Freigabe-Hinweise mit hoher Priorität bleiben im Browser sichtbar, bis sie geschlossen werden.

Warum: Mit aktivem Digest bekamen Freigeber wie Sarah nur morgens eine Zusammenfassung, obwohl tagsüber Freigaben reinkamen. Push konnte in Serverless-Kontexten verloren gehen.

Betrifft: Freigeber (E-Mail + optional Desktop-Push unter Meine Benachrichtigungen)

Links: Social Media Freigabe · Dashboard-E-Mails


2026-08-25 — Social Hub: OAuth für LinkedIn, TikTok, Bluesky & X

Was: Kanal verbinden im Social-Hub zeigt jetzt sieben Netzwerke (Instagram, Facebook, Threads, LinkedIn, TikTok, Bluesky, X). LinkedIn nutzt den bestehenden Pending-OAuth-Flow (Seiten/Profile wählen). SSOT: social-channel-networks.ts für UI und API-Allowlist.

Warum: Outstand unterstützt mehr Netzwerke als die bisherigen drei Hub-Kacheln — Redaktion soll ohne IT-Ticket verbinden können.

Betrifft: Center → Social Media / Einstellungen → Social-Konten

Links: Social Media Freigabe


2026-08-25 — Social: Kommentar-Hinweise alle 30 Min (Cron + Webhook-ready)

Was: Eigener Cron /api/cron/social-comment-sync pollt Engage-Kommentare rotierend für alle Center mit Social-Kanälen (Outstand + Zernio Inbox). Dashboard-Glocke (social_new_comment) innerhalb von ~30 Min statt nur täglich. Outstand-Webhook-Handler für comment.*/reply.* vorbereitet. Manuell: POST /api/social/comments/sync.

Warum: Kommentare brauchen schnellere Reaktionszeit; bisher nur im täglichen Outstand-Cron mit engem Center-Scope.

Betrifft: Community/Engage, Benachrichtigungen, GitHub Actions Workflow social-comment-sync

Links: Social unter Cockpit, CRON-SETUP


2026-08-25 — Zernio Analytics: organischer KPI-Fallback (hasAnalyticsAccess)

Was: Social Performance erkennt hasAnalyticsAccess und ergänzt organische Post-KPIs aus Zernio /analytics, wenn Outstand-Snapshots im Zeitraum fehlen. Hinweis bei fehlendem Analytics Add-on.

Warum: Centers mit Zernio-Inbox aber ohne frischen Outstand-Sync sollen trotzdem KPIs sehen — ohne blind Outstand zu ersetzen.

Betrifft: Social Performance, AgencyOS/MCP Reporting (zernioOrganic im Payload)

Links: Social Capability Registry


2026-08-25 — Social Performance: organisch + Werbung vereint

Was: Social → Performance zeigt Meta/Google Ads neben organischen KPIs; GET /api/social/analytics?includeAds=1; Live-Sync holt Outstand + Zernio Ads in einem Schritt.

Warum: Redaktion soll Paid und Organic an einem Ort sehen — nicht zwischen Performance und Kunden-Reporting springen.

Betrifft: Dashboard Social Performance, MCP cockpit_social_reporting (includeAds)

Links: Social unter Cockpit


2026-08-25 — MCP: Community-Aktionen (Antwort, Like, Verbergen)

Was: AgencyOS POST /api/agencyos/v1/social/engage und MCP-Tool cockpit_social_engage_action — Antworten, Liken, Verbergen wie im Dashboard. Engage-Lesen liefert jetzt Action-IDs (platformCommentId, …).

Warum: Agenten konnten Community nur lesen — Moderation blieb manuell im Cockpit.

Betrifft: MCP & Agenten, Social Community

Links: AgencyOS Social · Social Capability Registry


2026-08-25 — Zernio Inbox: externe Posts automatisch synchronisieren

Was: Nach Hub-Verknüpfung (Connect, Auto-Inbox, manuelle Zuordnung) startet Cockpit den Zernio-Sync externer/native Posts. Täglicher Cron POST /api/cron/zernio-inbox-sync (5:45 UTC).

Warum: Kanal-Inbox in Community zeigt fremde Posts erst nach Sync — nicht erst beim manuellen Öffnen von Engage.

Betrifft: Social (Community/Kanal-Inbox), Betrieb (Cron)

Links: Social unter Cockpit · CRON-SETUP


2026-08-25 — Social Capability Registry (Provider-Routing)

Was: Zentrale Capability-Tabelle (social-capability-registry.ts) — Outstand/Zernio als austauschbare Backends; Hub-Chips und Engage-Capabilities leiten sich daraus ab.

Warum: Nicht Reporting-first, sondern wartbares Produktmodell — Provider tauschen ohne UI-Umbau.

Betrifft: Dev (Social), Dashboard Hub + Community API

Links: Social Capability Registry


2026-08-25 — Social-Hub: Werbekonten (Meta/Google) integriert

Was: Meta- und Google-Ads-Zuordnung im SocialChannelHub (Abschnitt „Werbung“); Kunden-Reporting verweist dorthin. APIs GET/PUT /api/social/center-ads, POST …/complete.

Warum: Outstand + Zernio-Inbox + Zernio-Ads = ein Cockpit — keine verstreuten Zuordnungs-Dialoge.

Betrifft: Dashboard (Social, Kunden-Reporting)

Links: Social unter Cockpit


2026-08-25 — Social-Kanäle: zentraler Hub (Outstand + Inbox als eine Einheit)

Was: SocialChannelHub bündelt Kanal-Verknüpfungen unter Einstellungen → Social-Kanäle; Center-Reiter Social Media nutzt dieselbe Komponente. Capability-Status (Posten, Community, Kanal-Inbox) statt getrennter Provider-Badges; Auto-Vervollständigung der Inbox nach Verbinden.

Warum: Redaktion soll nicht mehrere Stecker setzen — ein Kanal, ein Status; wartbar wenn Provider-Rollen wechseln.

Betrifft: Dashboard (Social), Social (Engage)

Links: Social unter Cockpit


2026-08-25 — Social: Inbox manuell zuordnen, einheitliche Verknüpfung

Was: Im Center-Reiter Social Media kann die Zernio-Inbox pro Outstand-Kanal per Suche/Liste zugeordnet werden (wie Outstand-Profile). Gemeinsame SSOT-Helfer für Plattform-Mapping und mapZernioInboxToCenterSocial; Auto-Link für Ads respektiert optional centerId.

Warum: Auto-Link scheitert bei abweichenden Namen (z. B. Carree Bad Cannstatt); Redaktion braucht manuelle Zuordnung ohne Super-Admin.

Betrifft: Dashboard (Social), Social (Engage)

Links: Social unter Cockpit


Betrifft: Social · Dashboard

Was: Live-Vorschau (Facebook/Instagram/Story) mit Absatzdarstellung; optional unterschiedliche Texte pro Kanal; Story/Reel mit Video-Upload; Felder Standort und Link.

Warum: Absätze und Kanal-Unterschiede (z. B. Hashtags nur auf Instagram) vor dem Publish prüfen; Story-Format nicht mehr nur auf Bilder beschränkt.

Links: Social-Media-Freigabe


2026-08-24 — Social: Editor folgt Switcher, Kanäle-Seite überarbeitet

Betrifft: Social · Dashboard

Was: Neuer Post übernimmt Center-Wechsel aus dem Header-Switcher. Einstellungen Social-Kanäle mit Kanal-Kacheln (IG/FB/Threads), KPI-Zeile und manueller Zuordnung eingeklappt.

Warum: Weniger Verwechslung zwischen globalem Center und Post-Ziel; Kanäle verbinden soll ohne Technik-Sprech funktionieren.

Links: Social-Media-Freigabe


2026-08-24 — Social Hub & Engage: Performance-Nachzug

Betrifft: Social · Dashboard

Was: Social-Hub zeigt 30-Tage-Performance (Reach, Impressions, Engagement, Kanal-Kacheln). Engage lädt Post-Metriken aus Snapshots, Kanal-Filter und Link zu Deine Performance.

Warum: Hub und Community-Ansicht sollen dieselben Kennzahlen liefern wie Reporting — ohne extra Klick.

Links: Social-Media-Freigabe


2026-08-24 — MCP & AgencyOS: Social Analytics für Agenten

Betrifft: MCP & Agenten · Social

Was: Neue Tools cockpit_social_analytics und cockpit_social_sync_metrics; erweiterte APIs für Plattform-KPIs, Posts mit Metriken, Follower-Trend und Live-Sync.

Warum: Claude soll Social-Daten (IG vs. FB, Engagement, Kanal-Posts) abfragen und auswerten können.

Links: AgencyOS Social-API, Claude MCP Anleitung


2026-08-24 — Social Reporting: Kanal-KPIs pro Plattform

Betrifft: Social · Reporting & Analytics

Was: Unter Deine Performance gibt es Kacheln je Kanal, Impressions-/Engagement-KPIs, Mini-Follower-Trend und Kanal-Posts in der Post-Liste.

Warum: Redaktion soll IG und FB getrennt vergleichen können.

Links: Social-Media-Freigabe


2026-08-24 — Integration: WordPress-Webhooks wieder in der Liste sichtbar

Betrifft: Dashboard

Was: Unter Integration → Webhooks erscheinen wieder WordPress Auto-Sync-Einträge (z. B. Vita Center, Gutenberg Mainz), auch wenn sie unter einem anderen Benutzer angelegt wurden.

Warum: Die Liste filterte nur nach userId des eingeloggten Users — Hintergrund-Sync lief weiter, die UI wirkte leer.

So testen: Integration → Webhooks → Filter „Alle“ — WordPress Auto-Sync-Einträge mit Fehlerzähler sollten sichtbar sein.


2026-08-24 — Shops: „Termin nach Vereinbarung“ statt fester Öffnungszeiten

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Beim Bearbeiten von Shops und Filialen kann Redaktion unter Öffnungszeiten wählen: feste Wochenzeiten oder Termin nach Vereinbarung (optionaler Anzeigetext). Bestehende Zeiten bleiben in der Datenbank erhalten, werden auf der Website aber ausgeblendet, solange der Termin-Modus aktiv ist. Freitext wie „Termin nach Vereinbarung“ aus Import/MCP wird im Editor erkannt.

Warum: Ärzte und Dienstleister haben oft keine klassischen Laden-Öffnungszeiten — ILG /oeffnungszeiten und Shop-Detailseiten sollen das korrekt anzeigen, ohne Daten zu überschreiben.

So testen: Shop bearbeiten → Öffnungszeiten → „Termin nach Vereinbarung“ wählen → speichern → auf Center-Website und ILG-Öffnungszeiten-Seite prüfen.


2026-08-24 — Social: OAuth-Rückleitung ohne localhost (Callback-Route)

Betrifft: Dashboard · Social

Was: Nach Meta/Outstand-Login leitet /api/social/outstand-accounts/callback wieder auf die öffentliche Dashboard-URL — nicht mehr auf https://localhost:3000/... (Render-internes request.nextUrl.origin).

Warum: Der Connect-Start war bereits gefixt; die Rückleitung zur Einstellungsseite nutzte noch localhost als Basis.

Links: Social Media Freigabe


2026-08-24 — Parking Live-Daten: Prisma statt fehlerhafter Raw-SQL

Betrifft: Dashboard

Was: Live-Parking (loadLiveParkingFromDb, Dashboard-Home, HQ-Cockpit, Center-Manager) nutzt Prisma-ORM statt $queryRaw mit unquoted ParkingZone — PostgreSQL suchte fälschlich parkingzone und loggte 42P01.

Warum: Log-Spam und fehlende Parkhaus-Auslastung auf der Startseite trotz vorhandener Zonen.

Links:


2026-08-24 — Social: OAuth-Callback ohne localhost (Kanal verbinden)

Betrifft: Dashboard · Social

Was: Beim Quick Kanal verbinden (Facebook/Instagram/Threads) nutzt die Outstand-OAuth-Callback-URL den öffentlichen Dashboard-Host aus dem Request — nicht mehr fälschlich http://localhost:3000, wenn NEXTAUTH_URL in Production falsch gesetzt ist.

Warum: Nach Meta-Login kam ein Fehler, weil die Redirect-URI auf localhost zeigte.

Links: Social Media Freigabe


2026-08-24 — ILG-Kontaktformular: weniger Junk-Mails

Betrifft: Website & v0 · E-Mail

Was: ILG-Kontakt- und Promotion-Formulare mit Honeypot und Cloudflare Turnstile; Dashboard verwirft Bot-Anfragen (gefülltes Honeypot, Link-Flut, Sofort-Submit) still, bevor eine Mail rausgeht.

Warum: Center-Manager bekamen wieder vermehrt Junk aus dem öffentlichen Kontaktformular.

Links: Dashboard-E-Mails — Spam-Schutz · Feature-Katalog — Kontakt


2026-08-24 — MallPilot: Persona, Quick-Topics, Gap-Logging

Betrifft: Dashboard, Public API, MCP

Was: Chatbot-Config um assistantName, quickTopics, actions erweitert; POST …/chat-gaps für Gap-Logging; public-visitor-surface liefert capabilities.wayfinding und apiHints.chatGapsPost. mallpilot-chat-core liest Surface-Config (Branding, Name, Topics).

Warum: Widget-Branding und Verhalten pro Center aus Cockpit statt Hardcode — ohne City-Vertical.

Links: Bots & Assistenten Hub, Developer — Bots-Hub


2026-08-24 — Bots-Hub: Übersicht ergänzt

Betrifft: Dashboard

Was: Hub-Übersicht: Link zu SEO & AI-Sichtbarkeit; Hinweis für Forum-/Template-Bots unter Webseiten.

Warum: Querverweise aus der Spec, ohne Forum-Center (fg-chatbot) in den Hub zu ziehen.

Links: Dashboard — Bots & Assistenten


2026-08-24 — Bots-Hub: UI aufgeräumt

Betrifft: Dashboard

Was: Hub /dashboard/bots-assistenten — drei Tabs, keine doppelten Status-Karten, kein Dev-API-Block; Analytics-Link im Header. Smoke-Script pnpm --filter @mall-os/dashboard run smoke:bots-profile.

Warum: Klarere Redaktions-Oberfläche nach Phase-5-Cutover.

Links: Dashboard — Bots & Assistenten


2026-08-24 — Bots & Assistenten Hub (Phase 5 UI)

Betrifft: Dashboard · Chatbot & KI

Was: Webseiten-Reiter Chatbot und Signage-Reiter Companion App ausgeblendet; Companion-Konfiguration nur noch im Hub. Deprecation-Banner entfernt. Forum GummersBOT (fg-chatbot) bleibt unter Webseiten.

Warum: Saubere Navigation — ein Einstieg für Bot-Konfiguration, ohne APIs oder laufende Assistenten zu ändern.

Links: Dashboard — Bots & Assistenten · Developer — Bots-Hub


2026-08-24 — v0: mallpilot-chat-core als Bot-Quelle

Betrifft: Website & v0 · Chatbot & KI

Was: v0 Instructions (Teil C/H/I) und Chat-Prompt „Bot-Feature mallpilot“: Bot-UI kommt aus github.com/sawmuedev/mallpilot-chat-core — nicht inline in Website/Signage. Neue Features zuerst im Core-Repo.

Warum: Eine Code-Wahrheit für MallPilot/CityPilot über Website, Companion und Kiosk; Cockpit bleibt Config-Wahrheit.

Links: v0 Instructions Teil C · packages/mcp-cockpit-os/V0_INSTRUCTION_BOT_CORE_PATCH.md


2026-08-24 — Bots & Assistenten Hub (Phase 4)

Betrifft: MCP & Agenten · Chatbot & KI

Was: Einheitliches Partial-Write: PATCH …/bots-profile (Dashboard + AgencyOS) mappt auf Legacy-Speicher. MCP: cockpit_update_bots_profile, cockpit_bots_profile_schema.

Warum: Agenten und v0-Setup sollen Bot-Einstellungen über alle Kanäle in einem Aufruf setzen können — ohne Runtime oder alte Pfade zu brechen.

Links: Developer — Bots-Hub


2026-08-24 — Bots & Assistenten Hub (Phase 2–3)

Betrifft: Dashboard · Chatbot & KI · MCP & Agenten · Website & v0

Was: Deprecation-Hinweise in Webseiten-Reiter Chatbot, Companion-Konfiguration und Signage Companion App. Public Read: data.bots in public-visitor-surface. MCP: cockpit_get_bots_profile.

Warum: v0-Bots und Agenten sollen Bot-Konfiguration zentral lesen; Redaktion wird zum neuen Hub geführt ohne alte Pfade zu entfernen.

Links: Developer — Bots-Hub


2026-08-24 — Bots & Assistenten Hub (Phase 1)

Betrifft: Dashboard · Chatbot & KI · MCP & Agenten · Website & v0

Was: Neues Modul Bots & Assistenten (/dashboard/bots-assistenten) bündelt Website-Chatbot, Companion und Signage-KI. Aggregierte Read-API GET …/bots-profile (Dashboard + AgencyOS) und sicheres Website-Speichern über PATCH …/bots-profile/website. Legacy-Speicher unverändert.

Warum: Bot-Einstellungen waren über mehrere Reiter verstreut; zentraler Hub ohne Break für laufende Chatbots.

Links: Dashboard — Bots & Assistenten · Developer


2026-08-24 — Epic spezifiziert: Bots & Assistenten Hub

Betrifft: Dashboard · Chatbot & KI · MCP & Agenten · Signage & QR · Website & v0

Was: Architektur-Spec für einen zentralen Cockpit-Hub, der Website-Chatbot, Companion-KI und Signage/Kiosk-KI an einer Stelle konfigurierbar macht — mit aggregierter Read-API (bots-profile), MCP-Plan und v0-Public-Read-Erweiterung. Legacy-Speicher (chatbotConfig, companionConfig, signageTemplateOptions) bleiben canonical; laufende Bots brechen nicht.

Warum: Bot-Einstellungen sind heute über mehrere Reiter/Module verstreut; v0-Bots und Agenten brauchen einen klaren Config-Vertrag ohne Big-Bang-Migration.

Links: Developer — Bots-Hub · Dashboard — geplant · Interne Spec: docs/superpowers/specs/2026-08-24-bots-assistenten-hub-spec.md


2026-08-22 — Base-Template: Agenten-Parität (NOW!, Kategorien, Themenwelten)

Betrifft: MCP & Agenten · Website & v0 · Dashboard

Was: AgencyOS/MCP für Base-Template-Reiter ergänzt: NOW!-Felder (toGoHeroImage, toGoGreeting, …) in designConfig; Kategorie-Updates mit icon, color, coverImage, coverVideo, description; Themenwelten (Gastronomie, Kategorie, Büro) via GET/POST/PUT/DELETE …/theme-worlds und MCP cockpit_list/upsert/delete_center_theme_world. Schema-Hints für Reiter Center-Inhalte, NOW! und Base-Page-Tabs in cockpit_website_config_schema.

Warum: Agenten konnten viele Base-Template-Einstellungen im Dashboard sehen, aber nicht vollständig lesen/schreiben (NOW!, Kategorie-Medien, Themenwelten).

Links: AgencyOS-Integration · MCP-Tool-Referenz


2026-08-22 — MCP/API P0: Design-GET, centerplanConfig, Features-Doku

Betrifft: MCP & Agenten · Website & v0

Was: AgencyOS-GET liefert categoryCardSettings/contentCardSettings in designConfig. MCP-Zod: centerplanConfig, Design-Overrides (backgroundBrightness, templateColors, …), strukturierte contentConfig.features (showCategoryFilter, showShopImages, …). Features- und Centerplan-Felder in cockpit_website_config_schema. Partial merge für contentConfig.features in AgencyOS PUT.

Warum: v0/Agenten konnten Settings schreiben, aber nicht zuverlässig lesen oder über MCP senden (Zod strippte Felder).

Links: AgencyOS-Integration


2026-08-22 — MCP: categoryIcon / categoryCardSettings schreibbar

Betrifft: MCP & Agenten · Website & v0 · Dashboard

Was: designConfig.categoryCardSettings (inkl. showElements.categoryIcon) ist über cockpit_update_center_website_config und MCP-Schema-Reiter Design dokumentiert. Neues Tool cockpit_update_category + AgencyOS PUT …/categories/{id} für pro-Kategorie cardSettings. cockpit_list_categories liefert cardSettings.

Warum: v0/Base-Template konnte Kategorie-Icons im Frontend vorsehen, Agenten konnten die Einstellung nicht setzen (cardSettings=null, MCP-Zod ohne Felder).

Links: AgencyOS-Integration · MCP cockpit_website_config_schema (Reiter Design)


2026-08-22 — Betrieb: Migration Service.serviceKind auf Live-DB

Betrifft: Betrieb & Deploy · Dashboard · Website & v0

Was: Render-Build führt die additive Spalte Service.serviceKind vor prisma db push aus (pnpm db:migrate:service-kind). Behebt 500er auf /api/shop-mapping und /api/centers/…/services, wenn Code bereits deployed, die Spalte in Postgres aber noch fehlte.

Warum: Feature serviceKind (0.1.158) war live, die DB-Migration auf Render noch nicht gelaufen.

Links: packages/database/migrations/20260822120000_add_service_kind_SAFE.md

2026-08-22 — Centerplan: DEZ/Mapplic-SVG (store*, MapLegend)

Betrifft: Dashboard · Signage & QR · Website & v0

Was: SVG-Upload und Wayfinding erkennen Legacy-Exporte aus Mapplic/DEZ: Shop-Gruppen store153-1 usw. sowie POIs unter floor1 MapLegend (Stairs, Elevators, Toilets, Parking, Arrows). Klick/Hover und ViewBox-Berechnung unterstützen store*-IDs analog zu shop-*.

Warum: Beim Upload des Donau-Einkaufszentrums meldete der Analyzer „0 Shops/Services/Eingänge“, obwohl die Illustrator-Ebenen korrekt benannt waren — die IDs folgen nicht der Cockpit-Standardkonvention.

Links: SVG-Struktur & Wayfinding

2026-08-22 — Public API: serviceKind, Shop-Kategorie-Filter, Live-Sensoren

Betrifft: Website & v0 · MCP & Agenten · Dashboard

Was: Services haben serviceKind (amenity | provider) — Dashboard, Public API, AgencyOS. Shops-API filtert serverseitig per category/categoryId und liefert isGastro. Neue öffentliche Endpunkte live-sensors und live-parking (nur echte Live-Daten). MCP-Tools cockpit_public_live_sensors, cockpit_public_live_parking.

Warum: MallPilot/v0 brauchen stabile Unterscheidung Ausstattung vs. Dienstleister, Gastronomie-Filter ohne Client-Hacks und optional Live-Parking ohne interne Auth.

Links: Public Center-Website API — Vertrag

2026-08-22 — Security: Center-Detail-API & Angebots-Shop-Auflösung

Betrifft: Website & v0 · Betrieb & Deploy · MCP & Agenten

Was: GET /api/centers/{centerId} verlangt jetzt Dashboard-Session oder gültigen AgencyOS-API-Key; sensible Felder (frontendRegisterToken, analyticsPagePassword, …) werden nie mehr zurückgegeben. Merge-Bug behoben (Relations-Query überschrieb begrenztes Select). Angebots-Liste löst Shop-Namen wie Einzelabruf über Shop, Filiale/Kette oder Service.

Warum: Unauthentifizierter Abruf lieferte interne Secrets — nicht Teil des öffentlichen Website-Vertrags. Externe Apps (v0, MallPilot) sollen public-visitor-surface nutzen.

Links: Public Center-Website API — Vertrag

2026-08-20 — MCP: korrekte Website-Vorschau-URL (preview.cockpit-os.de)

Betrifft: MCP & Agenten · Website & v0 · Dashboard

Was: AgencyOS/MCP liefern websiteUrls mit cockpitPreview (preview.cockpit-os.de/{slug}) und liveSubdomain ({slug}.cockpit-os.de). Dashboard-Vorschau-Reiter und cockpit_center_project_init nutzen dieselbe Logik.

Warum: Claude nannte oft die Live-Subdomain statt der Cockpit-Vorschau — obwohl das Template unter preview.cockpit-os.de/{slug} erreichbar ist.

Links: AgencyOS-Integration · MCP-Tool-Referenz


2026-08-20 — MCP: Organisationen anlegen und bearbeiten

Betrifft: MCP & Agenten · Dashboard

Was: AgencyOS-API POST /api/agencyos/v1/organizations, GET/PATCH …/organizations/{slugOrId} sowie MCP-Tools cockpit_get_organization, cockpit_create_organization, cockpit_update_organization.

Warum: Organisationen konnten bisher nur gelesen werden (cockpit_list_organizations) — Agenten und Automatisierung brauchen Stammdaten-CRUD wie bei Centers und Ketten.

Links: AgencyOS-Integration · MCP-Tool-Referenz


2026-08-20 — Dashboard: Feedback-Funktion für Nutzer

Betrifft: Dashboard

Was: Schwebender Button Feedback, automatischer Kontext (Seite, Center, Rolle, Version), optionale Screenshots. Nutzer sehen eigene Meldungen; Super Admin hat Feedback-Inbox mit Für Cursor kopieren.

Warum: Redaktion kann Bugs und Wünsche ohne Technik-Sprache melden — Entwicklung erhält sortierte, umsetzbare Prompts.

Links: Feedback an cockpitOS


2026-08-20 — Doku: Cockpit steuert Frontends (Architektur-Kurzreferenz)

Betrifft: MCP & Agenten · Website & v0

Was: Neue Developer-Seite Cockpit steuert Frontends — Source of Truth, vier Speicher-Körbe, Lesen vs. Schreiben, Kanäle (Render, v0, Signage). Im Repo: .cursor/context.md (Typ SMG) und ergänzende Cursor-Regel cockpit-steuert-frontends.mdc (ersetzt bestehende Regeln nicht).

Warum: Architekturmodell war über mehrere Seiten verteilt — in neuen Chats/Cursor-Sessions soll es eine einzige Einstiegsreferenz geben.

Links: Cockpit steuert Frontends · Start Entwicklung · Plattform-Überblick


2026-08-20 — Social: Kanäle im Center selbst verbinden

Betrifft: Dashboard · Social

Was: Im Center-Reiter Social Media gibt es einen Quick Kanal verbinden: Facebook, Instagram oder Threads selbst anmelden und dem Center zuordnen. Der Hinweis „Super Admin kontaktieren“ ist entfernt. Hub, Home und Editor führen auf denselben Reiter.

Warum: Kick-off-Teams sollen Zuweisung und Kanalverbindung selbst machen — Unklarheiten sind Feedback, kein Auftrag an die Technik.

Links: Social Media Freigabe · Social Media — Einstieg

Betrifft: MCP & Agenten · Reporting & Analytics · Chatbot & KI

Was: GET /api/analytics/trending liefert zusätzlich topIntents und topQuestions (anonym aggregiert aus MallPilot). Chatbot-Analytics-Routen (/api/chatbot-analytics/*) erfordern Session oder AgencyOS-Token mit Center-Zugriff.

Warum: MallRadar soll innen (MallPilot-Fragen) und außen (AI-Audit) vergleichen — ohne Roh-Chats, mit dem bestehenden Service-Token.

Links: Analytics-Integration · Spec docs/superpowers/specs/2026-08-20-mallradar-trending-intents-design.md

2026-08-19 — Forum Gummersbach: Sidebar-Cluster & klare Reiter-Namen

Betrifft: Dashboard · Website & v0

Was: Webseiten-Reiter für forum-gummersbach in Sidebar-Cluster (Startseite, Seiten, Rechtliches, Global); Reiter Rechtliches ergänzt; linke Reiter-Liste scrollbar; Doppel-Label „Aktuelles“ → News-Sektion vs. Unterseite Aktuelles.

Warum: 22 Reiter waren in einer flachen Liste schwer navigierbar.

Links: Forum Gummersbach Webseiten-Tab

2026-08-19 — Mall Cockpit: Webseiten-Inhalte für Agentur & Content Editor

Betrifft: Dashboard · Website & v0

Was: Neuer Menüpunkt Webseiten-Inhalte unter Mall Cockpit (/dashboard/website/center → Center-Reiter Website). Agentur-Rolle sieht den Website-Reiter im Center-Detail (nur Kategorie Inhalte); Content Editor findet den Einstieg ohne Umweg über Center-Website-Modul.

Warum: Redaktion und Agenturen pflegen Template-Inhalte (Hero, Seiten), fanden den Reiter aber nicht oder hatten keinen Zugriff.

Links: Navigation & Module · Benutzer & Organisation

2026-08-17 — Redaktionsfluss: Freigaben und Kalender getrennt

Betrifft: Dashboard

Was: Die Schritt-Leiste „Dispatch → Freigabe → Planung“ ist weg. Der bisherige Content Planner heißt Kalender und zeigt nur Termine. Freigaben und Kalender bleiben eigene Seiten; eine Zeile verweist auf offene Freigaben bzw. Termine dieser Woche.

Warum: Der Kalender war kein Redaktionsplan, wirkte aber so. Drei Jobs brauchen drei Namen — ohne einen Wizard, der einen falschen Ablauf vorgibt.

Links: Navigation & Module · Workflow & Freigaben

2026-08-17 — Social Cockpit in MCP: Freigabe, Community lesen, Performance

Betrifft: MCP & Agenten · Social

Was: Agenten können Social-Entwürfe listen, freigeben oder ablehnen, Community-Kommentare lesen und einen Performance-Kurzüberblick holen. Posts erstellen, planen, direkt veröffentlichen, Antworten, Liken und Verbergen bleiben im Dashboard.

Warum: Die Freigabe-API existierte schon für Teams-Karten — ohne MCP-Tool. Agenten sollen den Stand sehen und entscheiden können, ohne den Social-Editor nachzubauen.

Links: Claude & MCP · AgencyOS-API · Social Media Freigabe

2026-08-17 — Social: Outstand-Moderation, Thread-Antworten, KI-Kennzeichnung

Betrifft: Dashboard · Social

Was: Community kann Instagram- und Threads-Kommentare über Outstand verbergen oder löschen — ohne Zernio-Mapping. Antworten sitzen wieder unter dem Kommentar (parent_comment_id). KI-Bilder vom Bild-Assistenten bekommen auf Instagram das „AI info“-Label. Publish sendet einen Idempotency-Key. Threads: wer darf antworten. Kanäle lassen sich prüfen (Token-Status). Performance zeigt Story-Kennzahlen, wenn Outstand sie liefert.

Warum: Outstand hat Hide/Delete und saubere Thread-Felder nachgezogen. Zernio bleibt für Liken, Facebook-Verbergen, fremde Posts und Werbung.

Links: Social unter einem Cockpit-Dach · Social Media Freigabe

2026-08-17 — MEC-Import: Kachel- und Seitentexte mehrsprachig

Betrifft: Dashboard · Website & v0 · MCP & Agenten · MEC-Import

Was: Der Import legt die zweite MEC-Sprache (multi / irreführendes en) jetzt auch bei Homepage-Kacheln, Anfahrt, Gutschein, Vermietung, Unterseiten-Headern, Rechtstexten, Kontaktformular und Öffnungszeiten-Hinweisen als mecLang ab — gemappt auf da bzw. pl.

Warum: Im alten MEC waren diese Texte schon übersetzt. Bisher landete nur Deutsch im Cockpit, deshalb blieb ?lang=da auf den Kacheln deutsch.

Links: MEC-Import

2026-08-17 — MEC-Import: Kontakt-Dateien nach Bunny

Betrifft: Dashboard · MEC-Import

Was: Kontakt-Links aus dem MEC-Import (z. B. Presseanfragen-Word-Datei) werden pro Center heruntergeladen und im Bunny-Ordner des Centers abgelegt. Die Website verlinkt die Bunny-URL.

Warum: Bisher blieb die Datei auf dem alten MEC-Server. Nach dem Abschalten von MEC wäre der Download tot.

Links: MEC-Import

2026-08-17 — MEC-Import: offizielle Sprachen statt multi/en

Betrifft: Dashboard · Website & v0 · MCP & Agenten · MEC-Import

Was: Der Import nimmt die Sprachen aus language_fields (z. B. DE+DA, DE+PL). multi und irreführendes en werden auf die echte zweite Sprache gemappt. Einsprachige Center bekommen keinen Umschalter mehr durch Slider-Reste.

Warum: Förde und Oder-Center landeten mit MULTI/EN im Cockpit, obwohl Besucher Dänisch bzw. Polnisch sehen. ORO zeigte fälschlich extra Sprachen.

Links: MEC-Import · Public API

2026-08-17 — MEC Green Hero: Figma-Maße für v0

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Im Green-Hero-Reiter gibt es Kasten- und Schriftgrößen (Desktop 512×546 / 90 px, Mobil 375×352). Die öffentliche Surface füllt fehlende Maße, damit v0 sie lesen kann.

Warum: Die bisherigen Defaults (516×516, 40 px, 70 %) wichen vom Figma-Hero ab. v0 braucht die Maße als Felder, nicht nur im CSS.

Links: Green Quellen · Startseiten-Hero

2026-08-16 — MEC-Sprachen in Surface und Header-Reiter

Betrifft: Dashboard · Website & v0 · MCP & Agenten · MEC-Import

Was: public-visitor-surface liefert data.languages (code/label/href). Im Reiter Header & Navigation gibt es für MEC A/C/D/Grooss/Green einen Sprachumschalter. Der MEC-Import füllt die Liste, wenn die API mehr als eine Locale hat.

Warum: v0 hat oben in by-slug/Surface keine Sprachen gefunden, obwohl der Import mecLang schon speichert. Ein festes öffentliches Feld und ein Dashboard-Reiter machen das steuerbar.

Links: Public API · MEC-Import

2026-08-12 — website-shopbox: v0-Standalone MEC ShopBox

Betrifft: Website & v0

Was: Neues Export-Skript scripts/export-website-shopbox-v0-repo.mjs und Repo website-shopbox/ — MEC ShopBox (mec-shopbox) als eigenes v0-Projekt mit public-visitor-surface, Routen /wayfinding (nicht /centerplan), ShopBox-Chrome und Wayfinding-Variante mec.

Warum: ShopBox-Center sollen wie Interra nahtlos auf v0/Vercel deploybar sein, ohne das Basis-Template oder andere MEC-Classic-Templates mitzuliefern.

Links: GitHub: sawmuedev/smg-mec-shopbox-template-website · website-shopbox/README.md, website-shopbox/V0_IMPORT.md (Monorepo-Arbeitskopie, nicht eingecheckt)


2026-08-12 — Hotfix: public-visitor-surface 500 (0.1.142)

Betrifft: Website & v0 · Betrieb & Deploy

Was: Prisma-Select auf organization.websiteTheme entfernt — Feld existiert nicht (defaultTheme ist korrekt). themeConfig nutzt Org-defaultTheme.

Warum: Nach der API-Erweiterung (0.1.141) antwortete GET …/public-visitor-surface mit 500 — v0-Layouts (website-interra) brachen beim Laden.

Links: center-website-v0-api-ready-to-go


Betrifft: Website & v0 · MCP & Agenten

Was: GET …/public-visitor-surface liefert strukturierte Blöcke (hero, design, branding, legal, socialMedia, …) plus vollständiges themeOverridesPublic und templateContentPublic (sanitized), alle features aus der DB, themeConfig, qrCodeConfig, content/announcement. v0 mappt in DynamicCenterConfig.

Warum: v0 soll den Live-Stand von Base-Centern (Palais Vest, Leine-Center) ohne Lücken abbilden — ohne Auth auf website-config.

Links: center-website-v0-api-ready-to-go


Betrifft: Website & v0 · MCP & Agenten

Was: SEO/GEO-P0-Kern direkt in Teil D (GEO-Routen, page-content), Teil E (JSON-LD, Sitemap, SSR, AI-Crawler) und Teil J (Go-Live x/10 P0). Zwei Chat-Prompts (kein 11. Slot): GEO P0-Umsetzung und GEO Re-Check (SMG-Audit-Simulation). V0_INSTRUCTION_GEO_PATCH.md und seo-ai-geo.md angeglichen.

Warum: v0 implementierte oft nur das dünne „SEO-Grundgerüst“ aus Teil E, obwohl das MCP-Tool volle P0-Blockers definiert — SMG-Audit-Readiness blieb darunter.

Links: v0 + Cockpit · SEO/GEO · packages/mcp-cockpit-os/V0_INSTRUCTION_GEO_PATCH.md

2026-08-08 — MCP: Centerplan- & Touchscreen-Zuordnungen (AgencyOS)

Betrifft: MCP & Agenten · Signage & QR · Website & v0

Was: Neue AgencyOS-Routen für Touchscreens und 10 MCP-Tools für Wayfinding/Centerplan: MapLocations listen/zuordnen/aktualisieren, Touchscreen-Standorte anlegen und MapLocation zuweisen.

Warum: Agenten konnten Zuordnungen bisher nur im Dashboard setzen — obwohl die MapLocation-REST-API schon existierte.

Links: AgencyOS-Integration (§4.3b), MCP README

2026-08-07 — Wayfinding: SVG-Bootstrap + Eingänge-Fallback (Riem Arcaden)

Betrifft: Website & v0 · Signage & QR · Betrieb & Deploy

Was: Center-Website routet bei #routes-SVG zuerst über das SVG-Netzwerk; fehlende DB-Eingänge werden aus Stelen (stele-*, p-stele-*) ergänzt. Neues CLI pnpm wayfinding:bootstrap-svg legt Waypoints, Stelen-Eingänge und Verbindungen aus #routes für eine Etage an.

Warum: Legacy-Center hatten routing-fähige SVGs, aber leere Wayfinding-DB — Besucher sahen keine Route trotz korrektem Plan.

Links: docs/wayfinding/BOOTSTRAP-FROM-SVG-ROUTES.md

2026-08-07 — Center-Website Bandwidth Phase 3 (308-Fix + Scanner-Guard)

Betrifft: Website & v0 · Betrieb & Deploy

Was: Public-API-Fetches nutzen apiUrl() mit Trailing Slash (kein 308 mehr auf /api/shops?…). Middleware blockiert WordPress-/Scanner-Probes (*.php, wp-*, .env) mit 404 statt SSR-500.

Warum: Render-Egress weiter senken — weniger Doppel-Requests und weniger Fehler-Last durch Bot-Scans (~9 % der Requests am 1.8.).

So testen: Network-Tab: /api/shops/?centerId=… direkt 200; curl -I …/wp-login.php → 404.

Links: docs/tickets/center-website-bandwidth-hardening-2026-08.md


2026-08-06 — Shops: „Vorübergehend geschlossen“ (sichtbar + Badge)

Betrifft: Dashboard, Website & v0, MCP & Agenten

Was: Shops und Filialen können als vorübergehend geschlossen markiert werden — ohne Status „Inaktiv“. Sie bleiben in Liste, Suche und Centerplan; Besucher sehen Badge/Hinweis auf Karten und Detailseiten. Optionaler Text und Enddatum (automatisches Ausblenden beim Rendern).

Warum: Renovierung/Umbau soll den Mieter nicht aus der Einkaufswelt entfernen, aber klar kommunizieren, dass er kurzfristig nicht erreichbar ist.

Links: Shops vorübergehend geschlossen · db_structure.md (Shop/ShopLocation)


2026-08-06 — v0 Instructions: 10×5000 hart, F inkl. 3D-Pipeline

Betrifft: Website & v0

Was: Klarstellung: genau 10 Custom Instructions (A–J), je max. 5000 Zeichen — kein 11. Slot. Teil F/G unter Limit verdichtet; 3D-Pipeline in Teil F integriert; F2 nur noch Chat-Prompt. Fußnoten korrigiert.

Warum: v0 speichert weder >5000 Zeichen noch mehr als 10 Instructions; F2 als Extra-Slot kollidierte mit vollem A–J-Set.

Links: v0 + Cockpit (So geht’s)

2026-08-06 — v0 Instructions: Tracker-Scan, A11y, Deslop (Teil C/E/J)

Betrifft: Website & v0

Was: v0 Custom Instructions geschärft: (1) Datenschutz (Teil E/J) — Umami erst nach Consent, Verbot GA/GTM/Pixel/Vercel-Analytics, CSP+HSTS; (2) Barrierefreiheit (Teil E/J) — WCAG-AA/axe (Icon-aria-label, Dialog-Fokus-Trap, kein Bild-Captcha); (3) Anti-Slop/Deslop (Teil C/J) — Schatten/Eyebrow-Stuffing, Spot-it-Selbstcheck (vage/austauschbar/zu glatt), Cleanup „löschen vor Abstrahieren“. Zeichenzahl unter dem 5000-Limit.

Warum: Scanner und Redaktion treffen oft auf „funktioniert, aber generisch/aufgebläht“; Erstload-Checks und gezieltes Aufräumen ohne Feature-Drift brauchen klare Instruction-Regeln.

Links: v0 + Cockpit (So geht’s) · DSGVO-Methodik · A11y-Methodik

2026-08-05 — Doku: Center-Website Cockpit → v0 migrieren

Betrifft: Website & v0 · Betrieb & Deploy

Was: Neue Developer-Doku Cockpit → v0 Migration — Architektur, Migrations-Checkliste, ILG-Referenz (website-ilg/), Branch-Strategie (main + v0-Branch), Env und Go-Live. Verlinkt aus Redaktions-Onboarding und Center-Website-Intro.

Warum: ILG-v0-Parität und Multi-Center-Deploy waren im Repo/README verstreut; Team und Agentur brauchen einen nachlesbaren Migrationspfad neben dem ZIP-Template-Weg.

Links: Cockpit → v0 Migration · Onboarding v0


Monat Juli 2026

2026-07-31 — MEC Small Assets: Anfahrtshinweise (0.1.134)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Im Reiter Anfahrt (Kontakt-Seite) gibt es ein eigenes Feld Anfahrtstext (customContent.anfahrtDescription) neben der Parkplatz-Anzahl — getrennt von Parken/ÖPNV-Feldern im globalen parkingConfig.

Warum: Allgemeine Anfahrt (Bahn, Bus, Autobahn) war semantisch nicht vom Parkplatz-Hinweis getrennt; Redaktion und v0 brauchten einen klaren Speicherort auf dem Kontakt-Block.

Links: MEC Small Assets Webseiten-Tab


2026-07-31 — ILG Öffnungszeiten: Ärzte & Praxen in erweiterter Liste (0.1.134)

Betrifft: Website & v0

Was: Auf /oeffnungszeiten erscheinen unter dem Block „erweiterte Öffnungszeiten“ zusätzlich alle Ärzte & Praxen mit hinterlegten Sprechzeiten (eigener Abschnitt unter den erweiterten Geschäften).

Warum: Sprechzeiten weichen von Center-Kernzeiten ab und fehlten bisher in der Übersicht — Besucher sahen nur Shops mit längeren Ladenzeiten.

Links: Website-Templates (ILG)


2026-07-31 — Kontakt-/Vermietungs-Mails mit Center-Branding 0.1.133

Betrifft: Dashboard · Website & v0 · E-Mail

Was: Standard-E-Mail-Template für send-contact-inquiry / send-rental-inquiry nutzt Center-Name, baseColor, accentColor und optional Logo — statt festem Rot.

Warum: v0 Multi-/Single-Center-Formulare sollen mailsseitig zum Center passen, ohne eigenes Template oder Resend im Frontend.

Links: Dashboard-E-Mails


2026-07-31 — Öffnungszeiten: zentrale Serialisierung (0.1.132)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: serializeOpeningHoursForDb bereinigt überall (Dashboard, AgencyOS, Bulk, Drafts) fehlerhafte Top-Level-Wochentage bei regularHours; alle Shop-/Service-/Filiale-Schreibpfade angeglichen.

Warum: Der Dashboard-Bug betraf primär Filialen — ohne zentrale Normalisierung konnten andere APIs dasselbe Muster erneut speichern.

Links: Dispatch & Workflow


2026-07-31 — Shop-Filialen: Öffnungszeiten-Speicherbug (Dashboard) 0.1.131

Betrifft: Dashboard · Website & v0

Was: PUT/POST /api/shop-locations speichert keine fehlerhaften Top-Level-mondaysunday-Felder mehr, wenn regularHours gesetzt ist. Center-Website wertet regularHours vor Legacy-Top-Level-Tagen aus. Bereinigungs-Skript scripts/fix-shop-opening-hours-legacy-top-level.mjs.

Warum: Dashboard-Session (z. B. Giesler Galerie, 29.07.) schrieb korrekte regularHours plus zusätzlich alle Tage auf "closed" — Website zeigte „Öffnungszeiten auf Anfrage“.

Links: Dispatch & Workflow


2026-07-31 — Center Geo-Koordinaten per AgencyOS/MCP 0.1.130

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: latitude/longitude in GET/PUT /api/agencyos/v1/centers/{centerId} und POST …/centers; MCP cockpit_get_center, cockpit_update_center, cockpit_create_center.

Warum: v0 GEO/JSON-LD und Agenten brauchen Center-Koordinaten ohne manuelles Dashboard — bisher nur DB + Session-API.

Links: AgencyOS-Integration


2026-07-31 — MEC Small Assets: CTA-Box auf der Startseite 0.1.129

Betrifft: Dashboard · Website & v0

Was: Neuer Reiter Startseite: CTA-Box (ctaBox.*) mit Titel, Rich Text, Button (Link und/oder E-Mail) und optionalem Bild; Sichtbarkeit über pageVisibility.homepage_cta_box.

Warum: Kleine MEC-Center brauchen einen konfigurierbaren Call-to-Action auf der Startseite — ohne Hardcoding im v0-Repo.

Links: MEC Small Assets Webseiten-Tab


2026-07-30 — MEC Small Assets: Bild-Text-Blöcke & Startseiten-Sichtbarkeit 0.1.128

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Neuer Reiter Startseite: Bild-Text-Blöcke (homepageSections[]), erweiterte Seiten ein/aus mit homepage_*-Keys, templateContentSchema für MCP und v0 Multi-Center.

Warum: v0 Multi-Site braucht pro Center unterschiedliche Startseiten-Zusammenstellung — ohne JSON-Hacks, mit Redaktions-UI wie Forum/MSA etabliert.

Links: MEC Small Assets Webseiten-Tab


2026-07-29 — KI-Badge auf Content-Detailseiten (0.1.127)

Betrifft: Dashboard · Website & v0 · Chatbot & KI

Was: Auf Detailseiten von News, Events, Angebote und Jobs zeigt das Dashboard die Besucher-Vorschau des KI-Badges (neben Titel und in den Infos) — analog zur Website.

Warum: Redaktion soll vor Veröffentlichung sehen, ob und wie die KI-Kennzeichnung für Besucher wirkt — ohne die Live-Seite zu öffnen.

Links: KI-Kennzeichnung (Authorship)


2026-07-29 — Chatbot KI-Transparenz (EU AI Act Art. 50) 0.1.126

Betrifft: Dashboard · Website & v0 · Chatbot & KI

Was: Besucher-Chatbot zeigt Pflicht-KI-Hinweis im Consent und als dauerhaften Banner im Chat (EU-Symbol + Text). Center-Zusatztext im Consent ersetzt den KI-Hinweis nicht mehr.

Warum: Transparenz bei direkter KI-Interaktion ab 2. August 2026 — getrennt von der redaktionellen Inhalts-Kennzeichnung.

Links: Chatbot KI-Transparenz


2026-07-29 — EU-KI-Kennzeichnungssymbole 0.1.125

Betrifft: Dashboard · Website & v0 · Chatbot & KI

Was: Besucher-Badge und Dashboard-Vorschau nutzen die offiziellen EU-Symbole (SVG) zusammen mit den deutschen Texten.

Warum: Anlehnung an den EU-Verhaltenskodex zur Transparenz von KI-Inhalten — Symbol plus verständliche Beschriftung.

Links: KI-Kennzeichnung (Authorship)


2026-07-29 — Manuelle KI-Kennzeichnung (authorship) 0.1.124

Betrifft: Dashboard · Chatbot & KI

Was: Redaktion wählt im Dashboard (Reiter Optional) die KI-Kennzeichnung für News, Events, Angebote und Jobs. Automatisches Setzen durch KI-Assistent oder Bearbeitung entfällt; Badge auf der Website nur bei explizitem ai / ai_reviewed.

Warum: Kennzeichnung soll bewusst und redaktionell gesteuert werden — nicht still durch KI oder Speichern.

Links: KI-Kennzeichnung (Authorship)


2026-07-28 — MEC Small Assets: Anfahrt-Reiter (Kontakt-Seite) (0.1.115)

Betrifft: Dashboard · Website & v0

Was: Neuer Reiter Anfahrt (Kontakt-Seite) (pageType=anfahrt) — Anfahrttext (Rich Text), Überschrift h2, optionale Parkplatz-Anzahl. Kontakt-Reiter und Navigation: Kontakt & Anfahrt. Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription). Ergänzt in 0.1.134 durch dediziertes Feld anfahrtDescription (Plaintext statt nur Rich Text in pageDescription).

Warum: v0 zeigt Anfahrt als Block unter /kontakt; bisher fehlte das Cockpit-Feld dafür.

Links: MEC Small Assets Webseiten-Tab


Betrifft: MCP & Agenten · Dashboard

Was: PUT …/website-config akzeptiert und persistiert legalConfig.cookieConsentTitleTemplate / cookieConsentDescription in themeOverrides (GET liefert die Felder mit). Vorher: Schema/Doku ja, Schreibpfad ignorierte die Felder still.

Warum: Claude/MCP meldete „Keine gültigen Felder“ bzw. stilles Ignorieren — Dashboard-Reiter Legal war verdrahtet, AgencyOS-Route nicht.

Links: api-agencyos-integration · datenschutz-einwilligung


2026-08-05 — Center-Website Bandwidth Phase 2

Betrifft: Website & v0 · Betrieb & Deploy

Was: Chat-Preload nutzt /api/shops?fields=minimal&limit=500. Middleware: Domain-Lookup-Cache (5min), Coming-Soon-Cache (5min), keine Verbose-Logs in Production. Demo-Videos/Bilder aus public/ werden in Production über Bunny (resolvePublicAssetUrl) ausgeliefert; Upload-Skript pnpm upload:center-website-static -- --execute.

Warum: Render-Egress der Multi-Center-Website weiter senken bis zum v0-Nachbau — kleinere JSON-Payloads, weniger Middleware-Overhead, ~94MB Videos nicht mehr vom App-Server.

So testen: Nach Deploy Chat öffnen (Network: shops-Request mit fields=minimal); Production-Video-URL zeigt auf cockpitos.b-cdn.net/global/center-website-static/….


2026-08-04 — Legacy-Medien DevSM → Bunny + Center-Website Bandwidth (Phase 1)

Betrifft: Betrieb & Deploy · Website & v0 · MEC-Import

Was: Batch-Skripte migrieren console.devsm.de-Medien-URLs in die DB nach Bunny CDN (~99 % der Referenzen). Center-Website: Cache-Header auf Shops/Services/Categories-APIs, Redis für Aktuelles (60s), Sitemap ohne doppelten Shop-Load.

Warum: Legacy-Import hinterließ tausende externe Medien-URLs; Render-Bandwidth der Multi-Center-Website soll bis zum v0-Nachbau durch API-Caching und weniger Crawler-Last sinken.

Links: legacy-console-import-analysis (Abschnitt Medien-Migration)


Betrifft: Dashboard · MCP & Agenten · Website & v0

Was: MCP-Schema und Tool-Beschreibungen für contentConfig.features.cookieConsent sowie legalConfig.cookieConsentTitleTemplate / cookieConsentDescription. Doku im Reiter Datenschutz/Einwilligung ergänzt.

Warum: Agenten sollen Cookie-Banner ein/aus und Texte setzen können — gleicher Vertrag wie Dashboard und Public Visitor Surface.

Links: datenschutz-einwilligung


Was: ILG-Seite /impressum liest Betreiber, Adresse, Register und Kontakt aus Website → Legal (legalConfig) statt hardcodiertem RetailMatch-Platzhalter.

Warum: Center wie Sachsen Forum pflegten korrekte Legal-Daten im Cockpit, die Live-Seite zeigte trotzdem generischen Template-Text.

Links: website-templates


2026-08-03 — Fix: ILG Kontaktformular mit formKey „kontakt“ (0.1.135)

Was: Standard-formKey (kontakt, promotionflaeche, …) blockiert nicht mehr die Empfänger-Kette aus Cockpit/Centermanager; Aliase für SCF Freising und Nel Mezzo Geislingen ergänzt.

Warum: Nach 0.1.123 schlugen ILG-Kontaktformulare fehl, obwohl Centermanager-E-Mails per Sync-Skript hinterlegt waren.

Links: website-templates


2026-07-28 — Formular-Mails: Center-Kontext & ILG-Betreff (0.1.123)

Betrifft: Dashboard · Website & v0 · E-Mail

Was: Kontakt- und Vermietungs-E-Mails zeigen Center, Formular-Typ und Website-URL. ILG-Kontakt übernimmt den Besucher-Betreff in den Mail-Betreff; Promotionfläche sendet formKey für klare Zuordnung.

Warum: Centermanager sollen auf einen Blick erkennen, von welchem Center und welchem Formular eine Anfrage kommt.

Links: dashboard-emails, website-templates


2026-07-28 — ILG: Centermanager-E-Mails für Kontakt- & Promotion-Formulare (0.1.122)

Betrifft: Dashboard · Website & v0 · E-Mail

Was: Cockpit-Reiter Seite: Kontakt mit Formular-Empfänger; Sync-Skript setzt pro ILG-Center ilg.kontakt.contactFormRecipient und ilg.promotionFlaeche.contactFormRecipient auf die Centermanager-Adressen.

Warum: Kontakt- und Flächen-Anfragen sollen beim zuständigen Centermanager landen, nicht bei generischen Adressen.

Links: website-templates


2026-07-28 — public-visitor-surface: accentColor für v0 (0.1.121)

Betrifft: Website & v0

Was: data.center.accentColor in GET …/public-visitor-surface und GET …/by-slug/{slug} ergänzt — dritte Design-Farbe neben baseColor/secondaryColor.

Warum: v0/Claude lasen Orange (#F36D25) nicht aus der API; CTAs und Akzente fielen auf Template-Defaults zurück.

Links: public-center-website-api-vertrag


2026-07-28 — Shop-Öffnungszeiten: Editor-Parität & MCP-Format (0.1.120)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Shop-/Filial-Editor erkennt Freitext, [object Object] und v0-Flat-Keys ohne stille Default-Uhrzeiten; Hinweis-Banner im Formular; Freitext bleibt bei Speichern anderer Felder erhalten. MCP-Tool-Beschreibungen für Shop-Öffnungszeiten mit JSON-Schema. Read-only Audit-Skript.

Warum: MCP-Shops zeigten beim Bearbeiten falsche Default-Zeiten und überschrieben echte Werte — endgültige Lösung ohne Datenverlust.

Links: dispatch-und-workflow (Abschnitt Shop-Öffnungszeiten)


2026-07-28 — Shop-Öffnungszeiten: MCP-Format & Editor-Überschreibung (0.1.119)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: MCP/AgencyOS speichern openingHours-Objekte jetzt per JSON.stringify statt String() (kein [object Object] mehr). Shop-GET behält Freitext bei Parse-Fehler. Shop-Edit sendet Öffnungszeiten nur noch, wenn der Öffnungszeiten-Block geändert wurde.

Warum: Bei MCP-Shops ersetzten beim ersten Speichern stille Default-Uhrzeiten (Mo–Sa 09:00–20:00) die echten Werte — Format-Inkompatibilität zwischen Schreib- und Lese-Pfad.

Links: dispatch-und-workflow


2026-07-28 — Forum Schwanthalerhöhe: Webseiten-Reiter (0.1.118)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Neues config-only Template forum-schwanthalerhoehe mit 28 dedizierten Webseiten-Reitern: Startseite nach Social-Lounge-Muster (Hero-Slider, Themenwelten, KI-Assistent, …), 15 Unterseiten in templateContent.*Page, Footer/Social/SEO/Seiten ein-aus. MCP-Hints und Doku für v0/AgencyOS.

Warum: Forum Schwanthalerhöhe braucht SL-Startseite plus Forum-Unterseiten — eine Datenquelle für Redaktion, v0 und Agenten ohne page-content-Mix.

Links: Forum Schwanthalerhöhe Webseiten-Tab


2026-07-28 — Forum Gummersbach: Webseiten-Reiter v2 (0.1.117)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Template forum-gummersbach von 17 auf 23 dedizierte Reiter erweitert: Startseiten-Sektionen (News, Shop-Logos, Shop-Finder), alle Unterseiten-Inhalte in templateContent.*Page statt page-content, MCP-Hints vollständig auf templateContent umgestellt.

Warum: v0-Spec verlangt Reiter = Sektion in Seitenreihenfolge; eine Datenquelle für Agenten und v0, ohne page-content-Mix bei Unterseiten.

Links: Forum Gummersbach Webseiten-Tab


2026-07-28 — Base-Template: Seite Hausordnung (0.1.116)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Neuer Reiter Seite: Hausordnung für Basis-Center (z. B. Palais Vest): Rich-Text in page-content, CMS-Unterseiten-Layout mit Hero, Footer-Link neben Impressum/Datenschutz. Schalter „Seite aktiv“ ohne Datenverlust.

Warum: Hausordnung soll im Cockpit editierbar sein, ohne bei jeder Änderung ein PDF neu hochzuladen.

Links: Hausordnung (Base-Template), Basis-Template-Optionen


2026-07-28 — MEC Small Assets: 14 Webseiten-Reiter (0.1.115)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Config-only Template mec-template-small-assets mit 14 dedizierten Dashboard-Reitern (Hero/Willkommen, Footer, Social, SEO, Seiten ein/aus, neun Unterseiten inkl. Impressum/Datenschutz). MCP-Hints analog Forum Gummersbach; öffentlich via templatePublicContent.content.

Warum: v0-Repo smg-mec-small-assets-websites soll hardcodierte Texte durch Cockpit-Felder ersetzen — Multi-Center, pro Center gespeichert.

Links: MEC Small Assets Webseiten-Tab


2026-08-12 — MEC Recast Runbook (v0 + GitHub + Cockpit)

Was: Neue Developer-Seite MEC Multi-Center auf Recast — Template↔Repo↔GHCR↔Ports, End-to-End-Flow, v0 vs. Deploy-Dateien, Troubleshooting. Go-Live-Tabelle auf aktuelle Repo-Namen (smg-mec-template-rot, -hybrid, …) aktualisiert.

Warum: Recast-Setup war über mehrere Seiten verteilt; Repo-URLs und v0-Verhalten (kein Überschreiben der Docker-Dateien) fehlten an einem Ort.

Links: Runbook · Go-Live Recast


2026-07-28 — MEC Small Assets: Hero-Slider & v0-only Vorschau (Dashboard)

Betrifft: Dashboard · Website & v0

Was: Hero-Reiter ergänzt um backgroundImageUrl (Einzelbild-Fallback) und hero.slides[] (Slider mit Bild, Headline, Subline, CTA). Frontend-Kanäle blenden Cockpit-Vorschau bei v0-only Templates aus und zeigen die Staging-URL. Reiter Anfahrt (Kontakt-Seite) für MSA.

Warum: v0 HeroSlider ist live — Cockpit muss dieselben Felder wie die Cursor-Spec liefern; irreführende preview.cockpit-os.de-Links für config-only Templates vermeiden.

Links: MEC Small Assets Webseiten-Tab


2026-07-28 — Org-Hosting: MEC Small Assets (Vercel projectId)

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Organisation → Reiter Hosting — neues Feld MEC Small Assets (mec-template-small-assets) in vercelProjectsByTemplate; Anzeigename auch in Center-Aktivierung.

Links: Go-Live – MEC-Template ↔ Repo


2026-07-27 — Forum Gummersbach: v0-Webseiten-Reiter (0.1.114)

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Neues config-only Template forum-gummersbach mit 17 dedizierten Webseiten-Reitern (Hero, Keyfacts, GummersBOT, Footer, Social, SEO, Seiten ein/aus, zehn Unterseiten mit customContent). MCP-Hints und Doku für v0/AgencyOS.

Warum: Externe Redaktion soll Forum-Inhalte im Cockpit pflegen, ohne MEC/RGW-Reiter; v0 liest public-visitor-surface und page-content.

Links: Forum Gummersbach Webseiten-Tab


2026-07-27 — Hero: mehrzeiliger Titel & Untertitel (D + Grooß, 0.1.113)

Betrifft: Dashboard · Website & v0

Was: Template D/Hybrid: Titel und Untertitel als Textarea (Enter für Zeilenumbrüche); Schriftstärke-Kombi dauerhaft sichtbar. Grooß: Hinweis für Untertitel-Umbrüche.

Warum: Einzeilenfeld blockierte Enter; Grooß hatte Titel-Umbrüche schon, D noch nicht.


2026-07-27 — Template D/Hybrid: Untertitel-Hintergrundkasten im Editor (0.1.112)

Betrifft: Dashboard · Website & v0

Was: Im Hero-Reiter Untertitel (Template D / Hybrid): Checkbox Hintergrundkasten und Farbfeld – wie bei Grooß und auf der Live-Website.

Warum: Option war in den Daten schon vorhanden, fehlte aber im Reiter Untertitel des v3-Editors.


Betrifft: Dashboard · Website & v0 · MEC-Import

Was: Reiter Weitere im Hero-Slider (PagePicker) stürzt nicht mehr ab, wenn MEC-importierte Slides einen Link als Objekt statt String haben.

Warum: TypeError: e.trim is not a function beim Öffnen von Weitere (Link, Badge, Datum werden beim Laden normalisiert).

Links: MEC-Import


2026-07-27 — Template Grooss: Hero-Titel & Untertitel (0.1.110)

Betrifft: Dashboard · Website & v0

Was: Im Reiter Hero Slider (Template Grooss): mehrzeiliger Titel per Enter, Schriftstärke (dünn/fett-Kombi oder einheitlich), Hintergrundfarbe am Untertitel – Vorschau und Live-Website wie Template D.

Warum: Redaktion konnte zweite Titelzeile und Untertitel-Kasten bisher nicht pflegen; Live-Slides wichen vom Dashboard ab.

Links: Template Grooss – Legacy-CSS-Checklist


2026-07-27 — Template Grooss: Hero-Feinjustierung (0.1.109)

Betrifft: Dashboard · Website & v0

Was: Im Reiter Hero Slider (Template Grooss) gibt es jetzt Feinjustierung wie bei Template D: Textbreite, Pixel-Verschiebung und Skalierung für Titel, Untertitel und Motiv; Vorschau mit Desktop/Tablet/Mobil.

Warum: Center konnten Abstände und Motivgröße bisher nicht ohne CSS-Klassen anpassen – Live-Slides wie Förde Park nutzten Legacy-Pro-Slide-Styles.

Links: Template Grooss – Legacy-CSS-Checkliste


2026-07-27 — MEC-Import: Hero-Slides Laufzeit & Repeater-Mapping (0.1.108)

Betrifft: Dashboard · Website & v0 · MEC-Import

Was: MEC-Hero-Slides importieren jetzt Start-/Enddatum, MEC-Style (Hintergrundfarbe/CSS-Klasse), Beschreibung als v3-Objekt und Bild-URLs für Dashboard-Repeater. Import-Vorschau/Ergebnis: aktiv / abgelaufen / zukünftig.

Warum: Re-Import zeigte alle Slides ohne Laufzeit; Repeater im Reiter „Hero Slider“ war inhaltlich unvollständig.

Links: MEC-Import – Merge beim Re-Import


2026-07-27 — MEC-Import: Hero-Slides beim Re-Import (0.1.107)

Betrifft: Dashboard · MEC-Import

Was: Beim Re-Import überschreiben MEC-Hero-Slides (/slider) wieder die lokal gespeicherten Folien; Dashboard-Einstellungen wie Wechselintervall bleiben erhalten. Import-Ergebnis zeigt die tatsächlich gespeicherte Slide-Anzahl.

Warum: Re-Import behielt fälschlich alte Dashboard-Slides (z. B. Oro Schwabach: 1 statt 17 aus MEC).

Links: MEC-Import – Merge beim Re-Import


2026-07-27 — MEC Classic: Webseiten-Reiter vervollständigt

Betrifft: Dashboard · Website & v0

Was: Fehlende Seite: …-Reiter (Einkaufswelt/Vermietung Grooß/Grün, Shops+Einkaufswelt Template A), API-Fix geschaefte-a-z, Hotspot standardmäßig aus, Template C Gutschein/Impressionen mit Hero/SEO (Bunny-Upload).

Links: MEC Classic – Webseiten-Reiter


2026-07-27 — Website-Kontakte: v0/MCP/API-Parität

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Center-Website-Ansprechpartner (Reiter Kontakte) sind über AgencyOS v1, öffentliche GET-Route (contacts/public), MCP-Tools und public-visitor-surface.apiHints.contactsPublicGet les- und schreibbar.

Warum: v0/Claude konnten Center Manager und Impressum-Kontakte bisher nicht anbinden — nur die Live-Website las sie serverseitig.

Links: AgencyOS — Website-Ansprechpartner


2026-07-27 — MEC-Import: Vollständige Medien-Migration nach Bunny

Betrifft: Dashboard · Website & v0 · MEC-Import

Was: Der MEC-Import lädt jetzt alle center-spezifischen Remote-Assets von mec.mall-cockpit.de nach Bunny (Bilder, SVG, PDF, Icons) — inkl. Centerplan-Ebenen, Centerzeitung-PDFs, Job-PDFs, Anfahrt-Icons, Shop-Galerie (images[]), Rechtstext-HTML und Hero-Slides ohne MEC-URL-Fallback. Modus Fehlende Daten nachziehen migriert auch bereits importierte MEC-CDN-URLs erneut.

Warum: Nach Abschalten des Legacy-MEC-Hosts dürfen keine produktiven Center-Daten mehr auf externe MEC-URLs verweisen.

Links: MEC-Import – Medien


2026-07-27 — Org-Tab „Branding“: Block-Themes entfernt, Bunny-Upload

Betrifft: Dashboard · Website & v0

Was: Reiter Branding unter Organisationen ersetzt den historischen Theme-Tab: Farben (Primär/Sekundär/Akzent), Logo, Favicon und Hausschrift als Defaults für Center ohne eigene Werte; Upload über Bunny wie im Center-Formular. Block-Theme-Auswahl und „Theme anlegen“ entfernt (Legacy, nicht für MEC/Center-Websites). URL ?tab=branding (?tab=theme leitet weiter).

Links: Organisations-Branding


Betrifft: Dashboard

Was: {slug}.dashboard.cockpit-os.de — gebrandeter Login, dynamische Seiten /privacy, /terms, /support mit SMG-Betreiber-Default und org-spezifischen Support-/SLA-Overrides (dashboardLegalConfig). Reiter Legal & Support unter Organisationen.

Links: Benutzer und Organisation


2026-07-27 — Doku: MEC DNS auf Recast (Docker/GHCR)

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Go-Live-Doku um Abschnitt MEC auf Recast ergänzt — ein Repo pro Template, DNS A-Record auf Recast-IP, by-domain, Abgrenzung zu Vercel Go-Live/UD-Automatik.

Links: Go-Live


2026-07-27 — by-slug: websiteTemplate in der Antwort

Betrifft: Website & v0

Was: GET /api/centers/by-slug/{slug} liefert jetzt websiteTemplate (z. B. mec-template-a) im gleichen flachen Objekt wie id und slug — v0 braucht für Template-Guards keinen extra Hop über public-visitor-surface.

Links: Public API Vertrag


2026-07-27 — MCP Bulk-Hosting: Vercel + Multi-Center pro Template

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Betrieb & Deploy

Was: cockpit_bulk_center_hosting — alle Center einer Org mit gleichem websiteTemplate auf z. B. Vercel + shared setzen und prj_… in der Org-Map hinterlegen. Einzelcenter: cockpit_update_center_hosting.

Links: AgencyOS-Integration, MCP-Tool-Referenz


2026-07-27 — MCP: Org-Hosting, by-domain, pageVisibility

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Betrieb & Deploy

Was: Neues MCP-Tool cockpit_organization_hosting; aktualisierte Beschreibungen für Go-Live/Shared-Vercel; by-domain liefert websiteTemplate; AgencyOS GET/PATCH …/organizations/{slugOrId}/hosting.

Links: MCP-Tool-Referenz, Go-Live


2026-07-27 — by-domain: websiteTemplate in der Antwort

Betrifft: Website & v0

Was: GET /api/centers/by-domain liefert jetzt center.websiteTemplate (z. B. mec-template-green) — v0/Multi-Center kann Template-Guards ohne zweiten by-slug-Request setzen.

Links: Public API Vertrag


2026-07-27 — Org-Hosting: Vercel-Projekte pro Website-Template

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Neuer Reiter Hosting auf der Organisations-Detailseite (/dashboard/organizations/{slug}?tab=hosting). IT pflegt dort vercelProjectsByTemplate (z. B. mec-template-greenprj_…). Center im Shared-Modus lösen die projectId automatisch aus dem websiteTemplate auf — kein manuelles Eintragen in jedem Center.

Warum: MEC Multi-Center (~60 Center): ein Vercel-Projekt pro Template-Familie, nicht pro Center.

Links: Go-Live DNS/Vercel/UD


2026-07-26 — Embed-Centerplan: 3D-Klick postMessage für v0 (behoben)

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: Klick auf eine 3D-Fläche im iframe mit detailMode=parent sendet jetzt dasselbe postMessage wie Sidebar/Liste: cockpit:centerplan:open-detail mit poi-Payload.

Warum: v0 bekam bei 3D-Klicks kein Event — SVG-IDs (shop-56) wurden nicht auf MapLocation-UUIDs aufgelöst; Orbit-Drag konnte Taps schlucken.

Links: Öffentliche Center-Website API — Centerplan-Embed, v0 Teil F


2026-07-26 — Embed-Centerplan: v0-Theme-URL-Parameter

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: /embed/centerplan akzeptiert Branding-Parameter für Controls im iframe: accent, accentFg, chromeBg, chromeFg, chromeBorder, chromeMuted, chromeRadius, hoverColor/hoverColorSvg, hoverColor3d (nur sichere CSS-Farben).

Warum: v0 kann iframe-Inhalte nicht per externem CSS stylen — Farben für Etagen-Switcher, 2D/3D-Toggle und Plan-Hover müssen über die Embed-URL steuerbar sein.

Links: Öffentliche Center-Website API — Centerplan-Embed, v0 Teil F


2026-07-24 — Content: Bulk-Status und Bearbeitungsverlauf-Namen (0.1.92)

Betrifft: Dashboard

Was: Listen für News, Events, Angebote und Jobs: Massen-Status (z. B. veröffentlichen/archivieren) und im Bearbeitungsverlauf Namen statt nur User-IDs.

Warum: Redaktion bearbeitet viele Inhalte parallel — Statuswechsel und Historie sollen ohne Umwege nachvollziehbar sein.

Links: Content-Management


2026-07-23 — MCP: Branche pro Filiale (categoryId)

Betrifft: Dashboard · MCP & Agenten

Was: cockpit_update_shop_location und AgencyOS PUT …/shop-locations/{id} akzeptieren jetzt categoryId — Branche nur für eine Filiale überschreiben, Kette unverändert.

Warum: Redaktion (z. B. Forum Wolfenbüttel) soll doppelte Branchen-Namen lokal bereinigen, ohne andere Center der gleichen Kette zu betreffen.

Links: AgencyOS-Integration — Filialen, MCP-Referenz cockpit_update_shop_location


2026-07-23 — Render: bedingter DB-Push & WP-Plugin-Build

Betrifft: Dashboard · Betrieb & Deploy

Was: scripts/render-dashboard-build-steps.sh — DB push und WordPress-ZIP nur bei relevanten Git-Änderungen im Render-buildCommand.

Warum: Typische Dashboard-Deploys sparen ~1–4 Minuten wenn nur App-Code geändert wurde.

So testen: Push ohne Schema/Plugin-Änderung → Render-Log zeigt „übersprungen“; mit schema.prisma-Änderung → DB push läuft.

Links: Build-Optimierung · Abschnitt Checkliste: Schema live bringen


2026-07-23 — Runbook: Schema live ohne Datenverlust

Betrifft: Betrieb & Deploy

Was: Checkliste in docs/BUILD-OPTIMIZATION.md — SAFE.sql → schema.prisma → Deploy-Log → Smoke.

Warum: Klare Reihenfolge für Live-DB; kein versehentlicher Datenverlust bei Schema-Deploys.

Links: Checkliste Schema live bringen


2026-07-23 — v0 Centerplan: Hover-Anweisung (SVG mousemove)

Betrifft: Website & v0

Was: Teil F + API-Vertrag + v0Integration.centerplan.clickPipeline: Hover per svg mousemove/mouseleave, nicht mouseover auf Kind-Pfaden. Referenz InteractiveFloorPlan angepasst.

Warum: Hover blieb kleben — mouseout feuert zwischen SVG-Kind-Elementen fälschlich.

So testen: v0 Plan: Shop hovern, Maus wegbewegen → Highlight weg; anderen Shop hovern funktioniert.

Links: v0 Teil F


2026-07-23 — Render-Build: OOM bei Static Generation behoben

Betrifft: Dashboard · Betrieb & Deploy

Was: Next.js Memory-Optimierungen (webpackBuildWorker, webpackMemoryOptimizations, SSG ein Worker); Render-Build mit NODE_OPTIONS=6144; Bunny-Debug-Logs nur bei BUNNY_DEBUG=1.

Warum: Deploy brach mit „Ran out of memory (used over 8GB)“ bei Generating static pages ab.

So testen: Render-Deploy mallos-dashboard nach Push — Build durchlaufen lassen.

Links: Build-Optimierung


2026-07-23 — MCP: Büros & Praxen — volle Schreib-Parität

Betrifft: Dashboard · MCP & Agenten

Was: AgencyOS POST/PUT /api/agencyos/v1/offices und MCP cockpit_create_office / cockpit_update_office unterstützen jetzt alle Dashboard-Felder (Logo, Bilder, Qualifikationen, Parkplatz, Veröffentlichungszeiten, …). Neues MCP-Tool cockpit_get_office.

Warum: Agenten konnten bisher nur einen Teil der Office-Felder pflegen — Lücke zum Dashboard-Modell.

So testen: MCP cockpit_create_office mit logo, qualifications, featuredcockpit_get_office prüfen.

Links: AgencyOS Büros & Praxen · MCP-Tool-Referenz


2026-07-22 — MCP: Externe Ansprechpartner (AgencyOS + Team-Tab)

Betrifft: Dashboard · MCP & Agenten

Was: CRUD für externe Kontakte über AgencyOS v1 und vier MCP-Tools; Dashboard Team-Tab speichert persistent. CenterContact.metadata für Typ/Notfall-Felder.

Warum: Externe Ansprechpartner waren im UI nur lokal im State — nicht agentenfähig.

So testen: Center → Team → Kontakt anlegen → cockpit_center_external_contacts.

Links: AgencyOS externe Kontakte


2026-07-22 — MCP: KAM lesen und schreiben

Betrifft: Dashboard · MCP & Agenten

Was: AgencyOS PUT für Center- und Organisations-KAMs; MCP-Tools cockpit_set_center_key_account_managers, cockpit_organization_key_account_managers, cockpit_set_organization_key_account_managers.

Warum: KAM war über MCP nur lesbar — Agenten konnten Zuordnungen nicht pflegen.

So testen: MCP cockpit_set_center_key_account_managers mit centerId + userIds → erneut lesen mit cockpit_center_key_account_managers.

Links: AgencyOS KAM


2026-07-22 — v0 Chatbot: Angebots-Karten via contentBlocks

Betrifft: Website & v0 · Chatbot & KI

Was: POST /api/ai/visitor-chatbot liefert bei Angebots-Fragen contentBlocks mit kind:"offers" (auch wenn die KI nur Text listet). v0-Doku: Chatbot-Verdrahtung + Fallback über aktuellesBundleGet.

Warum: Fragen wie „Gibt es aktuelle Angebote?" zeigten nur Markdown-Bullets ohne Karten.

So testen: v0-Chat → Angebots-Frage → Karussell unter der Antwort; Referenz: VisitorStructuredChatBlocks + structured-chat-offers.ts.

Links: v0 Chatbot-Verdrahtung · API-Vertrag Chatbot


2026-07-22 — Center: WhatsApp in Branding & Social Media

Betrifft: Dashboard

Was: Feld WhatsApp in Center-Bearbeiten (Branding), Website-Basics und Übersicht ergänzt. Optional, standardmäßig leer; Speichern merged bestehendes socialMedia-JSON.

Warum: Redaktion pflegt WhatsApp-Kontakt wie andere Social-Links; ein Textfeld reicht (Nummer, wa.me oder Channel-URL).

So testen: Center bearbeiten → Branding → WhatsApp leer lassen oder Nummer/URL eintragen → Übersicht prüfen.


Betrifft: Betrieb & Deploy

Was: Tab Übersicht eines Centers zeigt Social-Media-Links (Facebook, Instagram, …) wieder unter Kontaktinformationen. API liefert socialMedia mit; Anzeige liest das JSON-Feld statt nicht existierender Top-Level-Properties.

Warum: Links wurden in Bearbeiten gepflegt, in der Übersicht aber nicht angezeigt.

So testen: Center öffnen → Übersicht → Kontaktinformationen → Social-Media-Zeilen mit URLs oder „Nicht angegeben“.


2026-07-22 — Content-Listen: einheitliche Filter (Shops, Events, Angebote, Services, Jobs)

Betrifft: Dashboard

Was: In den Content-Übersichten unter /dashboard/content/* sind Filter vereinheitlicht: Center, Suche, Status, Kategorie (bzw. Typ bei Shops/Jobs). Shops hatten zuvor nur Center + Suche; Angebote nutzten hardcodierte Kategorien.

Warum: Redaktion braucht in allen Listen dieselbe Filterlogik — ohne doppelten Code in jeder Seite.

So testen: Shops → Status/Kategorie/Typ filtern; Events/Angebote/Services/Jobs → Status + Kategorie; Zähler „X von Y (gefiltert)“ prüfen.

Links: Dashboard → Inhalte → Shops / Events / Angebote / Services / Jobs


2026-07-22 — v0 Instructions: Einzelshop vs. Kette

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Teil D (Instruction + Doku) und MCP-Hinweise klären: lokale Mieter → Einzelshop via content_push ohne Ketten-Felder; echte Marken → create_chain + create_shop_location. Falsche Referenz cockpit_create_shop entfernt.

Warum: KI-Assistenten legten neue Shops fälschlich als „Kette mit 1 Filiale“ an, obwohl Redaktion lokale Shops meinte.

Links: v0 Instructions Teil D · packages/mcp-cockpit-os/V0_CUSTOM_INSTRUCTIONS.md


2026-07-20 — cockpitOS Branding: Navy statt Blau, Favicon lesbarer

Betrifft: Dashboard

Was: Dashboard-Primary von Signal-Blau auf tiefes Navy (#2a4060); Tab-Favicon C, Apple-Icon cOS; cOS-Badge in Sidebar und Header; Cockpit-E-Mails auf Navy-Links/Buttons.

Warum: cOS in 32px unleserlich; Agentur-Rot (#cd1619) als UI-Primary würde wie Fehler wirken. Center-Themes unverändert.

Links: mall-os-ui — Theme


2026-07-20 — Scheduling in Redaktionsfluss + Loyalty Signage live

Betrifft: Dashboard · Reporting & Analytics · Signage & QR

Was: /dashboard/scheduling in Sidebar (Redaktionsfluss) mit Untermenü Video-Scheduling; Hub-Kachel auf /dashboard/redaktionsfluss. Loyalty-Seite lädt Signage-Interaktionen aus /api/analytics/signage (Live/Simulator je nach Center).

Warum: Scheduling war nur per Direkt-URL erreichbar; Loyalty-KPIs teilweise aus echten Signage-Daten statt reinem Demo.

Links: Navigation & Module


2026-07-20 — Jobs-Formular: 3 Reiter (Neu + Bearbeiten)

Betrifft: Dashboard

Was: Stellenanzeigen (Neu + Bearbeiten) nutzen dasselbe Reiter-Muster wie News/Events/Angebote — ContentFormStepsHint, Tabs Inhalt / Veröffentlichen / Optional.

Warum: Einheitliche Redaktions-UX im Content-Hub; weniger Scrollen, klare Trennung Pflicht vs. optional.

Links: mall-os-ui — Hub & Formulare


2026-07-20 — Loyalty unter Marketing Cockpit

Betrifft: Dashboard

Was: /dashboard/loyalty in Sidebar (Marketing → Bonus & Loyalität), Hub-Kachel auf Marketing-Übersicht, Navigation-Doku.

Warum: Loyalty-Vorschau auffindbar ohne Direkt-URL; bleibt Demo bis Live-Anbindung.

Links: Navigation & Module


2026-07-20 — Content-Formulare: einheitlicher 3-Schritte-Hinweis

Betrifft: Dashboard

Was: ContentFormStepsHint für News, Events und Angebote (Neu + Bearbeiten). Hub-Karten: gleiche Button-/KPI-Höhe in allen Zeilen.

Warum: Redaktion sieht überall dasselbe Reiter-Muster; Hub-Grids springen nicht mehr bei kurzen Beschreibungen.

Links: mall-os-ui — Hub & Formulare


2026-07-20 — Hub Phase 3: Community, Analytics, News-Edit, Impeccable

Betrifft: Dashboard · Social · Reporting & Analytics

Was: Community- und Analytics-Übersicht mit HubNavTile; Hinweis-Banner im News-Bearbeiten-Formular; Impeccable-Treffer bereinigt (Bounce, Purple-Placeholder, Inter-Beispiele). Social-Doku: StatTile/Hub-API nachgezogen.

Warum: Einheitliche Hub-Navigation; Redaktion sieht dasselbe 3-Schritte-Muster bei Neu und Bearbeiten; UI-Qualitätscheck ohne offene Treffer.

Links: Social Media Freigabe, mall-os-ui — Social Hub


2026-07-20 — Doku-Prose-Check + v0-Qualitätsabschnitt gestrafft

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Neues Skript check-docs-prose.mjs (Meta-Floskeln im Redaktions-Handbuch); in pnpm docs:check integriert. Abschnitt „Qualität vor Go-Live“ in v0 + Cockpit ohne beruhigenden Info-Kasten.

Warum: Impeccable prüft UI-Code, nicht Doku-Ton — analoger Check für typische KI-Doku-Muster (z. B. „musst du nicht kennen“, Hintergrund-Floskeln).

Links: Doku-Workflow


2026-07-20 — UI Batch 11: CM-Apps, Signage, Sales & Reports

Betrifft: Reporting & Analytics · Signage & QR

Was: KPI-Bereiche auf CM-Apps, Digital Signage (Übersicht + Analytics), Companion-Overview, Notfall-Override, Center-Manager Sales und Reports auf StatTile.

Warum: Signage-/CM-Module und Berichts-Übersichten mit einheitlichem KPI-Layout (~55 %+ canonical).

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 10: Center Manager, Digital Experience, Spinner

Betrifft: Reporting & Analytics · Signage & QR

Was: KPI-Bereiche auf Center-Manager (Entwürfe, Benachrichtigungen, Issues, Capture), Digital Experience (Übersicht, Signage-Analytics, Hardware) auf StatTile; Benachrichtigungs- und Issue-KPIs aus Live-Daten statt Mock-Werte; Loader2Spinner auf Issue-Detail und WordPress-Website-Detail.

Warum: Center-Manager- und Digital-Experience-Module vereinheitlicht; KPI-Zahlen spiegeln echte API-Daten wider.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 9: Staff, Issues, QR, Finance-KPIs, CM-Spinner

Betrifft: Dashboard

Was: Personal/Staff (16 KPI-Grids), Issues, QR-Detail, Finance-Analyse KPI-Tab auf StatTile; Center-Manager Capture, AI-Assistant, Drafts auf Spinner.

Warum: Canonical-Adoption ~45 %+; Personal- und Betriebsmodule vereinheitlicht.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 8: Planner, Workflow, Parking, Integration

Betrifft: Dashboard · Website & v0

Was: KPI-Bereiche auf Content-Planner, Workflow, Parking, WP-Template-Detail und Integration-Suites auf StatTile; Spinner auf Integration-Suites und Center-Manager-Apps.

Warum: Weitere Redaktions-, Betriebs- und Integrationsseiten mit einheitlichem KPI-Layout (~40 %+ canonical).

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 7: Chatbot, Community, Facility, Content-Center

Betrifft: Dashboard · Chatbot & KI · Signage & QR

Was: KPI-Bereiche auf Chatbot, Community-Übersicht, Facility-Maintenance, Content-Center-Detail und Digital-Signage-Touchscreens auf StatTile; Spinner auf Touchscreens-Ladezustand.

Warum: Kernmodule für Redaktion, Community und Signage mit einheitlichem KPI-Layout.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 6: Reviews, RSS, Property, WordPress-KPIs

Betrifft: Reporting & Analytics

Was: Analytics Reviews, RSS-Feeds, Gebäudeautomatisierung und WordPress-Übersicht auf StatTile; Spinner auf Privacy, Scheduling/Videos, Property Maintenance und User-Edit.

Warum: Weitere Settings-/Analytics-/Property-Module mit Canonical-KPIs und Ladeindikatoren.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 5: Companion, Settings, Community, WordPress

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: KPI-Bereiche auf Companion App, Benutzer/API-Settings, Community-Management, WordPress-Templates und Marketing-Kampagnen auf StatTile; Loader2Spinner auf Companion, WordPress-Übersicht und Account.

Warum: Weitere Sidebar-Module mit einheitlichem KPI-Layout und Ladeindikatoren.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 4: Feedback, Property, Energy, AI-Settings

Betrifft: Dashboard

Was: KPI-Bereiche auf Feedback, Property (Flächen/Mieter), Energie und KI-Verwaltung auf StatTile migriert.

Warum: Weitere Sidebar-Seiten mit einheitlichem KPI-Layout und höherer Canonical-Adoption.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 3: Cockpits, ESG, Security, Analytics-Streams

Betrifft: Dashboard · Reporting & Analytics · MEC-Import

Was: HQ-, Executive-, Personal- und Cockpit-Übersicht auf StatTile; ESG- und Property/Security-KPIs; Analytics-Datenstrom-Komponenten und Dispatch-Detail auf Spinner; violet/purple-Hardcodes in Dispatch, Feedback, MEC-Import und Google-Business-Connect durch Design-Tokens ersetzt.

Warum: Weitere Canonical-Adoption bei Cockpit- und Sicherheitsseiten; konsistente Ladeindikatoren und Farbtokens.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI Batch 2: Finance, Data Cockpit, Social-Spinner

Betrifft: Dashboard

Was: Finance-Übersichten (Hauptseite, Analyse, Budget, Sales, Betriebskosten) und Data-Business-Cockpit auf StatTile; gesamtes Social-Modul von Loader2 auf Spinner.

Warum: Höhere Canonical-Nutzung der KPI-Komponenten; einheitliche Ladeindikatoren.

Links: mall-os-ui — UI-Audit


2026-07-20 — UI-Audit: Impeccable + StatTile-Migration (Batch 1)

Betrifft: Dashboard · Chatbot & KI

Was: Audit-Skript audit-dashboard-ui-components.mjs; KPI-Bereiche Marketing, Property, Center Manager, Chatbot auf StatTile; Legacy page-container re-exportiert @mall-os/ui.

Warum: Einheitliches KPI-Design und messbare Adoption der Canonical-Komponenten.

Links: mall-os-ui — UI-Audit


2026-07-20 — Dashboard KPI-Karten & Geist-Schrift

Betrifft: Dashboard · Betrieb & Deploy

Was: StatTile und neue MetricCard in @mall-os/ui — modernes Layout (Label, Wert, Statuszeile, Akzentleiste). Geist ist dashboard-weit als font-sans aktiv.

Warum: Einheitliches, ruhigeres KPI-Design statt bunter Surface-Kacheln; Typografie an Vercel/Geist-Standard.

Links: mall-os-ui — StatTile


2026-07-20 — Dashboard-Startseite: Impeccable-Layout

Betrifft: Dashboard

Was: /dashboard neu strukturiert: PageHeader, Schnellstart oben, KPI-Kacheln (StatTile) für Inhalte und Social, klarere Abschnitte ohne Uppercase-Eyebrows, rollenabhängige Untertitel. Agentur-Rolle sieht nur Content-relevante Bereiche.

Warum: Weniger visuelles Rauschen, schnellerer Einstieg in tägliche Aufgaben, konsistent mit dem Impeccable-/mall-os-ui-Muster der übrigen Dashboard-Seiten.

Links: Navigation → Startseite


2026-07-20 — v0 Instructions: Impeccable Anti-Slop-Check

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Instruction Teil C und Go-Live Teil J ergänzt um npx impeccable detect (impeccable.style); eigener Doku-Abschnitt + Chat-Prompt. V0_CUSTOM_INSTRUCTIONS.md und Developer-Anleitung verweisen darauf.

Warum: Deterministischer Slop-/Qualitäts-Check ergänzt die manuelle Design-DNA-Liste — passt zu v0-Workflow und zum Dashboard-check-dashboard-ui-slop.

Links: v0 Instructions (Teil C/J), mall-os-ui — Slop-Check


2026-07-20 — Rolle „Agentur (Content)“ für externe Redaktion

Betrifft: Dashboard · Website & v0

Was: Neue Benutzerrolle AGENCY_CONTENT_EDITOR — Content der zugewiesenen Center (Mall + Social), ohne Redaktionsfluss, Kanal-Verknüpfung und technische Website-Konfiguration. Navigation, Middleware und Center-Detail-Reiter sind eingeschränkt.

Warum: Externe Agenturen brauchen Redaktionszugriff, dürfen aber keine Infrastruktur (Frontend-Kanäle, Center-Website, Dispatch/Workflow) sehen oder ändern.

Links: Benutzer und Organisation


2026-07-17 — Kiosk-Etage über API (Touchscreens + floorNumber)

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Signage & QR

Was: GET …/signage-config und GET …/public-visitor-surface liefern echte TouchscreenLocation-Daten inkl. floorNumber. GET /api/touchscreens ergänzt. MCP: data.v0Integration.kiosk, Topic kiosk in cockpit_public_integration_docs.

Warum: v0-Kioske sollen die Start-Etage aus dem Cockpit lesen — ohne NEXT_PUBLIC_KIOSK_FLOOR; pro Stele nur touchscreenId.

Links: API-Vertrag Signage, v0 Teil H


2026-07-16 — Embed-Hintergrund: embedBg + chromeGhost für v0

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: /embed/centerplan akzeptiert embedBg=transparent|#hex|rgb(), transparent=1 (Alias) und chromeGhost=1 (UI ohne Karten-Hintergrund). data.v0Integration.centerplan.embedOption und API-Vertrag aktualisiert.

Warum: v0 soll den Plan nahtlos in die eigene Seite einbetten — ohne weißen/grauen Cockpit-Rahmen um Karte und Steuerung.

Links: API Centerplan v0, v0 Teil F


2026-07-16 — Chatbot-Verdrahtung für v0 (Antwort → Centerplan)

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Chatbot & KI

Was: data.v0Integration.chatbot um responseFields, centerplanWiring und optionalContext ergänzt. Teil C + Chat-Prompt „Chatbot-Verdrahtung", MCP cockpit_public_integration_docs (actions/suggestedActions), API-Vertrag-Abschnitt #visitor-chatbot-v0-wiring.

Warum: Die Visitor-Chatbot-API liefert items, actions und suggestedActions — v0 brauchte ein klares Rezept, wie Chips mit Centerplan-Embed oder Shop-Routen verbunden werden.

Links: v0 Teil C, API Chatbot-Verdrahtung


2026-07-16 — Embed /embed/centerplan für v0 (eigene Modals)

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Signage & QR

Was: Neue Center-Website-Route /embed/centerplan mit detailMode=parent (postMessage → v0-eigenes Modal) oder detailMode=cockpit (Cockpit-Modal + shopDetailPath-Templates). data.v0Integration.centerplan.embedOption und MCP-Hints aktualisiert.

Warum: v0 soll den Cockpit-Plan einbetten können, ohne @mall-os/wayfinding zu portieren — und trotzdem eigene Shop-Detailseiten/Modals steuern.

Links: v0 Teil F, API Centerplan v0


2026-07-16 — v0 Centerplan: Klicks + eigene Shop-Navigation

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Teil F (v0 Instructions) um 2D-Klick-Pipeline und v0-eigene Detail-Navigation ergänzt (/shops/{slug|id} — nicht Cockpit-Website). data.v0Integration.centerplan in public-visitor-surface; MCP cockpit_public_integration_docs erweitert; Chat-Prompt für Plan-Nachbau in der v0-Doku.

Warum: @mall-os/wayfinding ist privat — v0 muss Klick-Logik portieren; Shop-Modals sollen auf die eigenen v0-Detailseiten führen, nicht auf die Cockpit-Center-Website.

Links: v0 Teil F + Chat-Prompt, API Centerplan v0


2026-07-16 — QR-Codes: stabile Einstiegs-URL + v0-Resolver

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Signage & QR · Betrieb & Deploy

Was: Standort-QRs nutzen hosting-aware Einstiegs-URLs (/companion/qr/{id} oder /qr/{id}) statt hardcodierter *.signage.cockpit-os.de. Neue Felder targetType, redirectMode, targetPath, externalUrl auf QRCodeLocation; öffentliche Resolve-API; Ziel-Typ „Externe URL“ im QR-Management; POST /api/public/qr-codes/{id}/scan (Track+Resolve); QR_API_HINTS in public-visitor-surface, signage-config, Frontend-Kanäle.

Warum: v0-Companion und Cockpit-Signage sollen dieselben gedruckten QRs nutzen; Ziele (intern, Website, Partner-Link) werden beim Scan aus der DB aufgelöst und getrackt — ohne Redirect-switch im v0-Projekt.

Links: API-Vertrag Standort-QR, MCP cockpit_qr_codes, v0 Hosting & Statistik, v0 Instructions Teil I, db_structure.md (QRCodeLocation)


2026-07-12 — Vector-Sync Cron: Batch + Repair

Betrifft: Betrieb & Deploy

Was: Nächtlicher Pinecone-Sync läuft in Batches (8 Center/Request), prüft success im JSON, repariert ungesunde Center einzeln. API: offset/batchSize und centerId auf /api/cron/vector-sync.

Warum: Full-Sync aller 109 Center lief in Request-Timeout (~5 min) — 14 Center blieben dauerhaft unter 85 % Coverage.

Links: docs/CRON-SETUP.md, AI-Orchestrator


2026-07-10 — KI-Empfehlungen: Entwurf, Bearbeitung und Freigabe

Betrifft: Dashboard · Reporting & Analytics

Was: Block Online ↔ Center-Besuch im Kunden-Reporting ist im Cockpit editierbar (Einleitung, Texte, Maßnahmen). Im Kunden-Link und PDF erscheint er erst nach Freigabe; bestehende KI-Daten wurden einmalig als freigegeben übernommen.

Warum: KI-Vorschläge sollen von der Redaktion geprüft und formuliert werden, bevor das Centermanagement sie sieht.

Links: Kunden-Reporting — KI-Auswertung


2026-07-10 — Organisations-Detailseite statt Bearbeiten-Modal

Betrifft: Dashboard

Was: Liste unter Organisationen & Mandanten verlinkt auf /dashboard/organizations/{slug} mit Reitern Übersicht, Stammdaten, KAM und Theme (inkl. erweitertes Branding: Farben, Logo, Theme-Vorlagen). Neue Organisationen weiter per Modal auf der Liste.

Warum: Mehr Felder (KAM, Theme, Center) passen nicht mehr in ein Modal; Branding-Dialog war nur auf der Liste und ist jetzt vollständig auf der Detailseite.

Links: Navigation & Module


Betrifft: Dashboard · Chatbot & KI · Reporting & Analytics

Was: Öffentlicher Kunden-Reporting-Link und PDF zeigen Online ↔ Center-Besuch kundenfreundlich — ohne „Formulierung fürs Gespräch“, Kopier-Buttons und interne KI-Badges. Redaktions-Ansicht mit Gesprächsformulierung bleibt im Cockpit.

Warum: Centermanagement sah dieselbe interne Agentur-Oberfläche wie die Redaktion.

Links: Kunden-Reporting


2026-07-10 — Organisations-KAM mit Center-Vererbung

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: KAM-Zuweisung auf Organisationsebene; Center erben standardmäßig, Abweichung pro Center möglich. APIs und UI (Organisations-Dashboard + Center Team-Tab).

Warum: ILG/HBB mit vielen Centern — einmal pflegen statt 30× dieselben Personen.

Links: AgencyOS-Integration


2026-07-10 — Organization Accountability API + Teams-User-Sync

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Neue API organizations/{slug}/accountability für KAM-Zuständigkeiten (ILG/HBB); AgencyOS-Nutzer des@, jh@, sl@ an Cockpit-E-Mails angeglichen.

Warum: Teams-Bot „Wer ist für ILG zuständig?“ braucht Datenquelle; fehlende AgencyOS-User blockierten Social-DMs.

Links: AgencyOS-Integration


2026-07-10 — Teams-Bot Social: Outcome, Digest, In-Chat-Freigabe

Betrifft: Dashboard · MCP & Agenten · Social

Was: Cockpit meldet Freigabe-Ergebnisse an AgencyOS (social-review-outcome), liefert Digest-API für offene Cockpit-Freigaben und Agency-Proxy POST …/social/drafts/{id}/review für Freigabe aus Teams.

Warum: Anfragende sollen im Teams-Bot Rückmeldung bekommen; Digest und Card-Actions schließen die Lücke zu native AgencyOS-Posts.

Links: AgencyOS-Integration


2026-07-10 — Content-Quality-Watch API (AgencyOS Teams-Bot)

Betrifft: Website & v0 · MCP & Agenten · Reporting & Analytics

Was: Neue AgencyOS-v1-APIs content-quality-watch und kam-quality-watch-index — pro Center strukturierte Qualitäts-Hinweise (fehlende Logos, Titelbilder, Öffnungszeiten, Inaktivität, Inhaltslücken) für proaktive Teams-DMs.

Warum: Der AgencyOS-Bot soll als „verlängerter Arm“ auf KAMs zugehen — getrennt vom täglichen operativen Briefing (Social/Reviews/Reporting).

Links: AgencyOS-Integration


2026-07-10 — Kunden-Reporting: Begriff Centermanagement

Betrifft: Dashboard · Reporting & Analytics

Was: Nutzer-sichtliche Texte von „Auftraggeber“ auf Centermanagement umgestellt (Kunden-Reporting, Analytics-KI-Insights, E-Mail-Versand, Navigation, Doku).

Warum: Im Team spricht man vom Gespräch mit dem Centermanagement — nicht vom Auftraggeber.

Links: Kunden-Reporting


2026-07-10 — Social-Freigabe: fliegende Zuständigkeiten

Betrifft: Dashboard · Social

Was: Im Freigabe-Dialog sind alle aktiven Cockpit-Nutzer wählbar (Suche, Rollen-Badge, Sortierung Center → Org → Team). Freigabe/Ablehnung pro Post über gewählte Prüfer; Meine Freigaben und Selbst freigeben für jeden eingeloggten Nutzer mit Center-Zugang.

Warum: Kleines Team mit wechselnden Aufgaben — Zuständigkeit soll pro Post flexibel sein, nicht an feste Rollen gebunden.

Links: Social Media Freigabe


2026-07-09 — MCP-Tool-Referenz (Docusaurus)

Betrifft: Dashboard · MCP & Agenten · Reporting & Analytics

Was: Neue Seite MCP-Tool-Referenz — alle 109 Tools mit Parametern und Beispiel-Prompts; Generator pnpm mcp:export-tools.

Warum: Teams und Agenten brauchen eine durchsuchbare Referenz statt nur JSON-Export und verstreute Hinweise.

Links: Claude & Cockpit, Analytics-Integration


2026-07-09 — MCP: Kunden-Reporting & KAM-Briefing

Betrifft: Dashboard · MCP & Agenten · Reporting & Analytics · Betrieb & Deploy

Was: Neue MCP-Tools cockpit_analytics_client_report, cockpit_analytics_client_report_bridge_insights, cockpit_operational_briefing, cockpit_kam_briefing_index, cockpit_center_key_account_managers.

Warum: Agenten und AgencyOS-Automation sollen dieselben Reporting- und KAM-Daten nutzen wie Dashboard und Cron.

Links: Analytics-Integration, AgencyOS-Integration


2026-07-09 — Center-Detail: Team-Tab sichtbar, KI getrennt

Betrifft: Dashboard

Was: Tab „AI-Profil“ aufgeteilt in Team & Ansprechpartner (zweiter Tab, KAM + Team + Kontakte) und KI-Assistent (Kontext-Vorschau). Alte URL ?tab=profile leitet auf Team um.

Warum: KAM und Team waren im KI-Tab versteckt und schwer auffindbar.

Links: Benutzer & Organisation


2026-07-09 — Benutzer-Zuweisungen: Organisation, KAM, Vertretung

Betrifft: Dashboard · MCP & Agenten

Was: Mehrere Organisations-Zuweisungen pro User, KAM-Zuständigkeiten im Benutzer-Formular, KAM-Rolle Primär/Vertretung; Auth berücksichtigt alle Org-Zuweisungen.

Warum: Ein Mitarbeiter kann für mehrere Center/Organisationen zuständig sein; KAM und Vertretung sollen zentral am Benutzer und am Center pflegbar sein.

Links: Benutzer & Organisation, AgencyOS KAM


2026-07-08 — KAM-Zuordnung im Cockpit (mehrere Personen pro Center)

Betrifft: Dashboard · MCP & Agenten

Was: Neues Datenmodell center_key_account_managers, Dashboard-Pflege unter Center-Profil → Team, AgencyOS-APIs key-account-managers und kam-briefing-index; operational-briefing enthält kams[].

Warum: KAM lag bisher nur in AgencyOS (ein User pro Center); Briefings und Vertretungen sollen zentral im Cockpit gepflegt werden.

Links: AgencyOS-Integration → KAM & Briefing-Index


2026-07-08 — Kunden-Reporting: Meta-Ads strikt pro Center filtern

Betrifft: Dashboard · Social · Reporting & Analytics

Was: Kampagnen-Filter (z. B. BPJ) wird beim Reporting immer angewendet — auch auf DB-Snapshots und Reporting-Import; ohne Filter keine fremden Kampagnen mehr.

Warum: Portfolio-Werbekonto in Zernio enthält alle Center; Burgau Park Jena sah Ads anderer Standorte.

Links: Client-Reporting


2026-07-08 — Social Engage: schnelleres Laden (Paket 1)

Betrifft: Dashboard · Social · Reporting & Analytics

Was: Engage lädt zuerst nur die Post-Liste; Kommentare und Metriken kommen beim Klick auf einen Post. Zernio-Sync nur noch über „Aktualisieren“, Kanäle parallel, keine Analytics-Calls in der Liste.

Warum: Ein Seitenaufruf hat hunderte sequenzielle Outstand/Zernio-Requests ausgelöst — Ladezeiten von 30–60+ Sekunden.

Links: Social Cockpit (Engage unter Social)


2026-07-08 — Meine Benachrichtigungen (Push für alle Rollen)

Betrifft: Dashboard

Was: Neue Seite /dashboard/account/notifications mit Desktop-Push und E-Mail-Digest — erreichbar über Avatar-Menü, Glocke-Dropdown und Mein Konto.

Warum: Push-Opt-in war nur über den Admin-Einstellungs-Hub auffindbar; Freigabe-Prüfer ohne Hub-Recht konnten Desktop-Meldungen nicht aktivieren.

Links: Desktop-Push, Benutzer & Organisation


2026-07-08 — AgencyOS Operational Briefing API (KAM-Daily)

Betrifft: Dashboard · MCP & Agenten · Reporting & Analytics · Betrieb & Deploy

Was: Neue AgencyOS-v1-API operational-briefing — pro Center offene Social-Postings, Google-Rezensionen, Reporting-Flags und Website-Workflow-Entwürfe inkl. hints[] für Teams-Nachrichten.

Warum: KAM-Daily-Update im Teams-Bot braucht Cockpit-Daten; AgencyOS-Cron konsumiert diese API.

Links: AgencyOS-Integration → Operational Briefing


2026-07-08 — AgencyOS Teams-Hook für Social-Freigaben (Phase 2 vorbereitet)

Betrifft: Dashboard · MCP & Agenten

Was: Cockpit sendet bei Freigabe anfordern optional einen HTTP-Hook an AgencyOS (agencyos-teams-notify.ts). Dashboard-Glocke, Push und E-Mail bleiben unverändert; Teams-DMs kommen über den AgencyOS-Bot.

Warum: Notification-Hub liegt in AgencyOS; Cockpit meldet nur Events — kein eigener Teams-Bot im Monorepo.

Links: AgencyOS-Integration → Teams, Social-Freigabe


2026-07-08 — Desktop-Benachrichtigungen (Web Push)

Betrifft: Dashboard

Was: Echter Browser-Push für Glocke-Events (Freigaben, Kommentare, …) — Service Worker, VAPID, Opt-in unter Einstellungen → Benachrichtigungen.

Warum: Prüfer sollen Freigabe-Anfragen sofort am Desktop sehen, ohne E-Mail oder Glocke zu pollen.

Links: Desktop-Push, Social-Freigabe


Betrifft: Dashboard · Social · Reporting & Analytics

Was: Super-Admin kann Zernio-Verknüpfung (Ads + Social-Inbox) im UI auslösen — in Community & Antworten (Warn-Banner) und Kunden-Reporting → Datenquellen.

Warum: Auto-Link war nur per API/CLI erreichbar; Redaktion/IT brauchten einen klaren Ort im Dashboard.

Links: Social unter Cockpit, Kunden-Reporting


Betrifft: Dashboard · Social

Was: Zernio lädt externe Posts jetzt per Sync + Live-API (/accounts/{id}/posts); Auto-Link matcht auch Center-Namen (z. B. Burgau Park Jena). Engage warnt, wenn Inbox nicht verknüpft ist.

Warum: Nur Outstand-Posts sichtbar, wenn zernioAccountId fehlt — Karma-/Facebook-native Beiträge kamen nicht rein.

Links: Social unter Cockpit


2026-07-08 — Social-Freigabe: gezielte Prüfer-Auswahl (Fanpage-Karma-Parität)

Betrifft: Dashboard

Was: Dialog Freigabe anfordern mit Prüfer-Liste, Regel eine Person / alle müssen, optional Gast-Link, Selbst freigeben. Benachrichtigung nur an Ausgewählte; Board zeigt „Wartet auf …“ und Filter Meine Freigaben.

Warum: Redaktions-Workflow aus Fanpage Karma — Format, Rechtschreibung und Center vor Publish durch konkrete Personen prüfen lassen.

Links: Social-Media-Freigabe


2026-07-08 — Social Engage: Kanal-Inbox (Fanpage-Karma-Ersatz)

Betrifft: Dashboard · Social

Was: Community & Antworten lädt jetzt alle Posts der verknüpften Kanäle — Cockpit-Posts (Badge „Cockpit“) und externe/native Posts (Badge „Kanal“, z. B. Facebook direkt, Karma). Filter Cockpit/Kanal, KPI-Kacheln getrennt.

Warum: Fanpage Karma ablösen — Redaktion muss auch fremde Posts sehen und kommentieren, ohne sie mit Cockpit-Posts zu verwechseln.

Links: Social unter Cockpit, Social-Media-Freigabe


2026-07-08 — Social: Zielbild unter Cockpit-Dach + Zernio Engage (Pilot)

Betrifft: Dashboard · Social

Was: Provider-Schicht (social-provider), optionales zernioAccountId auf Social-Kanälen, Zernio-Inbox-Client (Lesen, Reply, Like/Verbergen), Capability-basierte Engage-UI, Auto-Link verknüpft auch organische Zernio-Kanäle. Kommentare: Outstand primär, Zernio Inbox als zweite Quelle (Dedupe). Neue Doku Social unter Cockpit.

Warum: Eine Redaktions-Oberfläche ohne Vendor-Namen; Zernio für Moderation/Ads, Outstand für Posting und Antworten — Fanpage Karma endgültig ablösen.

Links: Social unter Cockpit, Social-Media-Freigabe


Betrifft: Dashboard · Website & v0 · Social · Reporting & Analytics

Was: Werbekonto-Mapping unterstützt campaignFilter (Kampagnen-Kürzel/Name) für gemeinsame Meta-Konten. Auto-Link zieht Zernio-Kampagnen und verknüpft alle Cockpit-Center automatisch (API + Script).

Warum: ILG und weitere Center-Organisationen nutzen ein Portfolio-Werbekonto — ohne Filter erscheint der Gesamt-Spend in jedem Center-Bericht.

Links: Kunden-Reporting


2026-07-08 — Kunden-Reporting: KI Online ↔ Center-Besuch

Betrifft: Dashboard · Website & v0 · Reporting & Analytics

Was: Neuer Block Online ↔ Center-Besuch mit KI-Empfehlungen und konkreten Maßnahmen — wie Website-Besucher zu Mall-Besuchern werden (Social, Ads, Events, Footfall).

Warum: Centermanagement-Gespräche brauchen mehr als KPIs: eine verständliche Verbindung zwischen Online-Marketing und Besuchern vor Ort.

Links: Kunden-Reporting


2026-07-08 — Kunden-Reporting: Google-Bewertungen (Cockpit-Parität)

Betrifft: Dashboard · Reporting & Analytics

Was: Kachel Google-Bewertungen zeigt bei leerem Berichtsmonat Ø, Stimmung und Zitate aus den aktuellen Google-Bewertungen (wie Analytics → Bewertungen); neues KPI Antwort nötig.

Warum: Cockpit hatte mehr Daten als der Kundenbericht, weil nur streng nach Zeitraum gefiltert wurde.

Links: Kunden-Reporting


2026-07-08 — Kunden-Reporting: Google-Bewertungen

Betrifft: Dashboard · Reporting & Analytics

Was: Neue Kachel Google-Bewertungen mit Gesamt-Rating, neuen Bewertungen im Zeitraum, Stimmung und Zitat-Highlights — Daten aus Analytics → Bewertungen (GBP oder Places).

Warum: Centermanagement-Gespräche brauchen Reputation neben Website, Social und Ads — bisher nur auf einer separaten Analytics-Seite.

Links: Kunden-Reporting


2026-07-08 — Social Engage: Thread-Antworten & Emoji

Betrifft: Dashboard · Social

Was: Community & Antworten sendet Antworten jetzt als Thread unter dem Kommentar (nicht mehr als Top-Level-Kommentar). Emoji-Schnellauswahl und Smiley-Picker in Antwortfeldern; Hinweis zu Outstand-Grenzen (Liken/Verbergen).

Warum: Antworten landeten fälschlich als neuer Kommentar; Redaktion braucht Emojis und Klarheit, was Outstand kann.

Links: Social Media Freigabe


2026-07-08 — Kunden-Reporting: Werbebudget pro Monat

Betrifft: Dashboard · Reporting & Analytics

Was: Pro Kalendermonat können Meta- und Google-Werbebudgets im Bereich Redaktion hinterlegt werden. Meta-/Google-Kacheln zeigen dann Monatsbudget, Ausgegeben, Verbleibend und Auslastung — auch in der Kunden-Ansicht und Kurzfassung.

Warum: Das Centermanagement soll auf einen Blick sehen, wie das Werbebudget genutzt wurde — nicht nur die absoluten Kosten.

Links: Kunden-Reporting


2026-07-08 — Kunden-Reporting: mehrere Centermanagement-E-Mails

Betrifft: Dashboard · Reporting & Analytics

Was: Unter Kunden-Reporting können mehrere E-Mail-Adressen für den manuellen Monatsbericht-Versand hinterlegt werden (eine pro Zeile oder kommagetrennt).

Warum: Center-Leitung und Marketing erhalten den Bericht oft parallel — bisher nur eine Adresse.

Links: Kunden-Reporting


2026-07-08 — Kunden-Reporting: nur Daten-Kacheln & einheitliches Layout

Betrifft: Dashboard · Reporting & Analytics

Was: Intern (/dashboard/analytics/client-report) und Kunden-Ansicht (/bericht/{token}) zeigen nur Kanäle mit echten Daten im Zeitraum. Beide Layouts nutzen dieselben Komponenten, Marken-Logos (Facebook, Instagram, Google, Meta, Umami) und ein gleichmäßiges KPI-Grid.

Warum: Leere oder nur konfigurierte Kanäle verwirren im Centermanagement-Gespräch — die Übersicht soll nur das zeigen, was wirklich belegt ist.

Links: Kunden-Reporting


2026-07-08 — Reporting: ein Ort für Live-Sync & Outstand-Migration

Betrifft: Dashboard · Social · Reporting & Analytics

Was: Kunden-Reporting bündelt Datenquellen (Umami, Outstand, Zernio, Import). Social Performance verweist dorthin statt eigenem Outstand-Sync. Super Admin: Outstand-Migrationsliste unter Kanäle verknüpfen.

Warum: Weniger verstreute Buttons — ein Live-Sync, klare Migration Fanpage Karma → Outstand.

Links: Kunden-Reporting, Social Einstieg


2026-07-08 — Zernio Ads live im Kunden-Reporting

Betrifft: Dashboard · Social · Reporting & Analytics · Betrieb & Deploy

Was: Meta/Google Ads können nach Zernio-Anbindung live im Kunden-Reporting erscheinen (Cron-Sync, Center-Mapping, Import-Fallback für Historie).

Warum: Werbung bleibt in Agentur-BM/MCC; Solo-Betrieb ohne eigene Meta-App nutzt Zernio als Managed Ads-API (wie Outstand für Social).

Links: Kunden-Reporting, Cron-Setup


Monat Juni 2026

2026-06-21 — MCP Remote: COCKPIT_ALLOW_CONTENT_PUSH bleibt nach Deploy erhalten

Betrifft: Dashboard · MCP & Agenten · Betrieb & Deploy

Was: render.yamlCOCKPIT_ALLOW_CONTENT_PUSH von value: "" auf sync: false (wie Bearer/API-Key).

Warum: Jeder Blueprint-Deploy setzte die manuell auf true/1 gesetzte Variable wieder auf leer.

Links: Claude MCP — IT-Setup Render


2026-06-21 — Social-Freigaben: übersichtlicher, durchgehend Deutsch

Betrifft: Social

Was: Freigabe-Karten mit deutscher Status- und Format-Anzeige (Feed-Post, Karussell, Story, Reel), strukturiertes Detail-Panel, Aktionsleiste wie Website-Workflow; Center- und Meta-Zeile.

Warum: Englische Post-Typen (feed, carousel) und gedrängtes Karten-Layout erschwerten die Prüfung.

Links: Social Media Freigabe


2026-06-21 — Workflow & Freigaben: übersichtlicher, durchgehend Deutsch

Betrifft: Dashboard · Website & v0

Was: Entwurfs-Felder im Detail-Panel mit deutschen Bezeichnungen (Name, Kategorie, Etage, Öffnungszeiten, Website …); logische Feldreihenfolge; klarere Aktionsleiste pro Karte; Herkunft/KI-Assistent statt englischer Labels.

Warum: Shop-Import-Entwürfe zeigten technische englische JSON-Keys; die Aktionsbuttons wirkten unübersichtlich.

Links: Workflow & Freigaben


Betrifft: Dashboard

Was: Reset-/Activate-/Unlock-Seiten lesen Token serverseitig (kein hängender Suspense-Spinner); diagnoseAccountToken() unterscheidet abgelaufen, bereits verwendet, falscher Link-Typ.

Warum: /auth/reset-password?token=… blieb auf dem Lade-Spinner; wiederverwendete Links hatten keine klare Meldung.

Links: Benutzer: Einmal-Links


2026-06-21 — Profil-Self-Service abgesichert & erweitert

Betrifft: Dashboard

Was: User-APIs mit fehlender Auth geschlossen; Mein Konto um Profilbild-URL und Organisation ergänzt; Center-Manager nutzt cm-auth statt offenem by-email-Lookup; optional CM_BRIDGE_SECRET für Server-zu-Server.

Warum: Jeder eingeloggte Nutzer konnte fremde Profile/Center-Zuweisungen per API lesen; CM-App-Name-Lookup war kaputt und unsicher.

Links: Benutzer: Mein Konto


Betrifft: Dashboard

Was: Self-Service-Reset auf der Anmeldeseite nutzt dieselbe E-Mail-Pipeline wie der Admin-Reset (nicht mehr nur status === 'Aktiv'); Auth-Footer mit automatischem Copyright-Jahr und Dashboard-Version aus apps/dashboard/VERSION.

Warum: Mails kamen von der Login-Seite nicht an, obwohl Admin-Reset funktionierte; veraltetes Copyright-Jahr und fehlende Versionsinfo im Footer.

Links: Benutzer: Passwort vergessen, Developer: Dashboard-E-Mails


2026-06-17 — API-Security Phase 5 (Admin & Parking)

Betrifft: Dashboard

Was: Wartungs-/Migrations-Routen (scheduling/migrate, normalize-roles, seed-technicians, migrate/cdn-fields, setup-live-demo, vector-settings/*) nur mit Admin-Auth in Prod; Parking-Zones CRUD und Center-Listing mit Center-Auth (Session, CM-Bridge oder Bearer).

Warum: Offene Admin-Endpunkte (DDL, Rollen-Migration, Demo-User, Vector-Keys) und ungeschützte Parkzonen-Mutationen schließen.

Links: docs/SECURITY-AUDIT.md (Abschnitt 11), Cockpit-Daten-Domänen — Parking


2026-06-17 — Besucher-Chat: Prompt-Injection-Härtung

Betrifft: Website & v0 · Chatbot & KI

Was: System-Prompt ergänzt (Indirect Injection, Off-Topic-Ablehnung); Client-assistant-Verlauf wird fürs LLM als Kontext-user-Nachricht normalisiert; Regressionstests pnpm test:prompt-injection und pnpm test:prompt-injection-db-offer (echter DB-Angebots-Pfad).

Warum: Öffentlicher Chatbot mit DB/API-Kontext — Manipulation über Angebots-Texte, Fake-Assistant und Multi-Turn abwehren.

Links: Public Center Website API — Besucher-Chatbot, scripts/test-prompt-injection.ts, scripts/prompt-injection-db-offer-test.ts


Betrifft: Dashboard · Website & v0 · Reporting & Analytics · Betrieb & Deploy

Was: Bot-Analytics werden vor Speicherung anonymisiert; Session-IDs ohne IP; Website-Chat verlangt chatConsentAccepted; Rate-Limits für Kontakt/Feedback; Cookie-Kategorie external für Google Maps/externe Schriften; Cron privacy-retention (Default 365 Tage).

Warum: Lücken zwischen Doku und Code schließen; nachvollziehbare Aufbewahrung und Einwilligung für Besucher-Dienste.

Links: DSGVO und Datenschutz, Datenschutz & Einwilligung, Cron-Setup — Privacy Retention


2026-06-06 — Täglicher Redaktions-Digest (opt-in)

Betrifft: Dashboard · Betrieb & Deploy

Was: Optional einmal täglich E-Mail-Zusammenfassung (Glocke + offene Freigaben/Workflow) — nur bei Inhalt, Standard aus. Einstellungen unter Einstellungen → Benachrichtigungen; Cron stündlich, Versand zur gewählten Berlin-Stunde. Ablehnungen und Publish-Fehler bleiben Sofort-Mails.

Warum: Redaktion soll informiert werden, ohne jede Glocke sofort per E-Mail zu bekommen; Sicherheits-Mails (Passwort, Lockout) unverändert sofort.

Links: Benutzer: Digest, Developer: Dashboard-E-Mails, Cron-Setup, Migration SAFE


2026-06-06 — Center Manager: Operational-Cockpit-UI (Hell/Dunkel)

Betrifft: Dashboard

Was: Neutrales Layout statt Vollbild-Gradient und Glassmorphism; Hell/Dunkel-Umschalter im Header; KI-Chat mit klaren Karten, statischen Beispiel-Chips und sachlichem Ton.

Warum: Professionelleres Arbeitswerkzeug für Center Manager unterwegs — bessere Lesbarkeit, weniger „Consumer-App“-Look.

Links: Center Manager App — Oberfläche


2026-06-06 — Account-Sicherheit: Lockout, Entsperren, Token-Purpose, Legacy-API

Betrifft: Dashboard

Was: Login-Lockout (5 Fehlversuche) mit E-Mail + /auth/unlock; Setup-Links auch für inaktive Accounts; Legacy PUT/DELETE /api/users sendet dieselben Benachrichtigungs-Mails wie [userId]. Additive DB-Spalten an User.

Warum: Alle in Mails versprochenen Flows funktionieren; keine toten API-Pfade mehr.

Links: Benutzer: E-Mails & Einrichtung, Developer: Dashboard-E-Mails, Migration SAFE


Betrifft: Dashboard · E-Mail

Was: Einheitliche Dashboard-Mails (Resend), Copyright SawatzkiMühlenbruch GmbH, keine Klartext-Passwörter mehr — Willkommen/Admin-Reset/Einladung per Einmal-Link (/auth/activate, /auth/reset-password).

Warum: Professioneller SaaS-Standard; sicherer Onboarding- und Reset-Flow.

Links: Benutzer: E-Mails & Einrichtung, Developer: Dashboard-E-Mails


2026-06-06 — Betrieb: render.yaml, Legacy-Cleanup, Cron-Health

Betrifft: Betrieb & Deploy

Was: CRON_SECRET + PINECONE_HOST in Render-Blueprint; Legacy-Routen auf schlanke 410-Stubs; GitHub Vector-Sync prüft danach Health (needsSync === 0).

Warum: Cron-Auth und Pinecone-Host dokumentiert deploybar; toter Code weg; fehlgeschlagener Index fällt in CI auf.

Links: docs/CRON-SETUP.md, AI-Orchestrator


2026-06-06 — CM-KI Phase 2/3: Health, Social, Bestätigung, Thread-Memory

Betrifft: Dashboard · Chatbot & KI · Betrieb & Deploy

Was: Vector-Sync-Health in API-Einstellungen, Legacy action-handler aus Chat entfernt (410), CenterContacts in Pinecone, Social-Entwürfe, Human-in-the-loop, Redis Chat-Threads.

Warum: Betrieb sieht Index-Stand im UI; irreversible Aktionen bestätigen; ein Orchestrator-Pfad statt paralleler Legacy-Kette.

Links: Developer: AI-Orchestrator, GET /api/system/vector-sync/health


2026-06-06 — Pinecone Vector-Sync & Hybrid-Kontext (Manager-KI)

Betrifft: Betrieb & Deploy

Was: Vollständigerer Pinecone-Index (Shops, Offices, Services/HotPicks Realtime), zentraler Host aus Config, nächtlicher Cron, Manager-Assistant lädt immer DB + Pinecone.

Warum: Nicht alle Center-Daten landeten in Pinecone; bei Treffern fehlte reicher DB-Kontext (Issues, Kontakte, …).

Links: Developer: AI-Orchestrator, docs/CRON-SETUP.md


2026-06-06 — Center Manager: AI-Orchestrator (intent-gesteuert)

Betrifft: Dashboard

Was: KI-Chat nutzt Dashboard-Intent + Kontext; Mehrfach-Aktionen über ai-orchestrator statt Regex-first.

Warum: Demo-Workflows waren nicht smart genug; Gehirn liegt im Dashboard (analyzeIntentWithAI).

Links: Center Manager App, Developer: AI-Orchestrator


2026-06-06 — Center Manager: Session-Sicherheit & Live-Daten

Betrifft: Dashboard · Betrieb & Deploy

Was: HttpOnly-Cookie-Session mit Middleware, echte Mitarbeiter im Today-Dashboard, Legacy /ai-assistant/ai-chat, Subdomain-DNS-Doku.

Warum: App war nicht production-ready (localStorage-Session, Demo-Team, hardcodierte URLs).

Links: Center Manager App


2026-06-04 — Digital Experience: Sidebar-Untergruppen NOW! Shop & QR

Betrifft: Dashboard

Was: Navigation gruppiert QR-Management sowie NOW! Shop-Kampagnen/Reservierungen/Store-Ansicht unter Untermenüs; URLs unverändert.

Links: Navigation & Module, Modul-Zuordnung


2026-06-04 — Legacy Page Builder: Phase-5a-SQL vorbereitet (nicht ausgeführt)

Betrifft: Betrieb & Deploy

Was: 20260604_legacy_page_archive_tables_SAFE.sql — Archiv-Tabellen + idempotente Kopie aus Page/PageBlock.

Links: Legacy Page Builder — Abschaltung — SQL: packages/database/migrations/20260604_legacy_page_archive_tables_SAFE.sql


2026-06-04 — Legacy Page Builder: Phase-5-Archiv-Plan (Entwurf)

Betrifft: Dashboard

Was: Migrationsplan packages/database/docs/20260604_legacy_page_pageblock_archive_PHASE5_SAFE.md — Expand-Contract für Page/PageBlock, ohne Ausführung.

Warum: Team kann Backup, Archiv-Tabellen und DROP getrennt freigeben.

Links: Legacy Page Builder — Abschaltung


2026-06-04 — Reserve & Collect: Modul-Zuordnung dokumentiert

Betrifft: Dashboard

Was: Doku klärt, dass QR-Management, Reserve-Kampagnen und Reservierungen zum Modul digital-experience gehören; Marketing nur Querschnitt.

Links: Modul-Zuordnung, Navigation & Module


Betrifft: Dashboard

Was: Skript scripts/backup-legacy-page-builder-tables.mjs exportiert Page/PageBlock read-only nach backups/. Shop-Locations Neu nutzt ContentFormFooter wie Edit.

Warum: Sichere Vorbereitung für DB-Archivierung ohne DROP; einheitliche Formular-UX bei Filialen.

Links: Legacy Page Builder — Abschaltung, Mall-OS UI


2026-06-04 — Legacy Page Builder: prisma.page-Schreibzugriffe deaktiviert (Phase 4)

Betrifft: Dashboard

Was: Guard legacy-page-builder-guard.ts schaltet alle verbleibenden Page/PageBlock-Writes ab (Theme-Manager, Setup-Routen). API add-hbb-blocks entfernt. Theme-Setup-Status nutzt PageContent/websiteEnabled.

Warum: Kein aktiver Stack schreibt mehr Legacy-Pages — verhindert stilles Re-Seeding bei Theme-Setup.

Links: Legacy Page Builder — Abschaltung


2026-06-04 — Legacy Page Builder: Routen + APIs entfernt (Phase 2)

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: Legacy-UI (/dashboard/content/pages), /api/pages*, Center-Pages-APIs und Migration/Maintenance-Routen gelöscht. Block-Editor-Bausteine für WordPress Content Areas bleiben. Audit-Skript prüft, dass entfernte Pfade nicht wieder auftauchen.

Warum: 0 Production-Traffic auf Legacy-APIs; Center-Website, WordPress und Signage nutzen andere Modelle — UI/API-Reste nur Wartungsrisiko.

Links: Legacy Page Builder — Abschaltung


2026-06-04 — Legacy Page Builder: Seeding aus + Einstiege bereinigt

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: Kein neues Page/PageBlock-Seeding mehr bei Center-Anlage/Repair/Theme-Regenerate; versteckte Dashboard-Links (Webseiten-Tab, Theme-Settings, Technology-Badge, Menü-Editor) zeigen auf Webseiten-Reiter bzw. WordPress Content Areas. WordPress-Verifikation: Plugin nutzt nur ContentArea-APIs, nicht Legacy-Pages.

Warum: Production-Stack (center-website, signage, manager, WordPress) hängt nicht am Page Builder — sichere Abschaltung Phase 3+2.

Links: Legacy Page Builder — Abschaltung


2026-06-04 — Legacy Page Builder: Audit & Abschaltungsplan

Betrifft: Website & v0 · MCP & Agenten

Was: Skript scripts/audit-legacy-page-builder.mjs + Doku zur sicheren Entfernung des React-Page-Builders (Page/PageBlock); Abgrenzung zu WordPress, Templates und pagesConfig.

Warum: SPA-Page-Builder ist durch WordPress/v0/MCP ersetzt — Entfernung nur nach messbarer Nutzung, ohne Datenverlust.

Links: Legacy Page Builder — Abschaltung


2026-06-04 — Dashboard: UI-Token-Check & Farb-Migration

Betrifft: Dashboard

Was: check-dashboard-ui-tokens.mjs erkennt alle gängigen Tailwind-Palette-Utilities (text/bg/border/gradient/ring, Varianten); neues Codemod migrate-dashboard-color-classes.mjs; Dashboard-Baseline 0 unter --strict.

Warum: Hardcodierte blue-600/gray-50-Klassen umgehen cockpit-dashboard-theme.css — zentrale Theme-Anpassungen sollen global greifen.

Links: Mall-OS UI, .cursor/rules/dashboard-ui-tokens.mdc


2026-06-04 — MCP Batch Content-Performance + EN-Doku Analytics

Betrifft: Dashboard · MCP & Agenten · Reporting & Analytics

Was: Neues MCP-Tool cockpit_analytics_content_performance_batch (bis 40 Inhalte, ein Umami-Call); englische analytics-integration.md an DE-Stand angeglichen.

Warum: Agents können Listen-Performance ohne N Einzelrequests auswerten; i18n-Doku war veraltet.

Links: Analytics-Integration


2026-06-04 — Analytics: Verifikations-Checkliste + MCP-Discover

Betrifft: Dashboard · Website & v0 · MCP & Agenten · Reporting & Analytics

Was: Doku-Abschnitt „Verifikation“ in analytics-integration.md; MCP tool-catalog Kategorie analytics (5 Tools); cockpit_center_project_init und V0_CUSTOM_INSTRUCTIONS um Analytics-Lese-Tools ergänzt.

Warum: Nach Umami/Content-Performance-Release klare Prüfschritte für Website, v0 und MCP/Agents.

Links: Analytics-Integration


2026-06-04 — Umami: Shops, Jobs, News vereinheitlicht

Betrifft: Dashboard · Reporting & Analytics

Was: ContentPerformanceCard auf Shop-Detail (Tab Analytics), Job-Detail und News (ersetzt alte News-Karte); KI für alle Inhaltstypen wenn OpenAI aktiv; News behält dedizierte SEO-POST-Route.

Warum: Ein Modul, maximale Umami+KI-Abdeckung auf allen relevanten Detailseiten.

Links: Analytics-Integration


2026-06-04 — Umami Content-Performance: Detailseiten & MCP

Betrifft: Dashboard · MCP & Agenten · Reporting & Analytics

Was: Performance-Karte auf Angebots- und Event-Detailseiten (ContentPerformanceCard); MCP-Tools cockpit_analytics_content_performance und cockpit_analytics_content_performance_insights; cockpit_analytics_content_metrics an Umami-Aggregation angepasst.

Warum: Einheitliche Umami+KI-Nutzung nicht nur auf der Content-Übersicht und bei News, sondern auch für Claude/MCP-Integrationen.

Links: Analytics-Integration · Content Management


2026-06-04 — Content-Übersicht: echte Performance-Daten

Betrifft: Dashboard · Reporting & Analytics

Was: /dashboard/content — KPI-Karten und Performance-Tabelle nutzen DB-Metriken (News, Hot Picks, Jobs); News-Views mit Umami-Fallback; keine Zufalls-SEO-Scores mehr; Spalte „Qualität“ statt irreführendem „KI-Score“.

Warum: Die Box wirkte wie Live-Analytics, lieferte aber teils Mock-Werte und kaputte Prisma-Selects.

Links: Analytics-Integration


2026-06-04 — Dashboard-UI: Social Hub & Content-Status erweitert

Betrifft: Dashboard

Was: SocialHubView auf Surface/Design-Tokens; content-status-badges.ts um Jobs, Hot-Picks, Offices und Angebots-Lifecycle ergänzt; Listen- und Detailseiten darauf umgestellt.

Warum: Modulweise UI-Patterns nach abgeschlossener Farb-Migration — weniger duplizierte Status-Mapper.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Hub-Patterns & Content-Status

Betrifft: Dashboard

Was: CockpitSectionHub nutzt Surface/surfaceVariant statt Tailwind-color-Strings; gemeinsame Status-Mapper in content-status-badges.ts für News/Events/Pages; CI-Workflow dashboard-quality.yml für schnelle Token-/Route-Checks.

Warum: Wartbare UI-Patterns nach abgeschlossener Farb-Migration — nächste Schritte modulweise statt Big-Bang.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Strict-Check im prebuild

Betrifft: Dashboard

Was: check-dashboard-ui-tokens.mjs --strict in apps/dashboard prebuild und pnpm check:dashboard-ui (Root); Baseline 0 — Build bricht bei neuen Hardcode-Farben ab.

Warum: Regressionen verhindern nach abgeschlossener Token-Migration.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 16 — Baseline 0

Betrifft: Dashboard

Was: Letzte 37 Ein-Treffer-Dateien (Auth, CM-App, Wayfinding, Shop-Mapping, Content-Forms, Legal-Pages u. a.) auf Design-Tokens; Check-Skript meldet 0 Treffer.

Warum: Farb-Migration abgeschlossen — Grundlage für --strict im Dashboard-Build.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 15 (2-Treffer-Dateien abgeschlossen)

Betrifft: Dashboard · Website & v0

Was: Alle verbleibenden Dateien mit je 2 Hardcode-Treffern: Content-Detail, Hub-Seiten, Marketing, QR, RSS, WordPress-Templates, Plugin-UI-Generator u. a.

Warum: Baseline von 85 auf 37 Treffer — nur noch Einzelfälle offen.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 14 (Listen, WordPress, Property)

Betrifft: Dashboard · MEC-Import · Signage & QR

Was: Digital Signage, Finance, Parking, Property, Marketing, MEC-Import, Settings-Notifications, WordPress-Übersicht, Center-Profil, Editorial-Flow, Touchscreen, Wayfinding u. a. auf Token-Badges/Surface.

Warum: Alle verbleibenden Drei-Treffer-Dateien der Baseline bereinigen.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 13 (WordPress, Komponenten, Issues)

Betrifft: Dashboard

Was: Theme-Generator, Center-Profil, Schema-Check, External Events, News-AI, WP-Performance, Shop-Mapping, Issues/new, CM-Content, Notfall-Override auf Token-Badges/Surface.

Warum: Vier-Treffer-Dateien und gemeinsame Hilfskomponenten vereinheitlichen.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 12 (CM-App, Community, Module)

Betrifft: Dashboard

Was: Capture-Status, Issue-Detail, CM-Benachrichtigungen, Community-Übersicht, Team-Management, Quick-Links, Module-Kategorien, Drafts, QR-Detail, Integration-Suites auf Token-Badges/Surface.

Warum: Verbleibende Center-Manager- und Community-Views ohne verstreute bg-*-100-Klassen.

Links: Mall-OS UI


2026-06-04 — Social Caption KI: Plattform-Regeln & Center-Kontext

Betrifft: Dashboard · Social

Was: Caption-Generator nutzt plattformspezifische Hashtag-Regeln (Facebook ohne Tags; Instagram 3–5; bei FB+IG optional Erstkommentar). Prompts in social-caption-prompts.ts; API lädt Shops, Events, Angebote, News aus der DB passend zum Brief.

Warum: Hashtags nur wo sie wirken; bessere Texte durch echte Center-Daten statt generischer Floskeln.

Links: Social Media Freigabe


2026-06-04 — Dashboard-UI: Migration Runde 11 (Permissions, Dispatch, Content-Detail)

Betrifft: Dashboard

Was: ROLE_BADGE_VARIANT/ROLE_DOT_CLASS in permissions.ts; Dispatch-Karten, Issues, Hot-Picks/Jobs-Detail, Reviews, Backup, Social-Freigabe-Link auf Token-Badges.

Warum: Zentrale Rollen-Farben und verbleibende Listen/Detailseiten vereinheitlichen.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Check-Skript gehärtet + Migration Runde 10

Betrifft: Dashboard

Was: check-dashboard-ui-tokens.mjs scannt jetzt alle Dashboard-Quellen mit (?!\d)-Abgrenzung (keine False-Positives durch bg-blue-500). Migration: System-Übersicht, Center-Manager-Dashboard, Shops/Services, Google Places, Support-Seite.

Warum: Verlässliche Baseline für CI; weitere Listen und Cockpit-Widgets auf Token-Badges.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 9 (Content, WordPress, Themes)

Betrifft: Dashboard

Was: WordPress Content-Areas, Dynamic Hero, Content-Übersicht/Offers/Offices, Page-Cards (STATUS_INFO), Theme-Family-Selector, Settings-Rollen auf @mall-os/ui-Badges und Tokens.

Warum: Weitere Hardcodes in Listen, Scope-Badges und Theme-Auswahl vereinheitlichen.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: Migration Runde 8 (Workflow, Property, Planner)

Betrifft: Dashboard

Was: Weitere Seiten auf @mall-os/ui-Tokens: Website-Freigaben (workflow), Social-Freigabe-Board, Property-Bereich (Badges), Personal, Content-Planner (Typ-Chips), Dispatch-Detail, Events-Liste, Settings-Nutzer (Modul-Matrix).

Warum: Hardcoded Tailwind-Farben schrittweise abbauen — Baseline Check von ~332 auf ~260 Treffer.

Links: Mall-OS UI


2026-06-04 — Dashboard-UI: globale Primitives & Token-Badges

Betrifft: Dashboard · Betrieb & Deploy

Was: Neue Bausteine in @mall-os/ui: Surface, StatTile, SelectableCard, KanbanColumn. Badge/StatusBadge auf Design-Tokens. Migration Dispatch-Kanban, Social-Kanal-Chips, AI-Auswahl, Block-Renderer. Check-Skript pnpm check:dashboard-ui.

Warum: Ein zentraler, wartbarer UI-Layer — Optik über cockpit-dashboard-theme.css steuerbar statt verstreute Tailwind-Farben.

Links: Mall-OS UI — Semantische Flächen


2026-06-04 — Alert-Varianten (Dashboard, Runde 7)

Betrifft: Dashboard

Was: Wayfinding SVG-Upload, Shop-Mapping-Liste, Center-Profil (Team & Workflows), Offers-KI, Header/Footer-Farben, Property Automation, Integration Suites, Benachrichtigungen, File-Upload, Theme-Upload.

Warum: Weitere Vereinheitlichung der Hinweis-UI im Dashboard.

Links: Mall-OS UI — Hinweise


2026-06-04 — Alert-Varianten (Dashboard, Runde 6)

Betrifft: Dashboard

Was: Admin Setup, Center-Page-Sync, App-Settings-Modal, Homepage-Tiles, Emergency-Manager, Wayfinding, Embed-Chat, Reservierungen, Plugin-Migration. PageContainer für Services Quick Setup und Organisations-Detail.

Warum: Fortführung einheitlicher Hinweis-UI und Seiten-Shell.

Links: Mall-OS UI — Hinweise


2026-06-04 — Alert-Varianten (Dashboard, Runde 5)

Betrifft: Dashboard · Chatbot & KI · Reporting & Analytics · MEC-Import

Was: Dispatch-Detail, MEC-Import (Medien-Hinweis), Shop-Mapping-Karte, Domains, WordPress Connect/Import, Centerplan Google-Maps-Hinweis, Chatbot-Analytics, Reviews-Sentiment. Digital-Experience Theme-Seiten auf PageContainer.

Warum: Weitere UI-Vereinheitlichung ohne manuelle Farb-Overrides.

Links: Mall-OS UI — Hinweise


2026-06-04 — Alert-Varianten statt Farb-Overrides (Dashboard, Runde 4)

Betrifft: Dashboard · Betrieb & Deploy

Was: Weitere ~20 Stellen: Social-Editor/Freigabe-Board, QR-Verwaltung, Google Places, CM-Apps-Settings, Workflow-Ablehnung, Website-Einstellungen (Digital Experience) inkl. PageContainer + DNS-Hinweis als Alert.

Warum: Fortführung der UI-Vereinheitlichung; weniger manuelle Farb-Klassen.

Links: Mall-OS UI — Hinweise


2026-06-04 — Alert-Varianten statt Farb-Overrides (Dashboard)

Betrifft: Dashboard

Was: ~50 Stellen mit manuellem border-*-200 bg-*-50 auf Alert/Card auf Alert-Varianten (default, warning, destructive, success) umgestellt. Hub-Karten (Settings, System) nutzen normale Card + --shadow-card-hover. Neue Variante success in @mall-os/ui.

Warum: Einheitliches Hinweis-Design ohne duplizierte Tailwind-Farben.

Links: Mall-OS UI — Hinweise


2026-06-04 — News Performance (Umami/DB/OpenAI) & Card-Schatten

Betrifft: Dashboard

Was: News-Detail zeigt echte Aufrufe (Umami pro News-URL, Fallback DB), Shares aus DB, SEO-/Lesbarkeits-Scores (regelbasiert, optional OpenAI). Zentraler --shadow-card-Token für alle Card-Komponenten.

Warum: Keine Platzhalter-Metriken mehr; Karten heben sich klar vom Seitenhintergrund ab.

Links: Mall-OS UI · API: GET/POST /api/content/news/{id}/performance


2026-06-04 — Dashboard: Settings & WP Content-Bereiche (PageContainer)

Betrifft: Dashboard

Was: Benutzer (Neu/Bearbeiten), Rollen, Feedback-Detail, Kommunikations-Redirect, WP Content-Bereiche Detail/Edit auf PageContainer. Design-Tokens in Community- und WordPress-Hub.

Warum: Einheitliche Dashboard-Shell in Admin- und WordPress-Bereichen.


2026-06-04 — Dashboard: Edit-Routen & PageContainer (Fortsetzung)

Betrifft: Dashboard

Was: Content-Bearbeiten unter kanonischem Pfad /content/{typ}/{id}/edit (Offers, Shops, Services, Jobs, Hot Picks, Shop-Chains, Shop-Locations, Centers); alte edit/[id]-URLs leiten um. Integration, WordPress Content-Bereiche auf PageContainer; Scheduling/Broadcast/Content-Areas: gray-*/blue-* → Design-Tokens.

Warum: Einheitliche URLs und visuelle Shell wie bei Events/News; weniger Hardcode-Farben.


2026-06-04 — Dead-Code-Aufräumung (Dashboard)

Betrifft: Dashboard

Was: Entfernt: API-.backup-Dateien, api/_disabled/**, WordPress-*.old-Seiten, ungenutzter Unified Website Builder, Dev-Route test-bunny, tote Nav-Configs. Demo-Stubs /dashboard/events|shops|jobs → Redirects auf /dashboard/content/*. Marketing/Community-Links korrigiert.

Warum: Weniger Verwirrung, keine doppelten/veralteten UIs mehr im Repo. Verbleibende React-Page-Builder-Pfade sind in deprecated-navigation.ts dokumentiert.


2026-06-04 — Content-Formulare & Dashboard-Seitenlayout

Betrifft: Dashboard

Was: News, Events und Angebote (Neu und Bearbeiten) nutzen dasselbe 3-Schritte-Muster (Inhalt → Veröffentlichen → Optional). Weitere Dashboard-Seiten auf PageContainer: Centerpläne (Übersicht + Neu), Team Management, Scheduling, Video-Scheduling, Broadcast Messages, WordPress-Hub.

Warum: Einheitlicher Redaktions-Workflow; weniger abgesetzte Sonder-Layouts und Hardcode-Farben.

Links: Content Creator Handbuch


2026-06-04 — Dashboard-UI: Tabs, Webseiten-Navigation, News-Formular

Betrifft: Dashboard · Website & v0

Was: Einheitliche Tab-Stile über Design-Tokens (@mall-os/ui, keine Hex-Overrides mehr). Webseiten-Tab: einklappbare Hauptgruppen + Suche in der Sidebar. Neue News: Formular in drei Schritte (Inhalt → Veröffentlichen → Optional).

Warum: Weniger visuelle Inkonsistenz und kognitive Last für Redakteur:innen im Tagesbetrieb.

Wer: Redaktion, Center-Betrieb (Dashboard).

Links: Webseiten-Tab Navigation · Content Creator Handbuch → News

So testen: Beliebige Seite mit Tabs (z. B. Social) → aktiver Tab nutzt Primary-Farbe. Center → Webseite → Gruppen auf-/zuklappen, Suche. Content → News → Neu → drei Reiter durchklicken, speichern.


Monat Mai 2026

2026-05-22 — Social aus News/Event/Angebot

Betrifft: Dashboard · Social

Was: Button Als Social-Post auf Inhalts-Detailseiten; API POST /api/social/from-content; Hub-Hinweis zu News/Events/Angebote.

Warum: Ein Datenkern — Website-Inhalt wird ohne Doppelpflege zum Social-Entwurf (cockpitOS-Verzahnung).

Wer: Redaktion, Marketing.

Links: Social Media Freigabe


2026-05-22 — Social Cockpit Shell & Hub „Heute“

Betrifft: Dashboard · Social

Was: Einheitliche SocialPageShell mit Subnav auf allen Kernseiten; Hub zeigt Heute für dich (KPIs + Schnellaktionen) statt nur Kacheln. API GET /api/social/hub.

Warum: Social wirkt wie ein zusammenhängendes Cockpit-Modul im cockpitOS-Universum — Orientierung ohne Feature-Flut.

Wer: Redaktion, Center Manager, Marketing.

Links: Social Media Freigabe, Navigation


2026-05-21 — Social Engage: Facebook-Kommentare aus Outstand

Betrifft: Dashboard · Social

Was: Parser für Outstand-Replies korrigiert (replies.comments[] statt nur flaches Array). Engage nutzt platformPostId für Facebook und lädt nur wirklich veröffentlichte Posts.

Warum: Unter /dashboard/social/engage blieben Kommentare leer, obwohl Facebook welche zeigte — Outstand liefert die Thread-Daten in einem verschachtelten JSON.

Links: Social Media Freigabe — Community & Antworten


2026-05-21 — NOW! Shop: Anzeigename (ehem. Reserve & Collect)

Betrifft: Dashboard

Was: Dashboard-Navigation, Seiten, Marketing-Übersicht, Shop-Katalog und Doku nutzen NOW! Shop als Produktname. URLs (/dashboard/reserve-campaigns) und DB-Modelle (ReserveCampaign) bleiben unverändert — kein Datenverlust.

Warum: Klarere Zuordnung zur NOW! App und Social-Commerce-Journey (Social → App → Abholung im Center).

Detail: Modul-Zuordnung NOW! Shop, Labels: apps/dashboard/src/lib/now-shop-labels.ts.


2026-05-21 — Marketing Cockpit: Sidebar, Module & Rollen

Betrifft: Dashboard

Was: Sidebar Marketing Cockpit nach Social (Übersicht, Kampagnen, Content-Planung, Workflow, Events in Town); aktive Menüpunkte mit ?lens=marketing; marketing-cockpit in ROLE_MODULE_IDS und permissions für ORG_MARKETING_MANAGER / CENTER_ADMIN; Mall-Modul ohne Marketing-Pfade; Legacy-Kalender-Redirect.

Warum: Modul sichtbar und korrekt zugeordnet — vorher fehlte marketing-cockpit oft in Rollen-Defaults, Sidebar hing weit unten ohne Workflow-Link.

Links: Navigation & Module, Plattform-Überblick


2026-05-21 — Google Business Profile: Antworten direkt aus dem Cockpit

Betrifft: Dashboard · Social

Was: OAuth-Integration (Google Business Profile API) pro Center; Reviews aus GBP wenn verbunden; Dialog Bei Google senden; Admin-Tab unter Integration → Google Places.

Warum: Google bietet eine offizielle Reply-API — mit OAuth können Center Antworten ohne Copy-Paste veröffentlichen.

Wer: Admin (OAuth-Client), Center Manager / Redaktion (Verbindung + Antworten).

Links: Social Media Freigabe


2026-05-21 — Reviews: KI-Caption, Sammel-Post, Google-Antwort-Hilfe

Betrifft: Dashboard · Social

Was: Social-Posts aus Reviews mit KI-Caption; Social Sammel-Post aus KI-Empfehlungs-Karten; Antworten-Dialog mit KI-Vorschlag, Kopieren und Link zu Google (kein Auto-Post).

Warum: Feinerer Ton pro Thema, wiederkehrende Kritik gebündelt adressieren, Google-Antworten benutzerfreundlich ohne nicht vorhandene API.

Wer: Redaktion, Marketing, Center Manager.

Links: Social Media Freigabe


2026-05-21 — Social: Kommentar-Benachrichtigungen (Phase B3)

Betrifft: Dashboard · Social · Betrieb & Deploy

Was: Hub-Kachel Kommentare offen; Dashboard-Glocke bei neuen Social-Kommentaren; Engage öffnet mit ?filter=comments; Cron ergänzt Kommentar-Check.

Warum: Community-Antworten werden nicht vergessen — gleicher „Heute für dich“-Ansatz wie bei Freigaben.

Wer: Redaktion, Center Manager, Marketing.

Links: Social Media Freigabe


2026-05-21 — Social-Post aus Google-Bewertung

Betrifft: Dashboard · Social · Reporting & Analytics

Was: Auf Analytics → Bewertungen Button Social-Post pro Review; API POST /api/social/from-content mit type: review und Review-Snapshot; Hub-Link zu Bewertungen.

Warum: Reputation (Analytics) und Öffentlichkeitsarbeit (Social Cockpit) verbinden — Kritik/Lob in einem bearbeitbaren Entwurf adressieren, ohne Doppelpflege der Review-Daten.

Wer: Redaktion, Marketing, Center Manager.

Links: Social Media Freigabe


2026-05-21 — Social / Outstand (Webhooks, Metriken, Publish)

Betrifft: Dashboard · Social · Reporting & Analytics · Betrieb & Deploy

Was: Outstand-Anbindung erweitert: Kanal-Status in Freigaben, Webhooks (post.published, post.error, account.token_expired), First Comment nach Live-Gang, Reels/Karussell-Publish, täglicher Metrik-Sync per Cron.

Warum: Zuverlässigeres Publishing (u. a. Bilder über containers[].media), schnellere Fehlererkennung und Reporting ohne manuelles Nachziehen in Outstand.

Wer: Redaktion/Social (Freigabe-UI), Betrieb/IT (Env, Webhook, Cron).

Links:

Betrieb: OUTSTAND_API_KEY, optional OUTSTAND_WEBHOOK_SECRET, CRON_SECRET; Webhook-URL POST …/api/webhooks/outstand.


Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Eigene Cockpit-Reiter pro Seite (Ree-Carrée, RGW), DeepL-Übersetzung im Cockpit, Freitext-Modus für Impressum/Datenschutz/AGB; Footer/Header/Unterseiten aus Cockpit-Daten.

Warum: Redaktion pflegt mehrsprachige Center-Websites ohne externe Tools — Rechtstexte ohne PDF-Workflow.

Links: Website-Templates


2026-05-19 — MEC ShopBox & Goldbeck: optionale Inhaltsfarben

Betrifft: Website & v0

Was: Pro Center optional Fließtextfarbe und Seitentitel-Farbe im Webseiten-Tab (Goldbeck · Optionen, MEC ShopBox · Optionen). Marken-/Layout-Farben bleiben in Design bzw. Bento/Header.

Warum: Lesbarkeit auf Rechts- und Inhaltsseiten (z. B. Impressum) ohne die Markenfarbe der Navigation zu verändern.

Links: Goldbeck Webseiten-Tab, MEC Optionen


2026-05-19 — Centerplan: Zeichenmodus, Hybrid-Hover & Content-Highlights

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: Manuelles Zeichnen im Centerplan, Hybrid-SVG-Hover und Mobile-Shop-Modal; Highlight-Toggle für News/Events/Angebote; Content-API-Listen an Aktuelles-Bundle-Filter angeglichen.

Warum: Plan-Pflege und hervorgehobene Inhalte ohne Code — konsistente API für v0 und Website.

Links: Centerplan Übersicht


Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Reiter Datenschutz, Website-Cookie Consent, Rechtstexte; visitorPrivacy in public-visitor-surface für v0.

Warum: DSGVO-Einwilligung und steuerbare Privacy-Felder — eine API-Quelle für Besucher-Sites.

Links: Datenschutz-Einwilligung, Public API


2026-05-16 — WordPress-APIs, Marketing-Kampagnen & Analytics Footfall

Betrifft: Dashboard · Website & v0 · Reporting & Analytics

Was: WordPress-Websites/Embed/Sync-APIs, Marketing-Kampagnen-UI, Footfall-Analytics; Builtin Website-Templates-API.

Warum: WordPress- und Marketing-Workflows zentral im Cockpit statt Insellösungen.

Links: Navigation & Module


2026-05-15 — Videos, ILG-Anfahrt & MCP v0-Guardrails

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Videos für News/Events/Angebote/Services/Shops; ILG Anreise-Karten (Seite Anfahrt); MCP Source-of-Truth-Guardrails; Umami-Felder in website-config.

Warum: Medien und Anfahrt über Cockpit/API — v0 erfindet keine Felder.

Links: Claude MCP Redaktion


2026-05-15 — Rollen & Settings: CENTER_ADMIN-Scoping

Betrifft: Dashboard · Website & v0

Was: CENTER_ADMIN: nur eigene Center-Medien und Templates; rollenbasierte Settings; Integration/WordPress-Menü nur SUPER_ADMIN.

Warum: Mandanten-Trennung — Center-Admins ohne Super-Admin-Rechte.

Links: Benutzer & Organisation


2026-05-14 — Hybrid-Centerplan: Polygon-Editor & Etagen-MCP

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: Hybrid-SVG mit Polygon-Editor und PNG-Segmentierung; Tab Neue Etage; AgencyOS floors_summary für Wayfinding/MCP.

Warum: Centerplan ohne Illustrator für Standardfälle; Agenten lesen Etagen strukturiert.

Links: Hybrid PNG mit Polygonen


2026-05-14 — Goldbeck: Seiten-Sichtbarkeit & Navigation

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Reiter Seiten ein/aus; Nav/Footer und 404 respektieren deaktivierte Seiten.

Warum: Unterseiten im Cockpit schaltbar — ohne Deploy.

Links: Goldbeck Webseiten-Tab


2026-05-13 — ILG Hero-Slides, Aktuelles-Hub & Gutschein-Seite

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: ILG Hero-Slides und Sidebar-Nav; Aktuelles-Hub (News getrennt von Angeboten/Jobs); Gutschein-Seite mit Logo-Zeilen; Iframe-Seiten unter /{kurzname}.

Warum: ILG-Go-Live-Vorbereitung — zentrale Besucherflows und Sonderseiten fertig.

Links: Feature-Katalog


2026-05-11 — ILG Webseiten-Reiter & MEC Pixel-Parität B-1.16

Betrifft: Dashboard · Website & v0 · MCP & Agenten

Was: ILG Page-Content-Reiter (Jobs, Ärzte, Angebote); MEC B-1.16 Pixel-Parität (Angebote-Flex, Kontakt, Öffnungszeiten); MCP cockpit_public_wayfinding_floors.

Warum: ILG-Redaktion und MEC-Migration in einem Release-Zyklus weiter.

Links: Feature-Katalog


2026-05-09 — Slug-APIs für alle Content-Typen & MCP-Vollständigkeit

Betrifft: Website & v0 · MCP & Agenten · Reporting & Analytics

Was: Öffentliche Slug-Abfragen für News, Events, Angebote, Shops, Services, Chains; MCP-Tools und Analytics-Integration erweitert; Workflow-Bulk-Aktionen.

Warum: v0 und externe Frontends sprechen sprechende URLs — Agenten können alles ansprechen.

Links: Public API Vertrag


2026-05-01 — Hero-Slider-Editor für Redakteure

Betrifft: Dashboard · Website & v0

Was: Hero-Slider-Editor v2 im Dashboard — Slides, Layout und Medien ohne Custom CSS; Anbindung an Templates.

Warum: Marketing will Hero-Bereiche selbst pflegen — nicht über Entwickler-Tickets.

Links: Base Template Optionen


2026-05-01 — MEC-Import: templateContent aus Legacy-API

Betrifft: Dashboard · Website & v0 · MCP & Agenten · MEC-Import

Was: MEC-Import übernimmt templateContent aus alter MEC-API; Social-Links Dashboard ↔ Frontend abgeglichen.

Warum: Migration alter Center ohne manuelles Nachpflegen jedes Template-Felds.

Links: MEC-Import


Monat April 2026

2026-04-01 — MEC Templates C/D/Grooss: Pixel-Parität Unterseiten

Betrifft: Dashboard · Website & v0 · MEC-Import

Was: MEC Template C, D, Grooss: Unterseiten visuell ans Original; Einkaufswelt mit Centerplan-Modus; Nav-Overlay und Boxed Layout.

Warum: MEC-Migration — Besucher sollen gewohntes Erscheinungsbild behalten.

Links: MEC-Import


Monat März 2026

2026-03-31 — RGW/Goldbeck: CMS-Seiten & Social-Icons

Betrifft: Dashboard · Website & v0

Was: RGW-Seiten (Uni, Vermietung, Quartier-Kompass) aus CMS; Goldbeck-Büros/Wayfinding; Social-Icons in Templates.

Warum: Inhaltsseiten vollständig aus Cockpit — nicht hardcodiert im Frontend.

Links: Goldbeck Webseiten-Tab


2026-03-25 — Ree-Carrée: Event-Banner & Webseiten-Reiter

Betrifft: Dashboard · Website & v0

Was: Ree-Carrée: dynamisches Event-Banner; Hero/Deals/Öffnungszeiten im Webseiten-Tab; Unterseiten im Template.

Warum: Center-spezifische Startseiten-Logik ohne Fork im Basis-Template.

Links: Website-Templates


2026-03-24 — RGW-Template (Rathaus Galerie Wuppertal)

Betrifft: Dashboard · Website & v0

Was: RGW-Template mit eigenem Layout; Multi-Mall-Übersicht alphabetisch; Website-Optionen in dedizierten Reitern.

Warum: Zweites Volltemplate für Kaufland/Rathaus-Galerie-Wuppertal.

Links: Website-Templates


2026-03-23 — ILG-Website-Template integriert

Betrifft: Dashboard · Website & v0

Was: Eigenes ILG-Template (Center-Website + Dashboard-Reiter) für Ärzte/Gesundheit, Sidebar-Navigation und spezielle Seitenlogik.

Warum: ILG-Rheinland braucht abweichende Struktur gegenüber Standard-Mall-Layout.

Links: Feature-Katalog


Monat Februar 2026

2026-02-27 — SEO/GEO: JSON-LD, Canonical & Sitemap (Basis-Template)

Betrifft: Website & v0 · Chatbot & KI

Was: Structured Data (ItemList, Breadcrumb, Event/News, HowTo Anfahrt); Canonical/OG/Twitter; GEO-Score und KI-Zitat-Hinweise in Doku.

Warum: Center-Websites für Suche und KI-Antworten optimieren — nicht nur optisch.

Links: SEO AI GEO


Betrifft: Dashboard · Website & v0 · MEC-Import

Was: MEC ShopBox-Template mit Bento-Grid, Anfahrt-Reiter-Erweiterung; Logo-Carousel ohne weiße Flächen; Jobs-Seite im Basis-Template.

Warum: Legacy-MEC-Center visuell und inhaltlich am Original ausrichten.

Links: MEC Small Assets Webseiten-Tab


2026-02-26 — Goldbeck-Template & Center-Website Wayfinding

Betrifft: Dashboard · Website & v0

Was: Goldbeck-Website-Template; Wayfinding-Seiten mit Header/Footer; AI-Page und Cookie-Consent-Verbesserungen.

Warum: Erstes mandantenspezifisches Volltemplate neben Basis-Layout.

Links: Goldbeck Webseiten-Tab


Monat Januar 2026

2026-01-31 — Centerplan: Shop-Mapping Vollbild & SVG-Vorschau

Betrifft: Dashboard · Betrieb & Deploy

Was: Vereinfachtes Shop-Mapping im Vollbild; SimplifiedMapView mit SVG-Rendering; Debug-API für MapLocation-Daten.

Warum: Redaktion mappt Shops schneller und sieht den Plan in Originalqualität.

Links: Centerplan Übersicht


2026-01-30 — Digital Signage: Companion-Template & Center-ID-Erkennung

Betrifft: Dashboard · Website & v0 · Signage & QR · Betrieb & Deploy

Was: Companion-App-Template; automatische Center-ID aus Subdomain/Branding; Wayfinding-Legacy als wählbares Signage-Template.

Warum: Mehrere Center-Domains — Kiosk/Companion ohne manuelle UUID-Pflege in jeder Instanz.

Links: v0 Deploy & Cockpit-Register


Monat Dezember 2025

2025-12-31 — WordPress Plugin v1.16.5 (Öffnungszeiten & Filialen)

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Plugin v1.16.5: intelligente Compact Opening Hours; Delete-Pages für Shop Chains/Locations; Update-API-Fixes.

Warum: WordPress-Shops und Filialen spiegeln Cockpit-Öffnungszeiten korrekt wider.

Links: WordPress AI Assistant


2025-12-16 — Büros & Praxen: Office-Type-Management

Betrifft: Dashboard · Website & v0

Was: Office Types und erweiterte Büro-/Praxis-Pflege; Shop-Locations mit displayId; Öffnungszeiten-JSON konsistent in APIs.

Warum: Gesundheits- und Bürocenter brauchen eigene Typen und saubere API-Felder.

Links: Büros & Praxen


Monat November 2025

2025-11-29 — Homepage Tiles Manager (Dashboard + Website)

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Homepage Tiles im Dashboard anlegen/bearbeiten; Center-Website rendert Kacheln dynamisch aus API (Grid-Layout, Medien).

Warum: Startseiten-Highlights ohne Code — Redaktion steuert Reihenfolge und Bilder.

Links: Feature-Katalog


2025-11-29 — Dynamische Center-Daten & KI-Chat-Kontext

Betrifft: Website & v0 · Chatbot & KI

Was: Center-Website lädt volle Center-Konfiguration aus DB; AI-Chat sendet centerId für dynamischen Kontext; Kategorie-Themes und Medienfelder.

Warum: Besucher-Chat und UI sollen echte Center-Daten nutzen — nicht statische Mocks.

Links: Chatbot KI-Transparenz


Monat Oktober 2025

2025-10-29 — WordPress Plugin: Auto-Update & Dynamic Tags

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Plugin Auto-Update (v1.7.6+); Content Dynamic Tags mit korrekter API-URL; Center-Filter synchron mit Context.

Warum: WordPress-Seiten ohne manuelles Plugin-Hochladen aktuell halten.

Links: WordPress AI Assistant


2025-10-28 — WordPress-Website-Modell & Batch-Sync

Betrifft: Dashboard · Website & v0

Was: Datenmodell WordPressWebsite; Batch-Sync-Queue inkl. Center-, Logo- und Favicon-Import.

Warum: Mehrere WP-Instanzen pro Organisation sauber zuordnen und gesammelt synchronisieren.

Links: Navigation & Module


2025-10-18 — Centerplan: Shop-Mapping & SVG-Hover überarbeitet

Betrifft: Dashboard · Website & v0

Was: Shop-Mapping am Plan (Pins, Hover, Koordinaten); isActive für Etagen; Rich-Text-Sync und Batch-Sync für Content Areas.

Warum: Redaktion verknüpft Shops zuverlässig mit Planflächen — Basis für Besucher-Wegweiser.

Links: Centerplan Content-Workflow


Monat September 2025

2025-09-22 — WordPress-Plugin-Fokus (SPA abgelöst)

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Strategiewechsel: WordPress-Plugin mit modularer Admin-UI, deutscher Oberfläche und Update-System; Frontend-SPA aus dem Hauptpfad entfernt.

Warum: Viele Center laufen auf WordPress — Integration dort statt paralleler SPA-Pflege.

Links: WordPress AI Assistant


2025-09-22 — Content Areas: WordPress-Integration Phase 1

Betrifft: Dashboard · Website & v0

Was: Content Areas syncen zwischen Cockpit und WordPress; Elementor-/Theme-Widgets nutzen Cockpit-Daten statt Hardcoding.

Warum: Redaktion pflegt einmal im Cockpit — WordPress-Seiten zeigen aktuelle Inhalte.

Links: API WordPress Push


2025-09-18 — Wayfinding: kombinierte Übersicht & SVG-Converter

Betrifft: Dashboard · Website & v0 · Signage & QR

Was: Wayfinding-Übersicht im Dashboard; SVG-Converter mit Multi-Floor-Erkennung und UX-Fixes für Centerplan-Import.

Warum: Etagen und Routen ohne Illustrator-Experten importierbar machen.

Links: Centerplan Übersicht


Monat August 2025

2025-08-31 — Frontend-SPA: dynamische Page-Blocks aus Cockpit-API

Betrifft: Dashboard · Website & v0 · Betrieb & Deploy

Was: Center-Frontend-SPA lädt Page-Builder-Blöcke live aus der Dashboard-API; Fallbacks und CORS für Production gehärtet.

Warum: Website-Inhalte zentral pflegen — Frontend rendert, was Redaktion im Cockpit speichert.

Links: Plattform-Überblick


2025-08-29 — Universal Plugin System & modulare Theme-Architektur

Betrifft: Dashboard · Website & v0

Was: Universal Plugins (Hero, Shops, Events, Services, Quick Links) mit Dashboard-Page-Editor, Migration für bestehende Center und modularem CSS pro Theme (z. B. HBB).

Warum: Center-Homepages sollen ohne Einzel-Entwicklung aus wiederverwendbaren Blöcken zusammensetzbar sein.

Links: Website-Templates


2025-08-28 — Website Analytics Dashboard mit echten Charts

Betrifft: Dashboard · Chatbot & KI · Reporting & Analytics

Was: Analytics-Übersicht im Dashboard mit echten Diagrammen und Chatbot-Integration — erste zentrale Auswertung statt Platzhalter.

Warum: Center-Betrieb soll Traffic und Nutzung ohne externes Tool sehen.

Links: Analytics Guide


Monat Juli 2025

2025-07-22 — Digital Signage: Build & Deploy stabilisiert

Betrifft: Dashboard · Website & v0 · Signage & QR · Betrieb & Deploy

Was: Digital-Signage-App Build in CI/CD repariert (Favicon, GitHub Actions); Datenbank-Env-Templates für Production vereinheitlicht.

Warum: Kiosk/Companion-Deploys dürfen nicht an Frontend-Build scheitern — Betrieb braucht reproduzierbare Pipelines.

Links: Digital Signage Guide


Monat Mai 2025

2025-05-26 — Projektstart: CockpitOS Monorepo & Dashboard

Betrifft: Dashboard · Betrieb & Deploy

Was: Erstes Monorepo mit Dashboard (Next.js, Tailwind v4), Deployment-Setup und Basis-Navigation — Grundlage für alle späteren Module.

Warum: Ein gemeinsames Cockpit statt verstreuter Tools für Center-Betrieb und Redaktion.

Links: Plattform-Überblick · Getting Started


Einträge werden beim Liefern ergänzt; ältere Releases erhalten nachträglich Betrifft-Tags, wenn die Seite ohnehin angefasst wird.

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /plattform/changelog