Lebendes Kontroll-Dokument fuer die Kunden-QA am Mittwoch, 24.06.2026. Ziel ist keine schnelle Zehner-Serie, sondern vollstaendige Abdeckung aller user-facing Cluster. Zehn gruene Faelle in Folge sind nur ein Zwischenindikator.
Aktueller Lauf: Szenarien bleiben Pending, bis sie im aktuellen
Browser-Lauf live neu verifiziert wurden. Historische Blocker sind unten sichtbar
und werden pro Matrix-Fall neu bestaetigt, gefixt oder entkraeftet.
FM-P0-09 Verfuegbarkeit, FM-P0-10 Legal-Copy und FM-P1-04 Kontakt-Submit wegen FriendlyCaptcha-Automation-Guard.
4 erfolgreiche Cases in Folge: FM-P1-05, FM-P1-06, FM-P2-01 und FM-P2-02 wurden nach Retest als gruen abgeschlossen.
Pass, Fixed oder bewusst Blocked sind.
Die Zeilen sind bewusst HTML-nah gehalten: Status, Evidence, Regression und Notes koennen direkt in der jeweiligen Tabellenzeile fortgeschrieben werden.
| ID | Prio | Cluster | Persona | Route / Einstieg | Schritte | Expected Result | Status | Regression | Benchmark | Evidence | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| FM-P0-01 | P0 | Projektliste | Anonymer Freelancer | /fuer-freiberufler/projektliste?keywords=... |
|
Aktuelle Treffer, funktionierende Filter-/Sort-Controls, stabile Detail-Links, saubere Mobile-Darstellung. | Fixed | ProjectOfferListingBehaviorAssetsTest erweitert; Browser-Retest gruen. | Desktop Filter-Submit 419ms, Sort-URL, Pager ?page=1, Mobile 375px ohne Overflow. |
Filter-Retest · Mobile · Video | Fail B-008 reproduziert und in project-filter.js gefixt; B-007/B-010 im aktuellen Lauf nicht mehr reproduzierbar. |
| FM-P0-02 | P0 | Projektdetail | Anonymer Freelancer | /fuer-freiberufler/projektliste/{slug} |
|
Projektinhalt, JobPosting JSON-LD, interner Bewerben-Link und externer Minggo-Link sind konsistent. | Fixed | ProjectOfferListingBehaviorAssetsTest erweitert; Browser-Retest gruen. | Detail Desktop 1684ms; Mobile 375px nach Cache-Buster ohne Overflow; Sticky-Bar sichtbar. | Sticky Desktop · Mobile · Video | Detail-Links sind echte Canonical-Slugs. Sticky-Bar initialisierte nur Vacancy-Seiten; Mobile-Eckdaten nutzten flex-nowrap. Beides gefixt. |
| FM-P0-03 | P0 | Projektbewerbung | Gast und Projektpartner | /fuer-freiberufler/projektliste/{slug}/bewerben |
|
Danke-/Erfolgsmeldung, neuer rsm_project_offer_application-Datensatz, Bewerbungsmail, korrekte Projektkontext-Hidden-Felder. |
Pass | Bestehender Mailhandler- und Route-Vertrag plus Live-Browser-Submit. | Submit dauerte 8900ms; Webform-Submission sid=2, Datei fid=89, Mailhandler-Notice wid=110700. |
Submit · Mobile · Video | Leerer Submit validiert nativ; Happy Path zeigt Danke-Meldung, private Datei unter private://rsm-applications/, Mail an bewerbung@solcom.de mit CC an Projektkontakt. |
| FM-P0-04 | P0 | PPP Registrierung | Neuer Projektpartner | /projektportal/registrieren |
|
Gesperrter User vor Verifizierung, aktiver User danach, Profil und Dokumente angelegt, keine Admin-Oberflaeche sichtbar. | Fixed | Page-Title-Wrap-Regression plus ProjektpartnerMailFlowTest. | Live-Submit: User uid=8, Profil profile_id=2, Datei fid=90, Watchdog wid=110704/110705; Mailflow-Test: 1 Test, 46 Assertions. |
Submit · Mobile Fix · Video | Browser-Wizard erstellt blockierten Projektpartner und private Datei. Live-Mailpit-API lieferte nur Schemaansicht; Verifizierungs-/Welcome-Mail-Vertrag ist durch testRegistrationSendsVerificationMailAndVerificationActivatesAccount belegt. |
| FM-P0-05 | P0 | PPP Login / Passwort-Reset | Projektpartner | /projektportal/login/user/login/user/password |
|
Login fuehrt ins Portal, Reset bleibt enumeration-safe, neues Passwort funktioniert, kein Admin-Chrome fuer Endnutzer. | Pass | Bestehende Functional-Coverage fuer Redirects plus Live-Browser-Login/Reset; keine Codeaenderung noetig. | Aktivierung uid=8; Login mit E-Mail; Reset unknown wid=110709, real wid=110710; neues Passwort erfolgreich. |
Neues Passwort Login · Mobile Portal · Video | Mailpit-API lieferte keine Nachrichtendaten; Watchdog belegt Reset-Mailversand. Reset-Link-Route wurde mit generiertem Core-One-Time-Link fuer denselben Nutzer geprueft. |
| FM-P0-06 | P0 | Profil / Konto | Eingeloggter Projektpartner | /projektportal/profil/projektportal/profil/bearbeiten/projektportal/konto/einstellungen |
|
Profil speichert, private Dateien bleiben owner-only, E-Mail-Wechsel ist Double-Opt-In, Loeschung entfernt Account/Profil/Dateien. | Fixed | Post-update-Kernel fuer Profilcopy, Functional fuer Profil/Konto-Cancel, Kernel-Purge fuer Profil/Dateien, Browser-/DB-Retest. | Profil-Update mit Datei fid=91, E-Mail-Double-Opt-In via KeyValueExpirable, Newsletter-Flag, private Datei owner-allowed/anonym 403, Account-Deletion uid=9. |
Profil gespeichert · E-Mail pending · Delete confirmed · Video | Mailpit-API lieferte keine Nachrichtendaten; Double-Opt-In wurde mit Browserstatus, aktiv bleibender alter Mailadresse und Store-Wert verifiziert. Destruktive Loeschung mit separatem Wegwerfaccount. |
| FM-P0-07 | P0 | Merkliste | Anonymer und eingeloggter Freelancer | /projektportal/merkliste/projektportal/merkliste/bewerben |
|
Anonyme localStorage-Liste, serverseitige Persistenz nach Login, korrekter Apply-All-Kontext. | Fixed | Asset-Regressionsvertrag fuer Remove-UI und Mobile-Action-Wrap; Kernel fuer Watchlist-JSON-API; Browser fuer localStorage-Merge, Apply-All, Remove und Mobile. | Anonym localStorage=["a1WSZ000007YY9h2AG"]; nach Login serverseitig user.data uid=8, localStorage geloescht; Apply-All auf /projektportal/merkliste/bewerben; Remove leert UI und Store; Mobile 375px ohne Overflow. |
Merge · Apply-All · Remove fixed · Video | Ein echtes Projektangebot (a1WSZ000007YY9h2AG) als Golden-Sample. Die serverseitige Test-Merkliste von uid=8 wurde nach dem Lauf geleert. |
| FM-P0-08 | P0 | Suchagent / Projekt-Alert | Projektpartner und anonymer Interessent | /projektportal/suchagent/projektportal/projekt-alert/abonnieren |
|
Suchkriterien speichern, Cron-Mail dedupliziert, Gast-Alert Double-Opt-In und Abbestellen funktionieren. | Fixed | Regression im Token-Confirmation-Test; komplette ProjectOfferAlertSubscriptionTest-Datei; komplette solcom_projektpartner_alert-Suite; Browser/DB-Retest fuer Suchagent und Double-Opt-In. |
Suchagent: ppp_alert id=2 uid=8 status=1, Region DE. Gast-Alert: Pending confirmed=0, Confirm confirmed=1, Unsubscribe 0 Rows. Cron/Mail/Matcher-Suite gruen. |
Suchagent · Subscribe · Confirm fixed · Video | Fail gefunden: Confirm-Route setzte Entity aktiv, zeigte aber wegen fehlerhaftem Render-Array nur Vielen Dank!. Nach Fix sichtbarer Aktivierungstext und DB-State geprueft. Tagify wurde ueber reale Autocomplete-Whitelist Drupal entity_id=2954 bedient. |
| FM-P0-09 | P0 | Verfuegbarkeit | Projektpartner mit Token-Link | /projektportal/verfuegbarkeit?id=test |
|
Entweder funktionierender Verfuegbarkeitsflow oder klar dokumentierter Scope-/Human-Decision-Blocker ohne kaputte 404-Komponente. | Blocked | Route-Liste per Drush; Browser-Gegenprobe fuer id, hash und Route ohne Query; Canvas-404-Regressionstest fuer deutsche 404-Komponente. |
Keine Drupal-Route fuer /projektportal/verfuegbarkeit; Legacy-Mailtemplates verweisen auf ?hash=.... 404-Fallback nach Fix: HTTP 404, H1 Seite nicht gefunden, deutsche Copy, Mobile 375px ohne Overflow. |
Desktop · Mobile · 404 fixed | Availability selbst bleibt HD-002: Route, Tokenmodell, Importdaten und fachlicher Scope fehlen. Der kaputte 404-Fallback wurde als separater User-facing-Fix geschlossen. |
| FM-P0-10 | P0 | Navigation / Footer | Alle anonymen Besucher | /Header-MenuesFooter-Links |
|
Interne Ziele, keine fremden Staging-Hosts, Tastatur/Touch nutzbar, keine leeren Zielseiten. | Blocked | Browser + Link-Inventar; MenuLinkUriUpdateTest; NormalizeCanvasComponentDefaultsTest. | Desktop/Tablet/Mobile-Screenshots; 21 interne sichtbare Header-/Footer-Ziele geprueft; keine Staging-Links; Mobile 375px ohne Overflow. | Desktop · Mobile · Consent | Technisch gefixt: Footer-#-Links, leere Standorte/Kontakt-Stubs, leere Header-Stubs und Canvas-Heading-RuntimeError. Blocker bleibt: /datenschutz und /terms-service enthalten Legal-Platzhaltercopy. |
| FM-P1-01 | P1 | Karriere-Funnel | Bewerber | /karriere/karriere/{slug} |
|
Liste, Detail, JSON-LD, Filter und Apply-Einstieg passen fuer aktuelle Vacancy-Daten. | Fixed | MenuLinkUriUpdateTest; Browser-Retest fuer Liste, Filter, Detail, Apply-Einstieg und Mobile. | Liste: Offene Stellen | SOLCOM, 33 Treffer; Berlin-Filter: 2 Treffer; Detail: JobPosting; Apply-Einstieg: Formular fuer passende Vacancy. |
Liste · Filter · Detail · Mobile | Fail gefunden und gefixt: View-Page ueberschrieb den Default-Title mit leerem title: '', dadurch war der Browser-Title nur | SOLCOM. Nach Fix kein horizontaler Overflow auf 375px. |
| FM-P1-02 | P1 | Vacancy-Bewerbung | Bewerber und HR | /karriere/{slug}/bewerben |
|
Submission, Queue-Item, Success-/DLQ-Pfad und private File-Ablage sind nachvollziehbar. | Fixed | VacancyApplicationAssetsTest; ApplicationQueueWorkerTest; VacancyApplicationFormLayoutTest; Browser-Submit und DB-Evidence. | Submission sid=4, Queue-Item submission_id=4, CV private://applications/solcom-vacancy-qa-cv.pdf, Desktop/Mobile ohne Console-Errors oder Overflow. |
Submit · Mobile · Video | Keine echte Personio-Uebertragung ausgefuehrt. Der lokale Browser-Submit erzeugte Webform-Submission und Queue-Item; Worker-/DLQ-Pfade sind ueber Kernel-Tests mit Stub-Client abgedeckt. Fail gefunden und gefixt: langer Vacancy-Titel verbreiterte die mobile Apply-Seite. |
| FM-P1-03 | P1 | Unternehmen-/Content-Routen | Unternehmen, Freelancer, Bewerber | /fur-unternehmen/leistungen-branchen/zusammenarbeit/unternehmen/referenzen/uber-solcom/karriere-bei-solcom |
|
Jede Route hat passenden sichtbaren Hauptinhalt, deutsche SOLCOM-Texte und mobile Controls innerhalb des Viewports. | Fixed | NormalizeCanvasComponentDefaultsTest; CanvasContentLayoutAssetsTest; Browser-Retest aller sechs Routen. | Alle sechs Routen bei 1280px und 375px: H1 sichtbar, keine bekannten Placeholder/Englisch-Demo-Texte, keine falschen test@test.de- oder Joblist-Links, keine Page-Overflows, keine Console-/Page-Errors. |
Unternehmen Mobile · Leistungen Mobile · Zusammenarbeit Mobile · Karriere Mobile | Fail gefunden und gefixt: Canvas-Public-Content enthielt Demo-/Placeholder-Komponenten, falsche Links, fehlende H1-Semantik und mobile CTA/Accordion-Overflows. Finale Karriere-Screenshots wurden nach Browser-Session-Neustart mit Cache-Busting aufgenommen. |
| FM-P1-04 | P1 | Kontakt / Newsletter | Unternehmen und Interessenten | /kontakt/form/contact-form/form/newsletter-signup/kontakt/kontaktdaten |
|
Kontakt- und Newsletter-Submits liefern sichtbares Feedback und persistente/versendete Daten ohne Layoutbruch. | Blocked | PublicWebformCopyUpdateTest; WebformPageTemplateTest; NewsletterSignupSmokeTest; NormalizeCanvasComponentDefaultsTest. | Newsletter-Submit gruen: sid=5, qa.newsletter.1782180071933@example.test. Kontakt-Anzeige gruen auf /kontakt und /form/contact-form. Kontakt-Submit bleibt in automatisiertem Browser blockiert: FriendlyCaptcha setzt .HEADLESS_ERROR. |
Kontakt Desktop · Newsletter Submit · Captcha Blocker | Gefixt: deutsche Webform-Copy, direkte Webform-H1s, Newsletter-CTA/Confirmation und englische Canvas-Intro-Copy auf /kontakt. Offen: menschlicher Kontaktformular-Submit in nicht-automatisiertem Browser oder explizite Test-Captcha-Strategie. |
| FM-P1-05 | P1 | Standort / Map / Consent | Besucher mit Datenschutzpraeferenz | /kontakt/kontaktdaten/solcom-gmbh-standorte/standorte-strang-3 |
|
Kontakt-/Standortdaten sichtbar; externe Embeds werden erst nach Consent geladen oder klar blockiert. | Fixed | StandortDisplayBlockTest; NormalizeCanvasComponentDefaultsTest; Browser-Retest Hauptseite und Legacy-Aliases. | DOM-Signal: Titel Standorte und Kontaktdaten | SOLCOM, H1 11 Standorte in der DACH-Region, Standortdaten sichtbar, kein maps.googleapis.com-Script ohne Aktion, Google-Maps-Fallback-Link vorhanden, kein Overflow. |
Desktop · Mobile · Alias 1 · Alias 2 | Gefixt: generischer Titel/H1, kaputte Mail-Obfuscation, blanke Map ohne API-Key/Consent-Fallback und zwei leere Legacy-Standort-Aliases. Wenn ein Google-Maps-Key gesetzt ist, laedt die interaktive Karte erst nach Nutzeraktion. |
| FM-P1-06 | P1 | Vendor-/SEO-Schnittstellen | Vendor, Crawler, SEO | /feeds/freelancermap.xml/feeds/freelance.xml/feeds/gulp.html/asp/robots/detail.aspx |
|
Vendor-Feeds stabil, legacy Klickstrecken intakt, SEO-Daten valide und ohne interne Platzhalter. | Fixed | GulpLegacyRedirectTest; komplette solcom_project_offer_feeds/tests/src/Kernel-Suite; HTTP-/Browser-Evidence. |
Freelancermap/Freelance XML 200 mit application/xml und X-Robots-Tag: noindex, nofollow; Gulp HTML canonical 200, /feeds/gulp.html 301; bekannte SF-ID 301, unbekannte SF-ID 404; Detailseite mit Canonical und JobPosting. |
FM XML · Freelance XML · Gulp HTML · 404 Evidence · SEO Screenshot | Fail gefunden und gefixt: Legacy-Detail-Redirects variierten cache-seitig nicht nach Query-Args. Nach bekanntem SF-ID-Redirect konnte eine unbekannte SF-ID faelschlich denselben 301 erhalten. Fix: url.query_args-Cache-Context auf 301/404-Responses. |
| FM-P2-01 | P2 | Card-/SDC-Visuals | Site Builder und Endnutzer | /fur-unternehmen/leistungen-branchen/zusammenarbeit/unternehmen/referenzen/karriere-bei-solcom |
|
SDCs rendern ohne Schema-Fehler, Overlap und offensichtliche Brand-Abweichung. | Pass | Browser-Visual-Smoke auf echten Canvas-Seiten; kein Code-Fix noetig, daher keine neue Kernel-Regression. | 15 Screenshots: fuenf Routen bei 1280x900, 768x1024 und 375x900. Alle DOM-Pruefungen: htmlWidth == viewport, keine Placeholder-Flags, keine Page-/Console-Errors. |
Unternehmen 1280 · Leistungen 768 · Zusammenarbeit 375 · Referenzen 375 · Karriere 375 | Slider-Slides auf /zusammenarbeit liegen erwartungsgemaess seitlich ausserhalb des Viewports, erzeugen aber keinen Page-Level-Overflow; die Page-Breite bleibt in allen Viewports stabil. |
| FM-P2-02 | P2 | Accessibility Smoke | Tastatur- und Screenreader-Nutzer | P0- und P1-Seiten |
|
Keine P0-a11y-Blocker: Fokus, Labels, Fehlermeldungen und Dialoge bleiben bedienbar. | Pass | Browser-DOM-A11y-Smoke auf fuenf kritischen Seiten; echter Tabpfad Desktop/Mobile; Formular-Required-Fokus; Consent-Dialog-Fokus. Kein lokales axe-Paket verfuegbar. | DOM-Smoke: keine unbenannten Focusables/Controls, keine sichtbaren Bilder ohne Alt, keine aria-hidden-Focusable, keine relevanten Duplicate IDs, kein Overflow. Keyboard: Skip-Link, Header, Mobile-Menue, Newsletter-Required-Fokus und Consent-Fallback pruefbar. |
Home Focus · Mobile Menu · Newsletter Required · Consent Dialog | Kein vollstaendiger WCAG-Audit und kein Screenreader-Lauf. Editoria11y ist im Projekt konfiguriert, aber fuer diesen anonymen Browser-Smoke wurde kein gesonderter Editoria11y-Report erzeugt. |
Diese Liste verhindert Schoenrechnung. Jeder Eintrag muss im aktuellen Lauf neu bestaetigt, gefixt oder als nicht mehr reproduzierbar markiert werden.
| ID | Cluster | Befund aus Startkontext | Naechste Aktion |
|---|---|---|---|
| B-007 | Projektliste | Clean-URL zeigte stale 1000er QA-Zustand, Query-Zustand 157 Treffer. | 2026-06-22 neu geprueft: Clean-URL zeigt 157 Treffer und reale Projektkarten; nicht reproduzierbar. |
| B-008 | Projektliste | Filter-Submit und Enter-Submit wirkten im Browser nicht. | Reproduziert, gefixt und regressiongetestet: ersetzter Submit-Button delegiert jetzt per requestSubmit(). |
| B-009 | Projektliste | Stale QA-Detail-Links fuehrten zu 404. | 2026-06-22 neu geprueft: Listen-Links sind echte Canonical-Slugs; zwei Detailseiten direkt erreichbar, inklusive externer Minggo-CTA. |
| B-010 | Projektliste Mobile | Sortierlabel Bestes Matching wurde im Mobile-Control unsauber geclippt. | 2026-06-22 bei 375px neu geprueft: kein Horizontal-Overflow, Sort-Control 199px breit, Label sichtbar. |
| B-011 | Freelancer-Einstieg | /fuer-freiberufler renderte 404. | Entscheiden: Landingpage, Redirect oder bewusster Scope-Blocker. |
| B-012 | Profilroute anonym | /mein-projektpartnerprofil zeigte keinen Profil-/Login-Inhalt. | 2026-06-23 als leerer Canvas-Stub bestaetigt und aus der sichtbaren Main-Navigation deaktiviert; fachlicher Auth-Gate/Redirect-Entscheid bleibt fuer Direktaufruf offen. |
| B-013 | Unternehmen | /fur-unternehmen zeigte fachfremden englischen H1/CTA. | 2026-06-23 gefixt und retested: Demo-/Approval-Workflow-Komponenten entfernt; H1, CTA und Mobile 375px sind sauber. |
| B-014 | Karriere bei SOLCOM | /karriere-bei-solcom hatte keinen H1 und Mobile-Typo SOLCOIM. | 2026-06-23 gefixt und retested: H1-Level gesetzt, SOLCOIM korrigiert, alter Joblist-Link und Video-Platzhalter entfernt. |
| B-015 | Leistungen / Branchen | Mobile CTA war 479px breit bei 390px Viewport. | 2026-06-23 gefixt und retested: Canvas-CTA-Regeln wrappen mobil; test@test.de wurde zu mailto:info@solcom.de. |
| B-016 | Zusammenarbeit | /zusammenarbeit zeigte keinen H1 und keinen sichtbaren Main-Workflow. | 2026-06-23 neu geprueft und gefixt: H1/Main-Workflow sichtbar, Button label entfernt, Slider bleibt viewport-stabil. |
| B-017 | Kontaktformular | Kontakt-Submit ist im automatisierten QA-Browser nicht abschliessbar: FriendlyCaptcha setzt .HEADLESS_ERROR und zeigt Browser check failed, try a different browser. | Anzeige- und Copy-Fehler wurden gefixt; Submit braucht manuelle Gegenprobe in nicht-automatisiertem Browser oder eine explizite Test-Captcha-Strategie. |
| B-018 | Standort / Map / Consent | /kontakt/kontaktdaten zeigte generische Titel-/H1-Copy, eine kaputte Mail-Obfuscation und eine blanke Map ohne API-Key; /solcom-gmbh-standorte und /standorte-strang-3 renderten als leere Canvas-Seiten. | 2026-06-23 gefixt und retested: deutsche Standort-Copy, mailto:info@solcom.de, sichtbarer Map-Fallback mit externem Google-Maps-Link und beide Legacy-Aliases auf /page/86 retargetet. |
| B-019 | Vendor-/SEO-Schnittstellen | /asp/robots/detail.aspx konnte nach einem gecachten bekannten SF-ID-Redirect eine unbekannte SF-ID faelschlich als 301 auf denselben Canonical-Slug beantworten. | 2026-06-23 gefixt und retested: Redirect-Hit und -Miss tragen url.query_args als Cache-Context; bekannter SF-ID-Aufruf bleibt 301, direkt folgender unbekannter SF-ID-Aufruf ist 404. |
Neue Fehler werden hier eingetragen, sobald ein Matrix-Fall im aktuellen Lauf scheitert.
| Run | Case | Fail | Root Cause | Fix / Decision | Retest |
|---|---|---|---|---|---|
| 2026-06-22-01 | FM-P0-01 | Projektlisten-Filter: sichtbarer Klick auf Projekte anzeigen blieb auf Clean-URL mit 157 Treffern; direkte Query ?aufgaben=zzzz-no-match-20260622 lieferte korrekt 0 Treffer. | project-filter.js ersetzte native Submit-Inputs durch Buttons; generische Click-Handler verhinderten den nativen Submit, ohne den neuen Button als echten Submitter weiterzureichen. | Originalattribute werden auf den Button kopiert; der Button delegiert per form.requestSubmit(btn). Drawer-Close laeuft erst im naechsten Tick. | Koordinatenklick auf sichtbaren Button: URL mit aufgaben, 0 Treffer, Empty-State sichtbar, keine Console-Errors. |
| 2026-06-22-02 | FM-P0-02 | Projektangebot-Sticky-Bar war auf externen Detailseiten im DOM, blieb aber unsichtbar; Mobile-Eckdaten erzeugten bei 375px horizontalen Overflow (Remote bis x=392). | sticky-apply-bar.js initialisierte nur article.node--type-vacancy; Projektangebot-Meta-Row nutzte flex-nowrap. | Sticky-JS nutzt jetzt das owning article.node--type-vacancy, article.node--type-project-offer; Projektangebot-Meta-Row wrappt mit flex-wrap gap-x-8 gap-y-4. | Desktop-Sticky sichtbar (is-visible), externer Minggo-Link korrekt; Mobile 375px: bodyScrollWidth=375, keine Overflow-Elemente, Sticky sichtbar. |
| 2026-06-22-03 | FM-P0-04 | PPP-Registrierung Mobile: Seitentitel PROJEKTPARTNER REGISTRIEREN verbreiterte den 375px-Viewport auf bodyScrollWidth=414. | Globales page-title.html.twig renderte lange H1s ohne min-w-0, max-w-full oder break-words. | Page-Title-Template erhaelt mobile Wrap-Constraints: min-w-0 max-w-full break-words. | Cache-Buster-Retest auf /projektportal/registrieren: bodyScrollWidth=375, docScrollWidth=375, kein Overflow, Screenshot captured. |
| 2026-06-22-04 | FM-P0-06 | Profil-bearbeiten-Seite zeigte zwei Lorem-ipsum-Abschnitte im sichtbaren Hauptinhalt. | Canvas-Seite fuer /projektportal/profil/bearbeiten enthielt noch Platzhaltercopy aus dem Aufbauzustand. | Post-update ersetzt die exakten Lorem-Komponenten durch deutschen Portaltext. | Browser-Retest: hasLorem=false, neue Copy sichtbar; Kernel-Test deckt den Update-Pfad ab. |
| 2026-06-22-05 | FM-P0-06 | Profil-Save zeigte englische Core-Statusmeldung The profile has been saved.. | Native Profile-Edit-Form wurde unveraendert in den Portalblock eingebettet; Statusmeldung kam aus Core/Profile. | Submit-Handler ersetzt die Statusmeldung fuer Projektpartner-Profilbearbeitung durch Ihr Projektpartnerprofil wurde gespeichert.. | Browser-Retest nach Koordinaten-Submit: deutsche Meldung sichtbar, englische Meldung nicht vorhanden; Functional-Test aktualisiert. |
| 2026-06-22-06 | FM-P0-06 | Account-Cancel-Confirm mischte deutsche Hard-Delete-Warnung mit englischem Core-Text fuer Account-Blockierung und zeigte die Warnung zunaechst doppelt. | Cancel-Form-Alter setzte die Methode auf Hard-Delete, ueberschrieb aber die Core-Beschreibung nicht sauber und fuegte zusaetzlich eine eigene Warnung ein. | Form-Alter ersetzt die Beschreibung mit eindeutiger deutscher Hard-Delete-Warnung und nutzt einen deutschen Submit-Button ohne Duplikat. | Browser-Retest: deutsche Warnung genau einmal, kein englischer Blockierungs-Text, Submit Konto endgueltig loeschen; Account uid=9 nach Confirmation geloescht. |
| 2026-06-22-07 | FM-P0-07 | Auf der eingeloggten Merkliste persistierte das Entfernen serverseitig (user.data=[]), aber die entfernte Karte blieb bis Reload sichtbar. | watchlist.js aktualisierte nach erfolgreichem Remove nur Button-State und Counter; die servergerenderte Merkliste-Karte und Apply-All-Aktion wurden nicht aus dem DOM entfernt. | Neuer refreshWatchlistPageAfterRemoval()-Hook entfernt die Card aus [data-watchlist-page], aktualisiert anonyme Query-URLs und rendert bei leerer Liste einen Empty-State. | Browser-Retest: Karte weg, data-watchlist-page-empty-live sichtbar, Apply-All weg, DB [], keine Console-Errors. |
| 2026-06-22-08 | FM-P0-07 | Merkliste Mobile: bei 375px ragte Jetzt Bewerben bis x=383, bodyScrollWidth=383. | Canvas-Card-Action-Gruppe nutzte auf der Merkliste flex-row, justify-between und w-fit-Buttons ohne mobile Wrap-/Stretch-Regel. | Scoped Mobile-CSS fuer .solcom-watchlist-page stackt die Card-Actions bei <=768px und setzt Watchlist-/CTA-Buttons auf volle Breite. | Mobile-Retest: bodyWidth=375, docWidth=375, keine Overflow-Elemente; Action-Buttons liegen bei x=56..319. |
| 2026-06-22-09 | FM-P0-08 | Projekt-Alert-Confirm aktivierte die Subscription, zeigte im sichtbaren Content aber nur Vielen Dank!; der erwartete Aktivierungstext fehlte. | AlertConfirmationController::confirm() kombinierte #theme=item_list, #type=markup und #markup in einem Render-Array. Dadurch wurde der Markup-Text im gerenderten Output verschluckt. | Confirm-Return auf klares Container-Render-Array mit h1 und p-Message umgestellt; Regression rendert den Controller-Output und asserted den Aktivierungstext. | Browser-Retest mit frischem Token: Subscribe-Meldung sichtbar, DB confirmed=0, Confirm zeigt Ihr Projekt-Alert ist jetzt aktiv. und DB confirmed=1, Unsubscribe loescht die Entity. |
| 2026-06-22-10 | FM-P0-09 | Availability-Direktaufrufe liefern mangels Route HTTP 404; der Fallback zeigte englische Copy, englischen Button und kein echtes h1. | system.site:page.404=/404 zeigt auf Canvas Page /page/8. Dort standen englische SDC-Text/Button-Inputs; der H1 im Textfeld wurde vom Textformat nicht als echtes h1 gerendert. | solcom_canvas_fixes normalisiert 404-Text/Button per Post-update und fuegt eine echte sdc.byte_theme.heading-Komponente vor dem Text ein. | Browser-Retest: Availability bleibt korrekt HTTP 404, Fallback hat h1=Seite nicht gefunden, deutsche Copy, Button Zur Startseite, keine unerwarteten Console-Errors und Mobile 375px ohne Overflow. |
| 2026-06-23-01 | FM-P0-10 | Footer enthielt sichtbare Platzhalter-Buttons ohne Ziel (Freelancer finden, Kontaktformular, Standorte, FAQ); Header/Footer verlinkten zusaetzlich auf leere Canvas-Stubs. | Mehrere Menu-Link-Content-Eintraege standen noch auf internal:# oder auf Canvas-Stubs ohne Komponenten (entity:canvas_page/14/22/23/24/33/34/35/65). | solcom_project_offer_update_9010 retargetet Footer-Platzhalter und deaktiviert FAQ; 9011 retargetet Standorte/Kontakt auf gefuellte Seiten; 9012 deaktiviert sechs leere Main-Navigation-Stubs. | Browser-Linkinventar nach Retest: keine Stub-Links sichtbar, Standorte zeigt auf /kontakt/kontaktdaten, Kontakt auf /kontakt, keine Staging-Links, keine Console-Errors. |
| 2026-06-23-02 | FM-P0-10 | /datenschutz und /terms-service gaben HTTP 200, zeigten im Hauptinhalt aber eine Twig\Error\RuntimeError-Meldung. | Das Canvas-Content-Template node.page.full nutzte fuer sdc.byte_theme.heading den nicht mehr erlaubten Wert text_size: default. | solcom_canvas_fixes_post_update_normalize_invalid_heading_text_sizes normalisiert invaliden Heading-Text-Size-Wert in Canvas-Config und Content-Rows; Config-Sync setzt Page-H1 auf heading-h1 und Blog-Related-H2 auf heading-h2. | Browser-Retest: beide Legal-Seiten rendern wieder ohne RuntimeError und mit H1; Regression NormalizeCanvasComponentDefaultsTest gruen. |
| 2026-06-23-03 | FM-P0-10 | Nach technischem Fix enthalten /datenschutz und /terms-service weiterhin sichtbare Legal-Platzhaltercopy. | Die Nodes Datenschutz und Terms of service haben nur Initialtexte wie This content needs to be edited before publishing und Put your terms of service here.. | Keine autonome Textersetzung: rechtliche Inhalte sind stakeholder- und compliance-relevant. Als HD-005 dokumentiert. | FM-P0-10 bleibt Blocked. Technische Link-/Render-Fixes sind abgeschlossen; Legal-Copy braucht Human-Decision vor Kunden-QA. |
| 2026-06-23-04 | FM-P1-01 | Stellenlisten-Seite /karriere-bei-solcom/offene-stellenanzeigen renderte als Browser-Title nur | SOLCOM. | Der Page-Display der View vacancies_listing ueberschrieb den Default-Title mit leerem display.page.display_options.title: ''. | solcom_vacancy_update_9004 setzt den leeren Page-Display-Title auf Offene Stellen; Config-Sync wurde auf denselben Wert aktualisiert. | Browser-Retest: Listen-Title Offene Stellen | SOLCOM, H1 Offene Stellen, 33 Treffer, Berlin-Filter 2 Treffer, Detail mit JobPosting, Apply-Einstieg korrekt, Mobile 375px ohne Overflow. |
| 2026-06-23-05 | FM-P1-02 | Vacancy-Apply-Seite /karriere/product-owner-salesforcecrm-mwd/bewerben war bei 375px horizontal breiter als der Viewport: bodyScrollWidth=388. | Der lange H1 PRODUCT OWNER SALESFORCE/CRM (M/W/D) hatte im 311px breiten Header scrollWidth=356; die Apply-Seiten-Titelregel hatte keine expliziten Wrap-Constraints fuer lange Jobtitel. | .vacancy-apply-page__title bekommt min-w-0, max-w-full und overflow-wrap:anywhere; Theme-Build aktualisiert build/main.min.css. Zusaetzlich wurde das Kernel-Test-Setup fuer Vacancy-Application-Tests um path_alias ergaenzt, weil der echte Webform-Handler den Alias-Manager injiziert. | Browser-Retest: Desktop 1280px und Mobile 375px ohne Overflow, bodyWidth=375, title.scrollWidth=311, keine Console-Errors. Submission sid=4, Queue-Item und private CV-Datei belegt; Worker/DLQ ueber Kernel-Tests gruen. |
| 2026-06-23-06 | FM-P1-03 | Sechs oeffentliche Content-Routen enthielten sichtbare Demo-/Placeholder-Signale: englische Produktcopy, Button label, SOLCOIM, PLATZHALTER fuer VIDEO, falschen test@test.de-Link, alten Joblist-Link und mobile CTA/Accordion-Overflows. | Canvas-Content stammte teilweise aus Aufbau-/Demo-Komponenten; mobile generische Canvas-Buttons, Card-Gruppen und Accordion-Titel hatten keine ausreichenden Wrap-/Breiten-Constraints. | solcom_canvas_fixes normalisiert die betroffenen Public-Content-Komponenten per Post-update und entfernt Demo-Subtrees/Platzhalterzeilen. Scoped Mobile-CSS fuer Canvas-Buttons, Card-Gruppen, Slider-Container und Accordion-Titel wurde in src/main.css ergaenzt und gebaut. | Finaler Browser-Retest aller sechs Routen bei 1280px und 375px: keine Placeholder-/Demo-Flags, H1s sichtbar, bodyWidth/htmlWidth entsprechen Viewport, keine Page-/Console-Errors. |
| 2026-06-23-07 | FM-P1-04 | Direkte Webform-Routen zeigten unvollstaendige/englische Defaults: /form/newsletter-signup hatte keinen H1, englische Copy/CTA und englische Confirmation; /form/contact-form hatte keinen H1 und englische Confirmation. | Webform-Konfiguration enthielt noch Default-Copy; das Theme-Template page--webform.html.twig unterdrueckte den Seitentitel auf direkten Webform-Routen. | webform.webform.newsletter_signup und webform.webform.contact_form normalisiert; solcom_editorial-Post-Updates ergaenzt; Webform-Page-Template rendert {{ title }}. | Newsletter-Route Desktop/Mobile mit H1 Newsletter abonnieren, CTA Anmelden, kein Overflow; Submit erzeugte deutsche Danke-Meldung und DB-Submission sid=5. |
| 2026-06-23-08 | FM-P1-04 | /kontakt zeigte oberhalb des deutschen Formulars englische Canvas-Default-Copy: Let's chat!, schedule a demo und Connect with us. | Canvas Page /page/2 enthielt Aufbauzustand in gespeicherten Heading-, Text- und Social-Block-Inputs. | solcom_canvas_fixes_post_update_normalize_contact_canvas_intro_copy ersetzt die Kontakt-Intro-Copy und Social-Heading/Label in aktiver und Revisionstabelle. | Retest auf /kontakt bei 1280px und 375px: deutsche Intro-Copy, Kontaktformular vorhanden, keine alten englischen Phrasen, kein Overflow. |
| 2026-06-23-09 | FM-P1-04 | Kontaktformular-Submit konnte im automatisierten Browser nicht abgeschlossen werden. | FriendlyCaptcha erkennt den automatisierten Browser und setzt frc-captcha-solution=.HEADLESS_ERROR; sichtbare Meldung: Browser check failed, try a different browser. | Kein autonomer Produktfix, weil Captcha bewusst Automation blockiert. Als B-017 / HD-006 dokumentiert. | Screenshot captured; DB-Gegenprobe: kein contact_form-Submission-Datensatz. Manuelle Gegenprobe in nicht-automatisiertem Browser offen. |
| 2026-06-23-10 | FM-P1-05 | /kontakt/kontaktdaten hatte generischen Browser-Title, uneinheitliche H1-Copy, kaputte Mail-Obfuscation und eine Map-Flaeche ohne API-Key-Fallback. | Canvas-Content und Standort-Block kamen aus Aufbauzustand: gespeicherte Textkomponente nutzte das alte Mail-Obfuscation-Snippet; der Standort-Block rendete nur den Karten-Container und band die Map-Automation nicht an eine Nutzeraktion. | solcom_canvas_fixes normalisiert Page-Titel/H1/Intro-Copy; solcom_standort liefert einen sichtbaren Fallback mit Google-Maps-Link und laedt die interaktive Karte nur nach Klick, wenn ein API-Key konfiguriert ist. | Browser-Retest Desktop/Mobile: Standortdaten sichtbar, mailto:info@solcom.de, kein maps.googleapis.com-Script ohne Aktion, kein Overflow, keine Page-/Console-Errors. |
| 2026-06-23-11 | FM-P1-05 | Die Legacy-Standort-Aliases /solcom-gmbh-standorte und /standorte-strang-3 lieferten 200er Seiten ohne sichtbaren Hauptinhalt. | Beide Path-Aliases zeigten auf leere Canvas-Pages statt auf die gefuellte Standortseite /page/86. | solcom_canvas_fixes_post_update_retarget_empty_location_aliases retargetet beide Aliases auf /page/86. | DB-Gegenprobe bestaetigt alle drei Standort-Aliases auf /page/86; Browser-Retest beider Legacy-Aliases zeigt Titel, H1, Standortdaten und Map-Fallback. |
| 2026-06-23-12 | FM-P1-06 | Legacy-Gulp-Detail-Redirect: Nach einem bekannten SF-ID-Aufruf gab ein unbekannter SF-ID-Aufruf auf demselben Pfad ebenfalls 301 auf den zuvor gecachten Canonical-Slug zurueck. | VendorFeedController::detailRedirect() setzte Cache-Tags, aber keinen Cache-Context fuer die Query-Args. Dadurch konnte Dynamic Page Cache die Antwort nur nach Pfad unterscheiden. | 301- und 404-Responses erhalten gemeinsame Redirect-Metadaten mit node_list:project_offer und url.query_args. Regression erweitert GulpLegacyRedirectTest um Hit/Miss-Cache-Varianz. | Regression erst rot: 2 Failures wegen fehlendem url.query_args. Nach Fix gruen: GulpLegacyRedirectTest 4 Tests / 51 Assertions; Live-Retest: bekannt 301, direkt danach unbekannt 404. |
Jeder Fix bekommt mindestens einen passenden Regressionstest oder einen dokumentierten Grund, warum nur Browser-Evidence sinnvoll ist.
| Case | Test | Type | Status | Command / Evidence |
|---|---|---|---|---|
| FM-P0-01 | ProjectOfferListingBehaviorAssetsTest::testProjectOfferFilterDrawerClosesAfterSubmitDefaultAction | Kernel / Asset-Regressionsvertrag | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/ProjectOfferListingBehaviorAssetsTest.php · 5 Tests, 28 Assertions. |
| FM-P0-01 | Browser-Retest Projektliste Filter/Pager/Sort/Mobile | Browser / Manual Regression | Pass | Filter-Submit, Mehr laden, Sortierung und 375px-Mobile ohne Console-Errors; Evidence im Manifest. |
| FM-P0-02 | ProjectOfferListingBehaviorAssetsTest::testProjectOfferStickyApplyBarKeepsExternalLinkAttributes | Kernel / Asset-Regressionsvertrag | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/ProjectOfferListingBehaviorAssetsTest.php · 5 Tests, 28 Assertions. |
| FM-P0-02 | Browser-Retest Projektdetail Desktop/Mobile | Browser / Manual Regression | Pass | Canonical, JobPosting JSON-LD, interne Bewerbungsroute, externer Minggo-Link, Sticky-Bar und Mobile-Overflow geprueft; Evidence im Manifest. |
| FM-P0-03 | Browser-Submit Projektbewerbung + DB/Mailhandler-Beleg | Browser / Integration Evidence | Pass | Leerer Submit validiert; Happy Path mit Upload fuehrt zu Danke-Meldung, Webform-Submission sid=2, Datei fid=89, Watchdog-Mailhandler-Notice wid=110700. |
| FM-P0-04 | ProjectOfferListingBehaviorAssetsTest::testPageTitleAllowsLongTitlesToWrapOnMobile | Kernel / Asset-Regressionsvertrag | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/ProjectOfferListingBehaviorAssetsTest.php · 5 Tests, 28 Assertions. |
| FM-P0-04 | ProjektpartnerMailFlowTest::testRegistrationSendsVerificationMailAndVerificationActivatesAccount | Kernel / Mailflow | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist --filter testRegistrationSendsVerificationMailAndVerificationActivatesAccount web/modules/custom/solcom_projektpartner/tests/src/Kernel/ProjektpartnerMailFlowTest.php · 1 Test, 46 Assertions, 149 Deprecations. |
| FM-P0-04 | Browser-Wizard PPP Registrierung + DB-Beleg + Mobile-Retest | Browser / Integration Evidence | Pass | Wizard-Submit fuehrt zur Danke-Meldung; User uid=8 bleibt blockiert, Profil profile_id=2 und Datei fid=90 angelegt; Mobile 375px nach Fix ohne Overflow. |
| FM-P0-05 | Browser-Login, Logout und Passwort-Reset mit Wegwerfaccount | Browser / Integration Evidence | Pass | Account uid=8 ueber Verify-Route aktiviert, Login mit altem Passwort, Reset-Submit unknown/real enumeration-safe, neues Passwort gesetzt und Login mit neuem Passwort erfolgreich; Mobile 375px ohne Overflow. |
| FM-P0-06 | ProjektpartnerProfileEditCopyUpdateTest::testPostUpdateReplacesProfileEditLoremCopy | Kernel / Post-update | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_projektpartner/tests/src/Kernel/ProjektpartnerProfileEditCopyUpdateTest.php · 1 Test, 4 Assertions. |
| FM-P0-06 | ProjektpartnerProfileSelfServiceTest::testPartnerCanEditOwnProfileOnNativeRoute | Functional / Portal Profile Edit | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist --filter testPartnerCanEditOwnProfileOnNativeRoute web/modules/custom/solcom_projektpartner/tests/src/Functional/ProjektpartnerProfileSelfServiceTest.php · 1 Test, 31 Assertions, 175 Deprecations. |
| FM-P0-06 | ProjektpartnerProfileSelfServiceTest::testPartnerCancelFormUsesHardDeleteMethod | Functional / Account Cancel | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist --filter testPartnerCancelFormUsesHardDeleteMethod web/modules/custom/solcom_projektpartner/tests/src/Functional/ProjektpartnerProfileSelfServiceTest.php · 1 Test, 9 Assertions, 171 Deprecations. |
| FM-P0-06 | ProjektpartnerAccountDeletionTest::testProjektpartnerHardDeleteRemovesProfileFilesAndDirectory | Kernel / Account Purge | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_projektpartner/tests/src/Kernel/ProjektpartnerAccountDeletionTest.php · 1 Test, 30 Assertions, 52 Deprecations. |
| FM-P0-06 | Browser-Profil/Konto-Flow + private Datei-Access | Browser / Integration Evidence | Pass | Profilwerte und Upload gespeichert (fid=91), Newsletter-Opt-in gesetzt, E-Mail-Wechsel pending bei alter aktiver Adresse, Account uid=9 geloescht. Private Datei: Drupal-Hook fuer Owner application/pdf, anonyme HTTP-Anfrage 403 Forbidden. Voller PrivateDocumentAccessTest-Lauf wurde wegen wiederholtem Nichtabschluss nicht als Pass gezaehlt. |
| FM-P0-07 | ProjectOfferListingBehaviorAssetsTest::testWatchlistPageRemovesCardAfterSuccessfulRemoval und ::testWatchlistPageCardActionsWrapOnMobile | Kernel / Asset-Regressionsvertrag | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/ProjectOfferListingBehaviorAssetsTest.php · 7 Tests, 39 Assertions. |
| FM-P0-07 | WatchlistControllerJsonApiTest | Kernel / JSON API Boundary | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_project_offer/tests/src/Kernel/WatchlistControllerJsonApiTest.php · 14 Tests, 102 Assertions, 20 Deprecations. |
| FM-P0-07 | Browser-Merkliste: anonym, Login-Merge, Apply-All, Remove, Mobile | Browser / Integration Evidence | Pass | Anonymer Toggle setzt localStorage, Merkliste rendert Query-Karte, Login merged nach user.data und leert localStorage, Apply-All rendert Webform fuer 1 Projekt, Remove leert Store und UI, Mobile 375px ohne Overflow. npm run build und ddev drush cr wurden nach CSS/JS-Fix ausgefuehrt. |
| FM-P0-08 | ProjectOfferAlertSubscriptionTest::testTokenConfirmation | Kernel / Controller Render Regression | Pass | Rot vor Fix: gerenderter Confirm-Output war leer. Nach Fix: ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist --filter ProjectOfferAlertSubscriptionTest::testTokenConfirmation web/modules/custom/solcom_project_offer/modules/solcom_project_offer_alert/tests/src/Kernel/ProjectOfferAlertSubscriptionTest.php · 1 Test, 14 Assertions, 2 Deprecations. |
| FM-P0-08 | ProjectOfferAlertSubscriptionTest | Kernel / Public Alert Flow | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_project_offer/modules/solcom_project_offer_alert/tests/src/Kernel/ProjectOfferAlertSubscriptionTest.php · 7 Tests, 124 Assertions, 2 Deprecations. |
| FM-P0-08 | solcom_projektpartner_alert/tests | Unit / Kernel / Functional Suchagent-Coverage | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_projektpartner_alert/tests · 28 Tests, 315 Assertions, 177 Deprecations. |
| FM-P0-08 | Browser-Suchagent und Browser-Double-Opt-In | Browser / Integration Evidence | Pass | Suchagent speichert DE fuer uid=8; oeffentlicher Alert mit Tagify-Whitelist Drupal entity_id=2954 speichert Pending-Entity, Confirm aktiviert, Unsubscribe loescht. Desktop/Mobile ohne Console-Errors oder horizontalen Overflow. |
| FM-P0-09 | NormalizeCanvasComponentDefaultsTest::testNormalizeCanvas404Copy und ::testAddCanvas404Heading | Kernel / Canvas 404 Regression | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_canvas_fixes/tests/src/Kernel/NormalizeCanvasComponentDefaultsTest.php · 3 Tests, 22 Assertions. |
| FM-P0-09 | Browser-Verfuegbarkeit/404-Gegenprobe | Browser / Blocker Evidence | Blocked | /projektportal/verfuegbarkeit?id=test, ?hash=test und ohne Query liefern HTTP 404, weil keine Route existiert. Nach 404-Fix ist die Fehlerseite deutsch, semantisch und mobile stabil; Availability bleibt als HD-002 blockiert. |
| FM-P0-10 | MenuLinkUriUpdateTest | Kernel / Menu Link Updates | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_project_offer/tests/src/Kernel/MenuLinkUriUpdateTest.php · 5 Tests, 64 Assertions. Deckt Footer-Platzhalter, Standorte/Kontakt-Retargeting und Deaktivierung leerer Header-Stubs ab. |
| FM-P0-10 | NormalizeCanvasComponentDefaultsTest::testNormalizeInvalidHeadingTextSizes | Kernel / Canvas Heading Defaults | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_canvas_fixes/tests/src/Kernel/NormalizeCanvasComponentDefaultsTest.php · 4 Tests, 29 Assertions. Deckt invalide Heading-text_size-Werte in Config und Content-Rows ab. |
| FM-P0-10 | Browser-Linkinventar Header/Footer | Browser / Blocker Evidence | Blocked | 21 interne sichtbare Header-/Footer-Ziele geprueft; keine Staging-Links, keine sichtbaren leeren Stub-Links, Consent-Dialog oeffnet, Mobile 375px ohne Overflow. Blocker bleibt Legal-Platzhaltercopy in /datenschutz und /terms-service. |
| FM-P1-01 | MenuLinkUriUpdateTest::testVacanciesListingPageTitleIsRepaired | Kernel / Vacancy View Title | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_vacancy/tests/src/Kernel/MenuLinkUriUpdateTest.php · 3 Tests, 27 Assertions. Deckt den leeren View-Page-Title und bestehende Menu-Link-Updates ab. |
| FM-P1-01 | Browser-Karriere-Funnel | Browser / Integration Evidence | Pass | Liste 33 Treffer, Berlin-Filter 2 Treffer, Detailseite Product Owner Salesforce/CRM mit JobPosting, Apply-Einstieg /karriere/product-owner-salesforcecrm-mwd/bewerben, Mobile Liste/Detail 375px ohne Overflow. |
| FM-P1-02 | VacancyApplicationAssetsTest::testVacancyApplyTitleAllowsLongWordsToWrap | Kernel / Theme Asset Regression | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/VacancyApplicationAssetsTest.php · 1 Test, 3 Assertions. |
| FM-P1-02 | ApplicationQueueWorkerTest | Kernel / Personio Queue Worker | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_vacancy_application/tests/src/Kernel/ApplicationQueueWorkerTest.php · 3 Tests, 29 Assertions, 14 Deprecations. Deckt transienten Retry, Re-Queue-Guard und Success-Purge mit Stub-Client ab. |
| FM-P1-02 | VacancyApplicationFormLayoutTest | Kernel / Webform Layout Contract | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_vacancy_application/tests/src/Kernel/VacancyApplicationFormLayoutTest.php · 7 Tests, 66 Assertions, 22 Deprecations. Deckt Flexbox-Zeilen, Privacy-Checkboxen und server-owned Context-Felder ab. |
| FM-P1-02 | Browser-Vacancy-Bewerbung + DB-Evidence | Browser / Integration Evidence | Pass | Apply-Form vom Detail geoeffnet, CV hochgeladen, Consent gesetzt, Danke-Seite erreicht. DB: Webform-Submission sid=4, Queue-Item submission_id=4, CV fid=92 private://applications/solcom-vacancy-qa-cv.pdf, personio_application_id leer, weil kein Worker/kein externer Submit ausgefuehrt wurde. |
| FM-P1-03 | NormalizeCanvasComponentDefaultsTest::testNormalizePublicContentPlaceholders | Kernel / Canvas Content Post-update | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_canvas_fixes/tests/src/Kernel/NormalizeCanvasComponentDefaultsTest.php · 5 Tests, 51 Assertions. Deckt Demo-Subtree-Deletes, H1-Level, Typo-, Mailto-, Joblist- und Placeholder-Normalisierung ab. |
| FM-P1-03 | CanvasContentLayoutAssetsTest | Kernel / Theme Asset Regression | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/CanvasContentLayoutAssetsTest.php · 3 Tests, 14 Assertions. Deckt mobile Canvas-Button-, Card-/Slider- und Accordion-Wrap-Regeln ab. |
| FM-P1-03 | Browser-Content-Routen Desktop/Mobile | Browser / Visual + Content Evidence | Pass | agent-browser-Retest fuer /fur-unternehmen, /leistungen-branchen, /zusammenarbeit, /unternehmen/referenzen, /uber-solcom und /karriere-bei-solcom bei 1280px und 375px. Finale Karriere-Evidence nach Session-Neustart mit Cache-Busting. |
| FM-P1-04 | PublicWebformCopyUpdateTest | Kernel / Webform Config Post-update | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_editorial/tests/src/Kernel/PublicWebformCopyUpdateTest.php · 1 Test, 14 Assertions. Deckt Kontakt-/Newsletter-Titel, Beschreibung, CTA und Confirmation-Copy ab. |
| FM-P1-04 | NewsletterSignupSmokeTest | Functional JS / Newsletter Webform | Pass | ddev exec env SIMPLETEST_BASE_URL=http://web SIMPLETEST_DB=mysql://db:db@db/db ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_editorial/tests/src/FunctionalJavascript/NewsletterSignupSmokeTest.php · 4 Tests, 5 Assertions, 45 Deprecations. |
| FM-P1-04 | WebformPageTemplateTest | Kernel / Theme Template Contract | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/themes/custom/byte_theme/tests/src/Kernel/WebformPageTemplateTest.php · 1 Test, 4 Assertions. Deckt die sichtbare H1 auf direkten Webform-Seiten ab. |
| FM-P1-04 | NormalizeCanvasComponentDefaultsTest::testNormalizeContactCanvasIntroCopy | Kernel / Canvas Contact Copy | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_canvas_fixes/tests/src/Kernel/NormalizeCanvasComponentDefaultsTest.php · 6 Tests, 61 Assertions. Deckt die deutsche Kontakt-Intro-Copy und Social-Labels ab. |
| FM-P1-04 | Browser-Kontakt/Newsletter Desktop/Mobile | Browser / Visual + Integration Evidence | Blocked | Newsletter-Submit erfolgreich mit sid=5. Kontaktanzeige auf /kontakt und /form/contact-form gruen. Kontakt-Submit blockiert durch FriendlyCaptcha .HEADLESS_ERROR; kein Submission-Datensatz. |
| FM-P1-05 | StandortDisplayBlockTest | Kernel / Map-Fallback Contract | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_standort/tests/src/Kernel/StandortDisplayBlockTest.php · 2 Tests, 27 Assertions, 4 Geofield-Deprecations. Deckt Fallback-URL, API-Key-Gating und explizite Nutzeraktion fuer Map-Assets ab. |
| FM-P1-05 | NormalizeCanvasComponentDefaultsTest | Kernel / Canvas Standort Copy + Alias-Retarget | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_canvas_fixes/tests/src/Kernel/NormalizeCanvasComponentDefaultsTest.php · 8 Tests, 76 Assertions. Deckt Standort-Page-Titel/H1/Intro-Copy und Retargeting leerer Standort-Aliases ab. |
| FM-P1-05 | Browser-Standort Desktop/Mobile + Legacy-Aliases | Browser / Visual + Network Evidence | Pass | /kontakt/kontaktdaten bei 1280px und 375px sowie /solcom-gmbh-standorte//standorte-strang-3: Titel, H1, Standortdaten, Fallback-Link, kein Auto-Load von maps.googleapis.com, keine Page-/Console-Errors und kein horizontaler Overflow. |
| FM-P1-06 | GulpLegacyRedirectTest | Kernel / Legacy Redirect Cache Regression | Pass | Rot vor Fix: 2 Failures wegen fehlendem url.query_args-Cache-Context. Nach Fix: ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_project_offer/modules/solcom_project_offer_feeds/tests/src/Kernel/GulpLegacyRedirectTest.php · 4 Tests, 51 Assertions. |
| FM-P1-06 | solcom_project_offer_feeds/tests/src/Kernel | Kernel / Vendor Feed Suite | Pass | ddev exec ./vendor/bin/phpunit -c web/core/phpunit.xml.dist web/modules/custom/solcom_project_offer/modules/solcom_project_offer_feeds/tests/src/Kernel · 30 Tests, 340 Assertions, 4 PHPUnit-Deprecations. |
| FM-P1-06 | HTTP-/Browser-Vendor-Evidence | HTTP + Browser / External Contract Evidence | Pass | Freelancermap/Freelance XML, Gulp HTML, Gulp 301-Redirect, Legacy Detail 301/404 und Projekt-Detail-SEO mit Canonical/JobPosting geprueft. Gespeicherte Artefakte validieren Statuscodes, Header, Sample-SF-IDs und UTM-Parameter. |
| FM-P2-01 | Browser-Visual-Smoke Card-/SDC-Routen | Browser / Visual Evidence | Pass | Fuenf echte Canvas-Routen bei 1280x900, 768x1024 und 375x900: /fur-unternehmen, /leistungen-branchen, /zusammenarbeit, /unternehmen/referenzen, /karriere-bei-solcom. Keine Page-/Console-Errors, keine Placeholder-Flags, kein horizontaler Page-Overflow. Offscreen-Elemente auf /zusammenarbeit sind intern geclippte Slider-Slides. |
| FM-P2-02 | Browser-DOM-A11y-Smoke + Keyboard-Fokus | Browser / Accessibility Smoke | Pass | /, /form/newsletter-signup, /kontakt, /fuer-freiberufler/projektliste und /karriere/product-owner-salesforcecrm-mwd/bewerben: keine unbenannten Focusables/Controls, keine sichtbaren Bilder ohne Alt, keine aria-hidden-Focusable, keine relevanten Duplicate IDs, kein Overflow. Tastatur: Skip-Link, Desktop-Navigation, Mobile-Menue, Newsletter-Required-Fokus und lokaler Consent-Dialog mit role=dialog/aria-modal=true. |
Benchmark-Default. UI-Faelle bekommen Screenshots in mindestens 1280px und 375px. Form- und Integrationsfaelle bekommen zusaetzlich Submission-/Mail-/Entity- oder Golden-Sample-Belege.
Evidence-Ordner. Neue Artefakte sollten unter docs/reports/evidence/2026-06-22-full-matrix-qa/ landen, sobald der QA-Lauf tatsaechlich startet.
| Quelle | Nutzen fuer diesen Lauf | Status |
|---|---|---|
evidence/2026-06-22-full-matrix-qa/report-desktop.png | Browser-Verifikation der neuen Matrix-Seite im 1280x900-Viewport. | Captured |
evidence/2026-06-22-full-matrix-qa/report-mobile.png | Browser-Verifikation der neuen Matrix-Seite im 375x844-Viewport. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card.png | Browser-Verifikation der neuen Karte in docs/index.html#reports; Klick fuehrte auf diesen Report. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-06-desktop.png | Report-Sync nach FM-P0-06 im 1280x900-Viewport: Dashboard, Matrix und Logs nachgetragen. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-06-mobile.png | Report-Sync nach FM-P0-06 bei 375x844: FM-P0-06 steht auf Fixed, naechster Fokus FM-P0-07, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-07-desktop.png | Report-Sync nach FM-P0-07 im 1280x900-Viewport: Dashboard 18/11/0/2/5/0, FM-P0-07 Fixed. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-07-mobile.png | Report-Sync nach FM-P0-07 bei 375x844: naechster Fokus FM-P0-08, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-08-desktop.png | Report-Sync nach FM-P0-08 im 1280x900-Viewport: Dashboard 18/10/0/2/6/0, FM-P0-08 Fixed. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-08-mobile.png | Report-Sync nach FM-P0-08 bei 375x844: naechster Fokus FM-P0-09, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-09-desktop.png | Report-Sync nach FM-P0-09 im 1280x900-Viewport: Dashboard 18/9/0/2/6/1, FM-P0-09 Blocked. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-09-mobile.png | Report-Sync nach FM-P0-09 bei 375x844: naechster Fokus FM-P0-10, Streak 0, kein Page-Level-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-10-desktop.png | Report-Sync nach FM-P0-10 im 1280x900-Viewport: Dashboard 18/8/0/2/6/2, FM-P0-10 Blocked. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p0-10-mobile.png | Report-Sync nach FM-P0-10 bei 375x844: naechster Fokus FM-P1-01, Streak 0, kein Page-Level-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-01-desktop.png | Report-Sync nach FM-P1-01 im 1280x900-Viewport: Dashboard 18/7/0/2/7/2, FM-P1-01 Fixed. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-01-mobile.png | Report-Sync nach FM-P1-01 bei 375x844: naechster Fokus FM-P1-02, Streak 1, kein Page-Level-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-02-desktop.png | Report-Sync nach FM-P1-02 im 1280x900-Viewport: Dashboard 18/6/0/2/8/2, FM-P1-02 Fixed, naechster Fokus FM-P1-03. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-02-mobile.png | Report-Sync nach FM-P1-02 bei 375x844: Page-Width bleibt 375; die Matrix bleibt absichtlich in .table-wrap horizontal scrollbar. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-after-fm-p1-02.png | docs/index.html-Karte nach FM-P1-02: Beschreibung zeigt 18 Cases, 6 Pending, 8 Fixed, 2 Blocked und Streak 2. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-03-desktop.png | Report-Sync nach FM-P1-03 im 1280x900-Viewport: Dashboard 18/5/0/2/9/2, FM-P1-03 Fixed, naechster Fokus FM-P1-04. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-03-mobile.png | Report-Sync nach FM-P1-03 bei 375x844: Page-Width bleibt 375, Fokus und Matrix-Status stimmen. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-after-fm-p1-03.png | docs/index.html-Karte nach FM-P1-03: Beschreibung zeigt 18 Cases, 5 Pending, 9 Fixed, 2 Blocked und Streak 1. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-04-desktop.png | Report-Sync nach FM-P1-04 im 1280x900-Viewport: Dashboard 18/4/0/2/9/3, FM-P1-04 Blocked, naechster Fokus FM-P1-05. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-04-mobile.png | Report-Sync nach FM-P1-04 bei 375x900: Page-Width bleibt 375, B-017 und Streak 0 sind sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-after-fm-p1-04.png | docs/index.html-Karte nach FM-P1-04: Beschreibung zeigt 18 Cases, 4 Pending, 9 Fixed, 3 Blocked und Streak 0. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-05-desktop.png | Report-Sync nach FM-P1-05 im 1280x900-Viewport: Dashboard 18/3/0/2/10/3, FM-P1-05 Fixed, naechster Fokus FM-P1-06. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-05-mobile.png | Report-Sync nach FM-P1-05 bei 375x900: Page-Width bleibt 375, B-018 und Streak 1 sind sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-after-fm-p1-05.png | docs/index.html-Karte nach FM-P1-05: Beschreibung zeigt 18 Cases, 3 Pending, 10 Fixed, 3 Blocked und Streak 1. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-06-desktop.png | Report-Sync nach FM-P1-06 im 1280x900-Viewport: Dashboard 18/2/0/2/11/3, FM-P1-06 Fixed, naechster Fokus FM-P2-01. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p1-06-mobile.png | Report-Sync nach FM-P1-06 bei 375x900: Page-Width bleibt 375, B-019 und Streak 2 sind sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-after-fm-p1-06.png | docs/index.html-Karte nach FM-P1-06: Beschreibung zeigt 18 Cases, 2 Pending, 11 Fixed, 3 Blocked und Streak 2. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p2-01-desktop.png | Report-Sync nach FM-P2-01 im 1280x900-Viewport: Dashboard 18/1/0/3/11/3, FM-P2-01 Pass, naechster Fokus FM-P2-02. | Captured |
evidence/2026-06-22-full-matrix-qa/report-after-fm-p2-01-mobile.png | Report-Sync nach FM-P2-01 bei 375x900: Page-Width bleibt 375, Streak 3 ist sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-after-fm-p2-01.png | docs/index.html-Karte nach FM-P2-01: Beschreibung zeigt 18 Cases, 1 Pending, 3 Pass, 11 Fixed, 3 Blocked und Streak 3. | Captured |
evidence/2026-06-22-full-matrix-qa/report-final-desktop.png | Finaler Report-Sync nach FM-P2-02 im 1280x900-Viewport: Dashboard 18/0/0/4/11/3, kein Pending-Case mehr. | Captured |
evidence/2026-06-22-full-matrix-qa/report-final-mobile.png | Finaler Report-Sync nach FM-P2-02 bei 375x900: Page-Width bleibt 375, Streak 4 sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/index-reports-card-final.png | docs/index.html-Karte final: Beschreibung zeigt 18 Cases, 0 Pending, 4 Pass, 11 Fixed, 3 Blocked und Streak 4. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-01-projectlist.webm | Video des FM-P0-01-Laufs inklusive Fail-Repro, Fix-Retest und Projektlistenpfad. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-01-coordinate-click-regression-pass-desktop.png | Filter-Regression nach Fix: sichtbarer Button-Klick fuehrt zu 0 Treffer und Empty-State. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-01-load-more-pass-desktop.png | Pager-Benchmark: Mehr laden fuehrt zu ?page=1 und 20 Projektkarten. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-01-sort-asc-pass-desktop.png | Sortier-Benchmark: created ASC setzt URL und zeigt 157 Treffer ohne Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-01-mobile-clean.png | Mobile-Benchmark bei 375px: Options-Bar und Sort-Control ohne horizontalen Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-01-mobile-drawer-open.png | Mobile-Drawer bei 375px: Filtercontrols sichtbar, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-02-projectdetail.webm | Video des FM-P0-02-Laufs inklusive Sticky-/Mobile-Fail, Fix-Retest und Detail-CTA-Pruefung. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-02-external-detail-desktop.png | Externe Projekt-Detailseite mit Canonical, Jobtitel und Minggo-CTA als Ausgangszustand. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-02-sticky-apply-fixed-desktop.png | Sticky-Apply-Bar nach Fix sichtbar; externer Minggo-Link bleibt target=_blank rel=noopener noreferrer. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-02-mobile-overflow-fixed-cachebust.png | Mobile-Retest bei 375px nach Meta-Row-Fix: kein horizontaler Overflow, Sticky-Bar sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-03-project-application.webm | Video des FM-P0-03-Laufs mit Validierung, Upload, Submit und Mobile-Smoke. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-03-validation-empty-desktop.png | Leerer Projektbewerbungs-Submit: native Required-Validierung blockiert ohne Console-Errors. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-03-filled-with-upload-desktop.png | Ausgefuellte Gastbewerbung mit hochgeladener PDF vor Submit. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-03-submit-result-coordinate-desktop.png | Projektbewerbungs-Happy-Path: Danke-Meldung nach Submit. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-03-application-mobile.png | Mobile-Bewerbungsformular bei 375px: Pflichtfelder und Submit ohne horizontalen Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-ppp-registration.webm | Video des FM-P0-04-Laufs mit Wizard, Upload, Submit, mobilem Overflow-Fund und Retest-Kontext. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-step1-desktop.png | PPP-Registrierung Start: Step 1 mit Pflichtfeldern und Dokumenten-Upload. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-step1-filled.png | Step 1 ausgefuellt mit Wegwerfadresse, Passwort, Upload und Consents. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-step2-filled.png | Step 2 ausgefuellt: Verfuegbarkeit, Einsatzorte und Stundensatz. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-step3-filled.png | Step 3 ausgefuellt: Skills, Sprachen, Schwerpunkt und Anschreiben. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-submit-result.png | PPP-Registrierung Happy Path: Danke-Meldung nach finalem Submit. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-mobile.png | Mobile-Fail vor Fix: langer Seitentitel erzeugte horizontalen Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-04-registration-mobile-fixed.png | Mobile-Retest nach Page-Title-Fix: bodyScrollWidth=375, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-login-reset.webm | Video des FM-P0-05-Laufs: Aktivierung, Login, Logout, Reset, neues Passwort und erneuter Login. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-verification-redirect-desktop.png | Verify-Route aktiviert den Projektpartner und leitet auf /user/login mit Statusmeldung. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-login-page-desktop.png | Gebrandeter Login-Einstieg /projektportal/login mit E-Mail, Passwort, Toggle und Reset-Link. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-login-success-desktop.png | Login mit E-Mail und initialem Passwort fuehrt ins Projektportal ohne Admin-Toolbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-reset-unknown-email-desktop.png | Reset-Submit mit unbekannter Adresse bleibt enumeration-safe und ausgeloggt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-reset-real-email-desktop.png | Reset-Submit mit echter Adresse zeigt dieselbe generische Meldung; Watchdog wid=110710 belegt Versand. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-reset-link-landing-desktop.png | One-Time-Reset-Link landet auf der Einmal-Login-Bestaetigung mit Ablaufzeit. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-new-password-saved-desktop.png | Passwortaenderung nach Reset speichert erfolgreich. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-login-with-new-password-desktop.png | Login mit neuem Passwort fuehrt wieder ins Projektportal. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-05-portal-mobile.png | Projektportal nach Login bei 375px: bodyScrollWidth=375, kein Admin-Toolbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-profile-account.webm | Video des FM-P0-06-Laufs: Profilbearbeitung, Konto-Einstellungen, E-Mail-Change, Newsletter, Delete-Flow und Retests. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-profile-edit-copy-fixed-desktop.png | Profil-bearbeiten-Seite nach Post-update: keine Lorem-Copy, deutscher Portaltext sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-profile-save-german-status-coordinate-desktop.png | Profil-Save nach Fix: deutsche Statusmeldung sichtbar, englische Core-Meldung entfernt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-account-newsletter-save-coordinate-fixed-desktop.png | Konto-Einstellungen: Newsletter-Opt-in per Browser gespeichert, DB-Wert field_newsletter_opt_in_value=1. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-account-email-change-pending-desktop.png | E-Mail-Wechsel: Pending-Status sichtbar, alte E-Mail bleibt aktiv, neue E-Mail liegt im solcom_projektpartner.email_change-Store. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-account-settings-mobile.png | Konto-Einstellungen bei 375px: bodyScrollWidth=375, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-delete-confirm-final-desktop.png | Cancel-Confirm nach Fix: eindeutige deutsche Hard-Delete-Warnung ohne englischen Blockierungs-Text. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-06-delete-confirmed-desktop.png | Account-Loeschung bestaetigt: Statusmeldung meldet geloeschten Wegwerfaccount qa.delete.20260622@example.test; DB danach users_field_data.uid=9 = 0 Rows. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist.webm | Video des FM-P0-07-Laufs: anonymes Merken, Merkliste, Login-Merge, Apply-All, Remove-Fail, Fix-Retest und Mobile-Benchmark. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-projectlist-anon-added-coordinate-desktop.png | Anonyme Projektliste: sichtbarer Koordinatenklick setzt localStorage=["a1WSZ000007YY9h2AG"], Toggle aktiv und Merkliste-Bar sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist-anon-page-sync-desktop.png | Anonyme Merkliste: Query-Bootstrap rendert das gemerkte Projekt und Apply-All-Link mit ids-Parameter. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist-auth-merged-desktop.png | Eingeloggt: localStorage wurde in user.data gemerged, lokale Liste geloescht, Apply-All nutzt serverseitige Merkliste ohne Query. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-apply-all-auth-form-coordinate-desktop.png | Apply-All nach sichtbarem Link-Klick: /projektportal/merkliste/bewerben rendert Webform und Text 1 Projekt aus Ihrer Merkliste. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist-auth-removed-coordinate-desktop.png | Remove-Fail vor Fix: Button war inaktiv und Store leer, aber Karte blieb auf der Merkliste sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist-auth-remove-fixed-desktop.png | Remove-Retest nach JS-Fix: Karte entfernt, Empty-State sichtbar, Apply-All weg, Store leer. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist-auth-mobile.png | Mobile-Fail vor CSS-Fix: bodyScrollWidth=383 bei 375px durch Jetzt Bewerben-Button. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-07-watchlist-auth-mobile-fixed.png | Mobile-Retest nach CSS-Fix: bodyWidth=375, docWidth=375, keine Overflow-Elemente, Buttons stacken. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-suchagent.webm | Video des Suchagent-Laufs: Login, /projektportal/suchagent, Region DE, Save, Mobile-Smoke. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-suchagent-saved-desktop.png | Suchagent nach Save: Meldung sichtbar, Formular zeigt Speichern/Loeschen, DE und aktiv bleiben gesetzt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-suchagent-saved-mobile.png | Suchagent bei 375px nach Save: bodyWidth=375, docWidth=375, keine Overflow-Elemente. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-project-alert-subscribe.webm | Vor-Fix-Subscribe-Versuch: Tagify wurde falsch befuellt, Submit blieb auf Formularroute; als Automations-Fail nicht als Produktfail gezaehlt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-project-alert-subscribe-fixed.webm | Projekt-Alert-Subscribe mit echter Tagify-Whitelist: Redirect auf Startseite und Double-Opt-In-Hinweis sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-project-alert-confirmed-desktop.png | Confirm-Fail vor Controller-Fix: Subscription wurde aktiviert, sichtbarer Content zeigte aber nur Vielen Dank! ohne Aktivierungstext. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-project-alert-double-optin-fixed.webm | Finaler Double-Opt-In-Retest: Pending confirmed=0, Confirm confirmed=1, Unsubscribe 0 Rows. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-project-alert-confirmed-fixed-desktop.png | Confirm-Retest nach Controller-Fix: Ihr Projekt-Alert ist jetzt aktiv. sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-08-project-alert-unsubscribed-fixed-desktop.png | Unsubscribe-Retest: Ihre Abbestellung wurde bestätigt. sichtbar und Entity geloescht. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-09-availability-hash-mobile.png | Availability-Fail vor 404-Fix: ?hash=test liefert HTTP 404 mit englischer Copy, englischem Button und ohne H1. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-09-availability-hash-404-heading-fixed-desktop.png | Availability-Gegenprobe nach 404-Fix: HTTP 404 bleibt, aber H1, deutsche Copy und Button sind sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-09-availability-hash-404-heading-fixed-mobile.png | Mobile-Gegenprobe nach 404-Fix bei 375px: bodyWidth=375, docWidth=375, keine Overflow-Elemente. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-09-404-page-heading-fixed-desktop.png | Direkte /404-Seite nach Fix: HTTP 200, H1 Seite nicht gefunden, deutsche Copy, Button Zur Startseite. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-home-desktop-final.png | Navigation/Footer-Erstlauf vor Stub-Hide: Desktop-Disclosure, Footer-Linkinventar und Consent-Kontrolle. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-home-desktop-after-stub-hide.png | Navigation/Footer-Retest nach Menu-Updates: leere Main-Stub-Links nicht mehr sichtbar, Standorte/Kontakt auf gefuellte Ziele retargetet. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-mobile-menu-after-stub-hide.png | Mobile-Retest bei 375px: Hamburger oeffnet, bodyWidth=375, docWidth=375, keine Overflow-Elemente. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-home-tablet-final.png | Tablet-Benchmark 768px fuer Navigation/Footer vor finaler Stub-Ausblendung. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-cookie-manager-final.png | Footer-Consent-Button Cookies verwalten oeffnet Consent-Dialog mit Datenschutzbezug. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-datenschutz-after-heading-fix-desktop.png | Datenschutz nach Canvas-Heading-Fix: kein RuntimeError mehr, aber sichtbare Platzhaltercopy bleibt blockierend. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p0-10-terms-service-after-heading-fix-desktop.png | Nutzungsbedingungen nach Canvas-Heading-Fix: kein RuntimeError mehr, aber sichtbare Platzhaltercopy bleibt blockierend. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-01-career-list-title-fixed-desktop.png | Karriere-Liste nach View-Title-Fix: Browser-Title Offene Stellen | SOLCOM, 33 Treffer und sichtbare Vacancy-Karten. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-01-career-list-office-filter-fixed-desktop.png | Karriere-Liste mit Standortfilter Berlin: URL enthaelt office=97, 2 Treffer, stabile Detail-/Apply-Links. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-01-vacancy-detail-title-fixed-desktop.png | Vacancy-Detail Product Owner Salesforce/CRM: H1, Hauptinhalt, Related Jobs, Apply-Link und JobPosting-JSON-LD vorhanden. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-01-vacancy-apply-entry-fixed-desktop.png | Apply-Einstieg vom Vacancy-Detail: Formular fuer passende Vacancy, Datenschutz-Checkboxen und Upload-Felder sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-01-career-list-title-fixed-mobile.png | Mobile Karriere-Liste bei 375px nach Fix: bodyWidth=375, docWidth=375, kein horizontaler Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-01-vacancy-detail-title-fixed-mobile.png | Mobile Vacancy-Detail bei 375px: JobPosting, Apply-Link und Related Jobs ohne horizontalen Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-form-desktop.png | Vacancy-Apply-Form vor Submit: richtige Vacancy, Upload-Felder und Datenschutz-Checkboxen sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-filled-desktop.png | Ausgefuelltes Bewerbungsformular mit Test-CV vor lokalem Submit; keine echte Personio-Uebertragung. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-submit-result-desktop.png | Danke-Seite nach lokalem Submit: Bewerbung erfolgreich abgeschickt!; DB-Beleg: sid=4 und Queue-Item vorhanden. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-mobile.png | Mobile-Fail vor Titel-Fix: langer Vacancy-H1 erzeugte bodyScrollWidth=388 bei 375px. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-fixed-desktop.png | Desktop-Retest nach Titel-Fix: bodyWidth=1280, keine Overflow-Elemente, keine Console-Errors. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-fixed-mobile.png | Mobile-Retest nach Titel-Fix: bodyWidth=375, title.scrollWidth=311, keine Overflow-Elemente. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-02-vacancy-application-fixed-mobile.webm | Mobile-Video des finalen Apply-Form-Retests nach CSS-Fix. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-fur-unternehmen-desktop-final-fixed.png | /fur-unternehmen finaler Desktop-Retest: H1 sichtbar, keine Demo-English-Copy, kein Page-Overflow, keine Browser-Errors. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-fur-unternehmen-mobile-final-fixed.png | /fur-unternehmen finaler Mobile-Retest bei 375px: bodyWidth=375, keine Placeholder-/Overflow-Flags. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-leistungen-branchen-desktop-final-fixed.png | /leistungen-branchen finaler Desktop-Retest: E-Mail schreiben zeigt auf mailto:info@solcom.de. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-leistungen-branchen-mobile-final-fixed.png | /leistungen-branchen finaler Mobile-Retest bei 375px: CTA wrappt, kein test@test.de, kein Page-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-zusammenarbeit-desktop-final-fixed.png | /zusammenarbeit finaler Desktop-Retest: H1/Main-Workflow sichtbar, Button label entfernt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-zusammenarbeit-mobile-final-fixed.png | /zusammenarbeit finaler Mobile-Retest bei 375px: Slider intern geclippt, kein Problem-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-unternehmen-referenzen-desktop-final-fixed.png | /unternehmen/referenzen finaler Desktop-Retest: H1 und Referenzinhalt sichtbar, keine Browser-Errors. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-unternehmen-referenzen-mobile-final-fixed.png | /unternehmen/referenzen finaler Mobile-Retest bei 375px: kein CTA-/Page-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-uber-solcom-desktop-final-fixed.png | /uber-solcom finaler Desktop-Retest: englische Demo-Headings und Button label entfernt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-uber-solcom-mobile-final-fixed.png | /uber-solcom finaler Mobile-Retest bei 375px: bodyWidth=375, keine Placeholder-/Overflow-Flags. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-karriere-bei-solcom-desktop-final-fixed.png | /karriere-bei-solcom finaler Desktop-Retest nach Cache-Busting: H1, korrigierter Link, kein SOLCOIM, kein Video-Platzhalter. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-03-karriere-bei-solcom-mobile-final-fixed.png | /karriere-bei-solcom finaler Mobile-Retest nach Cache-Busting: bodyWidth=375, kein Accordion-Problem-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-newsletter-signup-desktop-final-fixed.png | /form/newsletter-signup Desktop nach Webform-/H1-Fix: Titel/H1 Newsletter abonnieren, CTA Anmelden, kein Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-newsletter-signup-mobile-final-fixed.png | /form/newsletter-signup Mobile bei 375px: H1, Placeholder und CTA deutsch, bodyWidth=375. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-newsletter-submit-mobile-final-fixed.png | Newsletter-Happy-Path: deutsche Danke-Meldung sichtbar; DB webform_submission.sid=5 mit qa.newsletter.1782180071933@example.test. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-webform-contact-form-desktop-final-fixed.png | /form/contact-form Desktop: H1 Kontakt, Pflichtfelder sichtbar, keine englische Confirmation-Copy im DOM. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-webform-contact-form-mobile-final-fixed.png | /form/contact-form Mobile bei 375px: H1 und Formular sichtbar, kein Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-kontakt-desktop-final-fixed.png | /kontakt Desktop nach Canvas-Fix: deutsche Intro-Copy, Kontaktformular vorhanden, alte englische Phrasen entfernt. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-kontakt-mobile-final-fixed.png | /kontakt Mobile bei 375px: deutsche Intro-Copy, Formular vorhanden, kein Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-04-kontakt-submit-captcha-blocked.png | Kontakt-Submit-Blocker: FriendlyCaptcha meldet Browser check failed und setzt .HEADLESS_ERROR; keine contact_form-Submission. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-05-standorte-desktop-final-fixed.png | /kontakt/kontaktdaten Desktop nach Standort-Fix: Titel/H1, Standortdaten, Mailto-Link und Map-Fallback sichtbar; kein Auto-Load von Google Maps. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-05-standorte-mobile-final-fixed.png | /kontakt/kontaktdaten Mobile bei 375px: Standortdaten und Fallback bleiben viewport-stabil. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-05-solcom-gmbh-standorte-retarget-final-fixed.png | /solcom-gmbh-standorte nach Alias-Retarget: rendert dieselbe gefuellte Standortseite statt leerer Canvas-Page. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-05-standorte-strang-3-retarget-final-fixed.png | /standorte-strang-3 nach Alias-Retarget: Titel, H1, Standortdaten und Map-Fallback sichtbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-freelancermap.xml | Freelancermap XML-Feed: HTTP 200, application/xml, noindex, nofollow, zwei lokale Sample-SF-IDs. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-freelance.xml | freelance.de XML-Feed: Suffix -298, Doppel-CDATA-URL und utm_source=freelance.de. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-gulplist.html | Gulp HTML-Feed: HTTP 200, Sample-Angebote mit (m/w/d)-Suffix und Gulp-UTM-Links. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-gulp-redirect.headers.txt | /feeds/gulp.html liefert HTTP 301 auf /asp/robots/gulplist.aspx. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-detail-known-fixed.headers.txt | Legacy Detail bekannter SF-ID: HTTP 301 auf /fuer-freiberufler/projektliste/blacklist-analyst. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-detail-missing-fixed.headers.txt | Legacy Detail unbekannter SF-ID nach Cache-Context-Fix: HTTP 404 ohne Location-Header. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-project-detail-seo-desktop.png | Projekt-Detail-SEO-Sample: Canonical-Slug, JobPosting-JSON-LD, kein Placeholder und kein Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p1-06-gulplist-browser-desktop.png | Browser-Screenshot des Gulp HTML-Feeds mit sichtbaren Sample-Angeboten und Bewerben-Links. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-01-fur-unternehmen-1280.png / -768.png / -375.png | /fur-unternehmen Visual-Smoke: H1, CTA/Card-Inhalte und Page-Breite in drei Viewports stabil. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-01-leistungen-branchen-1280.png / -768.png / -375.png | /leistungen-branchen Visual-Smoke: Card-/Accordion-/CTA-Bereiche ohne Placeholder und ohne horizontalen Page-Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-01-zusammenarbeit-1280.png / -768.png / -375.png | /zusammenarbeit Visual-Smoke: Slider-Slides intern ausserhalb des Viewports, aber Page-Breite bleibt stabil und keine Placeholder-Flags. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-01-unternehmen-referenzen-1280.png / -768.png / -375.png | /unternehmen/referenzen Visual-Smoke: Referenz-/Card-Bereiche mit H1 und stabiler Responsiveness. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-01-karriere-bei-solcom-1280.png / -768.png / -375.png | /karriere-bei-solcom Visual-Smoke: Accordion-/Card-/CTA-Bereiche ohne SOLCOIM, Video-Platzhalter oder Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-02-home-keyboard-focus-desktop.png | Desktop-Tastaturpfad: Skip-Link, Header-Controls und CTA-Fokus sichtbar erreichbar. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-02-mobile-menu-keyboard-focus.png | Mobile-Tastaturpfad: Hamburger per Tab erreichbar, Menue per Enter oeffnet, naechster Link fokussierbar, kein Overflow. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-02-newsletter-required-focus.png | Newsletter-Required-Fokus: leerer Submit fokussiert E-Mail-Adresse, Feld ist required und invalid. | Captured |
evidence/2026-06-22-full-matrix-qa/fm-p2-02-consent-dialog-focus.png | Lokaler Consent-Fallback: role=dialog, aria-modal=true, Label Cookie-Einstellungen, Fokus auf Schliessen. | Captured |
| 2026-06-22 Project Offer Scale Dogfood | Bekannte Projektlisten-, Navigation-, Top-Level- und Content-Blocker. | Startkontext |
| 2026-06-18 Projektportal User Journeys | PPP Registrierung, Login, Profil, Merkliste, Bewerbung, Suchagent, Verfuegbarkeit. | Startkontext |
| 2026-06-19 Formular-Paritaet | Formularstandard und P0/P1-Formular-Gaps. | Startkontext |
| 2026-06-19 Neos-Paritaet Zielbild | Projektbewerbung, Suchagent, Availability, Newsletter und Feed-Testzielbild. | Startkontext |
| 2026-06-16 PPP Dogfood QA | Fruehere gruene Portal-Pfade und Videos, nur als Vergleich. | Startkontext |
Diese Punkte duerfen nicht stillschweigend gefixt werden, falls mehrere Produkt-/Content-Loesungen plausibel sind.
| ID | Entscheidung | Warum relevant | Empfehlung fuer QA |
|---|---|---|---|
| HD-001 | /fuer-freiberufler: Landingpage, Redirect oder kein oeffentlicher Einstieg? | Direkte URL ist fuer Nutzer erwartbar und war als 404 dokumentiert. | Bis Entscheidung als Blocker markieren, nicht als Pass. |
| HD-002 | /projektportal/verfuegbarkeit: Scope fuer Kunden-QA? | Neos-Paritaets-Gap; Code kann ohne Produktentscheidung falschen Flow bauen. | Wenn ausser Scope, explizit im Report als Human-Decision blockieren. |
| HD-003 | FM-P1-03 Content-Korrekturen fuer /fur-unternehmen, /karriere-bei-solcom, /zusammenarbeit und angrenzende Public-Content-Routen. | Offensichtliche Demo-/Placeholder-Texte, Typo, falsche Mail-/Joblist-Links und H1-Semantik waren stakeholder-visible. | 2026-06-23 im aktuellen Lauf geschlossen: offensichtliche Platzhalter wurden entfernt oder normalisiert; ein nachgelagertes fachliches Copy-Review kann erfolgen, blockiert die QA-Matrix aber nicht mehr. |
| HD-004 | Bewerber-ACK fuer Projektbewerbung. | Neos-Zielbild nennt Bewerber-ACK; aktueller Vertrag muss bewusst bestaetigt werden. | Im QA-Lauf Mailpit pruefen und fehlenden ACK nicht weichzeichnen. |
| HD-005 | Freigabe belastbarer Legal-Copy fuer /datenschutz und /terms-service. | Beide Seiten sind im Footer sichtbar; technische RuntimeError-Fixes sind erledigt, aber die Inhalte sind weiterhin Platzhalter und rechtlich nicht autonom ersetzbar. | Vor Kunden-QA echte Datenschutz-/Nutzungsbedingungen bereitstellen oder bewusst entscheiden, welche Links bis zur Freigabe sichtbar bleiben duerfen. |
| HD-006 | Kontaktformular-Submit trotz FriendlyCaptcha manuell bestaetigen oder Test-Captcha-Strategie festlegen. | Automatisierte Browser werden durch FriendlyCaptcha als .HEADLESS_ERROR blockiert. Dadurch kann der reale Submit nicht als automatisierter Success gezaehlt werden. | Vor Kunden-QA einmal in nicht-automatisiertem Browser testen oder eine temporaere, explizit freigegebene QA-Konfiguration fuer Captcha-Submits bereitstellen. |