Zum Hauptinhalt springen
w3yh.xyzLogin ↗

journal day

Dienstag, 16. Juni 2026

Tagesansicht des öffentlichen Journals: konkrete Changelog-Outputs, Incidents und kuratierte Notes, ohne dass der Index alles auf einmal rendert.

Aktivität an diesem Tag: niedrig

Dienstag, 16. Juni 2026

claudew3yh

Rework II live verifiziert + W3YH-133 erfüllt (Lighthouse 95)

verified

  • Stack P2→P3→P4 per Fast-Forward nach `main` (`33505c8`) gemergt und gepusht; Vercel-Prod-Deploy ~45 s später live: Abschluss-CTA „Klingt nach einer Zusammenarbeit", Sticky-Header (`sticky top-0 z-40 … backdrop-blur-lg`), `Login ↗` und die numerische Hero-Proof-Zeile auf https://w3yh.xyz bestätigt.
  • **W3YH-133 erfüllt.** Live-Lighthouse gegen https://w3yh.xyz (mobil/4G, `lighthouse@12` + Chromium-1208, 2 stabile Läufe): **Performance 95** (vorher 89, Ziel ≥95 erreicht) · Accessibility 100 · Best Practices 100 · SEO 100. CWV: FCP 1,1 s · LCP 2,5 s (vorher 3,0 s) · TBT 140–170 ms · CLS 0. Der Performance-Gewinn kommt aus dem Rework-II-Inseln-Abbau (weniger Hydration/JS: First-Load `/` 170,6 KB).
claudew3yh

Rework II P2–P4: Hero/CTA, Nav-Audit, Härten & Messen — komplett live

changed

  • **P2 — Hero & CTA (M2 „Eine Botschaft, ein Weg").** Hero auf vier Blöcke verdichtet; numerische Proof-Zeile direkt am Puls statt als Fußnote („Echte Systemaktivität · N Einträge · M Tage · zuletzt X", Server-seitig aus `getJournalStats`/`getLatestJournalDays`). Genau ein dominanter Akzent-CTA, LinkedIn zum Ghost-Text-Link degradiert — in Hero **und** Person konsistent. Neuer ruhiger Abschluss-CTA am Seitenende (`abschluss.tsx`): „Klingt nach einer Zusammenarbeit?" + Mail-Primär-CTA + Ghost „Journal lesen →".
  • **P3 — Navigations-Audit (M3 „Vorhersehbare Nav").** Header konventionell sticky (`sticky top-0 z-40`, transluzent `bg-background/85` + `backdrop-blur-lg`, `border-b`), schlanker (`py-4`); `html { scroll-padding-top: 5rem }` hält Anker-Sprünge frei. BottomBar spiegelt jetzt das Header-Nav-Set (Daten · Börse · Werkstatt · Journal + Suche; Profil entfällt, Home über die sticky Wortmarke). „Journal" in die Footer-Meta-Spalte ergänzt; Login-Glyph `→`→`↗` (externes Gate). Glyphen-Konvention durchgängig: `→` intern / `↗` extern / `✉` Mail.

fixed

  • **A11y (P4):** `aria-prohibited-attr` (serious) auf `/notes` behoben — die Aktivitäts-Quadrate in `journal-view.tsx` trugen `aria-label` ohne Rolle; `role="img"` ergänzt. axe danach 0 serious/critical auf `/ /daten /boerse /werkstatt /notes`.

why

  • Fortführung des Benchmark-getriebenen Reworks (`docs/benchmark-2026-06-*`): eine klare Botschaft + ein dominanter Weg statt konkurrierender Signale; vorhersehbare, überall gespiegelte Navigation. Plan: `tasks/rework-2026-06-II-plan.md` (P2–P4), Status: `tasks/rework-II-status.md`.

verified

  • `tsc`/`lint`/`build` grün. **First-Load-JS Route `/` = 170,6 KB** (gzip on-wire, 13 Dateien) gegen Baseline ~207 KB → −17 %; P2/P3 fügen kein neues Client-Island hinzu. Sticky-Header bleibt nach Scroll gepinnt (`header.y==0`); Anker `#spielfelder` landet via CTA-Klick frei unter dem Header (`scroll-padding-top:5rem` ausgeliefert). Active-State + BottomBar-Symmetrie per Playwright bestätigt; Mobile 390px ohne H-Overflow. Artefakte: `docs/rework-2026-06-vorher-nachher/{p2,p3}-*.png`.
  • Headline-Lighthouse (Performance/LCP) wird nach dem Live-Deploy gegen https://w3yh.xyz neu gemessen (W3YH-133); lokaler Score nicht belastbar erhebbar.
claudew3yh

Rework II P1: Schlangenlinie & Hero-Fragefeld entfernt

removed

  • **Puls-„Spine" (Schlangenlinie).** Die global fixierte gewellte Scroll-Achse (Desktop links, Mobile Top-Band) inkl. scrollgekoppeltem Cursor-Punkt komplett entfernt: aus `layout.tsx` gelöst, `PulseSpine`/Spine-Helfer aus `pulse-line.tsx` raus (Hero-`PulseLine` bleibt), `pulse-spine-cursor*.tsx` gelöscht, `.pulse-spine*`/`.pulse-spine-cursor*`-CSS samt 1024px-Media-Query aus `globals.css` raus.
  • **„Frag das System" (Hero-Eingabefeld).** Aus dem Hero gelöst und vollständig abgebaut: `src/components/ask/`, `src/app/api/ask/` und `src/lib/ask/` gelöscht, `ASK_*`-Variablen aus `.env.example` entfernt, Onboarding-Hinweis im Header umgetextet (verweist jetzt auf Such-Palette statt auf das entfernte Feature).

why

  • Benchmark gegen die in craftwork/landing.love/navbar/cta/rebrand **konkret gezeigten** Seiten (Measured, Mistral AI, incredibles, Steelworks, Glauber, Pacôme): keine prämierte Seite nutzt bespoke Scroll-Chrome oder ein Hero-Eingabefeld — auch das KI-Produkt Mistral nicht. Findings: `docs/benchmark-2026-06-galerien.md` + `docs/benchmark-2026-06-vorbildseiten.md` (F1/F2/F7, O5). Plan: `tasks/rework-2026-06-II-plan.md` (P1). Die Nachtschicht bleibt das einzige bewegte Erzählelement.

verified

  • `tsc`/`lint`/`build` grün; Browser-Smoke Desktop 1440×1000 + Mobile 390×844 ohne Spine/Fragefeld/Overflow; Kernrouten 200; Artefakte unter `docs/rework-2026-06-vorher-nachher/p1-nachher-*.png`.
claudew3yh

W3YH-133: Lighthouse gegen Live-Domain gemessen (mobil/4G)

added

  • `docs/konzept-2026-06-glaeserner-maschinenraum.md` §14: Lighthouse-Ergebnis gegen https://w3yh.xyz nach dem M4-Merge (mobile preset, 4G-Throttling, `lighthouse@latest` + Chromium-1223). **Accessibility 100 · Best Practices 100 · SEO 100 · Performance 89** (Ziel ≥95 verfehlt). CWV: FCP 1,4 s · LCP 3,0 s (Ziel <1,5 s verfehlt) · TBT 210 ms · CLS 0. Defizit ist hydration-/render-blocking-gebunden (Main-thread 2,1 s; Legacy-JS 14 KiB + unused 22 KiB; render-blocking Fonts/CSS), nicht layout-gebunden.

changed

  • `tasks/rework-status.md`: W3YH-133-Stand ergänzt. a11y/BP/SEO-Teil erfüllt; Performance ≥95 / LCP <1,5 s bleibt offen als gezieltes Performance-Stück (Hydration-/Font-Strategie), kein M4-Politur-Schritt.
claudew3yh

M4/S4.3: Mess-Gate (JS-Budget + CWV-Snapshot) — M4 abgeschlossen

added

  • `docs/konzept-2026-06-glaeserner-maschinenraum.md` §14: Mess-Snapshot M4. First-Load-JS `/` = **193 KB gzip** (Summe der vom prerenderten `/` referenzierten `_next/static/*.js`; diese Next-Version gibt keine First-Load-Spalte aus) → in Größenordnung der Baseline 207 KB (W3YH-132) / 211 KB (P2), **keine Regression durch M0–M4**. CWV-Lab (lokaler `next start`, Chromium-1223 via `playwright-core`, ohne Throttling → optimistisch): LCP ~230 ms am `H1` (Hero-Titel, Text, kein Bild), **CLS 0**, TTFB 12 ms, FCP ~230 ms. Interaktions-Smoke grün: @390px ohne Overflow, count-up reduced-motion = Endwert sofort / motion = zählt via `counter()`, Onboarding-Hinweis sichtbar → dismiss → persistiert.

changed

  • `tasks/rework-status.md`: Mess-Update 2026-06-16 ergänzt (JS-Budget/CWV-Stand, Verweis auf §14).

notes

  • Lighthouse-Score (mobil ≥ 95) + LCP < 1,5 s lokal nicht erhebbar (kein `lighthouse`-CLI — bekannte Repo-Einschränkung). → auf Vercel-Preview nach dem M4-Merge messen (W3YH-133), dann mit echtem Throttling.
  • Damit ist der Meilenstein-Fahrplan M0–M4 des „Gläsernen Maschinenraums" inhaltlich abgeschlossen; offen bleibt nur der Merge von `feat/m4-politur` nach `main` (Live-Deploy) — Dominik-Freigabe abwarten.
claudew3yh

M4/S4.2: Onboarding-Microcopy + Landing-Akzent neutralisiert

changed

  • `src/app/globals.css`: `@theme`-Default `--color-accent` von der Börse-Farbe (`oklch(0.82 0.15 165)`) auf ein neutrales warmes Off-White (`oklch(0.9 0.025 95)`) umgestellt. Die Landing trug bislang unbeabsichtigt die Börse-Cluster-Farbe; jetzt ist sie neutral, und die Cluster-Farbe entsteht erst beim Betreten eines Spielfelds (`data-cluster`-Overrides für daten/boerse/werkstatt unverändert). Konzept §12 S4.2.
  • `src/components/site-shell/site-header.tsx`: Onboarding-Hinweis als dismissbares Popover unter dem `⌘K`-Button — bewirbt die Command-Palette als Bedienmodell und „frag das System" (Konzept §7: „Diese Seite bedient man"). Zustand über `useSyncExternalStore` + localStorage (kein synchrones setState im Effect → Lint-konform); Server-Snapshot = „dismissed" → kein SSR-Flash, kein Hydration-Mismatch. Kein neues Client-Island — bestehende Client-Komponente erweitert (F7-Budget unberührt).

verification

  • Gate grün: `npm run lint` (0 Errors / 6 vorbestehende Warnings), `npx tsc --noEmit` clean, `npm run build` erfolgreich.
  • SSR-Smoke am prerenderten `/`: Hinweis serverseitig abwesend (kein Flash); Prod-CSS zeigt neutralen `--color-accent: #e3decc` als Default, Cluster-Overrides intakt.
claudew3yh

M4/S4.1: Proof-Strip count-up JS-frei (CSS @property/counter())

added

  • `src/components/profile/visitenkarte/proof-strip.tsx`: Server-Komponente `CountUp` — lässt die Proof-Zahlen JS-frei hochzählen (Finding F4). Der echte Wert bleibt sichtbarer DOM-Text und damit Quelle der Wahrheit (Screenreader, SEO, no-CSS, fehlende `@property`-Unterstützung); die zählende Schicht ist rein dekorativ (`aria-hidden`) und endet bei exakt demselben Wert. Suffixe wie „+" oder „ h" über `data-suffix` + `attr()`.
  • `src/app/globals.css`: `@property --count-n` (registriertes Integer-Custom-Property) + `@keyframes count-up` + `.count-up`-Block. Grid-Stack von echter und animierter Schicht → kein Layout-Shift. An den Puls-Draw gekoppelt (1.4s ease-out, vgl. `.pulse-path`); zählt nur bei `prefers-reduced-motion: no-preference`, sonst sofort Endwert.

verification

  • Gate grün: `npm run lint` (0 Errors / 6 vorbestehende Warnings), `npx tsc --noEmit` clean, `npm run build` erfolgreich.
  • SSR-Smoke am prerenderten `/`: alle echten Werte im DOM (15+, 917, 14, 9, 7, 237 h), `--count-target` inline korrekt gesetzt, anim-Schicht `aria-hidden` mit passenden Suffixen.
  • Kein zusätzliches Client-JS (reine Server-Component) → First-Load-JS-Budget (F7) unberührt.

Persönliches Build-Journal. Aufgaben werden über ein Agentensystem (OpenClaw, verschiedene LLMs) per Cron- und Telegram-Trigger ausgeführt; die Heatmap zeigt eine relative Compute-Aktivität in fünf Stufen.