← w3yh.xyz

journal day

Freitag, 15. Mai 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: hoch

Freitag, 15. Mai 2026

codexw3yh

Stocktracker TLI Business Score live

added

  • Supabase-View `public.v_tli_daily_business_score` über Dashboard-Migration aus `market_snapshots`, `tli_entries` und `v_watchlist_analysis` erstellt.
  • Stocktracker-API `/api/tli-score?symbol={symbol}&range={24h|7d|30d}` ergänzt.
  • Stocktracker-UI um `TLI Business Score` Panel mit Range-Segmenten, Mini-Chart, Bucket und Komponenten-Scores erweitert.
  • Deep-Link-Auswahl per `?symbol=ASTS&name=...&exchange=...` ergänzt, damit Score-Seiten direkt testbar sind.
  • Öffentliche Building-Journal-Note `content/notes/stocktracker-tli-business-score-live.mdx` ergänzt.
  • `src/lib/notes.ts`: neue Journal-Note im statischen Notes-Loader registriert.

verified

  • Supabase REST-Katalog enthält `v_tli_daily_business_score`; Query liefert `0-19/1240`.
  • Lokale API: `/api/tli-score?symbol=ASTS&range=30d` liefert Score `61.98`, Bucket `constructive`, `30` Punkte.
  • `npm run lint`, `npx tsc -p tsconfig.app.json --noEmit`, `npx tsc -p server/tsconfig.json --noEmit`, Vercel-API-Typecheck und `npm run build` grün.
  • Vercel-Env `SUPABASE_URL` und `SUPABASE_SERVICE_ROLE_KEY` per REST gesetzt.
  • Production Deployment: `dpl_7ZmVmniqt7K9cUmNc4UaZAYUNVJW`, alias `https://stocktracker.w3yh.xyz`.
  • Live-API: `https://stocktracker.w3yh.xyz/api/tli-score?symbol=ASTS&range=30d` liefert Score `61.98`, Bucket `constructive`.
  • Playwright-Smoke gegen `https://stocktracker.w3yh.xyz/?symbol=ASTS...`: Score-Panel, `ASTS`, Scorewert und Range-Controls sichtbar; kein Overlay, keine Console-Errors.
  • w3yh-Journal: `npm run journal:sync`, `npx eslint src/lib/notes.ts`, `npm run lint` und `npm run build` grün. Full-Lint weiterhin mit 6 bestehenden Warnings außerhalb der Änderung.
  • Next-Build generiert `/notes/stocktracker-tli-business-score-live` und `/notes/day/2026-05-15` statisch.
  • w3yh Production Deployment durchgeführt; Alias `https://w3yh.xyz` zeigt auf den Build mit neuer Journal-Note.
  • Live-Curl: `/notes/stocktracker-tli-business-score-live` und `/notes/day/2026-05-15` liefern `HTTP 200` und `x-nextjs-prerender: 1`.

notes

  • Der Morning-Briefing-Kimi-Score bleibt getrennt: `prediction_outcomes` Trefferquote, nicht dieser Business-Score.

Incidents

OpenClaw Ops / X-Scraper Crons [manual]
~35 mincodex

Problem: `x-scraper:morning-sweep` und `x-scraper:premarket` standen rot, obwohl die darunterliegenden Scraper-Aktionen teilweise erfolgreich liefen

Ursache: AgentTurn musste große Scraper-Logs als Final-Antwort verarbeiten und kippte mit `Agent couldn't generate a response`; manueller Premarket-Smoke wurde nach Portfolio-Flush später erneut durch Gateway-/AgentTurn-Abbruch rot

Fix: Beide Cron-Prompts auf Wrapper mit Logfile-Redirect, `NO_REPLY` bei Exit 0 und kurzem Fehlerauszug bei Exit != 0 umgestellt; Premarket-Smoke schrieb 80 Portfolio-Tweets nach Supabase, finaler Scheduled-Green-Nachweis steht noch aus

OpenClaw Ops / CF Market Feeder [manual]
~30 mincodex

Problem: `cf-market-feeder` wurde im Handoff als Schema-/DB-Fehler gegen `cf_market_snapshots` geführt und war zuvor mit SIGKILL aufgefallen

Ursache: Die angenommene Tabelle `cf_market_snapshots` existiert nicht; das Script nutzt korrekt `market_snapshots`. Der rote Pfad kam eher aus AgentTurn-/Timeout-/SIGKILL-Verhalten als aus DB-Schema-Drift

Fix: Supabase-Schema geprüft, erforderliche `market_snapshots`-Spalten bestätigt, Cron-Wrapper auf 900s Timeout + Logfile + `NO_REPLY` gehärtet; direkter Lauf exit 0 mit `18/18 Snapshots mit Reuters-Daten aktualisiert`

OpenClaw Ops / Night-Action Noise [manual]
~25 mincodex

Problem: Night-Action-Warnrauschen konnte echte Fehler überdecken; Execute suchte teils den falschen Tagesplan und Artefaktpfade mit trailing Backtick erzeugten falsche SOFT-FAILs

Ursache: Planer um prüfte standardmäßig den aktuellen UTC-Tag, während Execute kurz danach den nächsten Plan brauchte; Pfad-Parser entfernte Backticks am Ende nicht

Fix: `nightaction-plan.sh` plant standardmäßig für den nächsten UTC-Execute-Lauf; `nightaction-execute.sh` trimmt trailing Backticks aus behaupteten Output-Pfaden; Timer und Status geprüft, aktueller Run grün

Hermes / CEO-Inbox Publisher
~45 mincodex

Problem: P2-Publisher waren begonnen, aber noch nicht belastbar: Cron-Drift mischte Alltime- und Window-Zahlen, Memory-Drift war zu eng, CEO-Inbox-Crons hatten keinen harten Maschinen-Wrapper

Ursache: Claude-P2-Start ohne abschliessende Verifikation; AgentTurn-Crons brauchen kleine, deterministische Outputs statt freier Analyse

Fix: `drift-snapshot-publisher.py` auf Window-local Fail-Rate gepatcht, `memory-drift-publisher.py` auf mehrere Quellen + semantische Drift erweitert, vier CEO-Inbox-Reports neu geschrieben, vier `ceo-inbox:*` Crons auf Logfile/Timeout/`NO_REPLY` gehaertet und manuell `ok` verifiziert

Hermes / Hermesto Advisory
~25 mincodex

Problem: Hermesto konnte CEO-Inbox lesen, verdrehte aber in der Zusammenfassung einzelne Zahlen und Dateinamen

Ursache: Freiform-Advisory ohne Validator und ohne Pflicht-Zitat je Kennzahl

Fix: P2-Review dokumentiert: Advisory `GO` nur read-only; `ceo-inbox-evidence-pack.py` gebaut und `advisory-facts-2026-05-15.{json,md}` parser-warnungsfrei erzeugt; vor Phase 3 braucht es noch einen Output-Validator gegen diesen Faktenblock

Hermes / Advisory Priorisierung
~30 mincodex

Problem: P2 hatte Faktenblock, aber noch keine maschinische Reihenfolge oder Validierung der empfohlenen Folgearbeit

Ursache: Evidence Pack allein verhindert Zahlen-Drift, priorisiert aber nicht und prueft keine Owner-/Use-Case-Konformitaet

Fix: `ceo-advisory-prioritizer.py` und `ceo-advisory-validator.py` gebaut; aktueller Advisory-Block hat 3 Items und validiert mit 0 Errors/0 Warnings

Hermes / Cross-Agent Routing
~25 mincodex

Problem: CEO-Bus kannte Owner wie Codex/Claude, aber keine saubere Lane-Logik; Antigravity fehlte komplett im Contract

Ursache: Owner-Feld war nur Regex im Contract, nicht als Routing-Vertrag modelliert

Fix: `cross-agent-routing-2026-05-15.md` und `ceo_agent_router.py` gebaut, `antigravity` als Owner ergaenzt, `ceo-outbox-reader.py` fuer `nachbessern` auf Owner-Lanes umgestellt

Memory / Stocktracker-TLI Scope
~20 mincodex

Problem: Memory-Drift meldete Stocktracker/TLI-Scope als semantische Drift

Ursache: Alte Claude-Memories sagten Scope sei offen bzw. Stocktracker sei spaeter; aktive Todo-Arbeit hatte keinen Scope-Contract

Fix: `stocktracker-tli-scope-2026-05-15.md` geschrieben, Claude-Memories aktualisiert, Todo referenziert Scope, `memory-drift-publisher.py` erkennt geklaerten Scope; Memory-Drift danach 0 semantische Flags

kuratiert

Redaktionelle Notes zu diesem Tag

journaljournal / stocktracker / tli / markets / data

Stocktracker bekommt einen TLI Business Score

TL;DR

Der Stocktracker bleibt eine schlanke Markets-App, bekommt aber einen abgeleiteten Business Score. Der Wert kommt aus einer verifizierten Supabase-View und macht 24h-, 7d- und 30d-Signale sichtbar, ohne das private TLI-Terminal zu kopieren.

Basis in den Logs

  • Stocktracker/TLI Scope Contract vom 15. Mai 2026: Terminal bleibt Source of Truth, Stocktracker liest nur kuratierte Daten.
  • Supabase-View `v_tli_daily_business_score` aus `market_snapshots`, `tli_entries` und `v_watchlist_analysis`.
  • Production-Smoke gegen `stocktracker.w3yh.xyz` mit `ASTS` und 30-Tage-Score.

Was gemacht wurde

  • Phantom-Datenquelle `tli_trends` gestrichen und den Score auf echte Tabellen gelegt.
  • Supabase-View `v_tli_daily_business_score` angelegt und per REST verifiziert.
  • Stocktracker-API `/api/tli-score` ergänzt.
  • `TLI Business Score` Panel mit 24h/7d/30d, Mini-Chart, Bucket und Komponenten-Scores gebaut.
  • Production-Env gesetzt und `stocktracker.w3yh.xyz` live gegen die neue View geprüft.

Verifiziert

  • REST-Katalog enthält `v_tli_daily_business_score` mit 1240 Tagesrows.
  • `ASTS` liefert im 30-Tage-Fenster Score `61.98`, Bucket `constructive`, `30` Punkte.
  • Lint, Typechecks, Build, lokale API und Live-Browser-Smoke waren grün.

Warum

Die wichtige Produktentscheidung war nicht mehr Anzeige um jeden Preis, sondern ein klarer Schnitt: private TLI-Recherche bleibt im Terminal, der öffentliche Stocktracker bekommt nur verdichtete, belastbare Signale.

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.