Scheduled Job Audit

Generated Mar 11, 2026. All times ET. Comprehensive inventory of every cron, launchd agent, n8n workflow, and orchestrator step.

26
Total Jobs Found
0
Actually Working
Feb 27
Last Data Freshness
4
Always-On Services
Everything stopped producing data after ~Feb 27. The launchd agents are loaded but failing (missing env vars, broken paths). All n8n workflows show active=false. The morning orchestrator was never scheduled after being written.

A. Morning Pipeline (10 steps via morning_orchestrator.py, never scheduled)

The morning_orchestrator.py runs these sequentially. It was designed to run daily at ~6:30 AM but was never added to launchd or cron. The n8n workflow 04 (Morning Briefing) was a parallel attempt that also stopped.

StepScriptWhat It DoesLast OutputStatus
1. Pharma Intel Scan pharma_intel_scan.py Scans news/web for pharma industry moves, FDA approvals, competitor activity. Feeds into briefing. Unknown Dead
2. Copper Snapshot copper_analytics/snapshot_daily.py Pulls all open opportunities, pipeline stages, and deal values from Copper CRM. Creates daily snapshot for trend tracking. Feb 27 Dead
3. Copper Activities copper_analytics/fetch_activities.py Fetches latest activity (notes, emails, updates) per deal. Identifies stale deals with no recent touch. Feb 27 Dead
4. Copper Contact Audit copper_analytics/fetch_contact_audit.py Classifies contacts on open deals as decision-maker/influencer/other. Flags deals with no DM engaged. Feb 27 Dead
5. Gong Snapshot gong_snapshot_daily.py Fetches yesterday's Gong calls: summaries, participants, action items, call grades. Powers "flagged calls" section of briefing. Feb 27 Dead
6. QMD Reindex qmd update && qmd embed Re-indexes the knowledge base and generates fresh embeddings for semantic search. Ongoing (separate) Separate
7. Morning Enrichment chief_of_staff.py --morning AI-powered prep: researches today's calendar meetings, pulls context on attendees, prepares talking points and strategic angles. Feb 25 Dead
8. HTML Briefing build_html_briefing.py Compiles all data into a visual HTML dashboard: deal movements, pipeline changes, stale deals, call summaries. Feb 27 Dead
9. Text Briefing build_daily_briefing.py Same data as HTML but formatted for inline Telegram delivery. The "morning briefing" message. Feb 27 Dead
10. QA Check qa_dashboard_check.py Validates briefing outputs: checks for empty sections, stale data, missing fields. Catches pipeline failures before delivery. Unknown Dead

B. n8n Scheduled Workflows (8 workflows, all inactive)

#WorkflowScheduleWhat It DoesStatus
02 Delta Sync Every 4 hours Gmail inbox delta sync. Fetches new emails since last checkpoint, indexes into knowledge base for search. Inactive
03 QMD Update 6:55 AM Mon-Fri Runs qmd update && qmd embed to refresh knowledge base index before morning briefing. Inactive
04 Morning Briefing 7:00 AM Mon-Fri Orchestrates the full morning pipeline and delivers briefing to Telegram. Parallel to morning_orchestrator.py. Inactive
05 Chief of Staff Hourly Every hour 8AM-10PM Mon-Fri Quick state review: checks for urgent emails, deal changes, overdue commitments. Spawns small autonomous tasks. Inactive
06 Chief of Staff Nightly 11 PM Sun-Thu Deep prep for tomorrow: researches calendar meetings, chases commitments, reviews deal pipeline, generates strategic prep. Inactive
07 Email Radar 9 AM, 1 PM, 5 PM Mon-Fri Scans Gmail for unanswered emails from important contacts (pharma execs, partners). Ranks by urgency, sends Telegram alert. Inactive
08 Commitment Tracker Digest 7:20 AM Mon-Fri Extracts commitments from recent emails/calls, tracks follow-through, sends digest of overdue items. Inactive
09 Doer-Checker Orchestrator Every 15 min Polls task queue, dispatches work to sub-agents, monitors completion, retries failures. The autonomous work engine. Inactive

C. LaunchD Scheduled Agents (8 data ingest/maintenance jobs)

AgentScheduleWhat It DoesCurrent StateStatus
Dashboard Refresh
com.ada.dashboard-refresh
Every 5 min SSHs to Mac B, queries task_queue postgres, generates HTML dashboard, deploys to Cloudflare Pages. Loaded but failing: env: node: No such file or directory Broken
QMD Backup
com.clawd.backup-qmd
Every 4 hours (midnight, 4, 8, 12, 16, 20) Backs up the 29GB QMD SQLite database. Safety net for knowledge base. Loaded but failing: cannot open backup file (disk space or permissions) Broken
X/Twitter Daily Ingest
com.clawd.ingest-x-daily
Daily 7 AM ET Fetches recent tweets from pharma execs and healthcare accounts via X API v2. Indexes into QMD. Loaded, exit code 1. Empty log file. Failing
LinkedIn via Exa
com.clawd.ingest-linkedin-exa
Daily 6 AM ET Searches for LinkedIn posts from target pharma execs using Exa neural search. Indexes into QMD. Loaded, exit code 1: EXA_API_KEY not set Broken (env)
YouTube Channel Ingest
com.clawd.ingest-youtube-channel
Weekly Sat 8 AM ET Fetches new episodes from pharma podcast YouTube channels, extracts transcripts via yt-dlp, indexes into QMD. Loaded, exit code 1. Empty log. Failing
CMS Formulary Ingest
com.clawd.ingest-cms-formulary
Monthly (1st, midnight) Downloads CMS Medicare Part D formulary data. Used for drug coverage analysis in Patient Finder context. Loaded, exit code 0 last run. No recent log content visible. Unclear
CMS Chronic Conditions
com.clawd.ingest-cms-chronic
Monthly (1st, 12:20 AM) Downloads CMS chronic condition prevalence data. Used for disease burden analysis. Loaded, exit code 0 last run. Unclear
HCUPnet Ingest
com.clawd.ingest-hcupnet
Monthly (1st, 12:10 AM) Downloads hospital utilization data from AHRQ HCUPnet. Used for healthcare utilization context. Loaded, exit code 0 last run. Unclear

D. Always-On Services (not crons, but relevant context)

ServiceWhat It DoesStatus
Cloudflare Tunnel
com.littlemind.cloudflared
Persistent tunnel exposing local services to the internet (dashboards, webhooks, etc.) Running (PID 693)
LittleMind NextJS
com.littlemind.nextjs
Kids AI app (personal project). Runs on port 3000. Running (PID 673)
Objection Coach
com.littlemind.objection-coach
Real-time sales call objection coaching app with Deepgram + OpenAI. Port 3847. Running (PID 696)
Voice Clone Web
com.littlemind.voice-clone
Voice cloning web interface (personal/experimental). Running (PID 682)
War Room Live
com.littlemind.warroom
Live deal war room dashboard. Running (PID 686)
QMD MCP Server
com.qmd.mcp
QMD semantic search exposed as MCP server. Running (PID 684)
OpenClaw Gateway
ai.openclaw.gateway
The OpenClaw agent gateway itself. Running

E. Other Scripts (Not Scheduled, Run On-Demand)

ScriptWhat It DoesNotes
gong_api_fetch.py Fetches Gong call data via API (auth with base64 creds) Used by gong_snapshot_daily.py and on-demand
gong_transcript_fetcher.py Pulls full call transcripts from Gong for deep analysis On-demand
gong_objection_pipeline.py Analyzes Gong calls for sales objections, builds objection library On-demand research tool
plaud_auto_fetch.py Browser automation to download Plaud recordings Was never cron'd
plaud_email_monitor.py Polls Gmail for Plaud transcript emails, extracts and processes Designed to be cron'd but never was
plaud_processor.py Processes raw Plaud transcripts into structured meeting notes On-demand
extract_commitments.py Scans Gmail for commitment language ("I will", "we'll send", etc.) Feeds commitment tracker
todoist_manager.py Todoist API wrapper: add/list/complete tasks, morning summary CLI tool, not scheduled
meeting_prebrief.py Generates pre-meeting briefs with attendee research and context Called by chief_of_staff.py
strategic_prebrief.py Deep strategic prep for important meetings (competitor intel, deal history) Called by chief_of_staff.py
contextual_prefetch.py Extracts entity mentions from text and pre-loads relevant QMD context Helper utility
email_radar.py Identifies unanswered emails from important contacts ranked by urgency Called via n8n workflow 07
build_research_briefs.py Compiles research briefs for target companies/contacts On-demand
clinicaltrials_fetcher.py Searches ClinicalTrials.gov for relevant trials by drug/condition On-demand research

F. Timeline of Failure

DateWhat Happened
~Feb 18LaunchD agents created for data ingest (X, LinkedIn, YouTube, CMS, HCUPnet, QMD backup)
~Feb 22-24LittleMind services set up (objection coach, voice clone, war room)
Feb 27Last day any pipeline data was produced. Copper snapshots, Gong snapshots, and briefings all stop after this date.
~Feb 28+Something broke the pipeline (likely n8n deactivation or environment change). No morning briefings since.
Mar 10Dashboard refresh started failing: node: No such file or directory
Mar 11QMD backup failing: cannot open backup file (29GB DB, likely disk space)
Mar 11LinkedIn ingest failing: EXA_API_KEY not set

Decision needed: What to keep?

Review each section above. For each job, decide: Keep, Kill, or Rethink.

The always-on services (Section D) are separate from the data pipeline. The core question is: which of the daily/hourly data fetches and briefings actually added value?

Cockpit Cron Audit | Mar 11, 2026