← w3yh.xyz

journal day

Samstag, 25. April 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

Samstag, 25. April 2026

codexopenclaw

w3yh Handy-Drift: öffentliche Portfolio-/Runbook-Dateien nachgezogen

fixed

  • **`w3yh.xyz` remote `main`**
  • Commit `b2528ef` (`Schliesse w3yh Portfolio Drift`) nach `main` gepusht.
  • Die lokale Claude-/Handy-Vorarbeit enthielt echte, noch ungepushte öffentliche Fixes: Portfolio-Attribution, Portfolio-Generatoren, README/Runbook und zwei Doku-Dateien.
  • Diese Änderungen wurden aus dem dirty lokalen Checkout in einen sauberen Worktree gegen `origin/main` übernommen.
  • `content/portfolio/kw-16-2026.mdx`, alle sechs X-Exports, `src/components/portfolio/portfolio-attribution.tsx` und `src/app/portfolio/page.tsx` nutzen jetzt wirklich das Gareth-Neary-/TLI-Kontext-Framing.
  • `scripts/portfolio-draft.mjs`, `scripts/portfolio-publish.mjs` und `scripts/portfolio-weekly-run.mjs` erzeugen künftig nicht wieder das alte Drei-Quellen-Framing.
  • `README.md`, `docs/comfort-login-scope.md` und `docs/tli-portfolio-recap.md` wurden aus dem lokalen Stand nachgezogen.

verified

  • Gegen `origin/main` geprüft: Der Remote-Changelog behauptete den Portfolio-Attribution-Fix bereits, aber die echten Remote-Dateien enthielten noch `@MitchMartan98`/`The Value Trader`/Drei-Quellen-Framing.
  • `grep` gegen Portfolio-Content, Docs, Scripts und Portfolio-Komponenten findet die alten Marker nicht mehr.
  • Vercel Production-Deploy `dpl_D3VmV5sRyrBF7SWy9PasJUzhQ5V8` ist `READY`.
  • Live-Smoke gegen `https://w3yh.xyz/portfolio/kw-16-2026`: `200`; `Gareth Neary`/`TLI-Setup` sichtbar, alte Marker nicht mehr vorhanden.
  • Private-Gate-Darstellung, `spielgenerator.de` und Carpark wurden bewusst nicht angefasst.
codexw3yh

Handy-Drift: öffentliche Portfolio-/Runbook-Dateien nachgezogen

fixed

  • **Portfolio-Attribution**
  • `content/portfolio/kw-16-2026.mdx`, alle sechs `content/portfolio/exports/kw-16-2026-*.txt`, `src/components/portfolio/portfolio-attribution.tsx` und `src/app/portfolio/page.tsx` wirklich auf das Gareth-Neary-/TLI-Kontext-Framing gezogen.
  • Der Remote-Stand hatte den Fix im Journal bereits behauptet, die echten Dateien enthielten aber noch `@MitchMartan98`/`The Value Trader`/Drei-Quellen-Framing. Dieser Drift ist jetzt geschlossen.
  • **Portfolio-Generatoren**
  • `scripts/portfolio-draft.mjs`, `scripts/portfolio-publish.mjs` und `scripts/portfolio-weekly-run.mjs` auf neues TLI-Synthese-Framing und echte Umlaute nachgezogen.
  • **Docs/Runbook**
  • `README.md` vom Next-Scaffold zum w3yh-Runbook gehoben.
  • `docs/comfort-login-scope.md` und `docs/tli-portfolio-recap.md` auf Gate-/Portfolio-Realität aktualisiert.

verified

  • Gegen `origin/main` gegengeprüft: alte Attribution war live im Remote-Dateistand noch vorhanden.
  • `grep` gegen Portfolio-Content, Docs, Scripts und Portfolio-Komponenten findet keine alten Marker `The Value Trader`, `@MitchMartan98`, `Drei-Quellen-Synthese` oder `Drei-Quellen-Framing`.
  • Private-Gate-Darstellung, Spielgenerator und Carpark wurden bewusst nicht angefasst.
codexopenclaw

W3YH-102 Markets-Rollout erledigt

changed

  • **`stocktracker` remote `main`**
  • Commit `b531f46` (`Roll out w3yh cross shell to Markets`) nach `main` gepusht.
  • `index.html` lädt jetzt `https://w3yh.xyz/cross-shell/cross-shell.css`, setzt den Titel auf `Markets · w3yh.xyz` und rendert `← w3yh.xyz`-Badge plus Cross-Shell-Footer.
  • `vercel.json` ergänzt Security-Header-Baseline.
  • Sticky Search-Bar auf `top-10` gesetzt, damit sie nicht unter dem neuen Cross-Shell-Badge liegt.
  • App-Copy final auf `w3yh Markets`, `Trend Signals` und neutrale öffentliche Beispiel-Ticker gezogen.
  • **`w3yh.xyz` remote `main`**
  • Commit `c0da9c4` (`Dokumentiere Markets Cross-Shell Rollout`) nach `main` gepusht.
  • `tasks/todo.md` markiert den `W3YH-102`-Subpunkt `stocktracker (Markets)` als erledigt.
  • `changelog/2026-04.md` dokumentiert Commit, Deploy und Prüfung.

verified

  • Stocktracker Clean-Worktree: `npm run lint`, `npm run build`, `git diff --check` grün.
  • Lokaler Vite-Smoke per Playwright auf Desktop und Mobile: Badge/Footer sichtbar, kein horizontaler Overflow, keine Console-Errors.
  • Vercel Production-Deploy `dpl_8T6PjFRsJmybxUtGAg5YcWZi3HAM` ist `READY`.
  • Live-Smoke gegen `https://stocktracker.w3yh.xyz/`: `200`, Titel `Markets · w3yh.xyz`, Badge/Footer vorhanden, Header-Baseline gesetzt, Desktop/Mobile grün.

notes

  • Lokaler Checkout `stocktracker` bleibt absichtlich dirty und hinter `origin/main`; fremde lokale API-/Fundamentals-Arbeit wurde nicht überschrieben.
  • Nächste `W3YH-102`-Station bleibt `terminal.w3yh.xyz`: erst Nginx-Header-Baseline, dann Badge/Footer im Tyrone-Repo.
codexw3yh

W3YH-102 Markets-Rollout erledigt

changed

  • **`stocktracker`**
  • Commit `b531f46` (`Roll out w3yh cross shell to Markets`) nach `main` gepusht.
  • `index.html` lädt jetzt `https://w3yh.xyz/cross-shell/cross-shell.css`, setzt den Titel auf `Markets · w3yh.xyz` und rendert `← w3yh.xyz`-Badge plus Cross-Shell-Footer.
  • `vercel.json` ergänzt die gemeinsame Security-Header-Baseline.
  • App-Copy final auf `w3yh Markets` / `Trend Signals` / neutrale öffentliche Beispiel-Ticker gezogen.
  • `LongInvestorSignals` als Komponente zu `MarketSignals` umbenannt.
  • Sticky Search-Bar auf `top-10` gesetzt, damit sie nicht unter dem neuen sticky Cross-Shell-Badge liegt.
  • **`w3yh.xyz/tasks/todo.md`**
  • `W3YH-102`-Subpunkt `stocktracker (Markets)` abgehakt.

verified

  • Clean-Worktree `/tmp/stocktracker-origin-main`: `npm run lint`, `npm run build`, `git diff --check` grün.
  • Lokaler Playwright-Smoke auf `http://[localhost]/`: Desktop `1440x1000` und Mobile `390x844`, Badge/Footer sichtbar, kein horizontaler Overflow, keine Console-Errors.
  • Vercel Production-Deploy `dpl_8T6PjFRsJmybxUtGAg5YcWZi3HAM` ist `READY`.
  • Live-Smoke gegen `https://stocktracker.w3yh.xyz/`: `200`, Titel `Markets · w3yh.xyz`, Badge/Footer vorhanden, Security-Header-Baseline vollständig, Desktop/Mobile ohne Overflow und ohne Console-Errors.
codexopenclaw

w3yh Cross-Shell-Rollout gehärtet

changed

  • **`w3yh.xyz` remote `main`**
  • Claude-Stand `9ed4080`/`8a1efa9` geprüft: Cross-Subdomain-Shell-Spec, Rollout-Playbook, Referenz-Komponenten und öffentliches CSS sind grundsätzlich brauchbar.
  • Follow-up-Commit `f923bb4` nach `main` gepusht: `BackToW3yhBadge` bekommt `placement="inline"`, damit Tyrone Terminal und andere Apps mit bestehender Topbar keinen zweiten sticky Header bekommen.
  • `public/cross-shell/cross-shell.css` um `.cross-shell-badge-wrap--inline` ergänzt.
  • Doku/Playbook/README auf die Inline-Variante nachgezogen.
  • `src/app/private/go/[app]/route.ts` von globalem `RouteContext` auf expliziten Param-Typ umgestellt, damit Clean-Clone-Typecheck ohne vorherige Next-Typegen-Artefakte läuft.
  • `content/journal-data.json` per Journal-Sync aktualisiert.

verified

  • Clean-Worktree unter `/tmp/w3yh-origin-main` gegen `origin/main`.
  • `npm run lint`, `npx tsc --noEmit`, `git diff --check`, `npm run build` grün.
  • Vercel Production-Deployment `dpl_A5baYR5mBSdpLHJ69Sct5g8spyy1` für Commit `f923bb4` ist `READY`.
  • Live-Smoke: `https://w3yh.xyz/cross-shell/cross-shell.css` liefert `200`, `content-type: text/css`, neue Inline-Klasse und Security-Header-Baseline; `https://w3yh.xyz/private/go/gym` liefert `307` zum Gate.

notes

  • Lokaler Checkout `w3yh.xyz` bleibt absichtlich unangetastet: er ist 5 Commits hinter `origin/main` und enthält fremde uncommitted Portfolio-/Doku-Änderungen plus ein untracked Lebenslauf-PDF.
codexw3yh

W3YH-102 Cross-Shell-Rollout gehärtet

fixed

  • **`w3yh.xyz/src/app/private/go/[app]/route.ts`**
  • `RouteContext`-Abhängigkeit entfernt und die Route explizit typisiert, damit `npx tsc --noEmit` auch in einem Clean-Clone ohne vorherige Next-Typegen-Artefakte läuft.

changed

  • **`w3yh.xyz/src/components/cross-shell/back-to-w3yh-badge.tsx`**
  • neue Prop `placement="inline"` ergänzt. Damit kann der Badge in bestehende App-Topbars eingebaut werden, ohne eine zweite sticky Zeile zu erzeugen.
  • **`w3yh.xyz/public/cross-shell/cross-shell.css`**
  • `.cross-shell-badge-wrap--inline` ergänzt: statisch, transparent, ohne Border/Backdrop.
  • **`w3yh.xyz/docs/cross-subdomain-shell.md`**, **`docs/cross-subdomain-shell-rollout.md`** und **`src/components/cross-shell/README.md`**
  • Terminal-Rollout und Referenz-Doku auf die Inline-Variante nachgezogen.

verified

  • `curl -fsSI https://w3yh.xyz/cross-shell/cross-shell.css` liefert `200`, `content-type: text/css` und die Security-Header-Baseline.
  • `npm run lint`, `npx tsc --noEmit`, `git diff --check` und `npm run build` grün; 85 statische Seiten generiert.
claudew3yh

W3YH-111 Site-Shell vereinheitlicht und Apps-Sektion auf Visitenkarte

added

  • **`w3yh.xyz/src/components/site-shell/site-header.tsx`**
  • Gemeinsamer Header mit Varianten `home` (Anker-Links #about/#projects/#apps/#tools) und `subpage` (Routen-Links plus dezenter `← w3yh.xyz`-Krümelpfad). `Login →` zeigt überall extern auf `https://private.w3yh.xyz`.
  • **`w3yh.xyz/src/components/site-shell/site-footer.tsx`**
  • Identischer Footer (Name, BI-Tagline, LinkedIn, Login, Copyright, Privacy) für alle öffentlichen Seiten.
  • **`w3yh.xyz/src/components/site-shell/receipt-bar.tsx`**
  • Schmale Statuszeile (`w3yh.xyz aktiv · aktualisiert: April 2026 · öffentlich: kuratiert`), nur auf `/`.
  • **`w3yh.xyz/src/components/site-shell/back-link.tsx`**
  • Kleines `← Label`-Element für Tiefenrouten.
  • **`w3yh.xyz/src/components/site-shell/sub-page-shell.tsx`**
  • Wrapper, der `SiteHeader variant=subpage` plus `<main>` plus `SiteFooter` rendert.
  • **`w3yh.xyz/src/app/hub/layout.tsx`**, **`/notes/layout.tsx`**, **`/portfolio/layout.tsx`**, **`/openclaw/layout.tsx`**
  • Vier neue Route-Layouts wickeln den Inhalt jeweils in `SubPageShell`.

changed

  • **`w3yh.xyz/src/components/profile/profile-landing.tsx`**
  • Header/Footer/ReceiptBar in die neuen `site-shell/`-Komponenten ausgelagert.
  • Neue Sektion `#apps` zwischen Lernprojekten und Werkzeugkasten: rendert die Live-/Auth-Apps aus `src/lib/projects.ts` über den neuen Helper `getPublicApps()`. Auth-Karten zeigen den Hinweis `Zugang über private.w3yh.xyz`.
  • Nav um `Apps`-Anker erweitert.
  • **`w3yh.xyz/src/lib/projects.ts`**
  • Helper `getPublicApps()` ergänzt — filtert auf Status `live | auth` und sortiert stabil nach `phase`, dann `name`.
  • **`w3yh.xyz/src/components/notes/notes-shell.tsx`** und **`/components/portfolio/portfolio-shell.tsx`**
  • Eigene Container, StatusBar, Header und Footer entfernt; Shells rendern nur noch eyebrow/title/description plus optionalen `BackLink`-Prop. Hülle macht das neue Route-Layout.
  • **`w3yh.xyz/src/app/hub/page.tsx`**, **`/openclaw/page.tsx`**, **`/openclaw/[slug]/page.tsx`**
  • Inline-Container, StatusBar, eigene Page-Header-Nav und Footer entfernt; Inhaltsbereich bleibt im Operating-Hub-/Bloomberg-Look.
  • **`w3yh.xyz/src/app/notes/[slug]/page.tsx`**, **`/notes/day/[date]/page.tsx`**, **`/portfolio/[slug]/page.tsx`**
  • `backLink`-Prop an die jeweilige Shell übergeben (`← Notizen` beziehungsweise `← Portfolio-Notizen`).
  • **`w3yh.xyz/src/components/landing/terminal-hero.tsx`**
  • `Private Gate`-Button auf `/hub` zeigt jetzt extern auf `https://private.w3yh.xyz` statt auf den lokalen Pfad `/private`.
  • **`w3yh.xyz/tasks/todo.md`**
  • `W3YH-107` als erledigt markiert, `W3YH-102` auf Status `[/]` mit Split intern-erledigt vs. Subdomain-extern-offen, neuer Eintrag `W3YH-111` in der Erledigt-Liste, Reihenfolgen-Block aktualisiert.

removed

  • **`w3yh.xyz/src/components/landing/header.tsx`**
  • **`w3yh.xyz/src/components/landing/footer.tsx`**
  • **`w3yh.xyz/src/components/landing/status-bar.tsx`**
  • Alter `operating hub`-Header, alter Footer und alte StatusBar gelöscht — durch Site-Shell-Komponenten ersetzt.

verified

  • `npm run lint` und `npm run build` lokal grün; 85 statische Seiten generiert.
  • Vercel-Preview-Deploy für PR #1 ergab Status `Ready` unter der temporären Preview-URL.
  • Squash-Merge nach `main` (`5bcaf3d`); VPS-Workspace per `git checkout main && git pull` synchronisiert.

notes

  • `/hub` ist nirgends mehr verlinkt, bleibt aber per Direktlink erreichbar. Der Hub-Umzug hinter Gate folgt erst nach Gate-Smoke (`W3YH-87`/`W3YH-88`) im Rahmen von `W3YH-110`.
  • Cross-Subdomain-Shell ist nur **innerhalb** von `w3yh.xyz` eingelöst. Auf den echten Subdomains (`terminal.`, `gym.`, `spielplatz.`, `stocktracker.`, `spielgenerator.`, Carpark) bleibt der externe Teil von `W3YH-102` offen.
  • LinkedIn-Einstieg sieht jetzt sechs konkrete Apps (Markets, Gym, Spielgenerator, Spielplatzcheck, Carpark, Terminal) plus die drei Lernprojekte (OpenClaw, Notizen, Portfolio-Notizen).

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.