Skip to content

Fix/wizard review findings - #87

Closed
Thorfinson wants to merge 85 commits into
mainfrom
fix/wizard-review-findings
Closed

Thorfinson wants to merge 85 commits into
mainfrom
fix/wizard-review-findings

Conversation

@Thorfinson

Copy link
Copy Markdown
Member
  • fix undo/redo, Python injection and tooltip XSS
  • make pipeline options work; handle missing values
  • split step 4 into Projection + Glyphs & Color
  • add a11y and design tokens
  • upgrade Angular 21.2.24 and druidjs 0.9 (LLE hidden)
  • switch tests to Vitest; update CI to Node 24
  • ship licence notices; update docs

TBum1404 and others added 30 commits July 16, 2026 14:09
Parameter jeder Projektionsmethode erscheinen nun innerhalb der Methoden-Card
statt in einem separaten Block darunter; pro Box ein Reset auf die Defaultwerte.
ROADMAP-Hinweis ergaenzt: unklare Farbdefinition gehoert zu A1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Auswahl der in die Projektion einfliessenden Spalten aus Schritt 3 entfernt und
in Schritt 4 als zweispaltige Section 'Projection Options' platziert (links
Spalten, rechts Methode). Schrittbeschreibungen in step-info.ts geschaerft.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Akzentfarben aus _variables.scss ($active-color / $status-info) statt hart
codiert; Tri-State-Master-Checkbox im Listenkopf statt Select-all/Clear-Links;
ausgeschlossene Spalten ausgegraut + durchgestrichen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Gemeinsame Auswahl-Mixins in _wizard-shared.scss; Auswahl links, Tri-State-
Select-all im Kopf, keine Typ-Farbcodierung. Akzent nutzt bestehende
$active-color (#00bcd4) statt eines neuen Tokens; Header- und Zeilen-Checkbox
vertikal ausgerichtet (15px).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expanded-Card bleibt in ihrer Grid-Zelle (Breite konstant); Hoehe animiert per
CSS grid-template-rows 0fr->1fr; Parameter fuellen die Spaltenbreite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Typ als farbloses Label (data-type-badge entfaerbt); Distribution durchgehend
Cyan; funktionale Suche + Typ-Filter in Schritt 3. Schritt 3 als Master-Rail +
eingelassenes Imprint-Well mit Breadcrumb, Warning-Counts und Settings-Card.
Keine Projektions-Auswahl mehr in Schritt 3 (liegt in Schritt 4 / A13).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ecken

overflow:hidden auf .params-wrapper, damit Border/Padding der inneren
.inline-params bei 0fr nicht als Rest sichtbar bleiben.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…Drop-in, Scroll

Suche + Typ-Filter ueber der Available-Liste; Drag-and-drop-Reihenfolge der
gewaehlten Features (Reihenfolge persistiert); Drag-in aus Available an Position
und Drag-out zum Entfernen (Klick-Add/Remove bleibt); max-height + Scroll auf
beiden Listen, damit das Layout bei vielen Spalten haelt. Natives HTML5-DnD.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bare .params-clip (min-height:0; overflow:hidden) als Grid-Kind; Padding/Rand
bleiben auf .inline-params darin. So kollabiert der 0fr-Track wirklich auf 0,
kein sichtbarer Rest mehr im eingeklappten Zustand.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…, Drag-Cursor

Lange Feature-Namen in der Glyph-Preview nicht mehr abgeschnitten (overflow
visible, keine 14-Zeichen-Kuerzung); Smart-Suggestions-Button auf den
Continue-Button-Stil (btn-primary, cyan); grab/grabbing-Cursor auf Available-Rows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
feat(a13): Spaltenauswahl für Projektion von Schritt 3 nach Schritt 4
step3.html-Konflikt zugunsten des A15 Option-1d-Redesigns aufgeloest;
step3.ts/step4.* auto-gemerged, Build gruen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
$wizard-header-row-height + list-header-row Mixin in _wizard-shared.scss;
angewandt auf Schritt-2-Tabellenkopf und alle Schritt-4-Listenkoepfe inkl.
A13 Projection-Columns-Header/Select-all-Zeile.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
feat(a15): Einheitliches Tabellen-/Listen-Designsystem
step4.html-Konflikt zugunsten A5 aufgeloest: alter Full-Width-Parameterblock
entfernt (Parameter liegen in den Methodenboxen). Build gruen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
feat(a5): Projektionsparameter in die Methodenbox gruppieren
…otiert

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
TBum1404 and others added 29 commits July 21, 2026 20:54
feat(a10/a7): Layout-Robustheit und ehrliche Signifier
feat(a3): Fehlermeldungen inline, verstaendlich, loesungsorientiert
# Conflicts:
#	src/app/preprocessing-wizard/steps/step2-column-selection/step2-column-selection.component.html
#	src/app/preprocessing-wizard/steps/step2-column-selection/step2-column-selection.component.scss
#	src/app/preprocessing-wizard/steps/step2-column-selection/step2-column-selection.component.ts
#	src/app/preprocessing-wizard/steps/step3-configure-data-features/step3-configure-data-features.component.html
feat(a14): Übergangsanimation Schritt 2 zu 3
…-Tests

- setGlyphFeatures kopiert das Array, statt die Referenz des Step-4-Arrays
  zu halten (In-place-Splices verfaelschten sonst Undo-Snapshots)
- removeGlyphFeature blockiert unter MIN_GLYPH_FEATURES statt lokalen
  Zustand und Service stillschweigend zu desynchronisieren
- Farbattribut und Farbskala werden nun (historyReady-gated) auf den
  Undo-Stack gelegt, damit sie wie alle anderen Einstellungen umkehrbar sind
- 21 neue Tests: History-Engine (12) + Step-4 Glyph/Farbe (9)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… Undo-Aktionen

- Wizard-Shell-Spec (neu): Tastenkuerzel (Strg+Z / Umschalt+Z / Y, Cmd,
  natives Feld-Undo), Historie-Hinweis inkl. Timer und Deep-Link, Tooltips,
  Schritt-Neuaufbau nach stateRestored$
- Service-Spec: datengetriebene Abdeckung aller 16 SETTING_META-Diff-Schluessel
  plus Spalte-hinzugefuegt/entfernt; Round-Trips fuer setColumnsEnabled,
  select/deselectAll, Cleaning, Projektion und Datei laden/ersetzen
- Step-4-Spec: Drag-Reorder/Hinzufuegen/Entfernen, Empfohlene Merkmale,
  Projektionsspalten-Toggle
- 45 neue Tests, Suite jetzt 115 gruen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Neue Komponente projection-preview: animierte Canvas-Vorschau je Projektionsmethode (portiert aus ClaudeDesign-Vorlage, eine Methode pro Instanz, laeuft nur bei geoeffnetem Popup)
- Step 4: Hilfe-Icon mit Vorschau-Popup auf jeder Projektionskarte und bei FastMap (Badge Always active)
- Step 4: Erklaertexte fuer Farbattribut und Farbskala (colorFeature, colorScale) eingebunden
- Step 3: Smart-Defaults-Erklaertext an der Spalten-Konfigurationskarte
- Outlier-Tooltip um die zwei Prinzipien (IQR vs Z-Score) und den Strenge-Hinweis ergaenzt
- Tooltip bleibt beim Hineinfahren offen (Grace-Period), Voraussetzung fuers Lesen/Betrachten der Vorschau (C-S4-04)
- Hilfe-Icon nicht mehr dauerhaft blau nach Klick (Farbe nur bei Hover / :focus-visible)
- Tooltip-Platzierung in Schritt 3 korrigiert: gsap.from() hinterliess ein inline transform auf .detail-well, wodurch fixed-Tooltips relativ zur Welle statt zum Viewport rechneten; clearProps entfernt es nach der Animation
- Tooltips bis zur Positionsberechnung ausserhalb des Sichtfelds geparkt, Clamping an clientWidth/Height -> keine horizontale Scrollbar
- .detail-well overflow-x: hidden; .detail-card waechst mit Inhalt (kein Abschneiden)
Konflikte gelöst:
- preprocessing-wizard.component.ts: HostListener (A4) + ChangeDetectorRef (A14) beide behalten
- preprocessing.service.spec.ts: A4-Undo-Suite + A3-Fehlerbehandlungs-Suite zusammengeführt
- preprocessing-wizard.component.html: A4 stepVisible-Wrapper behalten; A3-Fehlerbanner
  entfernt (Fehleranzeige liegt jetzt in Schritt 5)
- Shell-Spec: ChangeDetectorRef-Stub als zweites Konstruktor-Argument

Verifiziert: Produktions-Build grün, 150 Tests grün.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
feat(a4): Rueckgaengigmachen und Zuruecksetzen (Undo/Redo)
…defekte

A1 + A11: Erklärungen (visuelle Projektions-Tooltips) und Defekt-Fixes
- docs/superpowers/plans/ und specs/ (A14-Morph Plan/Spec) aus dem Arbeitsbaum entfernt
- docs/superpowers/ in .gitignore, damit kuenftige Brainstorming-/Plan-Artefakte nicht committet werden
…uegerer colorFeature-Default

A2-Nachtrag (Hoch + Mittel):
- Hochkardinalitaets-Heuristik: Text/Categorical/ID-Spalten mit >=90% einzigartigen Werten (und >20 Zeilen) starten abgewaehlt; Numeric/Date ausgenommen. isHighCardinality + issueDescription in preprocessing.service.ts
- Schritt 2: expliziter 'Auto-deselected'-Marker mit Begruendung (issueDescription) getrennt vom Qualitaets-Warnicon; Tipp-Text erweitert um 100%-Unique/Reaktivierung
- Schritt 4: colorFeature-Default waehlt niedrig-kardinales Kategoriemerkmal, sonst varianzstaerkste Numeric, statt columns[0]; Hinweis im Erklaertext
- 7 Unit-Tests fuer die Auto-Deselect-Heuristik
…ifacts

chore: Planungsartefakte entfernen (docs/superpowers) + gitignore
…faults

feat(a2): Smart Defaults erweitern (A2-Nachtrag) - Hochkardinalitaet Schritt 2 + colorFeature
…den als offenen Punkt ausserhalb des Umfangs aufgenommen
… list

Step 5's blocking-error screen and retry toast still had German text.
Also fixes the K7 "distinct values" message listing the same offending
column twice: the Python wrapper re-raised without `from None`, so the
chained traceback repeated the offender text; the JS classifier now
also dedupes matches defensively.
…ate-columns

fix(wizard): translate step5 status text to English, dedupe K7 column list
- fix undo/redo, Python injection and tooltip XSS
- make pipeline options work; handle missing values
- split step 4 into Projection + Glyphs & Color
- add a11y and design tokens
- upgrade Angular 21.2.24 and druidjs 0.9 (LLE hidden)
- switch tests to Vitest; update CI to Node 24
- ship licence notices; update docs
@Thorfinson Thorfinson closed this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants