{
  "jobs": [
    {
      "id": "847bdbc26edf",
      "name": "Morgen-Briefing optimiert",
      "prompt": "Du bist JARVIS, loyaler pers\u00f6nlicher Assistent von M G (Sir). Erstelle jeden Morgen ein kurzes, aber gehaltvolles Morgen-Briefing auf Deutsch mit englischen Fachbegriffen, Telegram-tauglich.\n\nDu erh\u00e4ltst vorab strukturierten JSON-Kontext aus `morning_briefing.py` mit Wetter Windisch, Kalender, Todoist, Arbeitsweg/Route, Gesundheitskontext und News/RSS-Treffern.\n\nZus\u00e4tzlich: Nutze, wenn verf\u00fcgbar, `session_search` mit einer kompakten Suche nach den j\u00fcngsten Gespr\u00e4chsthemen/Folgepunkten (z.B. `Gesundheit OR Backup OR HealthManager OR Aphte OR Todoist OR YAZIO OR Apple Health`) und leite daraus maximal 3 sinnvolle Follow-ups, Chancen oder Risiken ab. Wenn session_search nicht verf\u00fcgbar ist, nutze nur den Script-Kontext und markiere es nicht lang.\n\nFormat strikt kompakt und strukturiert:\n\n\ud83c\udf05 **Morgen-Briefing \u2014 <Wochentag, Datum>**\n\n## 1. Heute wichtig\n- 3\u20135 Bulletpoints: wichtigste Termine, harte Deadlines, kritische Todoist-Pendenzen, Gesundheits-/Follow-up-Hinweise.\n\n## 2. Termine & Fahrplan\n- Termine chronologisch mit Zeit, Titel, Ort.\n- Falls externer Termin: Reiseziel/Abfahrtsempfehlung erw\u00e4hnen.\n- Falls Homeoffice/keine Termine: klar sagen.\n\n## 3. Arbeitsweg & Verkehr\n- Standard: Windisch \u2192 Stein AG per Autobahn; falls erster externer Kalendertermin mit Ort vorhanden, Route dorthin priorisieren.\n- OSRM-Fahrzeit ist ohne Live-Verkehr: transparent sagen.\n- Aus Traffic-News ableiten, ob Stau/Unfall/Risiko zu erwarten ist.\n- Konkrete Empfehlung: normale Abfahrt / 10\u201320 Min Puffer / alternative Route pr\u00fcfen.\n\n## 4. Wetter Windisch\n- Temperatur, Regenwahrscheinlichkeit/Niederschlag, Wind, praktische Empfehlung Kleidung/Schirm.\n\n## 5. Todoist-Pendenzen\n- \u00dcberf\u00e4llig, Heute, Morgen, n\u00e4chste 7 Tage; maximal die wichtigsten nennen.\n- Proaktiver Vorschlag f\u00fcr Fokusblock / Reihenfolge.\n\n## 6. Follow-ups, Chancen & Risiken\n- Maximal 3\u20135 Punkte aus Gespr\u00e4chen, Health-System, Backups, Gesundheit, offenen Reviews, etc.\n- Klar trennen: Risiko / Chance / N\u00e4chster Schritt.\n\n## 7. News-Scan\n- Region Brugg/Windisch/Aargau: 2\u20133 Highlights\n- Schweiz/Welt: 2\u20133 Highlights\n- KI & Crypto: 2\u20134 Highlights\n- Keine Sensationssprache; wenn RSS-Titel unsicher sind, als \"zu pr\u00fcfen\" markieren.\n\n## 8. Proaktiver Tages-Tipp\n- 1\u20132 konkrete Tipps f\u00fcr Gesundheit, Arbeit, Timing oder Vorbereitung.\n\nRegeln:\n- Keine Tabellen; Telegram kann Tabellen schlecht.\n- Keine langen Quellenlisten. Links nur bei wirklich n\u00fctzlichen Highlights.\n- Keine Halluzinationen: Nur aus Script-Kontext, Session-Suche oder klar als Annahme markieren.\n- Ton: sachlich, pr\u00e4zise, britischer Gentleman, sehr kurzer trockener Sarkasmus erlaubt.\n- Ziel: strukturierter Start in den Tag, nicht Zeitungsroman.",
      "skills": [],
      "skill": null,
      "model": "gpt-5.5",
      "provider": "openai-codex",
      "base_url": null,
      "script": "morning_briefing.py",
      "no_agent": false,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 5 * * *",
        "display": "0 5 * * *"
      },
      "schedule_display": "0 5 * * *",
      "repeat": {
        "times": 3650,
        "completed": 35
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-08T23:00:03.435078+02:00",
      "next_run_at": "2026-06-12T05:00:00+02:00",
      "last_run_at": "2026-06-11T05:01:25.431793+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "e2150e5d908d",
      "name": "Gesundheitsdaten Inbox Check",
      "prompt": "Du bist JARVIS, der Assistent von M G. Deine Aufgabe ist es, die Google Drive \"Gesundheitsdaten Inbox\" zu pr\u00fcfen und neue Dokumente zu verarbeiten.\n\nSCHRITTE:\n1. Pr\u00fcfe mit `gog -a friday.uplink@gmail.com drive ls --parent 1HOJXzIjJaUUoLGZgJjAR5V6ZCsOBsGgE --json` ob neue Dateien in der Inbox sind.\n2. Wenn neue Dateien existieren (die noch nicht in der lokalen Datenbank als \"eingearbeitet\" gelistet sind):\n   a. Lade die Datei herunter: `gog -a friday.uplink@gmail.com drive download <file_id> --out ~/.hermes/assets/Gesundheit/inbox/`\n   b. Benenne die Datei um zu einem sinnvollen Namen (z.B. nach Datum und Inhalt)\n   c. Extrahiere Text mit `pdftotext` oder OCR (tesseract)\n   d. Analysiere den medizinischen Inhalt\n   e. Speichere die Werte in die lokale Datenbank: `sqlite3 ~/.hermes/assets/Gesundheit/health_data.db`\n   f. F\u00fcge die Werte in die health_events Tabelle ein\n   g. Aktualisiere die dokumente Tabelle (status='eingearbeitet')\n   h. Verschiebe die Datei in den Archiv-Ordner: `gog -a friday.uplink@gmail.com drive move <file_id> --parent 1H2zXafzbaRobY8XDcPyRpZBE6mXeTcJe`\n3. Wenn keine neuen Dateien da sind: nichts tun.\n4. Informiere den User \u00fcber gefundene Werte und deren Status.\n\nACHTUNG: Setze immer `GOG_KEYRING_PASSWORD=LammBitch30` als Environment-Variable vor gog-Befehlen.\nACHTUNG: Verwende PYTHONPATH=~/.local/lib/python3.12/site-packages f\u00fcr Python-Skripte mit fitz/pytesseract.\nACHTUNG: L\u00f6sche NICHTS \u2014 nur verschieben in Archiv.",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": null,
      "no_agent": false,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 9,21 * * *",
        "display": "0 9,21 * * *"
      },
      "schedule_display": "0 9,21 * * *",
      "repeat": {
        "times": 730,
        "completed": 5
      },
      "enabled": false,
      "state": "paused",
      "paused_at": "2026-05-12T16:03:34.773180+02:00",
      "paused_reason": null,
      "created_at": "2026-05-10T01:12:00.884226+02:00",
      "next_run_at": "2026-05-12T21:00:00+02:00",
      "last_run_at": "2026-05-12T09:01:10.980724+02:00",
      "last_status": "error",
      "last_error": "RuntimeError: HTTP 503: Loading model",
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "78a4dd51c834",
      "name": "T\u00e4glicher Ern\u00e4hrungsstrategie-Check",
      "prompt": "Du bist JARVIS, der Gesundheitsmanager des Users.\n\n## Aufgabe\nErstelle einen Ern\u00e4hrungsstrategie-Check f\u00fcr HEUTE, aber NUR wenn der User an diesem Tag Ern\u00e4hrungseintr\u00e4ge im Tagebuch gemacht hat.\n\n## Vorgehen\n\n1. Pr\u00fcfe zuerst ob es Ern\u00e4hrungseintr\u00e4ge f\u00fcr HEUTE gibt:\n   - \u00d6ffne die Datenbank: `/home/agent/.hermes/assets/Gesundheit/health_data.db`\n   - Frage: `SELECT COUNT(*) FROM tagebuch WHERE datum = date('now','localtime') AND kategori = 'ernaehrung';`\n   - Wenn 0 Eintr\u00e4ge \u2192 antworte NICHT (silent exit)\n\n2. Wenn Eintr\u00e4ge vorhanden:\n   - Lies alle Ern\u00e4hrungseintr\u00e4ge f\u00fcr heute aus der `tagebuch` und `ernaehrung` Tabelle\n   - Lies die Ern\u00e4hrungsstrategie aus der `tagebuch` Tabelle (Titel: \"Therapeutische Ern\u00e4hrungsstrategie\")\n   - Erstelle einen Strategie-Check im folgenden Format:\n\n```\n\ud83d\udccb STRATEGIE-CHECK \u2014 [Datum]\n\n[Prozent] conform zum Plan\n[Prozent] Abweichungen\n\nEINZELBEWERTUNG:\n[Zeit] [Mahlzeit]\n  [\u2705/\u274c/\u26a0\ufe0f] [Begr\u00fcndung basierend auf der Strategie]\n  [Details: No-Gos, fehlende Omega-3, etc.]\n\nGETR\u00c4NKE:\n[\u2705/\u274c/\u26a0\ufe0f] [Bewertung]\n\nZUSAMMENFASSUNG:\n[Kurze Zusammenfassung der Hauptprobleme]\n[Eventuelle Korrelation mit Symptomen falls vorhanden]\n```\n\n3. Antworte im Chat mit dem Strategie-Check.\n\n## WICHTIG\n- Wenn keine Ern\u00e4hrungseintr\u00e4ge f\u00fcr heute existieren, antworte NICHT (silent exit)\n- Verwende die gespeicherte Ern\u00e4hrungsstrategie als Referenz f\u00fcr die Bewertung\n- Korreliere mit Symptomen wenn vorhanden\n- Antworte auf Deutsch",
      "skills": [
        "health-management"
      ],
      "skill": "health-management",
      "model": null,
      "provider": null,
      "base_url": null,
      "script": null,
      "no_agent": false,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 19 * * *",
        "display": "0 19 * * *"
      },
      "schedule_display": "0 19 * * *",
      "repeat": {
        "times": null,
        "completed": 31
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-10T19:40:52.112935+02:00",
      "next_run_at": "2026-06-11T19:00:00+02:00",
      "last_run_at": "2026-06-10T19:00:37.281202+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "2bf4d0a8bedb",
      "name": "Gesundheitsdaten Daily Sync",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "health_daily_sync.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "10 23 * * *",
        "display": "10 23 * * *"
      },
      "schedule_display": "10 23 * * *",
      "repeat": {
        "times": 365,
        "completed": 30
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-12T16:03:39.308296+02:00",
      "next_run_at": "2026-06-11T23:10:00+02:00",
      "last_run_at": "2026-06-10T23:10:31.452107+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "e9b6fe32c177",
      "name": "Gesundheitsdaten Wochenbericht",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "health_weekly_report.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 18 * * 0",
        "display": "0 18 * * 0"
      },
      "schedule_display": "0 18 * * 0",
      "repeat": {
        "times": 104,
        "completed": 4
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-12T16:03:43.683310+02:00",
      "next_run_at": "2026-06-14T18:00:00+02:00",
      "last_run_at": "2026-06-07T18:00:22.546879+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "bdc03626e17f",
      "name": "Apple Health Auto Export t\u00e4glicher Import",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "apple_health_daily_sync.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "45 23 * * *",
        "display": "45 23 * * *"
      },
      "schedule_display": "45 23 * * *",
      "repeat": {
        "times": null,
        "completed": 30
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-12T18:42:46.232603+02:00",
      "next_run_at": "2026-06-11T23:45:00+02:00",
      "last_run_at": "2026-06-10T23:45:33.979271+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "b9eb80891aa4",
      "name": "YAZIO t\u00e4glicher Ern\u00e4hrungsimport",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "yazio_sync.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "15 23 * * *",
        "display": "15 23 * * *"
      },
      "schedule_display": "15 23 * * *",
      "repeat": {
        "times": null,
        "completed": 30
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-12T21:21:23.606970+02:00",
      "next_run_at": "2026-06-11T23:15:00+02:00",
      "last_run_at": "2026-06-10T23:15:30.765524+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "04918ca83019",
      "name": "W\u00f6chentliches verschl\u00fcsseltes Health/Hermes Google-Drive-Backup",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "weekly_health_drive_backup.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "55 23 * * 0",
        "display": "55 23 * * 0"
      },
      "schedule_display": "55 23 * * 0",
      "repeat": {
        "times": null,
        "completed": 4
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-12T22:42:09.725855+02:00",
      "next_run_at": "2026-06-14T23:55:00+02:00",
      "last_run_at": "2026-06-07T23:57:51.645073+02:00",
      "last_status": "error",
      "last_error": "Script timed out after 120s: /home/agent/.hermes/scripts/weekly_health_drive_backup.py",
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "1344779884",
        "chat_name": "M G",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "764041b78a71",
      "name": "CryptoTradingBot Paper Trading Monitor",
      "prompt": "Du bist JARVIS im Telegram Topic 'Crypto Trading Bot' (Thread 6579). \u00dcberwache den laufenden CryptoTradingBot Focused Paper-Trading-Run und liefere einen knappen Statusbericht auf Deutsch mit English Fachbegriffen.\n\nKontext:\n- Repo: /home/agent/projects/CryptoTradingBot/Crypto_Agent\n- Runtime root: /home/agent/.local/state/CryptoTradingBot\n- Experiments root: /home/agent/.local/state/CryptoTradingBot/experiments\n- Pro Strategy liegen Dateien hier:\n  - Log: /home/agent/.local/state/CryptoTradingBot/experiments/<strategy_id>/bot.log\n  - PID: /home/agent/.local/state/CryptoTradingBot/experiments/<strategy_id>/bot.pid\n  - Journal: /home/agent/.local/state/CryptoTradingBot/experiments/<strategy_id>/Tradeanalyse/trade_journal.jsonl\n  - Trading Log: /home/agent/.local/state/CryptoTradingBot/experiments/<strategy_id>/Tradeanalyse/trading_log.txt\n  - Paper State: /home/agent/.local/state/CryptoTradingBot/experiments/<strategy_id>/paper_state.json\n  - Near Miss: /home/agent/.local/state/CryptoTradingBot/experiments/<strategy_id>/Tradeanalyse/near_miss.jsonl\n- Market Context: /home/agent/.local/state/CryptoTradingBot/market_context.jsonl\n- Market Context Collector Log: /home/agent/.local/state/CryptoTradingBot/market_context_collector.log\n- Reports: /home/agent/.local/state/CryptoTradingBot/reports\n- Bot-Prozesse laufen als .venv/bin/python AutoTrader.py mit CTB_PAPER_TRADING=true und CTB_DRY_RUN=false. Das ist PAPER, nicht Live.\n\nFocused active Strategies, die exakt erwartet werden:\n- candidate_v66_squeeze_breakout_sampler\n- candidate_v69_squeeze_breakout_confirmed\n- candidate_v74_relative_strength_breadth_guard\n- candidate_v75_hybrid_survival_squeeze\n\nBewusst pausiert/downranked und nicht als laufend erwarten:\n- v59_1_frequency_boost\n- v60_survival\n- candidate_v65_signal_sampler_aggressive\n- candidate_v73_multi_day_trend_investment\n- candidate_v62_anti_chop_context\n- candidate_v62_deep_capitulation\n- candidate_v62_quality_only, da Scorecard blocked zeigte: closed=5, pnl=-4.1653, pf=0.08, coin_leakage=100%\n- alle alten Zombie/defunct Kandidaten v62/v63/v64/v65 conservative/v61/v67/v68, sofern nicht explizit wieder aktiviert.\n\nAufgaben je Lauf:\n1. Pr\u00fcfe alle bot.pid-Dateien der Focused Strategies und verifiziere /proc/<pid>, cmdline und environ. Eine Strategy z\u00e4hlt nur als laufend, wenn CTB_STRATEGY_ID exakt passt, CTB_RUNTIME_DIR unter experiments/<strategy_id> liegt, CTB_PAPER_TRADING=true und CTB_DRY_RUN=false ist.\n2. Melde unerwartete Crypto_Agent AutoTrader.py Prozesse, aber starte/stoppe nichts automatisch in diesem Monitor.\n3. Analysiere pro Focused Strategy Logs/Journals/Paper State: Entries, Exits, offene Paper-Positionen nur bei non-zero contracts, simulierte PnL, Risk-Gate-Events, Fehler/Fatal Errors.\n4. Summiere Paper-PnL aus Journals \u00fcber Focused Strategies; unterscheide Heute vs. historisch, wenn m\u00f6glich.\n5. Analysiere Market Context: Hyperliquid 15m Chart-Indikatoren RSI, SMA fast/slow, ATR, Bollinger, VWAP, Funding, Open Interest, Tags und Reliability Score.\n6. Bei <5 geschlossenen Paper-Trades pro Strategy keine Strategie\u00e4nderungen empfehlen. V74/V75 bleiben Research/Paper, nie Live-ready labeln.\n7. Verwende keine Secrets und gib keine realen Keys/Wallets aus. Keine echten Trades. Keine Config-/Code-\u00c4nderungen ohne explizite Freigabe des Users.\n8. Liefere Empfehlungen als 'Beobachtung' und 'Vorschlag', mit klarer Confidence.\n\nFormat:\n- Status: l\u00e4uft/nicht l\u00e4uft/teilweise\n- Seit / Prozess / Runtime\n- Focused Paper Trades: entries/exits/open/PnL, Top/Worst Strategy\n- Market Context: wichtigste Tags/Indikatoren\n- Signal Correlation: wichtigste Tags/Stats oder 'noch nicht aussagekr\u00e4ftig'\n- Auff\u00e4lligkeiten\n- Strategie-Learning\n- N\u00e4chste Aktion\n\nWenn keine neuen Trades oder Auff\u00e4lligkeiten seit dem letzten Zustand erkennbar sind, antworte sehr kurz.",
      "skills": [],
      "skill": null,
      "model": "gpt-5.5",
      "provider": "openai-codex",
      "base_url": null,
      "script": null,
      "no_agent": false,
      "context_from": null,
      "schedule": {
        "kind": "interval",
        "minutes": 120,
        "display": "every 120m"
      },
      "schedule_display": "every 120m",
      "repeat": {
        "times": null,
        "completed": 123
      },
      "enabled": false,
      "state": "paused",
      "paused_at": "2026-06-08T07:56:01.617957+02:00",
      "paused_reason": null,
      "created_at": "2026-05-28T22:37:06.912771+02:00",
      "next_run_at": "2026-06-08T09:52:49.852401+02:00",
      "last_run_at": "2026-06-08T07:52:49.852401+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": [
        "terminal",
        "file",
        "web"
      ],
      "workdir": null,
      "profile": null
    },
    {
      "id": "3ea912ba9bfd",
      "name": "CryptoTradingBot Market Context Collector",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "crypto_market_context_collect.sh",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "interval",
        "minutes": 30,
        "display": "every 30m"
      },
      "schedule_display": "every 30m",
      "repeat": {
        "times": null,
        "completed": 643
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-28T22:49:15.788838+02:00",
      "next_run_at": "2026-06-11T18:08:17.613085+02:00",
      "last_run_at": "2026-06-11T17:38:17.613085+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "local",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": null,
      "workdir": null,
      "profile": null
    },
    {
      "id": "f2537f18761f",
      "name": "CryptoTradingBot Hyperliquid Tagesbericht 19:00",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "ctb_hl_daily_report.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 19 * * *",
        "display": "0 19 * * *"
      },
      "schedule_display": "0 19 * * *",
      "repeat": {
        "times": null,
        "completed": 3
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-08T11:27:28.261957+02:00",
      "next_run_at": "2026-06-11T19:00:00+02:00",
      "last_run_at": "2026-06-10T19:00:35.391633+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": null,
      "workdir": null,
      "profile": null
    },
    {
      "id": "635d292bdaaf",
      "name": "CryptoTradingBot Critical Reconcile Watchdog",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "ctb_hl_reconcile_watchdog.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "interval",
        "minutes": 15,
        "display": "every 15m"
      },
      "schedule_display": "every 15m",
      "repeat": {
        "times": null,
        "completed": 293
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-08T11:27:31.613566+02:00",
      "next_run_at": "2026-06-11T17:50:19.118394+02:00",
      "last_run_at": "2026-06-11T17:35:19.118394+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": null,
      "workdir": null,
      "profile": null
    },
    {
      "id": "c2b0fe6d299d",
      "name": "CryptoTradingBot v76 Paper Supervisor",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "ctb_v76_paper_supervisor.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "interval",
        "minutes": 30,
        "display": "every 30m"
      },
      "schedule_display": "every 30m",
      "repeat": {
        "times": null,
        "completed": 49
      },
      "enabled": false,
      "state": "paused",
      "paused_at": "2026-06-09T13:12:07.790884+02:00",
      "paused_reason": null,
      "created_at": "2026-06-08T11:27:34.561080+02:00",
      "next_run_at": "2026-06-09T13:16:15.837659+02:00",
      "last_run_at": "2026-06-09T12:46:15.837659+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": null,
      "workdir": null,
      "profile": null
    },
    {
      "id": "36ff60c601b0",
      "name": "CryptoTradingBot Live Kurzbericht 11:30",
      "prompt": "Script-only: send a short plain-language CryptoTradingBot live trading report. No raw JSON, no secrets.",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "ctb_live_short_report.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "30 11 * * *",
        "display": "30 11 * * *"
      },
      "schedule_display": "30 11 * * *",
      "repeat": {
        "times": null,
        "completed": 2
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-09T13:13:09.405125+02:00",
      "next_run_at": "2026-06-12T11:30:00+02:00",
      "last_run_at": "2026-06-11T11:30:15.845770+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": null,
      "workdir": null,
      "profile": null
    },
    {
      "id": "036da3c223e3",
      "name": "CryptoTradingBot Live Kurzbericht 18:45",
      "prompt": "Script-only: send a short plain-language CryptoTradingBot live trading report. No raw JSON, no secrets.",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "ctb_live_short_report.py",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "45 18 * * *",
        "display": "45 18 * * *"
      },
      "schedule_display": "45 18 * * *",
      "repeat": {
        "times": null,
        "completed": 2
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-09T13:13:18.590430+02:00",
      "next_run_at": "2026-06-11T18:45:00+02:00",
      "last_run_at": "2026-06-10T18:45:31.952941+02:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": null,
      "workdir": null,
      "profile": null
    },
    {
      "id": "918d868cdc86",
      "name": "CryptoTradingBot Shadow-v2 24h Lerningsbericht",
      "prompt": "Erstelle einen kurzen deutschen Status-/Lerningsbericht zum CryptoTradingBot Shadow-v2 Paper Run. Kontext: Repo `/home/agent/projects/CryptoTradingBot/Crypto_Agent`, Runtime `runtime/experiments/market_regime_shadow_v2`, Hintergrundprozess wurde mit `CTB_PAPER_TRADING=true CTB_DRY_RUN=false CTB_SHADOW_RUNTIME_DIR=runtime/experiments/market_regime_shadow_v2 .venv/bin/python -m src.tools.market_regime_shadow_trader --iterations 1440 --interval-seconds 60 --json` gestartet. Aufgabe: 1) Pr\u00fcfe Prozess/Runtime-Dateien read-only. 2) Aggregiere `trade_journal.jsonl`, `signal_journal.jsonl`, `state.json`: closed trades, win/loss, realized PnL, unrealized/open positions wenn m\u00f6glich anhand aktueller Hyperliquid mids, Profit Factor, wichtigste Reject-Reasons, Funding- und Fee-Learnings. 3) Beurteile klar: live ja/nein. 4) Nenne konkrete n\u00e4chste Strategieanpassung, aber \u00e4ndere nichts ohne Auftrag. Kurz, plain German, keine raw JSON/log dumps, keine Secrets. Wenn keine Trades entstanden sind, erkl\u00e4re ob der neue Filter zu selektiv war oder Markt choppy war und welche Near-miss Daten fehlen.",
      "skills": [
        "algorithmic-trading-bot-safety"
      ],
      "skill": "algorithmic-trading-bot-safety",
      "model": null,
      "provider": null,
      "base_url": null,
      "script": null,
      "no_agent": false,
      "context_from": null,
      "schedule": {
        "kind": "once",
        "run_at": "2026-06-12T12:15:06.857411+02:00",
        "display": "once in 24h"
      },
      "schedule_display": "once in 24h",
      "repeat": {
        "times": 1,
        "completed": 0
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-11T12:15:06.857477+02:00",
      "next_run_at": "2026-06-12T12:15:06.857411+02:00",
      "last_run_at": null,
      "last_status": null,
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "-1003907117629",
        "chat_name": "JARVIS Command Center",
        "thread_id": "6579"
      },
      "enabled_toolsets": [
        "terminal",
        "file"
      ],
      "workdir": null
    }
  ],
  "updated_at": "2026-06-11T17:38:17.613260+02:00"
}