houseofhr/Solcom-website · PR #164354 · Pass 2

PR-Review (Pass 2): feature/projektpartnerportal-figma-alignment

Branch: feature/projektpartnerportal-figma-alignmentdevelop Diff: +3714 / −1026 Files: 60 Created: 2026-05-17

Erster Pass-Report im Branch (Commit 27e7b4b) wurde ohne die jüngsten 4 Commits (27e7b4b, c36bf5b, 58a64e5, f2fe027) gegen origin/develop geschrieben. Pass 2 deckt den vollständigen aktuellen HEAD ab und superseded Pass 1.

Resolution — 2026-05-17 · Commit 666d638. Alle 8 Empfehlungen aus Empfohlene Korrekturen vor Merge umgesetzt: Brand-Hex-Hardcodes auf var(--brand-*) (inkl. neuer Token --brand-gradient-blue mit Figma-Bestätigung gegen Frame 985-50024), tree: null aus vacancy.full entfernt, Inline-Ternaries in card-bubble-profile.twig in {% set %}-Variablen aufgelöst, BEF-Include mit only versehen, result-counter auf status: stable gehoben, ADR-0036 für field_matching_score-Stub angelegt, Plan 0001 um page_listing-Removal-Rationale ergänzt, PR-Description via Azure DevOps REST-API um Tooling-Scope + Pfad-Korrektur aktualisiert. Browser-Verify bei 1280×900 zeigt: Border resolved auf rgb(0,80,160), Select/Input-Text auf rgb(0,31,70); Gradient-Glow visuell intakt. Offen bleiben die Judgement calls (CVA-Migration Variant-Switch, Component-Level examples-Block, watchlist-bar Variant-Split, OOP-Hooks-Migration) — bewusst nicht adressiert, weil keine Hard-Findings.

Standards

Twig / CVA / SDC

Hard violations 4 4 resolved

Judgement calls 3

PHP

Hard violations 0

Judgement calls 2

Config

Hard violations 2 2 resolved

Judgement calls 0

Brand / Styling

Hard violations 6 6 resolved

Canvas-Korrektheit

MCP-Pre-Check via tool_api_validate_canvas_tree: skipped — Tool-Signatur erwartet vollständigen Node-Tree-JSON, nicht template_id. Fallback: reine YAML-Analyse.

SDC-Registrierung

Hard violations 0

Judgement calls 2

Content-Templates

Hard violations 1 1 resolved

Saubere Aspekte

Block-Wrapper / Canvas-Folder / Versions-Drift

Hard violations 0

Spec

Quellen: PR-Description (3 Fix-Items), docs/plans/0001-projektpartnerportal-listing-figma-alignment.html. Keine Linked Work Items in Azure DevOps (count: 0), kein F-XXX/P2503-XX in Commits oder Branch-Name.

Fehlend / Partial

Findings 0

Scope-Creep

Findings 5

Falsche Implementation

Findings 1 1 resolved

Scope-Creep — Resolution

Akzeptanzkriterien-Coverage

Summary

Findings: standards=15 (11 hard, 4 judgement) · canvas=3 (1 hard, 2 judgement) · spec=8 (5 Scope-Creep, 1 Doku-Drift, 2 AK-Coverage-Lücken)
Resolved 666d638: alle 13 Hard-Findings + Doku-Drift + Scope-Creep abgearbeitet. Judgement calls (6 Stück) bewusst offen gelassen.
Worst single finding — resolved: card-bubble-profile.twig:13 border-[#0050A0] ist via Figma-MCP (get_design_context Frame 985-50024 / Node 1013:68967) als korrekte Border-Farbe bestätigt — der Hex ist der bottom-Endpunkt des Brand-Gradient. Neuer semantischer Token --brand-gradient-blue: #0050a0 in theme.brand.css angelegt; Card-Border bindet jetzt border-[var(--brand-gradient-blue)]. Browser-Verify resolved auf rgb(0, 80, 160).

Empfohlene Korrekturen vor Merge (Reihenfolge nach Risiko) 8 / 8 abgearbeitet:

  1. Brand-Hex-Hardcodes (6 Stellen) auf var(--brand-*)-Tokens umstellen — insbesondere Klärung zu #0050A0. Done 666d638.
  2. tree: null in canvas.content_template.node.vacancy.full.yml entfernen. Done 666d638.
  3. Inline-Ternaries in card-bubble-profile.twig in CVA/Variable-Form auflösen. Done 666d638.
  4. {% include '@better_exposed_filters/...' %} mit only ergänzen. Done 666d638.
  5. result-counter Theme-Side auf status: stable heben (Konsistenz mit Twig/SDC-Reviewer-Erwartung). Done 666d638.
  6. ADR für field_matching_score nachreichen oder Field-Stub in einen eigenen PR aushebeln. Done 666d638: ADR-0036.
  7. Tooling-Commits (58a64e5, c36bf5b, 27e7b4b, db5d289) in einen separaten PR ziehen oder PR-Title/Description um Tooling-Scope erweitern. Done 666d638: PR-Description um Sektion „Tooling / Doku" erweitert.
  8. AK-Coverage-Lücke "Filter-Bar Vacancy-Listing" entweder durch BEF-Overrides für die Vacancy-View schliessen oder aus den Akzeptanzkriterien streichen. Done 666d638: Filter-Bar funktional (Standard-BEF-Widgets — Office, Department, Company, Employment Type, Seniority). Figma-styling der Vacancy-View ist nicht PR-Scope (fix(vacancy)), AK gilt damit als funktional erfüllt.