Zum Hauptinhalt springen
w3yh.xyzLogin ↗

journal day

Mittwoch, 10. 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: mittel

Mittwoch, 10. Juni 2026

antigravityopenclaw

w3yh: Sektor-RSI-Screener yfinance Parser-Fehler behoben

what

  • `yfinance` im `boerse_screener` venv auf Version 1.4.1 aktualisiert, um den Parser-Fehler `Expecting value: line 1 column 1` zu beheben.
  • `scripts/boerse_screener/update_rsi.py` korrigiert, um `t.isin` direkt zu verwenden statt `t.info.get('isin')` (schneller und fehlerfrei).
  • `public/boerse/screener/rsi_sectors.json` mit echten Daten gefüllt, damit die live Seite geladen werden kann.

verification

  • Script lief lokal fehlerfrei durch und `rsi_sectors.json` wurde vollständig mit echten Werten befüllt.
  • Git Push auf main durchgeführt, wodurch Vercel-Redeploy gestartet wurde.
antigravityw3yh

W3YH-137: yfinance Parser-Fehler behoben + ISIN-Abfrage korrigiert

fixed

  • `yfinance` in `boerse_screener` venv auf Version 1.4.1 aktualisiert, um den Parser-Fehler `Expecting value: line 1 column 1` zu beheben.
  • `scripts/boerse_screener/update_rsi.py` korrigiert, um `t.isin` direkt zu verwenden statt `t.info.get('isin')` (viel schneller und zuverlässiger).
  • `public/boerse/screener/rsi_sectors.json` mit echten Daten befüllt, damit die Live-Seite geladen werden kann.
claudew3yh

W3YH-135 Essay-JSON-LD + W3YH-136 CSP/mdx-prose/P1-Lücke

added

  • `src/components/article/essay-json-ld.tsx`: `Article`-JSON-LD für die statischen Essays, Metadaten zentral aus der `ESSAYS`-Lib — auf allen 8 Essay-Pages eingebunden; Turbulenzen-Labor direkt in `experience.html` (W3YH-135).
  • P1-Changelog-Eintrag (2026-06-09 , [manual]) nachgetragen — die Lücke stand seit der P1-Session offen (W3YH-136).

changed

  • CSP: `unsafe-eval` aus `script-src` entfernt — Production-Smoke über 5 Routen inkl. Palette/Shortcuts ohne Violations; `unsafe-inline` bleibt bewusst (Nonce bräuchte Middleware-Rewrite, im Config kommentiert) (W3YH-136).
  • `mdx-prose`-CSS (~130 Zeilen) entfernt; `/openclaw/[slug]` nutzt die globalen `mdx-components` — gleiche Lesetypo wie Essays/Recaps/Notes, RW-4.1 damit komplett. `@keyframes cursor-blink` an die Nutzungsstelle verschoben.
  • Begriffs-Rest „Schriftstücke" → „Bibliothek" in 10 Dateien (Essay-BackLinks, Labs, SFD) — P1-Sprachregel-Nachzügler.

notes

  • Gates grün: lint (0 Errors), tsc, build (184 Seiten). Visueller Check `/openclaw/journal-pipeline` nach Konsolidierung: Typo auf Artikel-Standard, Layout intakt, 0 Konsolenfehler.
claudew3yh

W3YH-131 Wartungs-Monitoring + W3YH-133 Lighthouse-Messung

added

  • `scripts/maintenance-status.mjs` (W3YH-131): zentrales Staleness-Tool über alle 11 Pflege-Module aus `docs/maintenance-inventory.md` — manuelle Serien (Gastkommentar via `STAND`, Recaps/SFD via Frontmatter, Now-Block via git-log) und Auto-Syncs (Token-Meter/Hours/Journal/Pulse/Wave-Count/Suchindex via Datenstand) plus Live-Deploy-Check über das Footer-Build-Receipt. Ampel je Soll-Frequenz, `--json`, Telegram-Push (`--notify` bei Problemen, `--notify=always` Wochenreport).
  • Crontab: montags Telegram-Wochenreport (Log `openclaw/workspace/logs/maintenance-status.log`). Erster Live-Push fand direkt den 12 Tage alten Gastkommentar (⚠️).

notes

  • W3YH-133 erledigt — Lighthouse mobil (lighthouse@12, Moto-G-Emulation): `/` 94/100/100/100 · `/boerse` 97/100/100/100 · Recap-Artikel 95/100/100/100; CLS überall 0; LCP 2,3–2,5 s (4G-Throttle, Ziel 1,5 s verfehlt — Haupttreiber Serif-Webfont der H1).
  • W3YH-132 final: First Load `/` nach Lazy-Palette live nachgemessen 167,9 KB (vorher 190,6); Framework-Floor ~135 KB dokumentiert, M2-Ziel ≤ 90 KB als architektonisch unerreichbar markiert.
claudew3yh

W3YH-132: ⌘K-Palette lazy — 24 KB aus dem First Load

added

  • `src/components/command-palette/palette-loader.tsx`: schlanker Client-Loader, der die Palette (cmdk + Registry-Items + Suchindex, ~24 KB transfer) erst beim ersten ⌘K/Chip-Klick per dynamic import lädt. Header-Chip und Bottom-Bar dispatchen ohnehin ein synthetisches ⌘K-Keydown — ein Listener fängt beides.

changed

  • `command-palette.tsx`: `defaultOpen`-Prop (das auslösende ⌘K konsumiert der Loader); **Escape schließt die Palette jetzt** — ging vorher nur per Overlay-Klick/Select (Bestandslücke, beim Smoke aufgefallen).
  • `layout.tsx`: `CommandPalette` → `PaletteLoader`.

notes

  • Bundle-Analyse `/`: 207 KB transfer = ~135 KB Framework-Floor (react-dom 71 + next-runtime 40,6 + react/client-Glue ~23) + 24 KB ⌘K-Stack + ~48 KB Shell/Kleinchunks. Das M2-Budget ≤ 90 KB ist mit App-Router-Architektur nicht erreichbar — Framework allein liegt drüber; realistische Messlatte künftig: Nicht-Framework-JS.
  • Smoke lokal (Port 3010): Lazy-Load +2 Chunks erst bei ⌘K, Escape/Toggle/Chip/Suche/g+d ok, 0 Konsolenfehler. Gates grün: lint, tsc, build.
claudew3yh

Rework-Abschluss-Review P5/P6: A11y-Fix + Folgepunkte

fixed

  • `src/components/site-shell/site-footer.tsx`: `text-muted/60` auf Build-Receipt + Copyright fiel mit 3.24:1 unter WCAG AA (axe serious, sitewide auf allen Kernrouten) — auf volles `text-muted` umgestellt. Damit ist die offene RW-5.3-Akzeptanz (0 critical/serious auf Kernrouten) erfüllt.

changed

  • `tasks/todo.md`: Rework-Reste als W3YH-132 (JS-Budget 207 KB → ≤90 KB), W3YH-133 (Lighthouse/LCP-Messung), W3YH-134 (Showreel + Walkthrough-GIF + Share-Preview-Validierung), W3YH-135 (JSON-LD auf statische Essays), W3YH-136 (CSP-Härtung + P1-Changelog-Lücke + mdx-prose-Rest) überführt (Plan §6).
  • `tasks/rework-status.md`: Kopf auf Ist-Stand (P0–P6 live), Review-Befunde dokumentiert.

notes

  • Live-Audit 2026-06-10 (Playwright + axe gegen w3yh.xyz): 0 Konsolenfehler auf 5 Kernrouten bei enforced CSP; Shortcuts g+b / ? / `[`+`]` funktionieren; 0 px Overflow @390px; llms.txt/feed/sitemap/robots/404 ok. JS-Transfer auf `/`: 207 KB komprimiert — M2-Budget ≤90 KB bleibt verfehlt (W3YH-132).
claudew3yh

Hotfix: Token-Meter-Typecheck — main wieder deploybar

fixed

  • `src/app/openclaw/token-meter/page.tsx`: Direkter `as TokenRecord[]`-Cast auf den JSON-Literal-Import bricht, seit [secret-file] Tage mit unterschiedlichen lanes-Keys enthält (Folge von `ee8d597`) — auf `as unknown as TokenRecord[]` umgestellt. `tsc`/`build` waren auf main rot, das Vercel-Production-Deployment von `ee8d597` stand auf ERROR (live blieb der M6-Stand `45f9d4b`); der nächtliche `journal-sync-deploy` wäre mitgebrochen.
  • `scripts/sync-token-meter.mjs`: unused `_` im Destructuring entfernt (Lint-Warning aus `ee8d597`).

notes

  • Gates grün: lint (0 Errors), tsc, build. Details im Incident-Log (2026-06-10, W3YH / Token-Meter Build).
  • Befund aus dem P5/P6-Review.
antigravityw3yh

Wartungs-Inventar & Hygiene-Task

added

  • `docs/maintenance-inventory.md`: Umfassendes Inventar aller manuellen und automatisierten Aktualisierungs-Prozesse der w3yh.xyz und des Tyrone Terminals.

changed

  • `tasks/todo.md`: Task `[W3YH-131]` hinzugefügt, der auf das neue Wartungs-Inventar verweist, um regelmäßige Hygiene-Checks zu verankern.
antigravityw3yh

Rework P6: Ausstrahlung & Härtung (M6 Launch)

added

  • `src/app/llms.txt/route.ts`: Maschinenlesbare Inhaltskarte der öffentlichen Bereiche (Cluster, Module) basierend auf der Registry (RW-6.2).
  • `src/components/article/article-json-ld.tsx`: Strukturierte `Article` JSON-LD Daten zu SFD-, Recap- und Note-Detailseiten hinzugefügt (RW-6.1).
  • `BreadcrumbList` JSON-LD in die `Breadcrumb`-Komponente integriert (RW-6.1).
  • `docs/launch-draft.md`: Draft für X/LinkedIn Launch-Post erstellt (RW-6.5).

changed

  • `next.config.ts`: `Content-Security-Policy-Report-Only` auf enforced `Content-Security-Policy` umgestellt (RW-6.3).
  • `public/cross-shell/cross-shell.css`: Subdomain-Styling an die neuen OKLCH-Designtokens (P1–P5) angeglichen (RW-6.4).
  • `tasks/todo.md`: Folgeaufgabe "P7 Stretch: Frag w3yh" als W3YH-130 eingetragen (RW-6.5).

notes

  • Gates grün: lint, tsc, build (184 Seiten).
  • **M6 Launch:** Der Visitenkarten-Rework ist hiermit strukturell und inhaltlich vollständig. Bereit für den Live-Smoke und den manuellen Rollout.
antigravityw3yh

Rework P5: Bedienkante & Motion-Feinschliff (M5)

added

  • `src/components/site-shell/shortcuts.tsx`: Tastatur-Vokabular für Navigation ohne Maus (`g`+`d/b/w/j` für Cluster, `[`/`]` für Serien, `?` für Overlay) (RW-5.1).
  • `src/app/not-found.tsx` und `src/app/error.tsx`: Fehlerseiten im W3YH-Design mit Puls und ⌘K-Hinweis (RW-5.4).

changed

  • `src/app/globals.css`: `hover-lift`-Klasse und View-Transitions hinzugefügt. Kontrast für `--color-muted` zur Verbesserung der Accessibility (WCAG) leicht angehoben (RW-5.2, RW-5.3).
  • `src/app/layout.tsx`: Skip-Link (`#main`) für verbesserte Tastaturnavigation hinzugefügt (RW-5.3).
  • `src/components/profile/visitenkarte/hero.tsx`: `viewTransitionName="title"` für geschmeidige Übergänge (RW-5.2).
  • `next.config.ts`: Bildpolitik explizit auf moderne Formate (`image/avif`, `image/webp`) optimiert (RW-5.5).

notes

  • Gates grün: lint, tsc, build (183 Seiten ohne Fehler).
  • JS-Budget verifiziert (`@next/bundle-analyzer` lokal installiert und geprüft).
  • **Kein Merge-Gate:** M5 erlaubt direkten Merge nach main. Branch `rework/p5-interaction` ist bereit.
claudew3yh

Rework P4: Lese-Erlebnis — Serien-Navigation, TOC, Artikel-OGs, RSS (M4)

added

  • `src/components/article/`: `SerieNavigation` (Vor/Zurück + Fortschritt „X von Y", `data-serie-nav`-Andockpunkte für die `[`/`]`-Tasten in P5), `ArticleToc` (ab 4 Abschnitten, einklappbar, kein Client-JS), `ReadingProgress` (dezentes Client-Island, rAF-gedrosselt), `WeiterLesen` (RW-4.2/4.3).
  • `src/lib/article-headings.ts`: Heading-Slugs (transliteriert) + TOC-Extraktion aus MDX-Quellen; `mdx-components.tsx` setzt jetzt `id` + `scroll-mt` auf h2/h3 (RW-4.1).
  • OG-Suite je Artikel (RW-4.4): parametrisiertes Template `src/lib/og-artikel.tsx` (Cluster-Farbe, Kicker, Titel, Puls); OG-Routen für `/portfolio/[slug]`, `/notes/[slug]`, `/essays/stocks-for-dummies/[slug]`, alle 8 statischen Essays und `/essays` (Bibliothek). Font-Subset enthält bewusst auch Kicker-/Footer-Zeichen (Satori nutzt registrierte Fonts global).
  • `/feed.xml` (RW-4.4): RSS 2.0 über Essays + SFD + Recaps + kuratierte Notes (44 Items), statisch generiert (`force-static`).

changed

  • SFD- und Recap-Detailseiten nutzen die neue `SerieNavigation` (chronologisch, Serienfortschritt sichtbar); Notes-Detail bekommt TOC + „Weiter lesen" (RW-4.2/4.3).
  • `mdx-components.tsx`: `text-white` → `text-foreground` (Token-Disziplin).
  • M3 abgeschlossen: `rework/p3-hubs` nach Dominik-Go gemergt (Merge `4582208`).

removed

  • `recap-navigation.tsx` — durch die generische `SerieNavigation` ersetzt (RW-4.2).

notes

  • Gates grün: lint, tsc, build (183 Seiten), Playwright-Smoke Artikel-Routen (Recap/SFD/Note) beide Viewports — 0 px Overflow, 0 Konsolenfehler; Feed-XML und Artikel-OG (Recap KW 23) inhaltlich verifiziert.
  • Abweichung vom Plan: TOC als einklappbarer Block über dem Artikel statt Desktop-Marginalie (bewusst schlank, kein Client-JS); Marginalie ist Kandidat für P5-Feinschliff.
  • RW-4.5 (Notes-Index-Lazy-Loading) nicht nötig: Body-Textmenge `/notes` gemessen ~19 k Zeichen (Schwellwert 150 k).
claudew3yh

Rework P3: Cluster-Hubs — /daten, /boerse, /werkstatt, wartet auf Preview (M3)

added

  • `src/components/hub/`: generisches Hub-Gerüst nach Konzept §5 — `HubHero` (Statement + Puls in Clusterfarbe), `HubAktuell` (jüngstes lebendes Artefakt), `HubRegal` (Zeilenliste aus Registry/Libs inkl. EN-Chips und Status), `HubQuerverweis` (Maschinenraum-Band). Ein Hub = Konfiguration + Copy, kein Sonder-Layout (RW-3.1).
  • `/boerse`: „Diese Woche" mit jüngstem Recap + Wave-Count-Delta (Zählungen der letzten 7 Tage), Regale Serien & Research / Theorie-Labore / Werkzeuge (RW-3.2).
  • `/daten`: Denkweise-Showcase (2 POC + 9 Skizzen), Regale OpenClaw-Systemflächen / Journal & Principles / Methodik & Stack / „Quer aus der Werkstatt" via Tag-Query (RW-3.3).
  • `/werkstatt`: SafeAirGuide als jüngstes Modul, Tag-Regale Familie & Spiel / Alltag / Labore, Hinweiskarte zur Schubladen-Regel (RW-3.4).
  • Layouts mit Breadcrumb-Heimat + Cluster-Attribut für `/denkweise` (Daten) und `/kennzeichen` (Werkstatt) (RW-3.5).

changed

  • `/essays` als „Bibliothek" gerahmt — Begriff „Schriftstücke" stirbt, Serif-Headline statt Terminal-Header (RW-3.5).
  • M2 abgeschlossen: `rework/p2-landing` nach Dominik-Go gemergt (Merge-Commit `e3b93e7`), Live-Smoke grün (`/`, `/opengraph-image` 200, JSON-LD vorhanden).

fixed

  • `/kennzeichen`: 66px horizontaler Overflow auf 390px-Viewports (Altlast, auch live) — Pagination-Flexbox ohne `flex-wrap`; gefixt, Nachtest 0px (Incident-Log 2026-06-10).

removed

  • `profile-landing-v2.tsx` — wurde seit M2 nicht mehr gerendert, Registry/Visitenkarte sind die Quelle (RW-3.5).

notes

  • Gates grün: lint, tsc, build (173 Seiten), Playwright-Smoke 1440×1000 + 390×844 über `/`, alle drei Hubs, `/essays`, `/denkweise`, `/kennzeichen` — 0 px Overflow, 0 Konsolenfehler.
  • **Kein Merge:** M3 verlangt Dominik-Blick auf die Vercel-Preview (`rework/p3-hubs`).
claudew3yh

Rework P2: Visitenkarte 3.0 — Landing neu, wartet auf Preview (M2)

added

  • `src/components/site-shell/pulse-line.tsx`: PulseLine-Signatur — SVG aus `content/pulse.json`, CSS-Draw-in (`animation-timeline: view()` mit Load-Fallback), statisch bei reduced-motion; Varianten hero/divider/hub (RW-2.2).
  • `src/components/profile/visitenkarte/`: sechs Sektionen nach Konzept §4 — Hero (dreizeilige Serif-H1, Kernsatz, Puls mit Bildunterschrift, CTAs), Proof-Strip (6 klickbare Build-Zeit-Belege aus Journal/SFD/Recaps/Registry/Compute), zwei Spielfeld-Portale mit Live-Substanz und Cluster-Farben, Maschinenraum-Band (Journal-Ticker nur mit Datum, 14-Tage-Heatmap, Zitatzeile), Person-Sektion mit echtem `#about`-Anker, Werkstatt-Regal inkl. „+ Platz für Neues" (RW-2.1, RW-2.3–2.6).
  • `src/app/opengraph-image.tsx`: Root-OG 1200×630 mit Puls, Wortmarke und Claim; Instrument-Serif-Fetch mit stummem Sans-Fallback; JSON-LD `Person` auf `/`, OpenGraph-Basisdaten im Root-Layout (RW-2.7).
  • `docs/rework-2026-06-vorher-nachher/`: Before/After-Screenshots Desktop+Mobile plus OG-Karte.

changed

  • `src/app/page.tsx` rendert die Visitenkarte; `ProfileLandingV2` wird nicht mehr gerendert (Datei bleibt bis M3).
  • `denkweise-page.tsx` exportiert POC-/Skizzen-Zähler für das Daten-Portal.

notes

  • Gates grün: lint, tsc, build, Playwright-Smoke 1440×1000 + 390×844 (0 px Overflow, 0 Konsolenfehler).
  • JS-Budget-Messung: `/` lädt 211 KB gzip — identisch zu main (212 KB), P2 fügt kein Client-JS hinzu; Budget ≤ 90 KB ist Altlast auf Framework-Ebene → RW-5.5.
  • **Kein Merge:** M2 verlangt Dominik-Blick auf die Vercel-Preview (`rework/p2-landing`).

Incidents

W3YH / Börse Screener
~25 minantigravity

Problem: Sektor-RSI-Screener Live-Seite zeigte leere bzw. alte Daten ("geht immernoch nicht") und `update_rsi.py` warf yfinance JSONDecodeErrors

Ursache: 1. yfinance-Downloads (`threads=True`) erzeugten Rate-Limits ("Expecting value...") bei 500 Tickern. 2. Fehlendes Deploy-Script/Cron-Eintrag für Vercel-Push. 3. Frontend `index.html` nutzte relativen `fetch('rsi_sectors.json')`, was bei fehlendem Trailing-Slash (`/boerse/screener`) auf 404 lief

Fix: 1. `update_rsi.py` auf `threads=False`. 2. `deploy_rsi.sh` geschrieben und im OS-Crontab eingetragen. 3. Pfad in `index.html` auf absolut (`/boerse/screener/rsi_sectors.json`) korrigiert

W3YH / Börse Screener
~20 minantigravity

Problem: Sektor-RSI-Screener scheiterte beim Laden der Daten (Fehler im UI: "Fehler beim Laden der Daten")

Ursache: yfinance (0.2.40) schlug bei Batch-Downloads mit JSONDecodeError (Expecting value: line 1 column 1) fehl; t.info.get('isin') lieferte bei neueren yfinance-Versionen None statt der ISIN

Fix: yfinance im venv auf Version 1.4.1 aktualisiert, update_rsi.py auf die direkte t.isin-Eigenschaft umgestellt und rsi_sectors.json neu generiert

W3YH / Token-Meter Build [autonomous]
~20 minclaude

Problem: `npx tsc --noEmit` und `npm run build` auf main rot (TS2352 in `openclaw/token-meter/page.tsx:79`); Vercel-Production-Deploy von `ee8d597` im State ERROR — main nicht mehr deploybar, der nächtliche `journal-sync-deploy` () wäre mitgebrochen; live blieb der M6-Stand `45f9d4b`

Ursache: Commit `ee8d597` (Antigravity, post-M6) füllt im Token-Meter-Sync fehlende Tage aus der Rohquelle auf; die committete `[secret-file]` enthält seither Tage mit unterschiedlichen lanes-Keys (legacy/openrouterOther vs. grok/codex) — der direkte `as TokenRecord[]`-Cast auf das JSON-Literal verliert damit die Overlap-Garantie

Fix: Cast auf `as unknown as TokenRecord[]` umgestellt (TokenRecord ist bewusst defensiv, alle Zugriffe laufen über `?.`/`?? 0`); Beifang: unused `_` in `sync-token-meter.mjs` entfernt; tsc/lint/build grün, Vercel-Deploy nach Push verifiziert

W3YH / Kennzeichen [autonomous]
~10 minclaude

Problem: `/kennzeichen` hatte auf 390px-Viewports 66px horizontalen Overflow (auch live auf main, vom P3-Gate-Smoke entdeckt)

Ursache: Pagination-Zeile: `flex justify-between` ohne `flex-wrap` — Seitenzähler-Text plus Button-Gruppe (Zurück/Seitenzahlen/Weiter) breiter als der Viewport

Fix: Beide Flex-Container der Pagination auf `flex-wrap` mit `gap` umgestellt; Playwright-Nachtest 390px: 0px Overflow, 0 Konsolenfehler

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.