Files
claude-projects/wuerth-plato/memory/feedback_copy_not_share.md
T

1.9 KiB

name, description, metadata
name description metadata
feedback-copy-not-share-wegwerf Bei Wegwerfcode (z.B. Migration) bewusst KOPIEREN statt geteilte Logik mit dauerhaftem Code; Flows in EINER Tier halten (Migration läuft REIN BE).
node_type type originSessionId
memory feedback da22c6d7-9f9f-4834-b8f6-bdd06d220c38

Zwei zusammenhängende Regeln, beide am 2026-05-28 hart eingefordert:

  1. Wegwerfcode kopiert benötigte Logik, statt sie zu teilen. Wenn ein Teil temporär/Wegwerf ist (z.B. die SQLite/Excel-Migration) und einen Teil aus dem dauerhaften Code braucht (z.B. den SAP-Adapter), dann kopieren — keine gemeinsame Funktion/Abstraktion zwischen Wegwerf- und Bleibe-Code.

  2. Flows nicht über Tiers springen lassen. Die Migration läuft komplett im BE: parsen → SAP-Abfrage → anreichern → speichern in EINEM BE-Durchlauf. Daten im Flow NICHT BE→FE→BE schaufeln.

Why: Beim SAP-Einbau in die Migration. Marcus wörtlich: „bitte KOPIEREN — KEINE GEMEINSAME LOGIK (das eine ist wegwerfCode, das andere brauchen wir)". Und massiver Ärger, als ich vorschlug, im Migrationsflow BE→FE→BE zu round-trippen: „Dein Schritt 1 ist ein ABSOLUTES NO GO". Davor ebenfalls Ärger, weil ich eine geteilte Offline-first-Methode (createOrUpdate) angefasst hatte, obwohl die Änderung NUR den Migrate-Schritt betreffen durfte.

How to apply: Bei Migrations-/Wegwerf-Aufgaben Logik duplizieren statt teilen. Den Offline-first-Pfad (persistentStorage.createOrUpdate/createOrUpdateList, Outbox, Reconciler, BE CommandService/CustomerCoreService.createOrUpdate(List)) nie für Migrationszwecke anfassen — dafür gibt es separate Migrations-Pfade (batchImport, replaceLocal). Flows in einer Schicht halten. Und: ein Fall nach dem anderen, kurze lesbare Antworten — er sagte „NEIN das ist mir zu unstrukturiert" und „ich kann's nicht lesen". Siehe feedback-klein-und-pragmatisch.