9.4 KiB
ui-nyla Legacy-Cleanup — Kein toter Code
Beschreibung und Kontext
Nach Abschluss des Layout-Foundation-Plans (c-work/4-done/2026-06-layout-foundation.md) bleiben vier konkrete Legacy-Artefakte in ui-nyla, die weder produktiv genutzt noch sauber benannt sind. Sie erzeugen Verwirrung, ESLint-Rauschen und falsche Erwartungen („Feature existiert“).
Prinzip: Kein Legacy-Code. Wenn etwas nicht produktiv genutzt wird → löschen. Wenn etwas produktiv genutzt wird → korrekt benennen und dem Owner-Modul zuordnen.
Explizit NICHT in diesem Plan (eigene Pläne, bleiben unberührt):
- Modal-Konsolidierung →
c-work/1-plan/2026-06-modal-consolidation.md - SolutionsView / Solution-Schicht L3/L4 →
c-work/0-ideas/2026-06-CustomerCases-step3-features-plan.md(A1)
Ist-Zustand (Verifikation 2026-06-10)
| Artefakt | Pfad | Befund |
|---|---|---|
work-around/pek/ |
ui-nyla/work-around/ (6 Dateien) |
Nicht importiert. Echtes PEK lebt in src/pages/views/realestate/pek/. Ordner war Prototyp-Duplikat; work-around/chatbot.ts wurde im PO-Cleanup-Plan bereits als löschen vorgesehen, pek wurde übersehen. |
chatworkflow Feature-UI |
FeatureView.tsx (inline Placeholder), pageRegistry.tsx, featuresApi.ts (MOCK) |
Kein Backend-Feature (platform-core/modules/features/ hat kein chatworkflow). Nur Frontend-Ghost + Dev-Mock. Ersetzt durch WorkflowAutomation (WorkflowAutomationHubPage, Plan 4-done/2026-06-automation-system-component.md). |
CommcoachDossierView.module.css |
commcoach/CommcoachDossierView.module.css |
Keine saubere Lösung. TSX wurde gelöscht, CSS-Dateiname irreführend. Einziger Import: CommcoachSessionView.tsx (Session-Chat-Styles). |
useWorkflows.ts |
src/hooks/useWorkflows.ts |
Orphan — nirgends importiert. Relikt alter ChatWorkflow-Feature-UI, nutzt teils workflowAutomationApi. |
Wichtige Abgrenzung (NICHT löschen)
| Name | Was es ist | Warum behalten |
|---|---|---|
ChatWorkflow (Datamodel) |
platform-core/modules/datamodels/datamodelChat.py |
Workflow-Engine-Tests und workflowManager.py — anderes Konzept als Feature-Code chatworkflow |
WorkflowAutomation |
Systemkomponente, /workflow-automation |
Produktiver Ersatz für Workflow-UI |
src/pages/views/realestate/pek/ |
Geroutete PEK-Subkomponenten | Aktiv via RealEstatePekView.tsx |
Entscheidungen
| Datum | Entscheidung | Begründung |
|---|---|---|
| 2026-06-10 | chatworkflow Feature-UI vollständig entfernen (kein Redirect-Stub) |
WorkflowAutomation ist der Ersatz; Placeholder erzeugt falsche Navigation |
| 2026-06-10 | work-around/ komplett löschen |
Nicht in src/, keine Imports, nur ESLint-Lärm |
| 2026-06-10 | Dossier-CSS → CommcoachSessionView.module.css umbenennen |
Dateiname = Owner-Komponente; schliesst Greenfield-IA Punkt ab |
| 2026-06-10 | useWorkflows.ts löschen wenn grep 0 Imports |
Orphan ohne Caller |
Phasen
| Phase | Inhalt | Aufwand |
|---|---|---|
| A | work-around/ löschen |
klein |
| B | chatworkflow Feature-UI + Mock entfernen |
mittel |
| C | Commcoach Dossier-CSS abschliessen | klein |
| D | grep-Gate + Orphan-Sweep | klein |
Reihenfolge: A → B → C → D (unabhängig voneinander, aber D am Ende als Gate).
Phase A — work-around/ entfernen
Warum noch da?
- Im PO-Cleanup (
4-done/2026-06-po-cleanup-neutralization-docgen.md) stand nurwork-around/chatbot.ts—pekwurde nicht gelistet. - Layout-Phase 7 hat
src/pagesbereinigt, nicht Ordner ausserhalbsrc/. - ESLint scannt
**/*.{ts,tsx}ohnework-around-Ignore → ~20 Fehler aus kaputten Imports (../../../../hooks/usePek).
Checkliste
- Verzeichnis
ui-nyla/work-around/komplett löschen (pek.ts,pek/*) grep work-aroundim Repo → 0 Treffer in Code (Wiki-Historie darf bleiben)- Optional:
eslint.config.js—ignores: ['dist', 'work-around']nicht nötig wenn Ordner weg ist npx tsc --noEmitin ui-nyla
Phase B — chatworkflow Feature-UI entfernen
Befund: wird im UI nicht produktiv genutzt
- Backend: kein Feature-Modul
chatworkflowinplatform-core/modules/features/. - Frontend: drei
PlaceholderView-Komponenten inline inFeatureView.tsx. - Mock in
featuresApi.ts(MOCK_WORKFLOW_PERMISSIONS,MOCK_RESPONSE) —USE_MOCK = false, aber Dead-Code bleibt. - Icon-Key
feature.chatworkflowinpageRegistry.tsx. - Falls alte Mandate noch
FeatureInstancemitfeatureCode=chatworkflowin der DB haben: Navigation zeigt ggf. noch einen Eintrag → kein UI mehr dahinter (404/NotFound).
Checkliste Frontend (löschen / bereinigen)
FeatureView.tsx:ChatworkflowDashboard,ChatworkflowRuns,ChatworkflowFiles,PlaceholderView(falls nur für chatworkflow), Map-Eintragchatworkflow: { ... }config/pageRegistry.tsx:'feature.chatworkflow'api/featuresApi.ts:MOCK_WORKFLOW_PERMISSIONS, chatworkflow-Einträge inMOCK_RESPONSEundfetchAvailableFeaturesMocktypes/mandate.ts: Kommentar-Beispielechatworkflow→ neutrales Beispiel (workspace)hooks/useWorkflows.ts: löschen (grep 0 Imports vorher/nachher verifizieren)ui-nyla/docs/MONETARISIERUNG_*.md: Zeilen zuchatworkflowentfernengrep chatworkflowinui-nyla/src→ 0 Treffer
Checkliste Backend / Daten (optional, falls Instanzen existieren)
Nur wenn GET /api/features/my noch chatworkflow-Instanzen liefert:
- Admin: bestehende
FeatureInstancemitfeatureCode=chatworkflowidentifizieren (SQL oder AdminFeatureAccess) - Entscheidung pro Instanz: löschen oder auf WorkflowAutomation migrieren (Daten-Migration nicht in diesem Plan — nur UI-Entfernung)
- Demo-Configs: prüfen ob Investor-Demo noch chatworkflow-Instanzen seeded (
investorDemo2026.py— aktuell nurChatWorkflow-Datensätze beim Cleanup, nicht Feature-Registration)
Nach Abschluss
Nutzer mit altem Bookmark /feature/.../chatworkflow/... sehen NotFound — gewollt, kein Redirect-Stub.
Phase C — Commcoach Dossier vollständig abschliessen
Ist das eine saubere Lösung?
Nein. CommcoachDossierView.module.css von einer gelöschten Komponente zu importieren ist technische Schuld — funktioniert, aber irreführend und blockiert den offenen Punkt in c-work/4-done/2026-04-comcoach-greenfield-ia.md:
CommcoachDossierViewENTFERNEN nach Migration aller Inhalte.
TSX ist weg; CSS-Rename fehlt noch.
Ziel-Zustand
commcoach/
CommcoachSessionView.tsx
CommcoachSessionView.module.css ← Session-Chat/Voice/Agent-Activity (ex Dossier)
Commcoach.module.css ← Shared (bereits importiert als sessionStyles)
Checkliste
CommcoachDossierView.module.css→CommcoachSessionView.module.cssumbenennen- In
CommcoachSessionView.tsx: Import anpassen (import styles from './CommcoachSessionView.module.css') - Ungenutzte CSS-Klassen im File entfernen (nur Klassen behalten, die
CommcoachSessionViewnutzt — grepstyles.in TSX) - Klasse
.dossier→.sessionRootumbenennen (Semantik, optional aber empfohlen) grep CommcoachDossierViewinui-nyla/src→ 0 Trefferwiki/b-reference/platform-core/features/commcoach.md:CommcoachDossierViewdurchCommcoachSessionViewersetzen- Checkbox in
4-done/2026-04-comcoach-greenfield-ia.mdPhase 3 abhaken (Verweis auf diesen Plan)
Phase D — Verifikation (grep-Gate)
npx tsc --noEmit— 0 Fehlergrep -r "work-around" ui-nyla/— 0 Treffer (ausser ggf. Kommentar, besser 0)grep -r "chatworkflow" ui-nyla/src/— 0 Treffergrep -r "CommcoachDossierView" ui-nyla/src/— 0 Treffergrep -r "useWorkflows" ui-nyla/src/— 0 Treffer- Manuell: CommCoach Session-Tab öffnen — Layout unverändert (Visuell-Check Voice/Chat)
- Manuell: Navigation — kein
chatworkflow-Feature mehr sichtbar
Akzeptanzkriterien
| # | Kriterium | Prio |
|---|---|---|
| 1 | Given grep in ui-nyla/src When nach Abschluss Then 0 Treffer chatworkflow, CommcoachDossierView, work-around |
must |
| 2 | Given ui-nyla/work-around/ When nach Phase A Then Verzeichnis existiert nicht |
must |
| 3 | Given CommCoach Session When Seite lädt Then Chat/Voice/Agent-UI unverändert funktional | must |
| 4 | Given npx tsc --noEmit When nach Abschluss Then 0 Fehler |
must |
| 5 | Given ESLint auf ui-nyla When nach Abschluss Then keine Fehler mehr aus work-around/pek |
should |
Links
- Layout-Plan (done):
c-work/4-done/2026-06-layout-foundation.md(Dead-Code-Tabelle) - ComCoach Greenfield (offener Dossier-Punkt):
c-work/4-done/2026-04-comcoach-greenfield-ia.md - PO-Cleanup (Vorgänger work-around/chatbot):
c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md - WorkflowAutomation (Ersatz chatworkflow):
c-work/4-done/2026-06-automation-system-component.md - Modal-Plan (separat):
c-work/1-plan/2026-06-modal-consolidation.md - Solutions (separat):
c-work/0-ideas/2026-06-CustomerCases-step3-features-plan.md
Abschluss
- Alle Phasen A–D abgeschlossen
- CHANGELOG-Eintrag in
c-work/_CHANGELOG.md commcoach.mdaktualisiert (lastReviewed/verifiedAgainst)- Dieses Dokument →
c-work/4-done/verschoben