Command Control
Production lives on the Mac Mini. The MacBook Pro stays free for custom/manual work and experiments.
Scheduler
Running
log fresh 1m ago
Total Jobs
36
across 8 categories
Paused
2
rm pause file to resume
Failing (24h)
2
jobs with 3+ recent failures
Machine Roles
Production runner
Mac Mini
Check
scheduler healthy; dashboard tunnel not detected; heartbeat state updated unknown; routine Telegram pings disabled
Manual/custom workstation
MacBook Pro
Reserved
dealership production launch agents are disabled here; use this machine for custom lists, audits, and experiments.
Cost boundary
Claude API
Guarded
inbox bridge is off; briefings are freshness-gated; dealership Claude jobs are listed below by key and cadence.
What Needs Attention Next
4. Failures
Fix vin-first-touch first
vin-first-touch has 21 failures in the last 24 hours.
Claude API Spend Surface
Every row below is an intentional place where Anthropic API spend can happen or used to happen.
| Task | API key | Cadence | Status | API use | Decision |
|---|---|---|---|---|---|
| Jarvis morning/evening briefings | mac-mini-orchestrator | 6 AM and 5 PM | reference | Claude only after data preflight passes Skips the Claude call if inventory, call, Facebook, or Axcessa data is stale. |
Keep once freshness is green; cancel while core feeds are stale. |
| Old inbox bridge | mac-mini-orchestrator | Was every 120 seconds | reference | Disabled LaunchAgent removed from active Mini jobs on 2026-05-10. |
Leave off unless there is a new personal-inbox design. |
| Lead classifier | Claude TODO | 6 AM, 10 AM, 2 PM, 7 PM pipeline | ⚪ idle | Claude per changed or unclassified lead Hash cache avoids reclassifying unchanged leads. |
Keep on; this drives lead quality and routing. |
| Recommendation writer | Claude TODO | After classifier in pipeline | ⚪ idle | Claude for next-best-action text Runs after the classifier rather than every dashboard refresh. |
Keep on if action guidance is useful. |
| First touch | Claude TODO | Every 2 minutes during sales hours | 🔴 21 fails | Claude only for true new-lead message generation State file and sent registry prevent repeat first touches. |
Keep on; first response speed matters. |
| Auto responder | Claude TODO | Every 2 minutes during sales hours | 🔴 3 fails | Claude when a customer reply needs interpretation or response Double-send guard plus browser lock checks. |
Keep on; this is the responder you care about. |
| Proactive outreach | Claude TODO | Every 30 minutes, business hours | ⚪ idle | Claude for selected cadence/outreach wording Cadence state limits repeated touches. |
Watch cost; pause if it generates noise or low ROI. |
| Situation monitor | Claude TODO | Every 10-30 minutes | ⚪ idle | Claude for alert reasoning on detected situations Quick mode narrows most runs. |
Keep if alerts are actionable. |
| Facebook Marketplace responder | Claude TODO | Every 5 minutes when enabled | ⚪ idle | Claude per Marketplace reply Currently paused in paused-jobs. |
Keep paused unless Marketplace is actively worked. |
Fire Next Task
Manual launches for the jobs that fix stale data or intentionally spend Claude API.
Claude API
Run Lead Classifier
Classifies changed or unclassified Airtable leads.
Claude TODO key
Run Recommendations
Writes next-best-action recommendations after classification.
Claude TODO key
Data Freshness
Refresh VinCue Inventory
Pulls current VinCue inventory for every configured store.
No Claude API
Refresh Public Inventory
Fallback when VinCue is logged out; refreshes public used inventory and the summary.
No Claude API
Refresh Call Performance
Pulls the CallRevu performance feed used in briefings.
No Claude API
Rebuild Data Summaries
Rebuilds JSON summaries after exports finish.
No Claude API
Refresh Axcessa Metrics
Updates the Axcessa metrics used by the morning/evening views.
No Claude API
Data Source Freshness
What feeds the dashboard. 7 stale, 6 frozen out of 36 tracked. If a number on the Command Center looks wrong, find the source here and check who wrote it.
Daily Reports · 8
| What it is | Path | Written by | Status | Last update | Expected |
|---|---|---|---|---|---|
| Morning briefing | memory/morning-briefing-latest.json | morning-briefing | 🔴 ancient | 110d ago | expects <24h |
| Review requests | memory/review-request-state.json | vin-review-request | 🟢 fresh | 19h ago | expects <24h |
| Action requests | memory/action-requests-state.json | vin-action-requests | 🟡 stale | 15h ago | expects <12h |
| Appointment status | memory/appointment-status-state.json | vin-appointment-confirm | 🟢 fresh | 15h ago | expects <24h |
| Deal tracker | memory/deal-tracker-state.json | vin-deal-tracker | 🟢 fresh | 12h ago | expects <24h |
| Commitments | memory/commitments.json | check-commitments | 🟢 fresh | 11h ago | expects <12h |
| Pending approvals | memory/pending-approvals.json | vin-check-approvals | 🟢 fresh | 30m ago | expects <24h |
| VIN tasks | memory/vin-tasks-state.json | vin-read-tasks | 🟢 fresh | 1m ago | expects <24h |
External Scrapers · 8
| What it is | Path | Written by | Status | Last update | Expected |
|---|---|---|---|---|---|
| SMS-blocked list | memory/sms-blocked.json | vin-* (carrier feedback) | 🟢 fresh | 16h ago | expects <72h |
| Classify hashes | memory/classification-hashes.json | classify-leads | 🟢 fresh | 11h ago | expects <24h |
| Dead deals | memory/dead-deals-latest.json | dead-deal-detector | 🟢 fresh | 2h ago | expects <24h |
| Dedup scan | memory/dedup-scan-latest.json | dedup-scanner | 🟢 fresh | 2h ago | expects <48h |
| Axcessa metrics | memory/axcessa-scraper-state.json | axcessa-scraper | 🟢 fresh | 2h ago | expects <24h |
| Orphan scan | memory/orphan-scan-latest.json | orphan-lead-scanner | 🟢 fresh | 2h ago | expects <48h |
| Auto-assign log | memory/auto-assign-latest.json | auto-assign-leads | 🟢 fresh | 32m ago | expects <24h |
| Outcome tracker | memory/outcome-tracker.json | vin-deal-tracker | 🟢 fresh | 23m ago | expects <24h |
Inventory · 11
| What it is | Path | Written by | Status | Last update | Expected |
|---|---|---|---|---|---|
| VinCue grid (used) | data/vincue-used-grid-data.json | vincue-extract | 🔴 missing | — | expects <168h |
| VinCue rebate cache | data/vincue-rebate-cache.json | vincue-price-and-describe | 🔴 ancient | 158d ago | expects <168h |
| VinCue new raw export | data/inventory/new-inventory-latest.xlsx | vincue-inventory-export | 🟢 fresh | 2h ago | expects <36h |
| VinCue used raw export | data/inventory/used-inventory-latest.xlsx | vincue-inventory-export | 🟢 fresh | 2h ago | expects <36h |
| Austin used inventory | data/austin-used-inventory.json | vincue-inventory-export | 🟢 fresh | 2h ago | expects <36h |
| Buda used inventory | data/buda-used-inventory.json | vincue-inventory-export | 🟢 fresh | 2h ago | expects <36h |
| Manor used inventory | data/manor-used-inventory.json | vincue-inventory-export | 🟢 fresh | 2h ago | expects <36h |
| Facebook listings audit | data/fb-live-listings-audit.json | fb-marketplace-audit | 🟢 fresh | 2h ago | expects <36h |
| CallRevu raw export | data/callrevu/employee-performance-latest.xlsx | callrevu-export | 🟢 fresh | 2h ago | expects <36h |
| Inventory summary | data/inventory-summary.json | vincue-inventory-export | 🟢 fresh | 56m ago | expects <36h |
| Call performance | data/call-performance.json | callrevu-export | 🟢 fresh | 56m ago | expects <36h |
Live State · 9
| What it is | Path | Written by | Status | Last update | Expected |
|---|---|---|---|---|---|
| VIN Opportunities CSV | ~/Downloads/OPPORTUNITIES.csv | manual VinSolutions export | 🔴 missing | — | expects <24h |
| FB Marketplace state | memory/fb-marketplace-state.json | fb-marketplace-responder | 🔴 ancient | 142d ago | expects <1h |
| Situation monitor | memory/situation-monitor-state.json | vin-situation-monitor | 🔴 ancient | 15h ago | expects <1h |
| Sent registry | memory/sent-registry.json | vin-* (any sender) | 🟢 fresh | 23m ago | expects <2h |
| Message log | memory/message-log.json | vin-* (any sender) | 🟢 fresh | 23m ago | expects <4h |
| Cadence state | memory/followup-cadence.json | vin-proactive-outreach | 🟢 fresh | 23m ago | expects <2h |
| Dashboard scan | memory/dashboard-scan-state.json | vin-dashboard-scan | 🟢 fresh | 4m ago | expects <1h |
| First-touch state | memory/first-touch-state.json | vin-first-touch | 🟢 fresh | 3m ago | expects <1h |
| Auto-responder state | memory/auto-responder-state.json | vin-auto-responder | 🟢 fresh | 2m ago | expects <1h |
Recent Pause/Resume Activity
Last 2 pause/resume actions taken from this dashboard.
| 56d ago | vin-rep-scorecard | resume |
| 56d ago | vin-rep-scorecard | pause |
Job Control
Pause/resume scheduled jobs without restarting the scheduler. Changes take effect on the next cron tick.
Approvals & Alerts · 2
| vin-check-approvals | Approvals & Alerts | 🟢 healthy | 10m ago · 1s · exit 0 | |
| vin-leak-alert | Approvals & Alerts | 🟢 healthy | 2m ago · 1s · exit 0 |
Data Pipeline · 3
| vin-deep-extract | Data Pipeline | 🟡 1 fail | 47m ago · 6123s · exit 1 | |
| classify-leads | Data Pipeline | ⚪ idle | — | |
| recommend-actions | Data Pipeline | ⚪ idle | — |
External Data · 4
| vincue-inventory-export | External Data | ⚪ idle | — | |
| axcessa-scraper | External Data | ⚪ idle | — | |
| callrevu-export | External Data | ⚪ idle | — | |
| data-refresh | External Data | ⚪ idle | — |
Facebook · 3
| fb-marketplace-responder | ⚪ idle | — | ||
| fb-marketplace-drip-poster | ⚪ idle | — | ||
| fb-publish-drafts | ⏸ PAUSED 25d ago · outside the dashboard (ssh/manual) |
— |
Lead Management · 5
| orphan-lead-scanner | Lead Management | ⚪ idle | — | |
| auto-assign-leads | Lead Management | 🟢 healthy | 32m ago · 1s · exit 0 | |
| dedup-scanner | Lead Management | ⚪ idle | — | |
| vin-read-tasks | Lead Management | 🟢 healthy | 1m ago · 13s · exit 0 | |
| dead-deal-detector | Lead Management | ⚪ idle | — |
Monitoring · 5
| vin-situation-monitor | Monitoring | ⚪ idle | — | |
| vin-action-requests | Monitoring | ⚪ idle | — | |
| vin-showroom-followup | Monitoring | ⚪ idle | — | |
| check-commitments | Monitoring | ⚪ idle | — | |
| vin-appointment-confirm | Monitoring | ⚪ idle | — |
Outreach · 5
| vin-first-touch | Outreach | 🔴 21 fails | 2m ago · 1s · exit 0 | |
| vin-auto-responder | Outreach | 🔴 3 fails | 4m ago · 49s · exit 0 | |
| vin-proactive-outreach | Outreach | ⚪ idle | — | |
| after-hours-ack | Outreach | ⚪ idle | — | |
| saturday-reengage | Outreach | ⚪ idle | — |
Reports · 9
| morning-briefing | Reports | ⏸ PAUSED 54d ago · outside the dashboard (ssh/manual) |
— | |
| generate-reports | Reports | ⚪ idle | — | |
| generate-task-lists | Reports | ⚪ idle | — | |
| management-report | Reports | ⚪ idle | — | |
| system-health-heartbeat | Reports | ⚪ idle | — | |
| vin-rep-scorecard | Reports | ⚪ idle | — | |
| vin-deal-tracker | Reports | ⚪ idle | — | |
| rep-followup-checker | Reports | ⚪ idle | — | |
| vin-review-request | Reports | ⚪ idle | — |